diff --git a/.gitignore b/.gitignore index d6db7cdd12..1d3eeae7fc 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ target # Veloren *.rar *.log +assets/tweak/ settings.ron server_settings.ron run.sh diff --git a/.gitlab/CI/build.gitlab-ci.yml b/.gitlab/CI/build.gitlab-ci.yml index 516a74ad9f..fa6cf2ce33 100644 --- a/.gitlab/CI/build.gitlab-ci.yml +++ b/.gitlab/CI/build.gitlab-ci.yml @@ -9,7 +9,7 @@ unittests: - rm -r target/debug/incremental/veloren_* || echo "all good" # TMP FIX FOR 2021-03-22-nightly - cargo test --package veloren-i18n --lib test_all_localizations -- --nocapture --ignored - rm -r target/debug/incremental* || echo "all good" # TMP FIX FOR 2021-03-22-nightly - - cargo test + - cargo test --features asset_tweak retry: max: 2 diff --git a/.gitlab/CI/check.gitlab-ci.yml b/.gitlab/CI/check.gitlab-ci.yml index a26a4caf8e..51f306d8e8 100644 --- a/.gitlab/CI/check.gitlab-ci.yml +++ b/.gitlab/CI/check.gitlab-ci.yml @@ -6,7 +6,7 @@ code-quality: script: - ln -s /dockercache/target target - rm -r target/debug/incremental/* || echo "all good" # TMP FIX FOR 2021-03-22-nightly - - cargo clippy --all-targets --locked -- -D warnings + - cargo clippy --all-targets --locked --features="bin_csv,bin_graphviz,bin_bot,asset_tweak" -- -D warnings - cargo fmt --all -- --check security: diff --git a/CHANGELOG.md b/CHANGELOG.md index 40a27cf9fa..4466ae1851 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +### Changed + +### Removed + +### Fixed + +## [0.10.0] - 2021-06-12 + +### Added + - New Skills for Climbing: Climbing Speed and Climbing Cost - Pickaxes (can be used to collect gems and mine weak rock) - You can now jump out of rolls for a slight jump boost @@ -67,6 +77,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add chest to each dungeon with unique loot - Added a new option in the graphics menu to enable GPU timing (not always supported). The timing values can be viewed in the HUD debug info (F3) and will be saved as chrome trace files in the working directory when taking a screenshot. - Added new Present Mode option in the graphics menu. Selecting Fifo (i.e. vsync) or Mailbox can be used to eliminate screen tearing. +- Quality color indicators next to recipe names in crafting menu +- New cave visuals: Ridges, pits, new sprites, colors +- Veins in caves to dig through to uncover ore +- Armor material system with 6 armor sets each in hide, mail and cloth categories +- New armor stats including max energy, energy reward, critical hit damage +- Meat drops from animals +- New ores, plants and hides to be looted from the world and processed into craft ingredients +- Added more crafting stations, loom, spinning wheel, tanning rack, forge ### Changed @@ -120,6 +138,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Optimized rendering of quads (most of the graphics in the game) using an index buffer, decreasing the number of vertices that need to be processed by 33%. - Moved the rest of screenshot work into the background. Screenshoting no longer induces large pauses. - Reworked tidal warrior to have unique attacks +- Reworked yeti to have unique attacks +- Widened recipe name list in crafting menu +- Reworked animal loot tables +- NPC hitboxes better fit their model. ### Removed @@ -127,6 +149,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Gravity component has been removed - In-air movement has been removed - Energy cost of deploying the glider has been removed +- Removed steel and cultist loot tables ### Fixed @@ -152,6 +175,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed an issue where prices weren't properly making their way from econsim to the actual trade values. - Fixed entities with voxel colliders being off by one physics tick for collision. - Airships no longer oscillate dramatically into the sky due to mistaking velocity for acceleration. +- The login and character selection screens no longer cause high GPU usage when the framerate limit is set to Unlimited. ## [0.9.0] - 2021-03-20 @@ -713,7 +737,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 _0.1.0 was part of the legacy engine_ -[unreleased]: https://gitlab.com/veloren/veloren/compare?from=v0.9.0&to=master +[unreleased]: https://gitlab.com/veloren/veloren/compare?from=v0.10.0&to=master +[0.9.0]: https://gitlab.com/veloren/veloren/compare?from=v0.9.0&to=v0.10.0 [0.9.0]: https://gitlab.com/veloren/veloren/compare?from=v0.8.0&to=v0.9.0 [0.8.0]: https://gitlab.com/veloren/veloren/compare?from=v0.7.0&to=v0.8.0 [0.7.0]: https://gitlab.com/veloren/veloren/compare?from=v0.6.0&to=v0.7.0 diff --git a/Cargo.lock b/Cargo.lock index 75b39c2d65..bc9c6669c8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "ab_glyph" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a933731feda8b460bdad9a9e43bb386baba6ec593d2bc19716ef3c75c09085c" +checksum = "af0ac006645f86f20f6c6fa4dcaef920bf803df819123626f9440e35835e7d80" dependencies = [ "ab_glyph_rasterizer", "owned_ttf_parser 0.12.0", @@ -20,11 +20,11 @@ checksum = "d9fe5e32de01730eb1f6b7f5b51c17e03e2325bf40a74f754f04f130043affff" [[package]] name = "addr2line" -version = "0.14.1" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7" +checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a" dependencies = [ - "gimli 0.23.0", + "gimli 0.24.0", ] [[package]] @@ -47,20 +47,20 @@ checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" [[package]] name = "ahash" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f200cbb1e856866d9eade941cf3aa0c5d7dd36f74311c4273b494f4ef036957" +checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" dependencies = [ - "getrandom 0.2.2", + "getrandom 0.2.3", "once_cell", "version_check 0.9.3", ] [[package]] name = "aho-corasick" -version = "0.7.15" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" dependencies = [ "memchr", ] @@ -128,12 +128,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "anymap" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33954243bd79057c2de7338850b85983a44588021f8a5fee574a8888c6de4344" - [[package]] name = "approx" version = "0.3.2" @@ -152,6 +146,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "approx" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e" +dependencies = [ + "num-traits", +] + [[package]] name = "arr_macro" version = "0.1.3" @@ -215,11 +218,11 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "792c2eca2af86c76ffd3e72ca564c33b5a5551d5ac3f4f87dce8c0b7c6434061" dependencies = [ - "ahash 0.7.2", + "ahash 0.7.4", "bincode", "crossbeam-channel", "log", - "notify 4.0.15", + "notify 4.0.17", "parking_lot 0.11.1", "ron", "serde", @@ -239,11 +242,11 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.48" +version = "0.1.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36ea56748e10732c49404c153638a15ec3d6211ec5ff35d9bb20e13b93576adf" +checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -317,15 +320,16 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.56" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d117600f438b1707d4e4ae15d3595657288f8235a0eb593e80ecc98ab34e1bc" +checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282" dependencies = [ "addr2line", + "cc", "cfg-if 1.0.0", "libc", "miniz_oxide 0.4.4", - "object 0.23.0", + "object 0.25.2", "rustc-demangle", ] @@ -363,7 +367,7 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "regex", "rustc-hash", @@ -393,9 +397,9 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" [[package]] name = "bitvec" -version = "0.22.1" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8189f8b16586473db5323fa04837db548f1dcad33ac60618f0a44a97a4fdf74f" +checksum = "5237f00a8c86130a0cc317830e558b966dd7850d48a953d998c813f01a41b527" dependencies = [ "funty", "radium", @@ -422,9 +426,9 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] name = "bstr" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d" +checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279" dependencies = [ "lazy_static", "memchr", @@ -434,9 +438,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.6.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe" +checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" [[package]] name = "bytemuck" @@ -453,7 +457,7 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e215f8c2f9f79cb53c8335e687ffd07d5bfcb6fe5fc80723762d0be46e7cc54" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -494,18 +498,18 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" [[package]] name = "cast" -version = "0.2.3" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b9434b9a5aa1450faa3f9cb14ea0e8c53bb5d2b3c1bfd1ab4fc03e9f33fbfb0" +checksum = "57cdfa5d50aad6cb4d44dcab6101a7f79925bd59d82ca42f38a9856a28865374" dependencies = [ - "rustc_version", + "rustc_version 0.3.3", ] [[package]] name = "cc" -version = "1.0.67" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" +checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" dependencies = [ "jobserver", ] @@ -595,9 +599,9 @@ dependencies = [ [[package]] name = "clipboard-win" -version = "4.0.3" +version = "4.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5123c6b97286809fea9e38d2c9bf530edbcb9fc0d8f8272c28b0c95f067fa92d" +checksum = "4e4ea1881992efc993e4dc50a324cdbd03216e41bdc8385720ff47efc9bd2ca8" dependencies = [ "error-code", "str-buf", @@ -1058,12 +1062,12 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775" +checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.3", + "crossbeam-utils 0.8.5", ] [[package]] @@ -1084,8 +1088,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9" dependencies = [ "cfg-if 1.0.0", - "crossbeam-epoch 0.9.3", - "crossbeam-utils 0.8.3", + "crossbeam-epoch 0.9.5", + "crossbeam-utils 0.8.5", ] [[package]] @@ -1105,25 +1109,25 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2584f639eb95fea8c798496315b297cf81b9b58b6d30ab066a75455333cf4b12" +checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.3", + "crossbeam-utils 0.8.5", "lazy_static", - "memoffset 0.6.3", + "memoffset 0.6.4", "scopeguard", ] [[package]] name = "crossbeam-queue" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f6cb3c7f5b8e51bc3ebb73a2327ad4abdbd119dc13223f14f961d2f38486756" +checksum = "9b10ddc024425c88c2ad148c1b0fd53f4c6d38db9697c9f1588381212fa657c9" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.3", + "crossbeam-utils 0.8.5", ] [[package]] @@ -1139,11 +1143,10 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49" +checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" dependencies = [ - "autocfg", "cfg-if 1.0.0", "lazy_static", ] @@ -1261,12 +1264,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9d6ddad5866bb2170686ed03f6839d31a76e5407d80b1c334a2c24618543ffa" +checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c" dependencies = [ - "darling_core 0.12.3", - "darling_macro 0.12.3", + "darling_core 0.12.4", + "darling_macro 0.12.4", ] [[package]] @@ -1277,7 +1280,7 @@ checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "strsim 0.9.3", "syn 1.0.72", @@ -1285,13 +1288,13 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9ced1fd13dc386d5a8315899de465708cf34ee2a6d9394654515214e67bb846" +checksum = "8e91455b86830a1c21799d94524df0845183fa55bafd9aa137b01c7d1065fa36" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "strsim 0.10.0", "syn 1.0.72", @@ -1310,11 +1313,11 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a7a1445d54b2f9792e3b31a3e715feabbace393f38dc4ffd49d94ee9bc487d5" +checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a" dependencies = [ - "darling_core 0.12.3", + "darling_core 0.12.4", "quote 1.0.9", "syn 1.0.72", ] @@ -1344,16 +1347,16 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] [[package]] name = "deunicode" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0b7756d6eb729250618a3693b34b3311b282e12aeeee7970ae2a70997c03eb6" +checksum = "7f37775d639f64aa16389eede0cbe6a70f56df4609d50d8b6858690d5d7bf8f2" [[package]] name = "directories-next" @@ -1511,7 +1514,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e94aa31f7c0dc764f57896dc615ddd76fc13b0d5dca7eb6cc5e018a5a09ec06" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -1531,8 +1534,8 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e19c52f9ec503c8a68dc04daf71a04b07e690c32ab1a8b68e33897f255269d47" dependencies = [ - "darling 0.12.3", - "proc-macro2 1.0.26", + "darling 0.12.4", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -1543,10 +1546,10 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80e2db640801230bdda80629bc3a063927a462f5eaf38a98da676954e78ccb99" dependencies = [ - "ahash 0.7.2", + "ahash 0.7.4", "atomic_refcell", "emath", - "ordered-float 2.1.1", + "ordered-float 2.5.1", "rusttype 0.9.2", ] @@ -1561,9 +1564,9 @@ dependencies = [ [[package]] name = "error-code" -version = "2.0.2" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49c94f66f2d2c5ee8685039e458b4e6c9f13af7c28736baf10ce42966a5ab52" +checksum = "b5115567ac25674e0043e472be13d14e537f37ea8aa4bdc4aef0c89add1db1ff" dependencies = [ "libc", "str-buf", @@ -1580,9 +1583,9 @@ dependencies = [ [[package]] name = "euclid" -version = "0.22.3" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "536d206ede9fae5a338a1576623b04fd2459f6086e551d374ebf10e9b78bb4df" +checksum = "da96828553a086d7b18dcebfc579bd9628b016f86590d7453c115e490fa74b80" dependencies = [ "num-traits", ] @@ -1605,6 +1608,16 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" +[[package]] +name = "fd-lock" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0010f02effd88c702318c5dde0463206be67495d0b4d906ba7c0a8f166cc7f06" +dependencies = [ + "libc", + "winapi 0.3.9", +] + [[package]] name = "fehler" version = "1.0.0" @@ -1620,7 +1633,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccb5acb1045ebbfa222e2c50679e392a71dd77030b78fb0189f2d9c5974400f9" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -1633,7 +1646,7 @@ checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.5", + "redox_syscall 0.2.8", "winapi 0.3.9", ] @@ -1707,16 +1720,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi 0.3.9", -] - [[package]] name = "fsevent" version = "0.4.0" @@ -1727,16 +1730,6 @@ dependencies = [ "fsevent-sys 2.0.1", ] -[[package]] -name = "fsevent" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97f347202c95c98805c216f9e1df210e8ebaec9fdb2365700a43c10797a35e63" -dependencies = [ - "bitflags", - "fsevent-sys 3.0.2", -] - [[package]] name = "fsevent-sys" version = "2.0.1" @@ -1748,9 +1741,9 @@ dependencies = [ [[package]] name = "fsevent-sys" -version = "3.0.2" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a29c77f1ca394c3e73a9a5d24cfcabb734682d9634fc398f2204a63c994120" +checksum = "5c0e564d24da983c053beff1bb7178e237501206840a3e6bf4e267b9e8ae734a" dependencies = [ "libc", ] @@ -1779,9 +1772,9 @@ checksum = "1847abb9cb65d566acd5942e94aea9c8f547ad02c98e1649326fc0e8910b8b1e" [[package]] name = "futures" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d5813545e459ad3ca1bff9915e9ad7f1a47dc6a91b627ce321d5863b7dd253" +checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27" dependencies = [ "futures-channel", "futures-core", @@ -1794,9 +1787,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce79c6a52a299137a6013061e0cf0e688fce5d7f1bc60125f520912fdb29ec25" +checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2" dependencies = [ "futures-core", "futures-sink", @@ -1804,15 +1797,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "098cd1c6dda6ca01650f1a37a794245eb73181d0d4d4e955e2f3c37db7af1815" +checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" [[package]] name = "futures-executor" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f6cb7042eda00f0049b1d2080aa4b93442997ee507eb3828e8bd7577f94c9d" +checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79" dependencies = [ "futures-core", "futures-task", @@ -1822,40 +1815,42 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "365a1a1fb30ea1c03a830fdb2158f5236833ac81fa0ad12fe35b29cddc35cb04" +checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1" [[package]] name = "futures-macro" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668c6733a182cd7deb4f1de7ba3bf2120823835b3bcfbeacf7d2c4a773c1bb8b" +checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" dependencies = [ + "autocfg", "proc-macro-hack", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] [[package]] name = "futures-sink" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5629433c555de3d82861a7a4e3794a4c40040390907cfbfd7143a92a426c23" +checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282" [[package]] name = "futures-task" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba7aa51095076f3ba6d9a1f702f74bd05ec65f555d70d2033d55ba8d69f581bc" +checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" [[package]] name = "futures-util" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c144ad54d60f23927f0a6b6d816e4271278b64f005ad65e4e35291d2de9c025" +checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" dependencies = [ + "autocfg", "futures-channel", "futures-core", "futures-io", @@ -1930,9 +1925,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" dependencies = [ "cfg-if 1.0.0", "libc", @@ -2130,9 +2125,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce" +checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" [[package]] name = "git2" @@ -2183,7 +2178,7 @@ dependencies = [ "glyph_brush_draw_cache", "glyph_brush_layout", "log", - "ordered-float 2.1.1", + "ordered-float 2.5.1", "rustc-hash", "twox-hash", ] @@ -2204,20 +2199,20 @@ dependencies = [ [[package]] name = "glyph_brush_layout" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10bc06d530bf20c1902f1b02799ab7372ff43f6119770c49b0bc3f21bd148820" +checksum = "15cf18cf985bd942f05e14552b63c9d08f7d0ed1ec79a977eb9747c9e065f497" dependencies = [ "ab_glyph", - "approx 0.4.0", + "approx 0.5.0", "xi-unicode", ] [[package]] name = "gpu-alloc" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76088804bb65a6f3b880bea9306fdaeffb25ebb453105fafa691282ee9fdba" +checksum = "cbc1b6ca374e81862526786d9cb42357ce03706ed1b8761730caafd02ab91f3a" dependencies = [ "bitflags", "gpu-alloc-types", @@ -2240,7 +2235,7 @@ checksum = "e8a70f1e87a3840ed6a3e99e02c2b861e4dbdf26f0d07e38f42ea5aff46cfce2" dependencies = [ "bitflags", "gpu-descriptor-types", - "hashbrown", + "hashbrown 0.9.1", ] [[package]] @@ -2254,9 +2249,9 @@ dependencies = [ [[package]] name = "guillotiere" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7cccefbf418f663e11e9500326f46a44273dc598210bbedc8bbe95e696531f" +checksum = "9253eedea82720b2bc91fe831c9ce3a31299955ed5eb19b9ed600a625b686212" dependencies = [ "euclid", "svg_fmt", @@ -2264,9 +2259,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc018e188373e2777d0ef2467ebff62a08e66c3f5857b23c8fbec3018210dc00" +checksum = "825343c4eef0b63f541f8903f395dc5beb362a979b5799a84062527ef1e37726" dependencies = [ "bytes", "fnv", @@ -2303,6 +2298,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" dependencies = [ "ahash 0.4.7", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash 0.7.4", "rayon", "serde", ] @@ -2313,7 +2317,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d99cf782f0dc4372d26846bec3de7804ceb5df083c2d4462c0b8d2330e894fa8" dependencies = [ - "hashbrown", + "hashbrown 0.9.1", ] [[package]] @@ -2330,9 +2334,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" dependencies = [ "unicode-segmentation", ] @@ -2375,9 +2379,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfb77c123b4e2f72a2069aeae0b4b4949cc7e966df277813fc16347e7549737" +checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9" dependencies = [ "bytes", "http", @@ -2386,15 +2390,15 @@ dependencies = [ [[package]] name = "httparse" -version = "1.3.6" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc35c995b9d93ec174cf9a27d425c7892722101e14993cd227fdb51d70cf9589" +checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" [[package]] name = "httpdate" -version = "0.3.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47" +checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" [[package]] name = "humantime" @@ -2404,9 +2408,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.5" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf09f61b52cfcf4c00de50df88ae423d6c02354e385a86341133b5338630ad1" +checksum = "d3f71a7eea53a3f8257a7b4795373ff886397178cd634430ea94e12d7fe4fe34" dependencies = [ "bytes", "futures-channel", @@ -2514,9 +2518,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89829a5d69c23d348314a7ac337fe39173b61149a9864deabd260983aed48c21" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" dependencies = [ "matches", "unicode-bidi", @@ -2546,7 +2550,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.9.1", "serde", ] @@ -2563,9 +2567,9 @@ dependencies = [ [[package]] name = "inotify" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19f57db1baad9d09e43a3cd76dcf82ebdafd37d75c9498b87762dba77c93f15" +checksum = "b031475cb1b103ee221afb806a23d35e0570bf7271d7588762ceba8127ed43b3" dependencies = [ "bitflags", "inotify-sys", @@ -2661,9 +2665,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c71313ebb9439f74b00d9d2dcec36440beaf57a6aa0623068441dd7cd81a7f2" +checksum = "972f5ae5d1cb9c6ae417789196c803205313edde988685da5e3aae0827b9e7fd" dependencies = [ "libc", ] @@ -2676,9 +2680,9 @@ checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2" [[package]] name = "js-sys" -version = "0.3.50" +version = "0.3.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d99f9e3e84b8f67f846ef5b4cbbc3b1c29f6c759fcbce6f01aa0e73d932a24c" +checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062" dependencies = [ "wasm-bindgen", ] @@ -2754,9 +2758,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41" +checksum = "789da6d93f1b866ffe175afc5322a4d76c038605a1c3319bb57b06967ca98a36" [[package]] name = "libgit2-sys" @@ -2835,9 +2839,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602113192b08db8f38796c4e85c39e960c145965140e918018bcde1952429655" +checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66" dependencies = [ "cc", "libc", @@ -2862,9 +2866,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3c91c24eae6777794bb1997ad98bbb87daf92890acab859f7eaa4320333176" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" dependencies = [ "scopeguard", ] @@ -2941,9 +2945,9 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] name = "memchr" -version = "2.3.4" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" +checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" [[package]] name = "memmap" @@ -2966,9 +2970,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397d1a6d6d0563c0f5462bbdae662cf6c784edf5e828e40c7257f85d82bf56dd" +checksum = "723e3ebdcdc5c023db1df315364573789f8857c11b631a2fdfad7c00f5c046b4" dependencies = [ "libc", ] @@ -2984,9 +2988,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83fb6581e8ed1f85fd45c116db8405483899489e38406156c25eb743554361d" +checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" dependencies = [ "autocfg", ] @@ -3216,7 +3220,7 @@ checksum = "05d1c6307dc424d0f65b9b06e94f88248e6305726b14729fd67a5e47b2dc481d" dependencies = [ "darling 0.10.2", "proc-macro-crate", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -3326,13 +3330,13 @@ dependencies = [ [[package]] name = "notify" -version = "4.0.15" +version = "4.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80ae4a7688d1fab81c5bf19c64fc8db920be8d519ce6336ed4e7efe024724dbd" +checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257" dependencies = [ "bitflags", "filetime", - "fsevent 0.4.0", + "fsevent", "fsevent-sys 2.0.1", "inotify 0.7.1", "libc", @@ -3344,17 +3348,15 @@ dependencies = [ [[package]] name = "notify" -version = "5.0.0-pre.6" +version = "5.0.0-pre.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5fd82b93434edb9c00ae65ee741e0e081cdc8c63346ab9f687935a629aaf4c3" +checksum = "b89869d77edd64db917d7903abeadc166f93686b342c56cc0ca51acb68441d09" dependencies = [ - "anymap", "bitflags", "crossbeam-channel", "filetime", - "fsevent 2.0.2", - "fsevent-sys 3.0.2", - "inotify 0.9.2", + "fsevent-sys 4.0.0", + "inotify 0.9.3", "libc", "mio 0.7.11", "walkdir 2.3.2", @@ -3445,7 +3447,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -3553,7 +3555,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffa5a33ddddfee04c0283a7653987d634e880347e96b5b2ed64de07efb59db9d" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -3565,7 +3567,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c0fd9eba1d5db0994a239e09c1be402d35622277e35468ba891aa5e3188ce7e" dependencies = [ "proc-macro-crate", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -3621,15 +3623,18 @@ dependencies = [ [[package]] name = "object" -version = "0.23.0" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4" +checksum = "f8bc1d42047cf336f0f939c99e97183cf31551bf0f2865a2ec9c8d91fd4ffb5e" +dependencies = [ + "memchr", +] [[package]] name = "oboe" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cfb2390bddb9546c0f7448fd1d2abdd39e6075206f960991eb28c7fa7f126c4" +checksum = "dfa187b38ae20374617b7ad418034ed3dc90ac980181d211518bd03537ae8f8d" dependencies = [ "jni", "ndk 0.3.0", @@ -3641,9 +3646,9 @@ dependencies = [ [[package]] name = "oboe-sys" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe069264d082fc820dfa172f79be3f2e088ecfece9b1c47b0c9fd838d2bef103" +checksum = "b88e64835aa3f579c08d182526dc34e3907343d5b97e87b71a40ba5bca7aca9e" dependencies = [ "cc", ] @@ -3671,9 +3676,9 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" [[package]] name = "openssl-probe" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" +checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" [[package]] name = "orbclient" @@ -3683,7 +3688,7 @@ checksum = "0c976c5018e7f1db4359616d8b31ef8ae7d9649b11803c0b38fff67fd2999fc8" dependencies = [ "libc", "raw-window-handle", - "redox_syscall 0.2.5", + "redox_syscall 0.2.8", "sdl2", "sdl2-sys", "wasm-bindgen", @@ -3701,9 +3706,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "2.1.1" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "766f840da25490628d8e63e529cd21c014f6600c6b8517add12a6fa6167a6218" +checksum = "f100fcfb41e5385e0991f74981732049f9b896821542a219420491046baafdc2" dependencies = [ "num-traits", ] @@ -3723,7 +3728,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a3c7a20e3f122223e68eef6ca58e39bc1ea8a1d83418ba4c2c1ba189d2ee355" dependencies = [ - "ttf-parser 0.12.0", + "ttf-parser 0.12.1", ] [[package]] @@ -3753,7 +3758,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" dependencies = [ "instant", - "lock_api 0.4.3", + "lock_api 0.4.4", "parking_lot_core 0.8.3", ] @@ -3780,7 +3785,7 @@ dependencies = [ "cfg-if 1.0.0", "instant", "libc", - "redox_syscall 0.2.5", + "redox_syscall 0.2.8", "smallvec", "winapi 0.3.9", ] @@ -3808,6 +3813,15 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +[[package]] +name = "pest" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +dependencies = [ + "ucd-trie", +] + [[package]] name = "petgraph" version = "0.4.13" @@ -3829,20 +3843,20 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc174859768806e91ae575187ada95c91a29e96a98dc5d2cd9a1fed039501ba6" +checksum = "c7509cc106041c40a4518d2af7a61530e1eed0e6285296a3d8c5472806ccc4a4" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a490329918e856ed1b083f244e3bfe2d8c4f336407e4ea9e1a9f479ff09049e5" +checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -3962,7 +3976,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", "version_check 0.9.3", @@ -3974,7 +3988,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "version_check 0.9.3", ] @@ -4002,11 +4016,11 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" dependencies = [ - "unicode-xid 0.2.1", + "unicode-xid 0.2.2", ] [[package]] @@ -4077,9 +4091,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09027365a21874b71e1fbd9d31cb99bff8e11ba81cc9ef2b9425bb607e42d3b2" +checksum = "047aa96ec7ee6acabad7a1318dff72e9aff8994316bf2166c9b94cbec78ca54c" dependencies = [ "bytes", "ct-logs", @@ -4109,7 +4123,7 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", ] [[package]] @@ -4188,7 +4202,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7" dependencies = [ - "getrandom 0.2.2", + "getrandom 0.2.3", ] [[package]] @@ -4244,9 +4258,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674" +checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" dependencies = [ "autocfg", "crossbeam-deque 0.8.0", @@ -4256,22 +4270,22 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a" +checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" dependencies = [ "crossbeam-channel", "crossbeam-deque 0.8.0", - "crossbeam-utils 0.8.3", + "crossbeam-utils 0.8.5", "lazy_static", "num_cpus", ] [[package]] name = "rcgen" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e80a701a04edd9cab874a3d59323bebe24c9a92dd602088c78da83732066d1b" +checksum = "48b4fc1b81d685fcd442a86da2e2c829d9e353142633a8159f42bf28e7e94428" dependencies = [ "chrono", "pem", @@ -4287,9 +4301,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_syscall" -version = "0.2.5" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9" +checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc" dependencies = [ "bitflags", ] @@ -4300,8 +4314,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" dependencies = [ - "getrandom 0.2.2", - "redox_syscall 0.2.5", + "getrandom 0.2.3", + "redox_syscall 0.2.8", ] [[package]] @@ -4338,7 +4352,7 @@ name = "refinery-macros" version = "0.5.0" source = "git+https://gitlab.com/veloren/refinery.git?rev=8ecf4b4772d791e6c8c0a3f9b66a7530fad1af3e#8ecf4b4772d791e6c8c0a3f9b66a7530fad1af3e" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "refinery-core", "regex", @@ -4358,9 +4372,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.4.5" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" dependencies = [ "aho-corasick", "memchr", @@ -4369,19 +4383,18 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" dependencies = [ - "byteorder", "regex-syntax", ] [[package]] name = "regex-syntax" -version = "0.6.23" +version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" [[package]] name = "region" @@ -4490,9 +4503,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e3bad0ee36814ca07d7968269dd4b7ec89ec2da10c4bb613928d3077083c232" +checksum = "410f7acf3cb3a44527c5d9546bad4bf4e6c460915d5f9f2fc524498bfe8f70ce" [[package]] name = "rustc-hash" @@ -4506,14 +4519,23 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" dependencies = [ - "semver", + "semver 0.9.0", +] + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", ] [[package]] name = "rustls" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "064fd21ff87c6e87ed4506e68beb42459caa4a0e2eb144932e6776768556980b" +checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" dependencies = [ "base64", "log", @@ -4582,14 +4604,15 @@ dependencies = [ [[package]] name = "rustyline" -version = "8.0.0" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e1b597fcd1eeb1d6b25b493538e5aa19629eb08932184b85fef931ba87e893" +checksum = "fbd4eaf7a7738f76c98e4f0395253ae853be3eb018f7b0bb57fe1b6c17e31874" dependencies = [ "bitflags", "cfg-if 1.0.0", + "clipboard-win 4.2.1", "dirs-next", - "fs2", + "fd-lock", "libc", "log", "memchr", @@ -4651,9 +4674,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "sct" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c" +checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" dependencies = [ "ring", "untrusted", @@ -4661,9 +4684,9 @@ dependencies = [ [[package]] name = "sdl2" -version = "0.34.4" +version = "0.34.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "505d7a6ef5f96289a6ec50fc8b65ec75f5571f0aa94fa6ea230f6b228fa05d57" +checksum = "deecbc3fa9460acff5a1e563e05cb5f31bba0aa0c214bb49a43db8159176d54b" dependencies = [ "bitflags", "lazy_static", @@ -4674,9 +4697,9 @@ dependencies = [ [[package]] name = "sdl2-sys" -version = "0.34.4" +version = "0.34.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cb164f53dbcad111de976bbf1f3083d3fcdeda88da9cfa281c70822720ee3da" +checksum = "41a29aa21f175b5a41a6e26da572d5e5d1ee5660d35f9f9d0913e8a802098f74" dependencies = [ "cfg-if 0.1.10", "cmake", @@ -4716,7 +4739,16 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" dependencies = [ - "semver-parser", + "semver-parser 0.7.0", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser 0.10.2", ] [[package]] @@ -4726,10 +4758,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] -name = "serde" -version = "1.0.125" +name = "semver-parser" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[package]] +name = "serde" +version = "1.0.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" dependencies = [ "serde_derive", ] @@ -4755,11 +4796,11 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.125" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d" +checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -4777,11 +4818,33 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc6b7951b17b051f3210b063f12cc17320e2fe30ae05b0fe2a3abb068551c76" +checksum = "98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", + "quote 1.0.9", + "syn 1.0.72", +] + +[[package]] +name = "serial_test" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0bccbcf40c8938196944a3da0e133e031a33f4d6b72db3bda3cc556e361905d" +dependencies = [ + "lazy_static", + "parking_lot 0.11.1", + "serial_test_derive", +] + +[[package]] +name = "serial_test_derive" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2acd6defeddb41eb60bb468f8825d0cfd0c2a76bc03bfd235b6a1dc4f6a1ad5" +dependencies = [ + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -4844,12 +4907,12 @@ checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" [[package]] name = "shred" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9dff29ab65f4b7b4a5a38ca78e73b35eb8ffd7d4b5e5a77fc6936a1735eab" +checksum = "eb0210289d693217926314867c807e0b7b42f7e23c136adb31f8697f5bf242d3" dependencies = [ "arrayvec", - "hashbrown", + "hashbrown 0.11.2", "mopa", "rayon", "shred-derive", @@ -4863,7 +4926,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5404c36bd155e41a54276ab6aafedad2fb627e5e5849d36ec439c9ddc044a2f" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -4887,9 +4950,9 @@ dependencies = [ [[package]] name = "signal-hook" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef33d6d0cd06e0840fba9985aab098c147e67e05cee14d412d3345ed14ff30ac" +checksum = "470c5a6397076fae0094aaf06a08e6ba6f37acb77d3b1b91ea92b4d6c8650c39" dependencies = [ "libc", "signal-hook-registry", @@ -4897,24 +4960,24 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" dependencies = [ "libc", ] [[package]] name = "siphasher" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa8f3741c7372e75519bd9346068370c9cdaabcc1f9599cbcf2a2719352286b7" +checksum = "cbce6d4507c7e4a3962091436e56e95290cb71fa302d0d270e32130b75fbff27" [[package]] name = "slab" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" +checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" [[package]] name = "slotmap" @@ -4990,11 +5053,11 @@ dependencies = [ [[package]] name = "specs" -version = "0.16.1" -source = "git+https://github.com/amethyst/specs.git?rev=5a9b71035007be0e3574f35184acac1cd4530496#5a9b71035007be0e3574f35184acac1cd4530496" +version = "0.16.2" +source = "git+https://github.com/amethyst/specs.git?rev=f985bec5d456f7b0dd8aae99848f9473c2cd9d46#f985bec5d456f7b0dd8aae99848f9473c2cd9d46" dependencies = [ "crossbeam-queue", - "hashbrown", + "hashbrown 0.11.2", "hibitset", "log", "rayon", @@ -5008,9 +5071,9 @@ dependencies = [ [[package]] name = "specs-derive" version = "0.4.1" -source = "git+https://github.com/amethyst/specs.git?rev=5a9b71035007be0e3574f35184acac1cd4530496#5a9b71035007be0e3574f35184acac1cd4530496" +source = "git+https://github.com/amethyst/specs.git?rev=f985bec5d456f7b0dd8aae99848f9473c2cd9d46#f985bec5d456f7b0dd8aae99848f9473c2cd9d46" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -5018,7 +5081,7 @@ dependencies = [ [[package]] name = "specs-idvs" version = "0.1.1" -source = "git+https://gitlab.com/veloren/specs-idvs.git?rev=b65fb220e94f5d3c9bc30074a076149763795556#b65fb220e94f5d3c9bc30074a076149763795556" +source = "git+https://gitlab.com/veloren/specs-idvs.git?rev=8be2abcddf8f524cb5876e8dd20a7e47cfaf7573#8be2abcddf8f524cb5876e8dd20a7e47cfaf7573" dependencies = [ "specs", ] @@ -5094,7 +5157,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" dependencies = [ "discard", - "rustc_version", + "rustc_version 0.2.3", "serde", "serde_json", "stdweb-derive", @@ -5109,7 +5172,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "serde", "serde_derive", @@ -5123,7 +5186,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" dependencies = [ "base-x", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "serde", "serde_derive", @@ -5144,7 +5207,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "418bb14643aa55a7841d5303f72cf512cfb323b8cc221d51580500a1ca75206c" dependencies = [ - "lock_api 0.4.3", + "lock_api 0.4.4", ] [[package]] @@ -5190,7 +5253,7 @@ checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90" dependencies = [ "heck", "proc-macro-error", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -5208,7 +5271,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149" dependencies = [ "heck", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -5242,9 +5305,9 @@ version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", - "unicode-xid 0.2.1", + "unicode-xid 0.2.2", ] [[package]] @@ -5255,9 +5318,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tar" -version = "0.4.33" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0bcfbd6a598361fda270d82469fff3d65089dc33e175c9a131f7b4cd395f228" +checksum = "7d779dc6aeff029314570f666ec83f19df7280bb36ef338442cfa8c604021b80" dependencies = [ "filetime", "libc", @@ -5279,7 +5342,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "rand 0.8.3", - "redox_syscall 0.2.5", + "redox_syscall 0.2.8", "remove_dir_all", "winapi 0.3.9", ] @@ -5304,20 +5367,20 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e" +checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0" +checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -5374,9 +5437,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.4.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134af885d758d645f0f0505c9a8b3f9bf8a348fd822e112ab5248138348f1722" +checksum = "0a38d31d7831c6ed7aad00aa4c12d9375fd225a6dd77da1d25b707346319a975" dependencies = [ "autocfg", "bytes", @@ -5393,11 +5456,11 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf7b11a536f46a809a8a9f0bb4237020f70ecbf115b842360afb127ea2fda57" +checksum = "c49e3df43841dafb86046472506755d8501c5615673955f6aa17181125d13c37" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -5415,9 +5478,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e177a5d8c3bf36de9ebe6d58537d8879e964332f93fb3339e43f618c81361af0" +checksum = "f8864d706fdb3cc0843a49647ac892720dac98a6eeb818b77190592cf4994066" dependencies = [ "futures-core", "pin-project-lite", @@ -5426,9 +5489,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.6.5" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5143d049e85af7fbc36f5454d990e62c2df705b3589f123b71f441b6b59f443f" +checksum = "1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592" dependencies = [ "bytes", "futures-core", @@ -5455,9 +5518,9 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] name = "tracing" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f" +checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" dependencies = [ "cfg-if 1.0.0", "pin-project-lite", @@ -5482,16 +5545,16 @@ version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] [[package]] name = "tracing-core" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f50de3927f93d202783f4513cda820ab47ef17f624b03c096e86ef00c67e6b5f" +checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052" dependencies = [ "lazy_static", ] @@ -5509,9 +5572,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705096c6f83bf68ea5d357a6aa01829ddbdac531b357b45abeca842938085baa" +checksum = "aa5553bf0883ba7c9cbe493b085c29926bd41b66afc31ff72cf17ff4fb60dcd5" dependencies = [ "ansi_term 0.12.1", "chrono", @@ -5528,9 +5591,9 @@ dependencies = [ [[package]] name = "tracing-tracy" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36cc1807befda11213bd31e83798a6ab49078e00d5f1d403aac87fa51cbe3573" +checksum = "020d75c180d4d837163d5e718100bfc1b9311d4315c9d4d23492266d569da418" dependencies = [ "tracing-core", "tracing-subscriber", @@ -5539,18 +5602,18 @@ dependencies = [ [[package]] name = "tracy-client" -version = "0.12.0" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2713f161977973291f474d75535d67bb655dee54456874aff4c1724555ffe1d3" +checksum = "8088b69594669b5b4ea2bd90b04676fcd0480a8624a52056ea87c5eb3a66d8ae" dependencies = [ "tracy-client-sys", ] [[package]] name = "tracy-client-sys" -version = "0.13.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47bee6f812f66f62b9d5f43c1c8f9f69afc9491e57dad0ea22544cbbc9851f29" +checksum = "6226e4e77f0d46ce7ebb0a4b1daa82790035248b75bbf605b932a1d7b3b22b6d" dependencies = [ "cc", ] @@ -5579,9 +5642,9 @@ checksum = "3e5d7cd7ab3e47dda6e56542f4bbf3824c15234958c6e1bd6aaa347e93499fdc" [[package]] name = "ttf-parser" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e00391c1f3d171490a3f8bd79999b0002ae38d3da0d6a3a306c754b053d71b" +checksum = "2fc71742ead70703a55d184f82087302f2f9ffa3793e64db46a78bf75dd723f4" [[package]] name = "tui" @@ -5627,6 +5690,12 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +[[package]] +name = "ucd-trie" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" + [[package]] name = "unicode-bidi" version = "0.3.5" @@ -5638,9 +5707,9 @@ dependencies = [ [[package]] name = "unicode-normalization" -version = "0.1.17" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" dependencies = [ "tinyvec", ] @@ -5665,9 +5734,9 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" [[package]] name = "unicode-xid" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "unidiff" @@ -5688,9 +5757,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" dependencies = [ "form_urlencoded", "idna", @@ -5710,15 +5779,15 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.2", + "getrandom 0.2.3", "serde", ] [[package]] name = "vcpkg" -version = "0.2.11" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb" +checksum = "025ce40a007e1907e58d5bc1a594def78e5573bb0b1160bc389634e8f12e4faa" [[package]] name = "vec_map" @@ -5734,21 +5803,21 @@ dependencies = [ "approx 0.4.0", "num-integer", "num-traits", - "rustc_version", + "rustc_version 0.2.3", "serde", "static_assertions", ] [[package]] name = "veloren-client" -version = "0.9.0" +version = "0.10.0" dependencies = [ "async-channel", "authc", "byteorder", "clap", "futures-util", - "hashbrown", + "hashbrown 0.11.2", "image", "num 0.4.0", "quinn", @@ -5773,25 +5842,27 @@ dependencies = [ [[package]] name = "veloren-common" -version = "0.9.0" +version = "0.10.0" dependencies = [ "approx 0.4.0", "bitflags", "clap", "criterion", "crossbeam-channel", - "crossbeam-utils 0.8.3", + "crossbeam-utils 0.8.5", "csv", "dot_vox", "enum-iterator", - "hashbrown", + "hashbrown 0.11.2", "indexmap", "lazy_static", "num-derive", "num-traits", - "ordered-float 2.1.1", + "ordered-float 2.5.1", + "petgraph 0.5.1", "rand 0.8.3", "rayon", + "ron", "roots", "serde", "serde_repr", @@ -5813,19 +5884,21 @@ dependencies = [ [[package]] name = "veloren-common-assets" -version = "0.9.0" +version = "0.10.0" dependencies = [ "assets_manager", "dot_vox", "image", "lazy_static", "ron", + "serde", + "serial_test", "tracing", ] [[package]] name = "veloren-common-base" -version = "0.9.0" +version = "0.10.0" dependencies = [ "directories-next", "tracing", @@ -5834,7 +5907,7 @@ dependencies = [ [[package]] name = "veloren-common-ecs" -version = "0.9.0" +version = "0.10.0" dependencies = [ "float-cmp", "specs", @@ -5844,7 +5917,7 @@ dependencies = [ [[package]] name = "veloren-common-frontend" -version = "0.9.0" +version = "0.10.0" dependencies = [ "termcolor", "tracing", @@ -5857,11 +5930,11 @@ dependencies = [ [[package]] name = "veloren-common-net" -version = "0.9.0" +version = "0.10.0" dependencies = [ "bincode", "flate2", - "hashbrown", + "hashbrown 0.11.2", "image", "num-traits", "serde", @@ -5875,10 +5948,10 @@ dependencies = [ [[package]] name = "veloren-common-state" -version = "0.9.0" +version = "0.10.0" dependencies = [ "bincode", - "hashbrown", + "hashbrown 0.11.2", "num_cpus", "rayon", "scopeguard", @@ -5898,11 +5971,11 @@ dependencies = [ [[package]] name = "veloren-common-systems" -version = "0.9.0" +version = "0.10.0" dependencies = [ - "hashbrown", + "hashbrown 0.11.2", "indexmap", - "ordered-float 2.1.1", + "ordered-float 2.5.1", "rand 0.8.3", "rayon", "slab", @@ -5917,12 +5990,12 @@ dependencies = [ [[package]] name = "veloren-i18n" -version = "0.9.0" +version = "0.10.0" dependencies = [ "clap", "deunicode", "git2", - "hashbrown", + "hashbrown 0.11.2", "ron", "serde", "tracing", @@ -5943,7 +6016,7 @@ dependencies = [ "crossbeam-channel", "futures-core", "futures-util", - "hashbrown", + "hashbrown 0.11.2", "lazy_static", "lz-fear", "prometheus", @@ -5969,7 +6042,7 @@ dependencies = [ "bitflags", "bytes", "criterion", - "hashbrown", + "hashbrown 0.11.2", "prometheus", "rand 0.8.3", "tokio", @@ -5989,7 +6062,7 @@ dependencies = [ name = "veloren-plugin-derive" version = "0.1.0" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -6006,14 +6079,14 @@ dependencies = [ [[package]] name = "veloren-server" -version = "0.9.0" +version = "0.10.0" dependencies = [ "atomicwrites", "authc", "chrono", "crossbeam-channel", "futures-util", - "hashbrown", + "hashbrown 0.11.2", "humantime", "itertools 0.10.0", "lazy_static", @@ -6050,7 +6123,7 @@ dependencies = [ [[package]] name = "veloren-server-cli" -version = "0.9.0" +version = "0.10.0" dependencies = [ "ansi-parser", "clap", @@ -6060,7 +6133,7 @@ dependencies = [ "ron", "serde", "shell-words", - "signal-hook 0.3.8", + "signal-hook 0.3.9", "structopt", "tokio", "tracing", @@ -6074,7 +6147,7 @@ dependencies = [ [[package]] name = "veloren-voxygen" -version = "0.9.0" +version = "0.10.0" dependencies = [ "backtrace", "bincode", @@ -6087,7 +6160,7 @@ dependencies = [ "cpal", "criterion", "crossbeam-channel", - "crossbeam-utils 0.8.3", + "crossbeam-utils 0.8.5", "directories-next", "dispatch 0.1.4", "dot_vox", @@ -6100,7 +6173,7 @@ dependencies = [ "gilrs", "glyph_brush", "guillotiere", - "hashbrown", + "hashbrown 0.11.2", "iced_native", "iced_winit", "image", @@ -6110,7 +6183,7 @@ dependencies = [ "native-dialog", "num 0.4.0", "num_cpus", - "ordered-float 2.1.1", + "ordered-float 2.5.1", "profiling", "rand 0.8.3", "rayon", @@ -6142,20 +6215,20 @@ dependencies = [ "veloren-world", "wgpu", "wgpu-profiler", - "window_clipboard 0.2.0", + "window_clipboard 0.2.1", "winit", "winres", ] [[package]] name = "veloren-voxygen-anim" -version = "0.9.0" +version = "0.10.0" dependencies = [ "bytemuck", "find_folder", "lazy_static", "libloading 0.7.0", - "notify 5.0.0-pre.6", + "notify 5.0.0-pre.9", "tracing", "vek", "veloren-common", @@ -6164,7 +6237,7 @@ dependencies = [ [[package]] name = "veloren-voxygen-anim-dyn" -version = "0.9.0" +version = "0.10.0" dependencies = [ "veloren-voxygen-anim", ] @@ -6176,7 +6249,7 @@ dependencies = [ "find_folder", "lazy_static", "libloading 0.7.0", - "notify 5.0.0-pre.6", + "notify 5.0.0-pre.9", "tracing", ] @@ -6189,7 +6262,7 @@ dependencies = [ "find_folder", "lazy_static", "libloading 0.7.0", - "notify 5.0.0-pre.6", + "notify 5.0.0-pre.9", "tracing", "veloren-client", "veloren-common", @@ -6205,7 +6278,7 @@ dependencies = [ [[package]] name = "veloren-world" -version = "0.9.0" +version = "0.10.0" dependencies = [ "arr_macro", "assets_manager", @@ -6217,7 +6290,7 @@ dependencies = [ "enum-iterator", "flate2", "fxhash", - "hashbrown", + "hashbrown 0.11.2", "image", "itertools 0.10.0", "lazy_static", @@ -6226,7 +6299,7 @@ dependencies = [ "noise", "num 0.4.0", "num-traits", - "ordered-float 2.1.1", + "ordered-float 2.5.1", "packed_simd_2", "rand 0.8.3", "rand_chacha 0.3.0", @@ -6314,9 +6387,9 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasm-bindgen" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83240549659d187488f91f33c0f8547cbfef0b2088bc470c116d1d260ef623d9" +checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -6324,14 +6397,14 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae70622411ca953215ca6d06d3ebeb1e915f0f6613e3b495122878d7ebec7dae" +checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" dependencies = [ "bumpalo", "lazy_static", "log", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", "wasm-bindgen-shared", @@ -6339,9 +6412,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.23" +version = "0.4.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b8b767af23de6ac18bf2168b690bed2902743ddf0fb39252e36f9e2bfc63ea" +checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -6351,9 +6424,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e734d91443f177bfdb41969de821e15c516931c3c3db3d318fa1b68975d0f6f" +checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" dependencies = [ "quote 1.0.9", "wasm-bindgen-macro-support", @@ -6361,11 +6434,11 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53739ff08c8a68b0fdbcd54c372b8ab800b1449ab3c9d706503bc7dd1621b2c" +checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", "wasm-bindgen-backend", @@ -6374,9 +6447,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9a543ae66aa233d14bb765ed9af4a33e81b8b58d1584cf1b47ff8cd0b9e4489" +checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" [[package]] name = "wasmer" @@ -6444,7 +6517,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8b86dcd2c3efdb8390728a2b56f762db07789aaa5aa872a9dc776ba3a7912ed" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "syn 1.0.72", ] @@ -6458,7 +6531,7 @@ dependencies = [ "backtrace", "bincode", "lazy_static", - "memmap2 0.2.2", + "memmap2 0.2.3", "more-asserts", "rustc-demangle", "serde", @@ -6543,7 +6616,7 @@ dependencies = [ "cfg-if 0.1.10", "indexmap", "libc", - "memoffset 0.6.3", + "memoffset 0.6.4", "more-asserts", "region", "serde", @@ -6683,7 +6756,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "030f56009d932bd9400bb472764fea8109be1b0fc482d9cd75496c943ac30328" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "xml-rs", ] @@ -6694,7 +6767,7 @@ version = "0.28.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "389d680d7bd67512dc9c37f39560224327038deb0f0e8d33f870900441b68720" dependencies = [ - "proc-macro2 1.0.26", + "proc-macro2 1.0.27", "quote 1.0.9", "xml-rs", ] @@ -6886,7 +6959,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37cf16659e398a96f4ab8deff2b9db2ca0c3c5d6c1b59b1d577b7f888f0f03c6" dependencies = [ - "clipboard-win 4.0.3", + "clipboard-win 4.2.1", "clipboard_macos", "clipboard_wayland 0.1.2", "clipboard_x11 0.2.0", @@ -6895,11 +6968,11 @@ dependencies = [ [[package]] name = "window_clipboard" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6a6c83705a9008993d91151c1f5d249f5e87ef752b862ea968bd62f15202ab" +checksum = "33a4518b538a45ad39d138a8c3bea8f6b4452174aeb38143d1dd643a3a838ccc" dependencies = [ - "clipboard-win 4.0.3", + "clipboard-win 4.2.1", "clipboard_macos", "clipboard_wayland 0.2.0", "clipboard_x11 0.3.1", @@ -6976,9 +7049,9 @@ dependencies = [ [[package]] name = "x11-clipboard" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5e937afd03b64b7be4f959cc044e09260a47241b71e56933f37db097bf7859d" +checksum = "b397ace6e980510de59a4fe3d4c758dffab231d6d747ce9fa1aba6b6035d5f32" dependencies = [ "xcb", ] @@ -7085,9 +7158,9 @@ checksum = "b07db065a5cf61a7e4ba64f29e67db906fb1787316516c4e6e5ff0fea1efcd8a" [[package]] name = "yasna" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de7bff972b4f2a06c85f6d8454b09df153af7e3a4ec2aac81db1b105b684ddb" +checksum = "e262a29d0e61ccf2b6190d7050d4b237535fc76ce4c1210d9caa316f71dffa75" dependencies = [ "chrono", ] diff --git a/Cargo.toml b/Cargo.toml index ee856d1a16..9c1491eb30 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -122,6 +122,7 @@ winit = { git = "https://gitlab.com/veloren/winit.git", branch = "macos-test-spi vek = { git = "https://gitlab.com/veloren/vek.git", branch = "fix_intrinsics2" } # patch wgpu so we can use wgpu-profiler crate wgpu = { git = "https://github.com/gfx-rs/wgpu-rs.git", rev = "7486bdad64bb5d17b709ecccb41e063469efff88" } + # # use the latest fixes in naga (remove when updates trickle down to wgpu-rs) # naga = { git = "https://github.com/gfx-rs/naga.git", rev = "3a0f0144112ff621dd7f731bf455adf6cab19164" } # # use the latest fixes in gfx (remove when updates trickle down to wgpu-rs) diff --git a/assets/common/abilities/ability_set_manifest.ron b/assets/common/abilities/ability_set_manifest.ron index 9f3b3f8b26..6a3c4f4f57 100644 --- a/assets/common/abilities/ability_set_manifest.ron +++ b/assets/common/abilities/ability_set_manifest.ron @@ -148,6 +148,11 @@ secondary: "common.abilities.custom.quadmedbasic.triplestrike", abilities: [], ), + Custom("Basilisk"): ( + primary: "common.abilities.custom.basilisk.singlestrike", + secondary: "common.abilities.custom.basilisk.triplestrike", + abilities: [], + ), Custom("Quad Low Ranged"): ( primary: "common.abilities.custom.quadlowranged.singlestrike", secondary: "common.abilities.custom.quadlowranged.firebomb", @@ -237,6 +242,14 @@ (None, "common.abilities.custom.claygolem.rocket"), ], ), + Custom("Yeti"): ( + primary: "common.abilities.custom.yeti.strike", + secondary: "common.abilities.custom.yeti.icespikes", + abilities: [ + (None, "common.abilities.custom.yeti.frostbreath"), + (None, "common.abilities.custom.yeti.snowball"), + ], + ), Custom("Bird Large Breathe"): ( primary: "common.abilities.custom.birdlargebreathe.firebomb", secondary: "common.abilities.custom.birdlargebreathe.triplestrike", diff --git a/assets/common/abilities/bow/charged.ron b/assets/common/abilities/bow/charged.ron index dc945d1b0a..5f13546486 100644 --- a/assets/common/abilities/bow/charged.ron +++ b/assets/common/abilities/bow/charged.ron @@ -1,15 +1,15 @@ ChargedRanged( energy_cost: 0, energy_drain: 0, - initial_regen: 20, + initial_regen: 5, scaled_regen: 120, - initial_damage: 20, - scaled_damage: 100, + initial_damage: 5, + scaled_damage: 120, initial_knockback: 0.0, scaled_knockback: 10.0, speed: 1.0, buildup_duration: 0.2, - charge_duration: 1.2, + charge_duration: 1.0, recover_duration: 0.3, projectile_body: Object(Arrow), projectile_light: None, diff --git a/assets/common/abilities/custom/basilisk/singlestrike.ron b/assets/common/abilities/custom/basilisk/singlestrike.ron new file mode 100644 index 0000000000..3f21ccc88a --- /dev/null +++ b/assets/common/abilities/custom/basilisk/singlestrike.ron @@ -0,0 +1,27 @@ +ComboMelee( + stage_data: [ + ( + stage: 1, + base_damage: 130, + damage_increase: 0, + base_poise_damage: 28, + poise_damage_increase: 0, + knockback: 3.0, + range: 3.0, + angle: 60.0, + base_buildup_duration: 0.4, + base_swing_duration: 0.07, + base_recover_duration: 0.4, + forward_movement: 3.0, + damage_kind: Crushing, + ), + ], + initial_energy_gain: 0, + max_energy_gain: 0, + energy_increase: 0, + speed_increase: 0.0, + max_speed_increase: 0.0, + scales_from_combo: 0, + is_interruptible: false, + ori_modifier: 0.6, +) diff --git a/assets/common/abilities/custom/basilisk/triplestrike.ron b/assets/common/abilities/custom/basilisk/triplestrike.ron new file mode 100644 index 0000000000..fced56cfda --- /dev/null +++ b/assets/common/abilities/custom/basilisk/triplestrike.ron @@ -0,0 +1,57 @@ +ComboMelee( + stage_data: [ + ( + stage: 1, + base_damage: 100, + damage_increase: 0, + base_poise_damage: 15, + poise_damage_increase: 0, + knockback: 7.0, + range: 2.8, + angle: 30.0, + base_buildup_duration: 0.65, + base_swing_duration: 0.07, + base_recover_duration: 0.3, + forward_movement: 2.0, + damage_kind: Crushing, + ), + ( + stage: 2, + base_damage: 100, + damage_increase: 0, + base_poise_damage: 18, + poise_damage_increase: 0, + knockback: 7.0, + range: 2.8, + angle: 30.0, + base_buildup_duration: 0.4, + base_swing_duration: 0.07, + base_recover_duration: 0.3, + forward_movement: 1.5, + damage_kind: Crushing, + ), + ( + stage: 3, + base_damage: 100, + damage_increase: 0, + base_poise_damage: 20, + poise_damage_increase: 0, + knockback: 7.0, + range: 2.8, + angle: 30.0, + base_buildup_duration: 0.4, + base_swing_duration: 0.07, + base_recover_duration: 0.3, + forward_movement: 1.5, + damage_kind: Crushing, + ), + ], + initial_energy_gain: 0, + max_energy_gain: 0, + energy_increase: 0, + speed_increase: 0.0, + max_speed_increase: 0.0, + scales_from_combo: 0, + is_interruptible: false, + ori_modifier: 0.65, +) diff --git a/assets/common/abilities/custom/quadlowbreathe/dash.ron b/assets/common/abilities/custom/quadlowbreathe/dash.ron index 2c101ee339..645e4b8516 100644 --- a/assets/common/abilities/custom/quadlowbreathe/dash.ron +++ b/assets/common/abilities/custom/quadlowbreathe/dash.ron @@ -13,7 +13,7 @@ DashMelee( buildup_duration: 0.5, charge_duration: 1.0, swing_duration: 0.1, - recover_duration: 0.8, + recover_duration: 1.0, charge_through: true, is_interruptible: false, damage_kind: Crushing, diff --git a/assets/common/abilities/custom/quadlowquick/dash.ron b/assets/common/abilities/custom/quadlowquick/dash.ron index 5130e840cd..cb0dac45e8 100644 --- a/assets/common/abilities/custom/quadlowquick/dash.ron +++ b/assets/common/abilities/custom/quadlowquick/dash.ron @@ -13,7 +13,7 @@ DashMelee( buildup_duration: 0.5, charge_duration: 0.8, swing_duration: 0.1, - recover_duration: 0.5, + recover_duration: 1.0, charge_through: true, is_interruptible: false, damage_kind: Crushing, diff --git a/assets/common/abilities/custom/quadmedquick/dash.ron b/assets/common/abilities/custom/quadmedquick/dash.ron index e305185db5..20bb1c0666 100644 --- a/assets/common/abilities/custom/quadmedquick/dash.ron +++ b/assets/common/abilities/custom/quadmedquick/dash.ron @@ -13,7 +13,7 @@ DashMelee( buildup_duration: 1.2, charge_duration: 1.0, swing_duration: 0.1, - recover_duration: 0.5, + recover_duration: 1.0, charge_through: true, is_interruptible: false, damage_kind: Crushing, diff --git a/assets/common/abilities/custom/tidalwarrior/bubbles.ron b/assets/common/abilities/custom/tidalwarrior/bubbles.ron index e53f23bd9c..65cbadc67c 100644 --- a/assets/common/abilities/custom/tidalwarrior/bubbles.ron +++ b/assets/common/abilities/custom/tidalwarrior/bubbles.ron @@ -2,14 +2,14 @@ BasicBeam( buildup_duration: 0.5, recover_duration: 0.5, beam_duration: 2.5, - damage: 100, + damage: 50, tick_rate: 2.0, range: 25.0, max_angle: 15.0, damage_effect: Some(Buff(( kind: Wet, - dur_secs: 15.0, - strength: Value(4.5), + dur_secs: 5.0, + strength: Value(2.5), chance: 1.0, ))), energy_regen: 0, diff --git a/assets/common/abilities/custom/tidalwarrior/totem_wave.ron b/assets/common/abilities/custom/tidalwarrior/totem_wave.ron index 93f076461b..0bc8176d3c 100644 --- a/assets/common/abilities/custom/tidalwarrior/totem_wave.ron +++ b/assets/common/abilities/custom/tidalwarrior/totem_wave.ron @@ -1,11 +1,11 @@ Shockwave( energy_cost: 0, - buildup_duration: 1.4, + buildup_duration: 0.4, swing_duration: 0.1, - recover_duration: 0.5, + recover_duration: 3.5, damage: 10, poise_damage: 0, - knockback: ( strength: 100.0, direction: Up), + knockback: ( strength: 25.0, direction: Away), shockwave_angle: 360.0, shockwave_vertical_angle: 30.0, shockwave_speed: 10.0, diff --git a/assets/common/abilities/custom/yeti/frostbreath.ron b/assets/common/abilities/custom/yeti/frostbreath.ron new file mode 100644 index 0000000000..826f59bbcb --- /dev/null +++ b/assets/common/abilities/custom/yeti/frostbreath.ron @@ -0,0 +1,19 @@ +BasicBeam( + buildup_duration: 0.4, + recover_duration: 0.25, + beam_duration: 0.25, + damage: 50, + tick_rate: 1.0, + range: 15.0, + max_angle: 30.0, + damage_effect: Some(Buff(( + kind: Frozen, + dur_secs: 3.0, + strength: Value(1.5), + chance: 1.0, + ))), + energy_regen: 0, + energy_drain: 0, + orientation_behavior: Normal, + specifier: Frost, +) \ No newline at end of file diff --git a/assets/common/abilities/custom/yeti/icespikes.ron b/assets/common/abilities/custom/yeti/icespikes.ron new file mode 100644 index 0000000000..3b99b3af93 --- /dev/null +++ b/assets/common/abilities/custom/yeti/icespikes.ron @@ -0,0 +1,17 @@ +Shockwave( + energy_cost: 0, + buildup_duration: 0.6, + swing_duration: 0.12, + recover_duration: 0.3, + damage: 100, + poise_damage: 10, + knockback: (strength: 25.0, direction: Up), + shockwave_angle: 90.0, + shockwave_vertical_angle: 15.0, + shockwave_speed: 50.0, + shockwave_duration: 0.5, + requires_ground: true, + move_efficiency: 0.5, + damage_kind: Piercing, + specifier: IceSpikes, +) \ No newline at end of file diff --git a/assets/common/abilities/custom/yeti/snowball.ron b/assets/common/abilities/custom/yeti/snowball.ron new file mode 100644 index 0000000000..7cd3348c8e --- /dev/null +++ b/assets/common/abilities/custom/yeti/snowball.ron @@ -0,0 +1,13 @@ +BasicRanged( + energy_cost: 0, + buildup_duration: 0.5, + recover_duration: 0.4, + projectile: Snowball( + damage: 200.0, + radius: 5.0, + ), + projectile_body: Object(Snowball), + projectile_speed: 60.0, + num_projectiles: 1, + projectile_spread: 0.0, +) diff --git a/assets/common/abilities/custom/yeti/strike.ron b/assets/common/abilities/custom/yeti/strike.ron new file mode 100644 index 0000000000..1624a3c6e2 --- /dev/null +++ b/assets/common/abilities/custom/yeti/strike.ron @@ -0,0 +1,13 @@ +BasicMelee( + energy_cost: 0, + buildup_duration: 0.6, + swing_duration: 0.1, + recover_duration: 0.5, + base_damage: 100, + base_poise_damage: 50, + knockback: ( strength: 40.0, direction: Away), + range: 4.0, + max_angle: 20.0, + damage_effect: None, + damage_kind: Crushing, +) diff --git a/assets/common/abilities/pick/swing.ron b/assets/common/abilities/pick/swing.ron index 9e4a76fd5c..55a6fbe4ec 100644 --- a/assets/common/abilities/pick/swing.ron +++ b/assets/common/abilities/pick/swing.ron @@ -1,12 +1,12 @@ BasicMelee( energy_cost: 0, - buildup_duration: 0.6, - swing_duration: 0.1, - recover_duration: 0.15, + buildup_duration: 0.25, + swing_duration: 0.05, + recover_duration: 0.075, base_damage: 50, base_poise_damage: 0, knockback: ( strength: 0.0, direction: Away), - range: 3.5, + range: 4.5, max_angle: 20.0, damage_effect: None, damage_kind: Piercing, diff --git a/assets/common/abilities/spear/dash.ron b/assets/common/abilities/spear/dash.ron index f72771b1e7..6dc288fd3e 100644 --- a/assets/common/abilities/spear/dash.ron +++ b/assets/common/abilities/spear/dash.ron @@ -1,9 +1,9 @@ DashMelee( energy_cost: 100, - base_damage: 60, - scaled_damage: 100, - base_poise_damage: 45, - scaled_poise_damage: 0, + base_damage: 10, + scaled_damage: 80, + base_poise_damage: 0, + scaled_poise_damage: 25, base_knockback: 8.0, scaled_knockback: 7.0, range: 3.0, @@ -13,7 +13,7 @@ DashMelee( buildup_duration: 0.5, charge_duration: 1.0, swing_duration: 0.1, - recover_duration: 0.5, + recover_duration: 0.8, charge_through: true, is_interruptible: true, damage_kind: Piercing, diff --git a/assets/common/abilities/staff/firebomb.ron b/assets/common/abilities/staff/firebomb.ron index c803a6a0c1..4766bf9765 100644 --- a/assets/common/abilities/staff/firebomb.ron +++ b/assets/common/abilities/staff/firebomb.ron @@ -5,7 +5,7 @@ BasicRanged( projectile: Fireball( damage: 90.0, radius: 4.0, - energy_regen: 50, + energy_regen: 60, ), projectile_body: Object(BoltFire), projectile_speed: 60.0, diff --git a/assets/common/cave_scatter.ron b/assets/common/cave_scatter.ron deleted file mode 100644 index 2176f1d68d..0000000000 --- a/assets/common/cave_scatter.ron +++ /dev/null @@ -1,15 +0,0 @@ -[ - (10, Velorite), - (15, VeloriteFrag), - (110, Stones), - (150, ShortGrass), - (120, CaveMushroom), - (30, AmethystSmall), - (30, TopazSmall), - (16, SapphireSmall), - (12, EmeraldSmall), - (8, RubySmall), - (4, DiamondSmall), - (5, Chest), - (15, Crate), -] diff --git a/assets/common/cave_scatter/dark_ceiling.ron b/assets/common/cave_scatter/dark_ceiling.ron new file mode 100644 index 0000000000..d8f1c601e3 --- /dev/null +++ b/assets/common/cave_scatter/dark_ceiling.ron @@ -0,0 +1,3 @@ +[ + (1, Orb), +] diff --git a/assets/common/cave_scatter/dark_floor.ron b/assets/common/cave_scatter/dark_floor.ron new file mode 100644 index 0000000000..1b3f456bff --- /dev/null +++ b/assets/common/cave_scatter/dark_floor.ron @@ -0,0 +1,10 @@ +[ + (20, Velorite), + (30, VeloriteFrag), + (5, CaveMushroom), + (16, SapphireSmall), + (12, EmeraldSmall), + (15, Cobalt), + (40, Coal), + (10, RubySmall), +] diff --git a/assets/common/cave_scatter/deep_ceiling.ron b/assets/common/cave_scatter/deep_ceiling.ron new file mode 100644 index 0000000000..dbe279a7ee --- /dev/null +++ b/assets/common/cave_scatter/deep_ceiling.ron @@ -0,0 +1,6 @@ +[ + (10, CeilingMushroom), + (6, Liana), + (7, CrystalHigh), + +] diff --git a/assets/common/cave_scatter/deep_floor.ron b/assets/common/cave_scatter/deep_floor.ron new file mode 100644 index 0000000000..66c2e3ce59 --- /dev/null +++ b/assets/common/cave_scatter/deep_floor.ron @@ -0,0 +1,15 @@ +[ + (30, Velorite), + (40, VeloriteFrag), + (10, CaveMushroom), + (30, Mushroom), + (10, AmethystSmall), + (10, TopazSmall), + (16, SapphireSmall), + (60, CrystalLow), + (12, EmeraldSmall), + (5, Cobalt), + (40, Coal), + (70, Iron), + (10, RubySmall), +] diff --git a/assets/common/cave_scatter/shallow_ceiling.ron b/assets/common/cave_scatter/shallow_ceiling.ron new file mode 100644 index 0000000000..b5fcdefb86 --- /dev/null +++ b/assets/common/cave_scatter/shallow_ceiling.ron @@ -0,0 +1,4 @@ +[ + (3, Liana), + (1, CeilingMushroom), +] diff --git a/assets/common/cave_scatter/shallow_floor.ron b/assets/common/cave_scatter/shallow_floor.ron new file mode 100644 index 0000000000..290a476ac3 --- /dev/null +++ b/assets/common/cave_scatter/shallow_floor.ron @@ -0,0 +1,13 @@ +[ + (110, Stones), + (150, ShortGrass), + (50, CaveMushroom), + (50, Mushroom), + (30, AmethystSmall), + (15, TopazSmall), + (15, Tin), + (12, Copper), + (15, Iron), + (5, Chest), + (15, Crate), +] diff --git a/assets/common/cave_scatter/vein.ron b/assets/common/cave_scatter/vein.ron new file mode 100644 index 0000000000..16059e8771 --- /dev/null +++ b/assets/common/cave_scatter/vein.ron @@ -0,0 +1,9 @@ +[ + (10, Velorite), + (10, VeloriteFrag), + (15, Cobalt), + (10, Bloodstone), + (15, Silver), + (10, Gold), + (8, DiamondSmall), +] diff --git a/assets/common/item_price_calculation.ron b/assets/common/item_price_calculation.ron index c2825e5e7d..875321c988 100644 --- a/assets/common/item_price_calculation.ron +++ b/assets/common/item_price_calculation.ron @@ -14,15 +14,9 @@ loot_tables: [ (0.04, false, "common.loot_tables.weapons.legendary"), // Armor (20.0, true, "common.loot_tables.armor.cloth"), - (6.0, true, "common.loot_tables.armor.agile"), - (3.0, true, "common.loot_tables.armor.swift"), - (6.0, true, "common.loot_tables.armor.druid"), (1.0, true, "common.loot_tables.armor.twigs"), (1.0, true, "common.loot_tables.armor.twigsflowers"), (1.0, true, "common.loot_tables.armor.twigsleaves"), - (0.5, true, "common.loot_tables.armor.plate"), - (0.25, false, "common.loot_tables.armor.steel"), - (0.075, false, "common.loot_tables.armor.cultist"), // Materials (7.5, true, "common.loot_tables.materials.common"), (8.0, true, "common.loot_tables.materials.underground"), @@ -30,9 +24,12 @@ loot_tables: [ (0.3, true, "common.loot_tables.food.farm_ingredients"), (0.4, true, "common.loot_tables.food.wild_ingredients"), (0.2, true, "common.loot_tables.food.prepared"), - // TODO: Change consumables and split them up - (1.0, true, "common.loot_tables.consumable.default"), - (0.5, false, "common.loot_tables.trading"), + // Potions + (0.2, true, "common.loot_tables.consumable.potion"), + // Misc + (0.1, true, "common.loot_tables.consumable.throwable"), + (0.7, true, "common.loot_tables.consumable.misc"), + (1.0, false, "common.loot_tables.trading"), ], // this is the amount of that good the most common item represents // so basically this table balances the goods against each other (higher=less valuable) diff --git a/assets/common/items/armor/agile/back.ron b/assets/common/items/armor/agile/back.ron deleted file mode 100644 index dc32fda209..0000000000 --- a/assets/common/items/armor/agile/back.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Agile Cape", - description: "\'Tightly packed pieces of leather to endure all weather.\'", - kind: Armor(( - kind: Back("Agile"), - stats: ( - protection: Normal(0.2), - poise_resilience: Normal(0.1), - ), - )), - quality: Common, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/agile/belt.ron b/assets/common/items/armor/agile/belt.ron deleted file mode 100644 index 60924fa1c3..0000000000 --- a/assets/common/items/armor/agile/belt.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Agile Belt", - description: "\'Tightly packed pieces of leather to endure all weather.\'", - kind: Armor(( - kind: Belt("Agile"), - stats: ( - protection: Normal(1.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/agile/chest.ron b/assets/common/items/armor/agile/chest.ron deleted file mode 100644 index cc53636533..0000000000 --- a/assets/common/items/armor/agile/chest.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Agile Chest", - description: "Tightly packed pieces of leather to endure all weather.", - kind: Armor(( - kind: Chest("Agile"), - stats: ( - protection: Normal(8.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/agile/foot.ron b/assets/common/items/armor/agile/foot.ron deleted file mode 100644 index 1c8d6f7318..0000000000 --- a/assets/common/items/armor/agile/foot.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Agile Kickers", - description: "\'Tightly packed pieces of leather to endure all weather.", - kind: Armor(( - kind: Foot("Agile"), - stats: ( - protection: Normal(2.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/agile/hand.ron b/assets/common/items/armor/agile/hand.ron deleted file mode 100644 index 304609dcf2..0000000000 --- a/assets/common/items/armor/agile/hand.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Agile Gauntlets", - description: "\'Tightly packed pieces of leather to endure all weather.\'", - kind: Armor(( - kind: Hand("Agile"), - stats: ( - protection: Normal(4.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/agile/pants.ron b/assets/common/items/armor/agile/pants.ron deleted file mode 100644 index 563da5f983..0000000000 --- a/assets/common/items/armor/agile/pants.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Agile Pantalons", - description: "\'Tightly packed pieces of leather to endure all weather.\'", - kind: Armor(( - kind: Pants("Agile"), - stats: ( - protection: Normal(6.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/agile/shoulder.ron b/assets/common/items/armor/agile/shoulder.ron deleted file mode 100644 index 9e09202fe5..0000000000 --- a/assets/common/items/armor/agile/shoulder.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Agile Guards", - description: "Tightly packed pieces of leather to endure all weather.", - kind: Armor(( - kind: Shoulder("Agile"), - stats: ( - protection: Normal(8.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/assassin/belt.ron b/assets/common/items/armor/assassin/belt.ron index c058f86b94..ae349434f9 100644 --- a/assets/common/items/armor/assassin/belt.ron +++ b/assets/common/items/armor/assassin/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("Assassin"), stats: ( protection: Normal(2.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/assassin/chest.ron b/assets/common/items/armor/assassin/chest.ron index 25c95c4661..b96df379c6 100644 --- a/assets/common/items/armor/assassin/chest.ron +++ b/assets/common/items/armor/assassin/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("Assassin"), stats: ( protection: Normal(15.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/assassin/foot.ron b/assets/common/items/armor/assassin/foot.ron index 0dd80a1cf2..7f1c68f901 100644 --- a/assets/common/items/armor/assassin/foot.ron +++ b/assets/common/items/armor/assassin/foot.ron @@ -5,9 +5,15 @@ ItemDef( kind: Foot("Assassin"), stats: ( protection: Normal(4.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/assassin/hand.ron b/assets/common/items/armor/assassin/hand.ron index 7512d45b5d..ee044382c9 100644 --- a/assets/common/items/armor/assassin/hand.ron +++ b/assets/common/items/armor/assassin/hand.ron @@ -5,9 +5,15 @@ ItemDef( kind: Hand("Assassin"), stats: ( protection: Normal(6.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/assassin/head.ron b/assets/common/items/armor/assassin/head.ron index a6cf805c34..a5e0bf6963 100644 --- a/assets/common/items/armor/assassin/head.ron +++ b/assets/common/items/armor/assassin/head.ron @@ -6,8 +6,14 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/assassin/pants.ron b/assets/common/items/armor/assassin/pants.ron index 1d19d67ca9..44661d30c2 100644 --- a/assets/common/items/armor/assassin/pants.ron +++ b/assets/common/items/armor/assassin/pants.ron @@ -6,8 +6,14 @@ ItemDef( stats: ( protection: Normal(10.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/assassin/shoulder.ron b/assets/common/items/armor/assassin/shoulder.ron index 7a580f0bd3..64987aba53 100644 --- a/assets/common/items/armor/assassin/shoulder.ron +++ b/assets/common/items/armor/assassin/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("Assassin"), stats: ( protection: Normal(8.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/bonerattler/belt.ron b/assets/common/items/armor/bonerattler/belt.ron index 1e341a5520..54208a6940 100644 --- a/assets/common/items/armor/bonerattler/belt.ron +++ b/assets/common/items/armor/bonerattler/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("Bonerattler"), stats: ( protection: Normal(3.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/bonerattler/chest.ron b/assets/common/items/armor/bonerattler/chest.ron index 5b4d2e63ad..27988826c2 100644 --- a/assets/common/items/armor/bonerattler/chest.ron +++ b/assets/common/items/armor/bonerattler/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("Bonerattler"), stats: ( protection: Normal(25.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/bonerattler/foot.ron b/assets/common/items/armor/bonerattler/foot.ron index ed36219c54..e86f96cbea 100644 --- a/assets/common/items/armor/bonerattler/foot.ron +++ b/assets/common/items/armor/bonerattler/foot.ron @@ -5,9 +5,15 @@ ItemDef( kind: Foot("Bonerattler"), stats: ( protection: Normal(5.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/bonerattler/hand.ron b/assets/common/items/armor/bonerattler/hand.ron index 8c1632288b..b5f73984a5 100644 --- a/assets/common/items/armor/bonerattler/hand.ron +++ b/assets/common/items/armor/bonerattler/hand.ron @@ -5,9 +5,15 @@ ItemDef( kind: Hand("Bonerattler"), stats: ( protection: Normal(10.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/bonerattler/pants.ron b/assets/common/items/armor/bonerattler/pants.ron index f56d23c742..93b3dcc961 100644 --- a/assets/common/items/armor/bonerattler/pants.ron +++ b/assets/common/items/armor/bonerattler/pants.ron @@ -1,13 +1,19 @@ ItemDef( name: "Bonerattler Chausses", - description: "Assorted bones and hide from a bonerattler provide protection around the wearer\'s legs.", + description: "Assorted bones and hide from a bonerattler provide protection around the wearer's legs.", kind: Armor(( kind: Pants("Bonerattler"), stats: ( protection: Normal(20.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/bonerattler/shoulder.ron b/assets/common/items/armor/bonerattler/shoulder.ron index 93f7a7c550..2970c9a351 100644 --- a/assets/common/items/armor/bonerattler/shoulder.ron +++ b/assets/common/items/armor/bonerattler/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("Bonerattler"), stats: ( protection: Normal(15.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/druid/back.ron b/assets/common/items/armor/cloth/druid/back.ron new file mode 100644 index 0000000000..08087cafea --- /dev/null +++ b/assets/common/items/armor/cloth/druid/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Druid Cape", + description: "Incredibly light, with the essence of nature.", + kind: Armor(( + kind: Back("Druid"), + stats: ( + protection: Normal(3.0), + poise_resilience: Normal(0.0), + energy_max: 33, + energy_reward: 0.034, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Lifecloth), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/druid/belt.ron b/assets/common/items/armor/cloth/druid/belt.ron new file mode 100644 index 0000000000..5a747d685a --- /dev/null +++ b/assets/common/items/armor/cloth/druid/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Druid Sash", + description: "Incredibly light, with the essence of nature.", + kind: Armor(( + kind: Belt("Druid"), + stats: ( + protection: Normal(3.0), + poise_resilience: Normal(0.0), + energy_max: 33, + energy_reward: 0.034, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Lifecloth), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/druid/chest.ron b/assets/common/items/armor/cloth/druid/chest.ron new file mode 100644 index 0000000000..44cd558182 --- /dev/null +++ b/assets/common/items/armor/cloth/druid/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Druid Chestguard", + description: "Incredibly light, with the essence of nature.", + kind: Armor(( + kind: Chest("Druid"), + stats: ( + protection: Normal(18.0), + poise_resilience: Normal(0.0), + energy_max: 198, + energy_reward: 0.2, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Lifecloth), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/druid/foot.ron b/assets/common/items/armor/cloth/druid/foot.ron new file mode 100644 index 0000000000..5d8720c3fe --- /dev/null +++ b/assets/common/items/armor/cloth/druid/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Druid Kickers", + description: "Incredibly light, with the essence of nature.", + kind: Armor(( + kind: Foot("Druid"), + stats: ( + protection: Normal(6.0), + poise_resilience: Normal(0.0), + energy_max: 66, + energy_reward: 0.067, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Lifecloth), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/druid/hand.ron b/assets/common/items/armor/cloth/druid/hand.ron new file mode 100644 index 0000000000..bc5cecde74 --- /dev/null +++ b/assets/common/items/armor/cloth/druid/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Druid Handwraps", + description: "Incredibly light, with the essence of nature.", + kind: Armor(( + kind: Hand("Druid"), + stats: ( + protection: Normal(6.0), + poise_resilience: Normal(0.0), + energy_max: 66, + energy_reward: 0.067, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Lifecloth), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/druid/pants.ron b/assets/common/items/armor/cloth/druid/pants.ron new file mode 100644 index 0000000000..84a2155e69 --- /dev/null +++ b/assets/common/items/armor/cloth/druid/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Druid Leggings", + description: "Incredibly light, with the essence of nature.", + kind: Armor(( + kind: Pants("Druid"), + stats: ( + protection: Normal(12.0), + poise_resilience: Normal(0.0), + energy_max: 132, + energy_reward: 0.134, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Lifecloth), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/druid/shoulder.ron b/assets/common/items/armor/cloth/druid/shoulder.ron new file mode 100644 index 0000000000..ff4064d554 --- /dev/null +++ b/assets/common/items/armor/cloth/druid/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Druid Shoulderpads", + description: "Incredibly light, with the essence of nature.", + kind: Armor(( + kind: Shoulder("Druid"), + stats: ( + protection: Normal(12.0), + poise_resilience: Normal(0.0), + energy_max: 132, + energy_reward: 0.134, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Lifecloth), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/linen/back.ron b/assets/common/items/armor/cloth/linen/back.ron new file mode 100644 index 0000000000..50b30f320c --- /dev/null +++ b/assets/common/items/armor/cloth/linen/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Linen Shawl", + description: "Roughly stitched, but it seems to hold.", + kind: Armor(( + kind: Back("Linen"), + stats: ( + protection: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 8, + energy_reward: 0.009, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/linen/belt.ron b/assets/common/items/armor/cloth/linen/belt.ron new file mode 100644 index 0000000000..0495dc29cb --- /dev/null +++ b/assets/common/items/armor/cloth/linen/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Linen Sash", + description: "Roughly stitched, but it seems to hold.", + kind: Armor(( + kind: Belt("Linen"), + stats: ( + protection: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 8, + energy_reward: 0.009, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/linen/chest.ron b/assets/common/items/armor/cloth/linen/chest.ron new file mode 100644 index 0000000000..f4e386d26b --- /dev/null +++ b/assets/common/items/armor/cloth/linen/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Linen Vest", + description: "Roughly stitched, but it seems to hold.", + kind: Armor(( + kind: Chest("Linen"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 50, + energy_reward: 0.051, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/linen/foot.ron b/assets/common/items/armor/cloth/linen/foot.ron new file mode 100644 index 0000000000..8712c18208 --- /dev/null +++ b/assets/common/items/armor/cloth/linen/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Linen Feet", + description: "Roughly stitched, but it seems to hold.", + kind: Armor(( + kind: Foot("Linen"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.0), + energy_max: 17, + energy_reward: 0.017, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/linen/hand.ron b/assets/common/items/armor/cloth/linen/hand.ron new file mode 100644 index 0000000000..77b8e9d35b --- /dev/null +++ b/assets/common/items/armor/cloth/linen/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Linen Handwraps", + description: "Roughly stitched, but it seems to hold.", + kind: Armor(( + kind: Hand("Linen"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.0), + energy_max: 17, + energy_reward: 0.017, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/linen/pants.ron b/assets/common/items/armor/cloth/linen/pants.ron new file mode 100644 index 0000000000..ea71095ca9 --- /dev/null +++ b/assets/common/items/armor/cloth/linen/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Linen Pants", + description: "Roughly stitched, but it seems to hold.", + kind: Armor(( + kind: Pants("Linen"), + stats: ( + protection: Normal(3.0), + poise_resilience: Normal(0.0), + energy_max: 33, + energy_reward: 0.034, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/linen/shoulder.ron b/assets/common/items/armor/cloth/linen/shoulder.ron new file mode 100644 index 0000000000..2db1b2b460 --- /dev/null +++ b/assets/common/items/armor/cloth/linen/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Linen Shoulders", + description: "Roughly stitched, but it seems to hold.", + kind: Armor(( + kind: Shoulder("Linen"), + stats: ( + protection: Normal(3.0), + poise_resilience: Normal(0.0), + energy_max: 33, + energy_reward: 0.034, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/moonweave/back.ron b/assets/common/items/armor/cloth/moonweave/back.ron new file mode 100644 index 0000000000..aca1662b22 --- /dev/null +++ b/assets/common/items/armor/cloth/moonweave/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Moonweave Cape", + description: "The fabric dances silently, like moonlight.", + kind: Armor(( + kind: Back("Moonweave"), + stats: ( + protection: Normal(4.0), + poise_resilience: Normal(0.0), + energy_max: 41, + energy_reward: 0.042, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Moonweave), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/moonweave/belt.ron b/assets/common/items/armor/cloth/moonweave/belt.ron new file mode 100644 index 0000000000..6c96fad42e --- /dev/null +++ b/assets/common/items/armor/cloth/moonweave/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Moonweave Belt", + description: "The fabric dances silently, like moonlight.", + kind: Armor(( + kind: Belt("Moonweave"), + stats: ( + protection: Normal(4.0), + poise_resilience: Normal(0.0), + energy_max: 41, + energy_reward: 0.042, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Moonweave), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/moonweave/chest.ron b/assets/common/items/armor/cloth/moonweave/chest.ron new file mode 100644 index 0000000000..e254605f7e --- /dev/null +++ b/assets/common/items/armor/cloth/moonweave/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Moonweave Vest", + description: "The fabric dances silently, like moonlight.", + kind: Armor(( + kind: Chest("Moonweave"), + stats: ( + protection: Normal(23.0), + poise_resilience: Normal(0.0), + energy_max: 248, + energy_reward: 0.252, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Moonweave), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/moonweave/foot.ron b/assets/common/items/armor/cloth/moonweave/foot.ron new file mode 100644 index 0000000000..56d10545d9 --- /dev/null +++ b/assets/common/items/armor/cloth/moonweave/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Moonweave Boots", + description: "The fabric dances silently, like moonlight.", + kind: Armor(( + kind: Foot("Moonweave"), + stats: ( + protection: Normal(8.0), + poise_resilience: Normal(0.0), + energy_max: 83, + energy_reward: 0.084, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Moonweave), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/moonweave/hand.ron b/assets/common/items/armor/cloth/moonweave/hand.ron new file mode 100644 index 0000000000..a9e4ae8d00 --- /dev/null +++ b/assets/common/items/armor/cloth/moonweave/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Moonweave Gloves", + description: "The fabric dances silently, like moonlight.", + kind: Armor(( + kind: Hand("Moonweave"), + stats: ( + protection: Normal(8.0), + poise_resilience: Normal(0.0), + energy_max: 83, + energy_reward: 0.084, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Moonweave), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/moonweave/pants.ron b/assets/common/items/armor/cloth/moonweave/pants.ron new file mode 100644 index 0000000000..3a62c88d96 --- /dev/null +++ b/assets/common/items/armor/cloth/moonweave/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Moonweave Legs", + description: "The fabric dances silently, like moonlight.", + kind: Armor(( + kind: Pants("Moonweave"), + stats: ( + protection: Normal(17.0), + poise_resilience: Normal(0.0), + energy_max: 165, + energy_reward: 0.168, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Moonweave), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/moonweave/shoulder.ron b/assets/common/items/armor/cloth/moonweave/shoulder.ron new file mode 100644 index 0000000000..7e66e648dd --- /dev/null +++ b/assets/common/items/armor/cloth/moonweave/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Moonweave Shoulders", + description: "The fabric dances silently, like moonlight.", + kind: Armor(( + kind: Shoulder("Moonweave"), + stats: ( + protection: Normal(17.0), + poise_resilience: Normal(0.0), + energy_max: 165, + energy_reward: 0.168, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Moonweave), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/silken/back.ron b/assets/common/items/armor/cloth/silken/back.ron new file mode 100644 index 0000000000..e2a085d8da --- /dev/null +++ b/assets/common/items/armor/cloth/silken/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Silken Cape", + description: "Weaved with care by a skilled tailor.", + kind: Armor(( + kind: Back("Silken"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.0), + energy_max: 25, + energy_reward: 0.025, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Silk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/silken/belt.ron b/assets/common/items/armor/cloth/silken/belt.ron new file mode 100644 index 0000000000..e0c3e2909e --- /dev/null +++ b/assets/common/items/armor/cloth/silken/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Silken Sash", + description: "Weaved with care by a skilled tailor.", + kind: Armor(( + kind: Belt("Silken"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.0), + energy_max: 25, + energy_reward: 0.025, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Silk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/silken/chest.ron b/assets/common/items/armor/cloth/silken/chest.ron new file mode 100644 index 0000000000..5241cde002 --- /dev/null +++ b/assets/common/items/armor/cloth/silken/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Silken Robe", + description: "Weaved with care by a skilled tailor.", + kind: Armor(( + kind: Chest("Silken"), + stats: ( + protection: Normal(14.0), + poise_resilience: Normal(0.0), + energy_max: 149, + energy_reward: 0.15, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Silk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/silken/foot.ron b/assets/common/items/armor/cloth/silken/foot.ron new file mode 100644 index 0000000000..faccd273dd --- /dev/null +++ b/assets/common/items/armor/cloth/silken/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Silken Feet", + description: "Weaved with care by a skilled tailor.", + kind: Armor(( + kind: Foot("Silken"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 50, + energy_reward: 0.05, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Silk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/silken/hand.ron b/assets/common/items/armor/cloth/silken/hand.ron new file mode 100644 index 0000000000..58bfc16ae5 --- /dev/null +++ b/assets/common/items/armor/cloth/silken/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Silken Wraps", + description: "Weaved with care by a skilled tailor.", + kind: Armor(( + kind: Hand("Silken"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 50, + energy_reward: 0.05, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Silk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/silken/pants.ron b/assets/common/items/armor/cloth/silken/pants.ron new file mode 100644 index 0000000000..c03f76a11c --- /dev/null +++ b/assets/common/items/armor/cloth/silken/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Silken Skirt", + description: "Weaved with care by a skilled tailor.", + kind: Armor(( + kind: Pants("Silken"), + stats: ( + protection: Normal(9.0), + poise_resilience: Normal(0.0), + energy_max: 99, + energy_reward: 0.1, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Silk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/silken/shoulder.ron b/assets/common/items/armor/cloth/silken/shoulder.ron new file mode 100644 index 0000000000..9e56ffb2a8 --- /dev/null +++ b/assets/common/items/armor/cloth/silken/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Silken Shoulders", + description: "Weaved with care by a skilled tailor.", + kind: Armor(( + kind: Shoulder("Silken"), + stats: ( + protection: Normal(9.0), + poise_resilience: Normal(0.0), + energy_max: 99, + energy_reward: 0.1, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Silk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/sunsilk/back.ron b/assets/common/items/armor/cloth/sunsilk/back.ron new file mode 100644 index 0000000000..94afc9e513 --- /dev/null +++ b/assets/common/items/armor/cloth/sunsilk/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Sunsilk Cape", + description: "It radiates with the sun's power, and the grace to harness it.", + kind: Armor(( + kind: Back("Sunsilk"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 50, + energy_reward: 0.05, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Sunsilk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/sunsilk/belt.ron b/assets/common/items/armor/cloth/sunsilk/belt.ron new file mode 100644 index 0000000000..69c1bf9bae --- /dev/null +++ b/assets/common/items/armor/cloth/sunsilk/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Sunsilk Sash", + description: "It radiates with the sun's power, and the grace to harness it.", + kind: Armor(( + kind: Belt("Sunsilk"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 50, + energy_reward: 0.05, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Sunsilk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/sunsilk/chest.ron b/assets/common/items/armor/cloth/sunsilk/chest.ron new file mode 100644 index 0000000000..068900625b --- /dev/null +++ b/assets/common/items/armor/cloth/sunsilk/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Sunsilk Tunic", + description: "It radiates with the sun's power, and the grace to harness it.", + kind: Armor(( + kind: Chest("Sunsilk"), + stats: ( + protection: Normal(27.0), + poise_resilience: Normal(0.0), + energy_max: 300, + energy_reward: 0.3, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Sunsilk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/sunsilk/foot.ron b/assets/common/items/armor/cloth/sunsilk/foot.ron new file mode 100644 index 0000000000..fd54b7f249 --- /dev/null +++ b/assets/common/items/armor/cloth/sunsilk/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Sunsilk Footwraps", + description: "It radiates with the sun's power, and the grace to harness it.", + kind: Armor(( + kind: Foot("Sunsilk"), + stats: ( + protection: Normal(9.0), + poise_resilience: Normal(0.0), + energy_max: 100, + energy_reward: 0.1, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Sunsilk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/sunsilk/hand.ron b/assets/common/items/armor/cloth/sunsilk/hand.ron new file mode 100644 index 0000000000..6aed42b202 --- /dev/null +++ b/assets/common/items/armor/cloth/sunsilk/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Sunsilk Handwraps", + description: "It radiates with the sun's power, and the grace to harness it.", + kind: Armor(( + kind: Hand("Sunsilk"), + stats: ( + protection: Normal(9.0), + poise_resilience: Normal(0.0), + energy_max: 100, + energy_reward: 0.1, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Sunsilk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/sunsilk/pants.ron b/assets/common/items/armor/cloth/sunsilk/pants.ron new file mode 100644 index 0000000000..3b2ac44ef9 --- /dev/null +++ b/assets/common/items/armor/cloth/sunsilk/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Sunsilk Kilt", + description: "It radiates with the sun's power, and the grace to harness it.", + kind: Armor(( + kind: Pants("Sunsilk"), + stats: ( + protection: Normal(18.0), + poise_resilience: Normal(0.0), + energy_max: 200, + energy_reward: 0.2, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Sunsilk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/sunsilk/shoulder.ron b/assets/common/items/armor/cloth/sunsilk/shoulder.ron new file mode 100644 index 0000000000..a8b4fe3c3e --- /dev/null +++ b/assets/common/items/armor/cloth/sunsilk/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Sunsilk Shoulderwraps", + description: "It radiates with the sun's power, and the grace to harness it.", + kind: Armor(( + kind: Shoulder("Sunsilk"), + stats: ( + protection: Normal(18.0), + poise_resilience: Normal(0.0), + energy_max: 200, + energy_reward: 0.2, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Sunsilk), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/woolen/back.ron b/assets/common/items/armor/cloth/woolen/back.ron new file mode 100644 index 0000000000..2ce0b243c4 --- /dev/null +++ b/assets/common/items/armor/cloth/woolen/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Woolen Cloak", + description: "Thick and ready for the snow.", + kind: Armor(( + kind: Back("Woolen"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.0), + energy_max: 17, + energy_reward: 0.017, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Wool), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/woolen/belt.ron b/assets/common/items/armor/cloth/woolen/belt.ron new file mode 100644 index 0000000000..6f345bbf6c --- /dev/null +++ b/assets/common/items/armor/cloth/woolen/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Woolen Belt", + description: "Thick and ready for the snow.", + kind: Armor(( + kind: Belt("Woolen"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.0), + energy_max: 17, + energy_reward: 0.017, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Wool), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/woolen/chest.ron b/assets/common/items/armor/cloth/woolen/chest.ron new file mode 100644 index 0000000000..ca2205e2ae --- /dev/null +++ b/assets/common/items/armor/cloth/woolen/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Woolen Parka", + description: "Thick and ready for the snow.", + kind: Armor(( + kind: Chest("Woolen"), + stats: ( + protection: Normal(9.0), + poise_resilience: Normal(0.0), + energy_max: 99, + energy_reward: 0.099, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Wool), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/woolen/foot.ron b/assets/common/items/armor/cloth/woolen/foot.ron new file mode 100644 index 0000000000..ed6129ef15 --- /dev/null +++ b/assets/common/items/armor/cloth/woolen/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Woolen Boots", + description: "Thick and ready for the snow.", + kind: Armor(( + kind: Foot("Woolen"), + stats: ( + protection: Normal(3.0), + poise_resilience: Normal(0.0), + energy_max: 33, + energy_reward: 0.033, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Wool), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/woolen/hand.ron b/assets/common/items/armor/cloth/woolen/hand.ron new file mode 100644 index 0000000000..45e9528e72 --- /dev/null +++ b/assets/common/items/armor/cloth/woolen/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Woolen Mittens", + description: "Thick and ready for the snow.", + kind: Armor(( + kind: Hand("Woolen"), + stats: ( + protection: Normal(3.0), + poise_resilience: Normal(0.0), + energy_max: 33, + energy_reward: 0.033, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Wool), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/woolen/pants.ron b/assets/common/items/armor/cloth/woolen/pants.ron new file mode 100644 index 0000000000..4cf18467e1 --- /dev/null +++ b/assets/common/items/armor/cloth/woolen/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Woolen Pants", + description: "Thick and ready for the snow.", + kind: Armor(( + kind: Pants("Woolen"), + stats: ( + protection: Normal(6.0), + poise_resilience: Normal(0.0), + energy_max: 66, + energy_reward: 0.066, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Wool), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth/woolen/shoulder.ron b/assets/common/items/armor/cloth/woolen/shoulder.ron new file mode 100644 index 0000000000..bf9a0041f6 --- /dev/null +++ b/assets/common/items/armor/cloth/woolen/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Woolen Shoulders", + description: "Thick and ready for the snow.", + kind: Armor(( + kind: Shoulder("Woolen"), + stats: ( + protection: Normal(6.0), + poise_resilience: Normal(0.0), + energy_max: 66, + energy_reward: 0.066, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Wool), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_blue/belt.ron b/assets/common/items/armor/cloth_blue/belt.ron index 28ef54799c..0bdda2d7b6 100644 --- a/assets/common/items/armor/cloth_blue/belt.ron +++ b/assets/common/items/armor/cloth_blue/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("ClothBlue"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_blue/chest.ron b/assets/common/items/armor/cloth_blue/chest.ron index 0f48e87d36..1629e7500e 100644 --- a/assets/common/items/armor/cloth_blue/chest.ron +++ b/assets/common/items/armor/cloth_blue/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("ClothBlue"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_blue/foot.ron b/assets/common/items/armor/cloth_blue/foot.ron index dd15879046..8f42e6b97f 100644 --- a/assets/common/items/armor/cloth_blue/foot.ron +++ b/assets/common/items/armor/cloth_blue/foot.ron @@ -6,8 +6,14 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_blue/hand.ron b/assets/common/items/armor/cloth_blue/hand.ron index ddc21118b6..68cf2ed18b 100644 --- a/assets/common/items/armor/cloth_blue/hand.ron +++ b/assets/common/items/armor/cloth_blue/hand.ron @@ -6,8 +6,14 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_blue/pants.ron b/assets/common/items/armor/cloth_blue/pants.ron index 991a375a88..3bcdd35fb8 100644 --- a/assets/common/items/armor/cloth_blue/pants.ron +++ b/assets/common/items/armor/cloth_blue/pants.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("ClothBlue"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_blue/shoulder_0.ron b/assets/common/items/armor/cloth_blue/shoulder_0.ron index e871eb66e4..831819fe4c 100644 --- a/assets/common/items/armor/cloth_blue/shoulder_0.ron +++ b/assets/common/items/armor/cloth_blue/shoulder_0.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("ClothBlue0"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_blue/shoulder_1.ron b/assets/common/items/armor/cloth_blue/shoulder_1.ron index b3cc1a9780..7d8dfdbad3 100644 --- a/assets/common/items/armor/cloth_blue/shoulder_1.ron +++ b/assets/common/items/armor/cloth_blue/shoulder_1.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("ClothBlue1"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_green/belt.ron b/assets/common/items/armor/cloth_green/belt.ron index 961dd4398c..e7f6f148c4 100644 --- a/assets/common/items/armor/cloth_green/belt.ron +++ b/assets/common/items/armor/cloth_green/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("ClothGreen"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_green/chest.ron b/assets/common/items/armor/cloth_green/chest.ron index 80e844b7cf..dc85c1d24c 100644 --- a/assets/common/items/armor/cloth_green/chest.ron +++ b/assets/common/items/armor/cloth_green/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("ClothGreen"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_green/foot.ron b/assets/common/items/armor/cloth_green/foot.ron index 6eaa31cef0..9191c48b75 100644 --- a/assets/common/items/armor/cloth_green/foot.ron +++ b/assets/common/items/armor/cloth_green/foot.ron @@ -6,8 +6,14 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_green/hand.ron b/assets/common/items/armor/cloth_green/hand.ron index 330e942996..e67884c81f 100644 --- a/assets/common/items/armor/cloth_green/hand.ron +++ b/assets/common/items/armor/cloth_green/hand.ron @@ -6,8 +6,14 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_green/pants.ron b/assets/common/items/armor/cloth_green/pants.ron index 66e02e82b7..6db606c17a 100644 --- a/assets/common/items/armor/cloth_green/pants.ron +++ b/assets/common/items/armor/cloth_green/pants.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("ClothGreen"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_green/shoulder.ron b/assets/common/items/armor/cloth_green/shoulder.ron index f88213f29f..bcb610c6d6 100644 --- a/assets/common/items/armor/cloth_green/shoulder.ron +++ b/assets/common/items/armor/cloth_green/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("ClothGreen"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_purple/belt.ron b/assets/common/items/armor/cloth_purple/belt.ron index db714546a9..69db3e70ae 100644 --- a/assets/common/items/armor/cloth_purple/belt.ron +++ b/assets/common/items/armor/cloth_purple/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("ClothPurple"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_purple/chest.ron b/assets/common/items/armor/cloth_purple/chest.ron index 2212b075f5..65fa293261 100644 --- a/assets/common/items/armor/cloth_purple/chest.ron +++ b/assets/common/items/armor/cloth_purple/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("ClothPurple"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_purple/foot.ron b/assets/common/items/armor/cloth_purple/foot.ron index 32adc3427c..db158a54ed 100644 --- a/assets/common/items/armor/cloth_purple/foot.ron +++ b/assets/common/items/armor/cloth_purple/foot.ron @@ -6,8 +6,14 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_purple/hand.ron b/assets/common/items/armor/cloth_purple/hand.ron index d57beebeba..d32a36f46b 100644 --- a/assets/common/items/armor/cloth_purple/hand.ron +++ b/assets/common/items/armor/cloth_purple/hand.ron @@ -6,8 +6,14 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_purple/pants.ron b/assets/common/items/armor/cloth_purple/pants.ron index 36888a2211..89faf32704 100644 --- a/assets/common/items/armor/cloth_purple/pants.ron +++ b/assets/common/items/armor/cloth_purple/pants.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("ClothPurple"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cloth_purple/shoulder.ron b/assets/common/items/armor/cloth_purple/shoulder.ron index d4ab23ccab..244e5623ba 100644 --- a/assets/common/items/armor/cloth_purple/shoulder.ron +++ b/assets/common/items/armor/cloth_purple/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("ClothPurple"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/cultist/belt.ron b/assets/common/items/armor/cultist/belt.ron index 43421d8095..55d4758882 100644 --- a/assets/common/items/armor/cultist/belt.ron +++ b/assets/common/items/armor/cultist/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("Cultist"), stats: ( protection: Normal(6.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [Cultist], -) + tags: [ + Cultist, + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cultist/chest.ron b/assets/common/items/armor/cultist/chest.ron index be4e9f0040..acfc5dac59 100644 --- a/assets/common/items/armor/cultist/chest.ron +++ b/assets/common/items/armor/cultist/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("Cultist"), stats: ( protection: Normal(30.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [Cultist], -) + tags: [ + Cultist, + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cultist/foot.ron b/assets/common/items/armor/cultist/foot.ron index ba5caedadc..41f4f572c7 100644 --- a/assets/common/items/armor/cultist/foot.ron +++ b/assets/common/items/armor/cultist/foot.ron @@ -5,9 +5,15 @@ ItemDef( kind: Foot("Cultist"), stats: ( protection: Normal(6.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [Cultist], -) + tags: [ + Cultist, + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cultist/hand.ron b/assets/common/items/armor/cultist/hand.ron index 0d7dc37e16..4b5939dafb 100644 --- a/assets/common/items/armor/cultist/hand.ron +++ b/assets/common/items/armor/cultist/hand.ron @@ -5,9 +5,15 @@ ItemDef( kind: Hand("Cultist"), stats: ( protection: Normal(12.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [Cultist], -) + tags: [ + Cultist, + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cultist/pants.ron b/assets/common/items/armor/cultist/pants.ron index 2a48813088..8461be9c53 100644 --- a/assets/common/items/armor/cultist/pants.ron +++ b/assets/common/items/armor/cultist/pants.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("Cultist"), stats: ( protection: Normal(24.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [Cultist], -) + tags: [ + Cultist, + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/cultist/shoulder.ron b/assets/common/items/armor/cultist/shoulder.ron index 58a03db82d..d88bd22f51 100644 --- a/assets/common/items/armor/cultist/shoulder.ron +++ b/assets/common/items/armor/cultist/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("Cultist"), stats: ( protection: Normal(18.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [Cultist], -) + tags: [ + Cultist, + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/druid/belt.ron b/assets/common/items/armor/druid/belt.ron deleted file mode 100644 index 98f9893097..0000000000 --- a/assets/common/items/armor/druid/belt.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Druid\'s Belt", - description: "Twisted vines to keep everything secure.", - kind: Armor(( - kind: Belt("Druid"), - stats: ( - protection: Normal(2.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/druid/chest.ron b/assets/common/items/armor/druid/chest.ron deleted file mode 100644 index 346e0e31aa..0000000000 --- a/assets/common/items/armor/druid/chest.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Druid\'s Vest", - description: "Vines and leaves formed into a tunic.", - kind: Armor(( - kind: Chest("Druid"), - stats: ( - protection: Normal(6.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/druid/foot.ron b/assets/common/items/armor/druid/foot.ron deleted file mode 100644 index 9bc8abc377..0000000000 --- a/assets/common/items/armor/druid/foot.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Druid\'s Slippers", - description: "For treading softly through the woods.", - kind: Armor(( - kind: Foot("Druid"), - stats: ( - protection: Normal(1.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/druid/hand.ron b/assets/common/items/armor/druid/hand.ron deleted file mode 100644 index abca18a39a..0000000000 --- a/assets/common/items/armor/druid/hand.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Druid\'s Gloves", - description: "Soft, strong, and flexible.", - kind: Armor(( - kind: Hand("Druid"), - stats: ( - protection: Normal(2.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Common, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/druid/pants.ron b/assets/common/items/armor/druid/pants.ron deleted file mode 100644 index ce3a392812..0000000000 --- a/assets/common/items/armor/druid/pants.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Druid\'s Kilt", - description: "Feel the breeze!", - kind: Armor(( - kind: Pants("Druid"), - stats: ( - protection: Normal(4.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/druid/shoulder.ron b/assets/common/items/armor/druid/shoulder.ron deleted file mode 100644 index e1cf6c0d1c..0000000000 --- a/assets/common/items/armor/druid/shoulder.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Druid Shoulders", - description: "Forged for protectors of the wild.", - kind: Armor(( - kind: Shoulder("Druid"), - stats: ( - protection: Normal(3.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Common, - tags: [], -) diff --git a/assets/common/items/armor/ferocious/back.ron b/assets/common/items/armor/ferocious/back.ron index 2fe58fc063..b06908255d 100644 --- a/assets/common/items/armor/ferocious/back.ron +++ b/assets/common/items/armor/ferocious/back.ron @@ -5,9 +5,15 @@ ItemDef( kind: Back("Ferocious"), stats: ( protection: Normal(3.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [ClothItem], -) + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/ferocious/belt.ron b/assets/common/items/armor/ferocious/belt.ron index 4486641465..55bda41c7d 100644 --- a/assets/common/items/armor/ferocious/belt.ron +++ b/assets/common/items/armor/ferocious/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("Ferocious"), stats: ( protection: Normal(6.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [ClothItem], -) + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/ferocious/chest.ron b/assets/common/items/armor/ferocious/chest.ron index b39b5cfa60..97b08c3bc8 100644 --- a/assets/common/items/armor/ferocious/chest.ron +++ b/assets/common/items/armor/ferocious/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("Ferocious"), stats: ( protection: Normal(30.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [ClothItem], -) + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/ferocious/foot.ron b/assets/common/items/armor/ferocious/foot.ron index 2d9e2667aa..291e01fc78 100644 --- a/assets/common/items/armor/ferocious/foot.ron +++ b/assets/common/items/armor/ferocious/foot.ron @@ -5,9 +5,15 @@ ItemDef( kind: Foot("Ferocious"), stats: ( protection: Normal(6.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [ClothItem], -) + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/ferocious/hand.ron b/assets/common/items/armor/ferocious/hand.ron index b7bb7cc90e..50432bffe5 100644 --- a/assets/common/items/armor/ferocious/hand.ron +++ b/assets/common/items/armor/ferocious/hand.ron @@ -5,9 +5,15 @@ ItemDef( kind: Hand("Ferocious"), stats: ( protection: Normal(12.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [ClothItem], -) + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/ferocious/pants.ron b/assets/common/items/armor/ferocious/pants.ron index fc1d0be115..f3cf907020 100644 --- a/assets/common/items/armor/ferocious/pants.ron +++ b/assets/common/items/armor/ferocious/pants.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("Ferocious"), stats: ( protection: Normal(24.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [ClothItem], -) + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/ferocious/shoulder.ron b/assets/common/items/armor/ferocious/shoulder.ron index b73b090e95..dc7fa8a236 100644 --- a/assets/common/items/armor/ferocious/shoulder.ron +++ b/assets/common/items/armor/ferocious/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("Ferocious"), stats: ( protection: Normal(18.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, - tags: [ClothItem], -) + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/carapace/back.ron b/assets/common/items/armor/hide/carapace/back.ron new file mode 100644 index 0000000000..005a81d486 --- /dev/null +++ b/assets/common/items/armor/hide/carapace/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Carapace Cape", + description: "Shell that once shielded a beast.", + kind: Armor(( + kind: Back("Carapace"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.067, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Carapace), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/carapace/belt.ron b/assets/common/items/armor/hide/carapace/belt.ron new file mode 100644 index 0000000000..f5e6b19499 --- /dev/null +++ b/assets/common/items/armor/hide/carapace/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Carapace Belt", + description: "Shell that once shielded a beast.", + kind: Armor(( + kind: Belt("Carapace"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.067, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Carapace), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/carapace/chest.ron b/assets/common/items/armor/hide/carapace/chest.ron new file mode 100644 index 0000000000..a2adc469c5 --- /dev/null +++ b/assets/common/items/armor/hide/carapace/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Carapace Cuirass", + description: "Shell that once shielded a beast.", + kind: Armor(( + kind: Chest("Carapace"), + stats: ( + protection: Normal(29.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.399, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Carapace), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/carapace/foot.ron b/assets/common/items/armor/hide/carapace/foot.ron new file mode 100644 index 0000000000..32433005d4 --- /dev/null +++ b/assets/common/items/armor/hide/carapace/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Carapace Treads", + description: "Shell that once shielded a beast.", + kind: Armor(( + kind: Foot("Carapace"), + stats: ( + protection: Normal(10.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.133, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Carapace), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/carapace/hand.ron b/assets/common/items/armor/hide/carapace/hand.ron new file mode 100644 index 0000000000..b22f659b34 --- /dev/null +++ b/assets/common/items/armor/hide/carapace/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Carapace Grips", + description: "Shell that once shielded a beast.", + kind: Armor(( + kind: Hand("Carapace"), + stats: ( + protection: Normal(10.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.133, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Carapace), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/carapace/pants.ron b/assets/common/items/armor/hide/carapace/pants.ron new file mode 100644 index 0000000000..e4c7c672b8 --- /dev/null +++ b/assets/common/items/armor/hide/carapace/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Carapace Leggings", + description: "Shell that once shielded a beast.", + kind: Armor(( + kind: Pants("Carapace"), + stats: ( + protection: Normal(19.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.266, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Carapace), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/carapace/shoulder.ron b/assets/common/items/armor/hide/carapace/shoulder.ron new file mode 100644 index 0000000000..815471f5b7 --- /dev/null +++ b/assets/common/items/armor/hide/carapace/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Carapace Shoulderpads", + description: "Shell that once shielded a beast.", + kind: Armor(( + kind: Shoulder("Carapace"), + stats: ( + protection: Normal(19.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.266, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Carapace), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/dragonscale/back.ron b/assets/common/items/armor/hide/dragonscale/back.ron new file mode 100644 index 0000000000..033b23e776 --- /dev/null +++ b/assets/common/items/armor/hide/dragonscale/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Dragonscale Cape", + description: "Power pulses through it.", + kind: Armor(( + kind: Back("Dragonscale"), + stats: ( + protection: Normal(7.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.1, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Dragonscale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/dragonscale/belt.ron b/assets/common/items/armor/hide/dragonscale/belt.ron new file mode 100644 index 0000000000..71d0da7170 --- /dev/null +++ b/assets/common/items/armor/hide/dragonscale/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Dragonscale Sash", + description: "Power pulses through it.", + kind: Armor(( + kind: Belt("Dragonscale"), + stats: ( + protection: Normal(7.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.1, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Dragonscale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/dragonscale/chest.ron b/assets/common/items/armor/hide/dragonscale/chest.ron new file mode 100644 index 0000000000..17644ee241 --- /dev/null +++ b/assets/common/items/armor/hide/dragonscale/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Dragonscale Chestplate", + description: "Power pulses through it.", + kind: Armor(( + kind: Chest("Dragonscale"), + stats: ( + protection: Normal(42.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.6, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Dragonscale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/dragonscale/foot.ron b/assets/common/items/armor/hide/dragonscale/foot.ron new file mode 100644 index 0000000000..fc047d7a0b --- /dev/null +++ b/assets/common/items/armor/hide/dragonscale/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Dragonscale Spurs", + description: "Power pulses through it.", + kind: Armor(( + kind: Foot("Dragonscale"), + stats: ( + protection: Normal(14.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.2, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Dragonscale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/dragonscale/hand.ron b/assets/common/items/armor/hide/dragonscale/hand.ron new file mode 100644 index 0000000000..86e690e2b4 --- /dev/null +++ b/assets/common/items/armor/hide/dragonscale/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Dragonscale Gloves", + description: "Power pulses through it.", + kind: Armor(( + kind: Hand("Dragonscale"), + stats: ( + protection: Normal(14.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.2, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Dragonscale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/dragonscale/pants.ron b/assets/common/items/armor/hide/dragonscale/pants.ron new file mode 100644 index 0000000000..977a9b5674 --- /dev/null +++ b/assets/common/items/armor/hide/dragonscale/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Dragonscale Leggings", + description: "Power pulses through it.", + kind: Armor(( + kind: Pants("Dragonscale"), + stats: ( + protection: Normal(28.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.4, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Dragonscale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/dragonscale/shoulder.ron b/assets/common/items/armor/hide/dragonscale/shoulder.ron new file mode 100644 index 0000000000..62147fb3b1 --- /dev/null +++ b/assets/common/items/armor/hide/dragonscale/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Dragonscale Mantle", + description: "Power pulses through it.", + kind: Armor(( + kind: Shoulder("Dragonscale"), + stats: ( + protection: Normal(28.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.4, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Dragonscale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/leather/back.ron b/assets/common/items/armor/hide/leather/back.ron new file mode 100644 index 0000000000..4de72c0d67 --- /dev/null +++ b/assets/common/items/armor/hide/leather/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Leather Cloak", + description: "Swift like the wind.", + kind: Armor(( + kind: Back("Leather"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.034, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/leather/belt.ron b/assets/common/items/armor/hide/leather/belt.ron new file mode 100644 index 0000000000..14f81b8e65 --- /dev/null +++ b/assets/common/items/armor/hide/leather/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Leather Belt", + description: "Swift like the wind.", + kind: Armor(( + kind: Belt("Leather"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.034, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/leather/chest.ron b/assets/common/items/armor/hide/leather/chest.ron new file mode 100644 index 0000000000..811fdd7c86 --- /dev/null +++ b/assets/common/items/armor/hide/leather/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Leather Chestpiece", + description: "Swift like the wind.", + kind: Armor(( + kind: Chest("Leather"), + stats: ( + protection: Normal(14.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.201, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/leather/foot.ron b/assets/common/items/armor/hide/leather/foot.ron new file mode 100644 index 0000000000..a6ac8a88c7 --- /dev/null +++ b/assets/common/items/armor/hide/leather/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Leather Boots", + description: "Swift like the wind.", + kind: Armor(( + kind: Foot("Leather"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.067, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/leather/hand.ron b/assets/common/items/armor/hide/leather/hand.ron new file mode 100644 index 0000000000..79c12d1c10 --- /dev/null +++ b/assets/common/items/armor/hide/leather/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Leather Gloves", + description: "Swift like the wind.", + kind: Armor(( + kind: Hand("Leather"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.067, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/leather/head.ron b/assets/common/items/armor/hide/leather/head.ron new file mode 100644 index 0000000000..335c7561e7 --- /dev/null +++ b/assets/common/items/armor/hide/leather/head.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Leather Cap", + description: "Swift like the wind.", + kind: Armor(( + kind: Head("Leather"), + stats: ( + protection: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/leather/pants.ron b/assets/common/items/armor/hide/leather/pants.ron new file mode 100644 index 0000000000..6ff2ac8a48 --- /dev/null +++ b/assets/common/items/armor/hide/leather/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Leather Pants", + description: "Swift like the wind.", + kind: Armor(( + kind: Pants("Leather"), + stats: ( + protection: Normal(10.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.134, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/leather/shoulder.ron b/assets/common/items/armor/hide/leather/shoulder.ron new file mode 100644 index 0000000000..bf6cc6565e --- /dev/null +++ b/assets/common/items/armor/hide/leather/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Leather Shoulderpads", + description: "Swift like the wind.", + kind: Armor(( + kind: Shoulder("Leather"), + stats: ( + protection: Normal(10.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.134, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/primal/back.ron b/assets/common/items/armor/hide/primal/back.ron new file mode 100644 index 0000000000..16d24fdce7 --- /dev/null +++ b/assets/common/items/armor/hide/primal/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Primal Cape", + description: "Smithed from hide tougher than steel.", + kind: Armor(( + kind: Back("Primal"), + stats: ( + protection: Normal(6.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.084, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Plate), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/primal/belt.ron b/assets/common/items/armor/hide/primal/belt.ron new file mode 100644 index 0000000000..cdc557df3d --- /dev/null +++ b/assets/common/items/armor/hide/primal/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Primal Sash", + description: "Smithed from hide tougher than steel.", + kind: Armor(( + kind: Belt("Primal"), + stats: ( + protection: Normal(6.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.084, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Plate), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/primal/chest.ron b/assets/common/items/armor/hide/primal/chest.ron new file mode 100644 index 0000000000..45bbd7edd0 --- /dev/null +++ b/assets/common/items/armor/hide/primal/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Primal Cuirass", + description: "Smithed from hide tougher than steel.", + kind: Armor(( + kind: Chest("Primal"), + stats: ( + protection: Normal(36.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.501, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Plate), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/primal/foot.ron b/assets/common/items/armor/hide/primal/foot.ron new file mode 100644 index 0000000000..cd1ed43bf6 --- /dev/null +++ b/assets/common/items/armor/hide/primal/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Primal Boots", + description: "Smithed from hide tougher than steel.", + kind: Armor(( + kind: Foot("Primal"), + stats: ( + protection: Normal(12.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.167, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Plate), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/primal/hand.ron b/assets/common/items/armor/hide/primal/hand.ron new file mode 100644 index 0000000000..4391547500 --- /dev/null +++ b/assets/common/items/armor/hide/primal/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Primal Gauntlets", + description: "Smithed from hide tougher than steel.", + kind: Armor(( + kind: Hand("Primal"), + stats: ( + protection: Normal(12.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.167, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Plate), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/primal/pants.ron b/assets/common/items/armor/hide/primal/pants.ron new file mode 100644 index 0000000000..0ae4458161 --- /dev/null +++ b/assets/common/items/armor/hide/primal/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Primal Legs", + description: "Smithed from hide tougher than steel.", + kind: Armor(( + kind: Pants("Primal"), + stats: ( + protection: Normal(24.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.334, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Plate), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/primal/shoulder.ron b/assets/common/items/armor/hide/primal/shoulder.ron new file mode 100644 index 0000000000..e82391403a --- /dev/null +++ b/assets/common/items/armor/hide/primal/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Primal Shoulders", + description: "Smithed from hide tougher than steel.", + kind: Armor(( + kind: Shoulder("Primal"), + stats: ( + protection: Normal(24.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.334, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Plate), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/rawhide/back.ron b/assets/common/items/armor/hide/rawhide/back.ron new file mode 100644 index 0000000000..e814adacf5 --- /dev/null +++ b/assets/common/items/armor/hide/rawhide/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Rawhide Cloak", + description: "'Tightly packed pieces of leather to endure all weather.'", + kind: Armor(( + kind: Back("Rawhide"), + stats: ( + protection: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.017, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Rawhide), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/rawhide/belt.ron b/assets/common/items/armor/hide/rawhide/belt.ron new file mode 100644 index 0000000000..330e09ac4d --- /dev/null +++ b/assets/common/items/armor/hide/rawhide/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Rawhide Belt", + description: "'Tightly packed pieces of leather to endure all weather.'", + kind: Armor(( + kind: Belt("Rawhide"), + stats: ( + protection: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.017, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Rawhide), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/rawhide/chest.ron b/assets/common/items/armor/hide/rawhide/chest.ron new file mode 100644 index 0000000000..5b9e5f8c8e --- /dev/null +++ b/assets/common/items/armor/hide/rawhide/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Rawhide Chestpiece", + description: "Tightly packed pieces of leather to endure all weather.", + kind: Armor(( + kind: Chest("Rawhide"), + stats: ( + protection: Normal(7.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.099, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Rawhide), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/rawhide/foot.ron b/assets/common/items/armor/hide/rawhide/foot.ron new file mode 100644 index 0000000000..d732487a38 --- /dev/null +++ b/assets/common/items/armor/hide/rawhide/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Rawhide Shoes", + description: "'Tightly packed pieces of leather to endure all weather.", + kind: Armor(( + kind: Foot("Rawhide"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.033, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Rawhide), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/rawhide/hand.ron b/assets/common/items/armor/hide/rawhide/hand.ron new file mode 100644 index 0000000000..204d7e3729 --- /dev/null +++ b/assets/common/items/armor/hide/rawhide/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Rawhide Bracers", + description: "'Tightly packed pieces of leather to endure all weather.'", + kind: Armor(( + kind: Hand("Rawhide"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.033, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Rawhide), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/rawhide/pants.ron b/assets/common/items/armor/hide/rawhide/pants.ron new file mode 100644 index 0000000000..29ae6f3b80 --- /dev/null +++ b/assets/common/items/armor/hide/rawhide/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Rawhide Pants", + description: "'Tightly packed pieces of leather to endure all weather.'", + kind: Armor(( + kind: Pants("Rawhide"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.066, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Rawhide), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/rawhide/shoulder.ron b/assets/common/items/armor/hide/rawhide/shoulder.ron new file mode 100644 index 0000000000..b4a20b9fd1 --- /dev/null +++ b/assets/common/items/armor/hide/rawhide/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Rawhide Shoulderpads", + description: "Tightly packed pieces of leather to endure all weather.", + kind: Armor(( + kind: Shoulder("Rawhide"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.066, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Rawhide), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/scale/back.ron b/assets/common/items/armor/hide/scale/back.ron new file mode 100644 index 0000000000..e473d11f5b --- /dev/null +++ b/assets/common/items/armor/hide/scale/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Scale Cape", + description: "Each embedded scale provides protection.", + kind: Armor(( + kind: Back("Scale"), + stats: ( + protection: Normal(4.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.05, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Scale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/scale/belt.ron b/assets/common/items/armor/hide/scale/belt.ron new file mode 100644 index 0000000000..ebae5e1cfe --- /dev/null +++ b/assets/common/items/armor/hide/scale/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Scale Girdle", + description: "Each embedded scale provides protection.", + kind: Armor(( + kind: Belt("Scale"), + stats: ( + protection: Normal(4.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.05, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Scale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/scale/chest.ron b/assets/common/items/armor/hide/scale/chest.ron new file mode 100644 index 0000000000..4949f6b267 --- /dev/null +++ b/assets/common/items/armor/hide/scale/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Scale Chestpiece", + description: "Each embedded scale provides protection.", + kind: Armor(( + kind: Chest("Scale"), + stats: ( + protection: Normal(21.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.3, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Scale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/scale/foot.ron b/assets/common/items/armor/hide/scale/foot.ron new file mode 100644 index 0000000000..f4f5e85bc2 --- /dev/null +++ b/assets/common/items/armor/hide/scale/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Scale Sabatons", + description: "Each embedded scale provides protection.", + kind: Armor(( + kind: Foot("Scale"), + stats: ( + protection: Normal(7.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.1, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Scale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/scale/hand.ron b/assets/common/items/armor/hide/scale/hand.ron new file mode 100644 index 0000000000..2aa5ffc13f --- /dev/null +++ b/assets/common/items/armor/hide/scale/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Scale Fists", + description: "Each embedded scale provides protection.", + kind: Armor(( + kind: Hand("Scale"), + stats: ( + protection: Normal(7.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.1, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Scale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/scale/pants.ron b/assets/common/items/armor/hide/scale/pants.ron new file mode 100644 index 0000000000..cb5571f857 --- /dev/null +++ b/assets/common/items/armor/hide/scale/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Scale Leggings", + description: "Each embedded scale provides protection.", + kind: Armor(( + kind: Pants("Scale"), + stats: ( + protection: Normal(14.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.2, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Scale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/hide/scale/shoulder.ron b/assets/common/items/armor/hide/scale/shoulder.ron new file mode 100644 index 0000000000..a5ebd61c0e --- /dev/null +++ b/assets/common/items/armor/hide/scale/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Scale Shoulderguards", + description: "Each embedded scale provides protection.", + kind: Armor(( + kind: Shoulder("Scale"), + stats: ( + protection: Normal(14.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.2, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Scale), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/leather_plate/belt.ron b/assets/common/items/armor/leather_plate/belt.ron index b12866f6d7..e3fe38f8ed 100644 --- a/assets/common/items/armor/leather_plate/belt.ron +++ b/assets/common/items/armor/leather_plate/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("LeatherPlate"), stats: ( protection: Normal(4.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/leather_plate/chest.ron b/assets/common/items/armor/leather_plate/chest.ron index cabc5893b9..03a91dbee8 100644 --- a/assets/common/items/armor/leather_plate/chest.ron +++ b/assets/common/items/armor/leather_plate/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("LeatherPlate"), stats: ( protection: Normal(25.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/leather_plate/foot.ron b/assets/common/items/armor/leather_plate/foot.ron index 77cda34ff7..022d487b8f 100644 --- a/assets/common/items/armor/leather_plate/foot.ron +++ b/assets/common/items/armor/leather_plate/foot.ron @@ -5,9 +5,15 @@ ItemDef( kind: Foot("LeatherPlate"), stats: ( protection: Normal(5.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/leather_plate/hand.ron b/assets/common/items/armor/leather_plate/hand.ron index b6db1b6e81..e63d9b9c6a 100644 --- a/assets/common/items/armor/leather_plate/hand.ron +++ b/assets/common/items/armor/leather_plate/hand.ron @@ -5,9 +5,15 @@ ItemDef( kind: Hand("LeatherPlate"), stats: ( protection: Normal(10.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/leather_plate/pants.ron b/assets/common/items/armor/leather_plate/pants.ron index 93a245d686..938774f1a8 100644 --- a/assets/common/items/armor/leather_plate/pants.ron +++ b/assets/common/items/armor/leather_plate/pants.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("LeatherPlate"), stats: ( protection: Normal(20.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/leather_plate/shoulder.ron b/assets/common/items/armor/leather_plate/shoulder.ron index a2a194c5f7..a536b4d2f3 100644 --- a/assets/common/items/armor/leather_plate/shoulder.ron +++ b/assets/common/items/armor/leather_plate/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("LeatherPlate"), stats: ( protection: Normal(15.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bloodsteel/back.ron b/assets/common/items/armor/mail/bloodsteel/back.ron new file mode 100644 index 0000000000..c0195f2586 --- /dev/null +++ b/assets/common/items/armor/mail/bloodsteel/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bloodsteel Cape", + description: "Forged to preserve life, at the cost of another.", + kind: Armor(( + kind: Back("Bloodsteel"), + stats: ( + protection: Normal(10.0), + poise_resilience: Normal(2.5), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Bloodsteel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bloodsteel/belt.ron b/assets/common/items/armor/mail/bloodsteel/belt.ron new file mode 100644 index 0000000000..23c0b1ab91 --- /dev/null +++ b/assets/common/items/armor/mail/bloodsteel/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bloodsteel Girdle", + description: "Forged to preserve life, at the cost of another.", + kind: Armor(( + kind: Belt("Bloodsteel"), + stats: ( + protection: Normal(10.0), + poise_resilience: Normal(2.5), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Bloodsteel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bloodsteel/chest.ron b/assets/common/items/armor/mail/bloodsteel/chest.ron new file mode 100644 index 0000000000..4d6c3581f7 --- /dev/null +++ b/assets/common/items/armor/mail/bloodsteel/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bloodsteel Chest", + description: "Forged to preserve life, at the cost of another.", + kind: Armor(( + kind: Chest("Bloodsteel"), + stats: ( + protection: Normal(60.0), + poise_resilience: Normal(15.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Bloodsteel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bloodsteel/foot.ron b/assets/common/items/armor/mail/bloodsteel/foot.ron new file mode 100644 index 0000000000..e96d1ec562 --- /dev/null +++ b/assets/common/items/armor/mail/bloodsteel/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bloodsteel Sabatons", + description: "Forged to preserve life, at the cost of another.", + kind: Armor(( + kind: Foot("Bloodsteel"), + stats: ( + protection: Normal(20.0), + poise_resilience: Normal(5.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Bloodsteel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bloodsteel/hand.ron b/assets/common/items/armor/mail/bloodsteel/hand.ron new file mode 100644 index 0000000000..f6bfa3d8d7 --- /dev/null +++ b/assets/common/items/armor/mail/bloodsteel/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bloodsteel Gauntlets", + description: "Forged to preserve life, at the cost of another.", + kind: Armor(( + kind: Hand("Bloodsteel"), + stats: ( + protection: Normal(20.0), + poise_resilience: Normal(5.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Bloodsteel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bloodsteel/pants.ron b/assets/common/items/armor/mail/bloodsteel/pants.ron new file mode 100644 index 0000000000..6493d17f44 --- /dev/null +++ b/assets/common/items/armor/mail/bloodsteel/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bloodsteel Legs", + description: "Forged to preserve life, at the cost of another.", + kind: Armor(( + kind: Pants("Bloodsteel"), + stats: ( + protection: Normal(40.0), + poise_resilience: Normal(10.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Bloodsteel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bloodsteel/shoulder.ron b/assets/common/items/armor/mail/bloodsteel/shoulder.ron new file mode 100644 index 0000000000..78680d5ce4 --- /dev/null +++ b/assets/common/items/armor/mail/bloodsteel/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bloodsteel Pauldrons", + description: "Forged to preserve life, at the cost of another.", + kind: Armor(( + kind: Shoulder("Bloodsteel"), + stats: ( + protection: Normal(40.0), + poise_resilience: Normal(10.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ + Material(Bloodsteel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bronze/back.ron b/assets/common/items/armor/mail/bronze/back.ron new file mode 100644 index 0000000000..5b28331710 --- /dev/null +++ b/assets/common/items/armor/mail/bronze/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bronze Cloak", + description: "'Heavy and dull, but it can take a punch.'", + kind: Armor(( + kind: Back("Bronze"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.5), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Bronze), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bronze/belt.ron b/assets/common/items/armor/mail/bronze/belt.ron new file mode 100644 index 0000000000..37ae6dc5e9 --- /dev/null +++ b/assets/common/items/armor/mail/bronze/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bronze Girdle", + description: "'Heavy and dull, but it can take a punch.'", + kind: Armor(( + kind: Belt("Bronze"), + stats: ( + protection: Normal(2.0), + poise_resilience: Normal(0.5), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Bronze), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bronze/chest.ron b/assets/common/items/armor/mail/bronze/chest.ron new file mode 100644 index 0000000000..a4d454ccf7 --- /dev/null +++ b/assets/common/items/armor/mail/bronze/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bronze Chestguard", + description: "Heavy and dull, but it can take a punch.", + kind: Armor(( + kind: Chest("Bronze"), + stats: ( + protection: Normal(12.0), + poise_resilience: Normal(3.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Bronze), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bronze/foot.ron b/assets/common/items/armor/mail/bronze/foot.ron new file mode 100644 index 0000000000..c438c13284 --- /dev/null +++ b/assets/common/items/armor/mail/bronze/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bronze Shoes", + description: "'Heavy and dull, but it can take a punch.", + kind: Armor(( + kind: Foot("Bronze"), + stats: ( + protection: Normal(4.0), + poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Bronze), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bronze/hand.ron b/assets/common/items/armor/mail/bronze/hand.ron new file mode 100644 index 0000000000..45f9adc7c3 --- /dev/null +++ b/assets/common/items/armor/mail/bronze/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bronze Gauntlets", + description: "'Heavy and dull, but it can take a punch.'", + kind: Armor(( + kind: Hand("Bronze"), + stats: ( + protection: Normal(4.0), + poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Bronze), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bronze/pants.ron b/assets/common/items/armor/mail/bronze/pants.ron new file mode 100644 index 0000000000..b98511295e --- /dev/null +++ b/assets/common/items/armor/mail/bronze/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bronze Pantalons", + description: "'Heavy and dull, but it can take a punch.'", + kind: Armor(( + kind: Pants("Bronze"), + stats: ( + protection: Normal(8.0), + poise_resilience: Normal(2.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Bronze), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/bronze/shoulder.ron b/assets/common/items/armor/mail/bronze/shoulder.ron new file mode 100644 index 0000000000..2e8b2f6990 --- /dev/null +++ b/assets/common/items/armor/mail/bronze/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Bronze Guards", + description: "Heavy and dull, but it can take a punch.", + kind: Armor(( + kind: Shoulder("Bronze"), + stats: ( + protection: Normal(8.0), + poise_resilience: Normal(2.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Low, + tags: [ + Material(Bronze), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/cobalt/back.ron b/assets/common/items/armor/mail/cobalt/back.ron new file mode 100644 index 0000000000..d84d650df7 --- /dev/null +++ b/assets/common/items/armor/mail/cobalt/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Cobalt Cape", + description: "Ornamental and impenetrable, the metal will never dull.", + kind: Armor(( + kind: Back("Cobalt"), + stats: ( + protection: Normal(8.0), + poise_resilience: Normal(2.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Cobalt), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/cobalt/belt.ron b/assets/common/items/armor/mail/cobalt/belt.ron new file mode 100644 index 0000000000..8987f85843 --- /dev/null +++ b/assets/common/items/armor/mail/cobalt/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Cobalt Girdle", + description: "Ornamental and impenetrable, the metal will never dull.", + kind: Armor(( + kind: Belt("Cobalt"), + stats: ( + protection: Normal(8.0), + poise_resilience: Normal(2.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Cobalt), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/cobalt/chest.ron b/assets/common/items/armor/mail/cobalt/chest.ron new file mode 100644 index 0000000000..ddaa397476 --- /dev/null +++ b/assets/common/items/armor/mail/cobalt/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Cobalt Chestpiece", + description: "Ornamental and impenetrable, the metal will never dull.", + kind: Armor(( + kind: Chest("Cobalt"), + stats: ( + protection: Normal(48.0), + poise_resilience: Normal(12.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Cobalt), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/cobalt/foot.ron b/assets/common/items/armor/mail/cobalt/foot.ron new file mode 100644 index 0000000000..c10e58eb3d --- /dev/null +++ b/assets/common/items/armor/mail/cobalt/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Cobalt Footguards", + description: "Ornamental and impenetrable, the metal will never dull.", + kind: Armor(( + kind: Foot("Cobalt"), + stats: ( + protection: Normal(16.0), + poise_resilience: Normal(4.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Cobalt), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/cobalt/hand.ron b/assets/common/items/armor/mail/cobalt/hand.ron new file mode 100644 index 0000000000..077d554aaf --- /dev/null +++ b/assets/common/items/armor/mail/cobalt/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Cobalt Gauntlets", + description: "Ornamental and impenetrable, the metal will never dull.", + kind: Armor(( + kind: Hand("Cobalt"), + stats: ( + protection: Normal(16.0), + poise_resilience: Normal(4.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Cobalt), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/cobalt/pants.ron b/assets/common/items/armor/mail/cobalt/pants.ron new file mode 100644 index 0000000000..1a3f02c809 --- /dev/null +++ b/assets/common/items/armor/mail/cobalt/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Cobalt Leggings", + description: "Ornamental and impenetrable, the metal will never dull.", + kind: Armor(( + kind: Pants("Cobalt"), + stats: ( + protection: Normal(32.0), + poise_resilience: Normal(8.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Cobalt), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/cobalt/shoulder.ron b/assets/common/items/armor/mail/cobalt/shoulder.ron new file mode 100644 index 0000000000..abca8ae263 --- /dev/null +++ b/assets/common/items/armor/mail/cobalt/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Cobalt Shoulderguards", + description: "Ornamental and impenetrable, the metal will never dull.", + kind: Armor(( + kind: Shoulder("Cobalt"), + stats: ( + protection: Normal(32.0), + poise_resilience: Normal(8.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Cobalt), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/iron/back.ron b/assets/common/items/armor/mail/iron/back.ron new file mode 100644 index 0000000000..1371644b2c --- /dev/null +++ b/assets/common/items/armor/mail/iron/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Iron Cloak", + description: "Sturdy and unyielding, across ages of war.", + kind: Armor(( + kind: Back("Iron"), + stats: ( + protection: Normal(4.0), + poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Iron), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/iron/belt.ron b/assets/common/items/armor/mail/iron/belt.ron new file mode 100644 index 0000000000..28f67c5a69 --- /dev/null +++ b/assets/common/items/armor/mail/iron/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Iron Belt", + description: "Sturdy and unyielding, across ages of war.", + kind: Armor(( + kind: Belt("Iron"), + stats: ( + protection: Normal(4.0), + poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Iron), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/iron/chest.ron b/assets/common/items/armor/mail/iron/chest.ron new file mode 100644 index 0000000000..8222e2217a --- /dev/null +++ b/assets/common/items/armor/mail/iron/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Iron Chestguard", + description: "Sturdy and unyielding, across ages of war.", + kind: Armor(( + kind: Chest("Iron"), + stats: ( + protection: Normal(24.0), + poise_resilience: Normal(6.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Iron), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/iron/foot.ron b/assets/common/items/armor/mail/iron/foot.ron new file mode 100644 index 0000000000..1e54414573 --- /dev/null +++ b/assets/common/items/armor/mail/iron/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Iron Footguards", + description: "Sturdy and unyielding, across ages of war.", + kind: Armor(( + kind: Foot("Iron"), + stats: ( + protection: Normal(8.0), + poise_resilience: Normal(2.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Iron), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/iron/hand.ron b/assets/common/items/armor/mail/iron/hand.ron new file mode 100644 index 0000000000..69db4edc60 --- /dev/null +++ b/assets/common/items/armor/mail/iron/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Iron Fists", + description: "Sturdy and unyielding, across ages of war.", + kind: Armor(( + kind: Hand("Iron"), + stats: ( + protection: Normal(8.0), + poise_resilience: Normal(2.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Iron), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/iron/pants.ron b/assets/common/items/armor/mail/iron/pants.ron new file mode 100644 index 0000000000..ccdd8a6dde --- /dev/null +++ b/assets/common/items/armor/mail/iron/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Iron Pants", + description: "Sturdy and unyielding, across ages of war.", + kind: Armor(( + kind: Pants("Iron"), + stats: ( + protection: Normal(16.0), + poise_resilience: Normal(4.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Iron), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/iron/shoulder.ron b/assets/common/items/armor/mail/iron/shoulder.ron new file mode 100644 index 0000000000..e900f11a8a --- /dev/null +++ b/assets/common/items/armor/mail/iron/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Iron Shoulderpads", + description: "Sturdy and unyielding, across ages of war.", + kind: Armor(( + kind: Shoulder("Iron"), + stats: ( + protection: Normal(16.0), + poise_resilience: Normal(4.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [ + Material(Iron), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/orichalcum/back.ron b/assets/common/items/armor/mail/orichalcum/back.ron new file mode 100644 index 0000000000..da999fbcfc --- /dev/null +++ b/assets/common/items/armor/mail/orichalcum/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Orichalcum Cape", + description: "An ancient alloy. Myths remain of heroes who wore this metal.", + kind: Armor(( + kind: Back("Orichalcum"), + stats: ( + protection: Normal(12.0), + poise_resilience: Normal(3.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Orichalcum), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/orichalcum/belt.ron b/assets/common/items/armor/mail/orichalcum/belt.ron new file mode 100644 index 0000000000..df4fb55a6c --- /dev/null +++ b/assets/common/items/armor/mail/orichalcum/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Orichalcum Belt", + description: "An ancient alloy. Myths remain of heroes who wore this metal.", + kind: Armor(( + kind: Belt("Orichalcum"), + stats: ( + protection: Normal(12.0), + poise_resilience: Normal(3.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Orichalcum), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/orichalcum/chest.ron b/assets/common/items/armor/mail/orichalcum/chest.ron new file mode 100644 index 0000000000..d301351799 --- /dev/null +++ b/assets/common/items/armor/mail/orichalcum/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Orichalcum Chestguard", + description: "An ancient alloy. Myths remain of heroes who wore this metal.", + kind: Armor(( + kind: Chest("Orichalcum"), + stats: ( + protection: Normal(72.0), + poise_resilience: Normal(18.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Orichalcum), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/orichalcum/foot.ron b/assets/common/items/armor/mail/orichalcum/foot.ron new file mode 100644 index 0000000000..2c4b61d588 --- /dev/null +++ b/assets/common/items/armor/mail/orichalcum/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Orichalcum Warboots", + description: "An ancient alloy. Myths remain of heroes who wore this metal.", + kind: Armor(( + kind: Foot("Orichalcum"), + stats: ( + protection: Normal(24.0), + poise_resilience: Normal(6.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Orichalcum), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/orichalcum/hand.ron b/assets/common/items/armor/mail/orichalcum/hand.ron new file mode 100644 index 0000000000..3031fedda3 --- /dev/null +++ b/assets/common/items/armor/mail/orichalcum/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Orichalcum Gloves", + description: "An ancient alloy. Myths remain of heroes who wore this metal.", + kind: Armor(( + kind: Hand("Orichalcum"), + stats: ( + protection: Normal(24.0), + poise_resilience: Normal(6.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Orichalcum), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/orichalcum/pants.ron b/assets/common/items/armor/mail/orichalcum/pants.ron new file mode 100644 index 0000000000..fcc4010dd4 --- /dev/null +++ b/assets/common/items/armor/mail/orichalcum/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Orichalcum Legplates", + description: "An ancient alloy. Myths remain of heroes who wore this metal.", + kind: Armor(( + kind: Pants("Orichalcum"), + stats: ( + protection: Normal(48.0), + poise_resilience: Normal(12.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Orichalcum), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/orichalcum/shoulder.ron b/assets/common/items/armor/mail/orichalcum/shoulder.ron new file mode 100644 index 0000000000..6bfcd85816 --- /dev/null +++ b/assets/common/items/armor/mail/orichalcum/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Orichalcum Mantle", + description: "An ancient alloy. Myths remain of heroes who wore this armor.", + kind: Armor(( + kind: Shoulder("Orichalcum"), + stats: ( + protection: Normal(48.0), + poise_resilience: Normal(12.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Legendary, + tags: [ + Material(Orichalcum), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/steel/back.ron b/assets/common/items/armor/mail/steel/back.ron new file mode 100644 index 0000000000..3c1888970e --- /dev/null +++ b/assets/common/items/armor/mail/steel/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Steel Cape", + description: "Metal alloy interlocking plates to improve protection.", + kind: Armor(( + kind: Back("Steel"), + stats: ( + protection: Normal(6.0), + poise_resilience: Normal(1.5), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Steel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/steel/belt.ron b/assets/common/items/armor/mail/steel/belt.ron new file mode 100644 index 0000000000..c93be72068 --- /dev/null +++ b/assets/common/items/armor/mail/steel/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Steel Belt", + description: "Metal alloy interlocking plates to improve protection.", + kind: Armor(( + kind: Belt("Steel"), + stats: ( + protection: Normal(6.0), + poise_resilience: Normal(1.5), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Steel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/steel/chest.ron b/assets/common/items/armor/mail/steel/chest.ron new file mode 100644 index 0000000000..90840998dd --- /dev/null +++ b/assets/common/items/armor/mail/steel/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Steel Cuirass", + description: "The metal alloy provides a somewhat lighter and stronger cuirass.", + kind: Armor(( + kind: Chest("Steel"), + stats: ( + protection: Normal(36.0), + poise_resilience: Normal(9.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Steel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/steel/foot.ron b/assets/common/items/armor/mail/steel/foot.ron new file mode 100644 index 0000000000..53fda973e6 --- /dev/null +++ b/assets/common/items/armor/mail/steel/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Steel Boots", + description: "Metal alloy boots providing a more comfortable and durable protection.", + kind: Armor(( + kind: Foot("Steel"), + stats: ( + protection: Normal(12.0), + poise_resilience: Normal(3.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Steel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/steel/hand.ron b/assets/common/items/armor/mail/steel/hand.ron similarity index 51% rename from assets/common/items/armor/steel/hand.ron rename to assets/common/items/armor/mail/steel/hand.ron index 8d10229c5b..02f0e33828 100644 --- a/assets/common/items/armor/steel/hand.ron +++ b/assets/common/items/armor/mail/steel/hand.ron @@ -4,10 +4,16 @@ ItemDef( kind: Armor(( kind: Hand("Steel"), stats: ( - protection: Normal(10.0), - poise_resilience: Normal(1.0), + protection: Normal(12.0), + poise_resilience: Normal(3.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Steel), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/mail/steel/pants.ron b/assets/common/items/armor/mail/steel/pants.ron new file mode 100644 index 0000000000..01c3a20fcb --- /dev/null +++ b/assets/common/items/armor/mail/steel/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Steel Chausses", + description: "The metal alloy provides improvements to fit, durability, and lightness.", + kind: Armor(( + kind: Pants("Steel"), + stats: ( + protection: Normal(24.0), + poise_resilience: Normal(6.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Steel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/mail/steel/shoulder.ron b/assets/common/items/armor/mail/steel/shoulder.ron new file mode 100644 index 0000000000..f08a3d481c --- /dev/null +++ b/assets/common/items/armor/mail/steel/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Steel Shoulders", + description: "The metal alloy plates provide better protection and comfort.", + kind: Armor(( + kind: Shoulder("Steel"), + stats: ( + protection: Normal(24.0), + poise_resilience: Normal(6.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Steel), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/misc/back/admin.ron b/assets/common/items/armor/misc/back/admin.ron index cacbdc1610..56b66711eb 100644 --- a/assets/common/items/armor/misc/back/admin.ron +++ b/assets/common/items/armor/misc/back/admin.ron @@ -1,13 +1,17 @@ ItemDef( - name: "Admin\'s Cape", + name: "Admin's Cape", description: "With great power comes\ngreat responsibility.", kind: Armor(( kind: Back("Admin"), stats: ( protection: Invincible, poise_resilience: Invincible, + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Debug, tags: [], -) +) \ No newline at end of file diff --git a/assets/common/items/armor/misc/back/backpack.ron b/assets/common/items/armor/misc/back/backpack.ron index f5fdd69b7a..8fc7f39c39 100644 --- a/assets/common/items/armor/misc/back/backpack.ron +++ b/assets/common/items/armor/misc/back/backpack.ron @@ -1,14 +1,18 @@ ItemDef( - name: "Traveler\'s Backpack", + name: "Traveler's Backpack", description: "Comfort and capacity united.", kind: Armor(( kind: Back("Backpack"), stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, tags: [Bag], slots: 18, -) +) \ No newline at end of file diff --git a/assets/common/items/armor/misc/back/dungeon_purple.ron b/assets/common/items/armor/misc/back/dungeon_purple.ron index 84a341127c..e143979c07 100644 --- a/assets/common/items/armor/misc/back/dungeon_purple.ron +++ b/assets/common/items/armor/misc/back/dungeon_purple.ron @@ -5,7 +5,11 @@ ItemDef( kind: Back("DungeonPurple"), stats: ( protection: Normal(3.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Epic, diff --git a/assets/common/items/armor/misc/back/short_0.ron b/assets/common/items/armor/misc/back/short_0.ron index de02121abe..8379e24a46 100644 --- a/assets/common/items/armor/misc/back/short_0.ron +++ b/assets/common/items/armor/misc/back/short_0.ron @@ -5,7 +5,11 @@ ItemDef( kind: Back("Short0"), stats: ( protection: Normal(0.3), - poise_resilience: Normal(0.5), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/misc/back/short_1.ron b/assets/common/items/armor/misc/back/short_1.ron index c8e66b21b2..88eb5c7fb7 100644 --- a/assets/common/items/armor/misc/back/short_1.ron +++ b/assets/common/items/armor/misc/back/short_1.ron @@ -5,9 +5,15 @@ ItemDef( kind: Back("Short1"), stats: ( protection: Normal(0.1), - poise_resilience: Normal(0.2), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [ClothItem], -) + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/misc/bag/heavy_seabag.ron b/assets/common/items/armor/misc/bag/heavy_seabag.ron index df86faff5e..709f8ca2ef 100644 --- a/assets/common/items/armor/misc/bag/heavy_seabag.ron +++ b/assets/common/items/armor/misc/bag/heavy_seabag.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/misc/bag/knitted_red_pouch.ron b/assets/common/items/armor/misc/bag/knitted_red_pouch.ron index 633ec19a9d..2daf4866b7 100644 --- a/assets/common/items/armor/misc/bag/knitted_red_pouch.ron +++ b/assets/common/items/armor/misc/bag/knitted_red_pouch.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/misc/bag/liana_kit.ron b/assets/common/items/armor/misc/bag/liana_kit.ron index 642e60b75b..7ee81953bd 100644 --- a/assets/common/items/armor/misc/bag/liana_kit.ron +++ b/assets/common/items/armor/misc/bag/liana_kit.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/misc/bag/mindflayer_spellbag.ron b/assets/common/items/armor/misc/bag/mindflayer_spellbag.ron index ec0f3c0ba0..01608362bd 100644 --- a/assets/common/items/armor/misc/bag/mindflayer_spellbag.ron +++ b/assets/common/items/armor/misc/bag/mindflayer_spellbag.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: Epic, diff --git a/assets/common/items/armor/misc/bag/reliable_backpack.ron b/assets/common/items/armor/misc/bag/reliable_backpack.ron index c5275ae386..c55bfd609f 100644 --- a/assets/common/items/armor/misc/bag/reliable_backpack.ron +++ b/assets/common/items/armor/misc/bag/reliable_backpack.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: High, diff --git a/assets/common/items/armor/misc/bag/soulkeeper_cursed.ron b/assets/common/items/armor/misc/bag/soulkeeper_cursed.ron index 2e8d7cd43b..3c2ef07ab2 100644 --- a/assets/common/items/armor/misc/bag/soulkeeper_cursed.ron +++ b/assets/common/items/armor/misc/bag/soulkeeper_cursed.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: Legendary, diff --git a/assets/common/items/armor/misc/bag/soulkeeper_pure.ron b/assets/common/items/armor/misc/bag/soulkeeper_pure.ron index 911e9ab18c..2a8dd54ebb 100644 --- a/assets/common/items/armor/misc/bag/soulkeeper_pure.ron +++ b/assets/common/items/armor/misc/bag/soulkeeper_pure.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: Legendary, diff --git a/assets/common/items/armor/misc/bag/sturdy_red_backpack.ron b/assets/common/items/armor/misc/bag/sturdy_red_backpack.ron index a075a8b0a3..70aecf4fd2 100644 --- a/assets/common/items/armor/misc/bag/sturdy_red_backpack.ron +++ b/assets/common/items/armor/misc/bag/sturdy_red_backpack.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: High, diff --git a/assets/common/items/armor/misc/bag/tiny_leather_pouch.ron b/assets/common/items/armor/misc/bag/tiny_leather_pouch.ron index 3b2c2e935e..a804fe1126 100644 --- a/assets/common/items/armor/misc/bag/tiny_leather_pouch.ron +++ b/assets/common/items/armor/misc/bag/tiny_leather_pouch.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: Common, diff --git a/assets/common/items/armor/misc/bag/tiny_red_pouch.ron b/assets/common/items/armor/misc/bag/tiny_red_pouch.ron index fd4c808ec6..4e23f2e189 100644 --- a/assets/common/items/armor/misc/bag/tiny_red_pouch.ron +++ b/assets/common/items/armor/misc/bag/tiny_red_pouch.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: Common, diff --git a/assets/common/items/armor/misc/bag/troll_hide_pack.ron b/assets/common/items/armor/misc/bag/troll_hide_pack.ron index a708aa157b..611cbbbc2a 100644 --- a/assets/common/items/armor/misc/bag/troll_hide_pack.ron +++ b/assets/common/items/armor/misc/bag/troll_hide_pack.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: High, diff --git a/assets/common/items/armor/misc/bag/woven_red_bag.ron b/assets/common/items/armor/misc/bag/woven_red_bag.ron index a41101896e..10f95c82bf 100644 --- a/assets/common/items/armor/misc/bag/woven_red_bag.ron +++ b/assets/common/items/armor/misc/bag/woven_red_bag.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: Moderate, diff --git a/assets/common/items/armor/misc/chest/worker_green_0.ron b/assets/common/items/armor/misc/chest/worker_green_0.ron index 4a1d1ae231..14cd0c0ccc 100644 --- a/assets/common/items/armor/misc/chest/worker_green_0.ron +++ b/assets/common/items/armor/misc/chest/worker_green_0.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("WorkerGreen0"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/chest/worker_green_1.ron b/assets/common/items/armor/misc/chest/worker_green_1.ron index dc1c542a21..0d18b5dc3d 100644 --- a/assets/common/items/armor/misc/chest/worker_green_1.ron +++ b/assets/common/items/armor/misc/chest/worker_green_1.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("WorkerGreen1"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/chest/worker_orange_0.ron b/assets/common/items/armor/misc/chest/worker_orange_0.ron index 8dc5fd089f..c3b1c043d4 100644 --- a/assets/common/items/armor/misc/chest/worker_orange_0.ron +++ b/assets/common/items/armor/misc/chest/worker_orange_0.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("WorkerOrange0"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/chest/worker_orange_1.ron b/assets/common/items/armor/misc/chest/worker_orange_1.ron index f9d9bbd3fa..e7e5a2f40f 100644 --- a/assets/common/items/armor/misc/chest/worker_orange_1.ron +++ b/assets/common/items/armor/misc/chest/worker_orange_1.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("WorkerOrange1"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/chest/worker_purple_0.ron b/assets/common/items/armor/misc/chest/worker_purple_0.ron index b1d751d491..0aac60fdde 100644 --- a/assets/common/items/armor/misc/chest/worker_purple_0.ron +++ b/assets/common/items/armor/misc/chest/worker_purple_0.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("WorkerPurple0"), stats: ( protection: Normal(0.1), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/chest/worker_purple_1.ron b/assets/common/items/armor/misc/chest/worker_purple_1.ron index 7aa9707e76..e363f315e2 100644 --- a/assets/common/items/armor/misc/chest/worker_purple_1.ron +++ b/assets/common/items/armor/misc/chest/worker_purple_1.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("WorkerPurple1"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/chest/worker_purple_brown.ron b/assets/common/items/armor/misc/chest/worker_purple_brown.ron index 3a27853c09..5208c32ff3 100644 --- a/assets/common/items/armor/misc/chest/worker_purple_brown.ron +++ b/assets/common/items/armor/misc/chest/worker_purple_brown.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("WorkerPurpBrown"), stats: ( protection: Normal(0.1), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/chest/worker_red_0.ron b/assets/common/items/armor/misc/chest/worker_red_0.ron index ef4e370099..2336f9c58b 100644 --- a/assets/common/items/armor/misc/chest/worker_red_0.ron +++ b/assets/common/items/armor/misc/chest/worker_red_0.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("WorkerRed0"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/chest/worker_red_1.ron b/assets/common/items/armor/misc/chest/worker_red_1.ron index bc0b028678..1c09588620 100644 --- a/assets/common/items/armor/misc/chest/worker_red_1.ron +++ b/assets/common/items/armor/misc/chest/worker_red_1.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("WorkerRed1"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/chest/worker_yellow_0.ron b/assets/common/items/armor/misc/chest/worker_yellow_0.ron index e23862382f..6da0dfcb59 100644 --- a/assets/common/items/armor/misc/chest/worker_yellow_0.ron +++ b/assets/common/items/armor/misc/chest/worker_yellow_0.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("WorkerYellow0"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/chest/worker_yellow_1.ron b/assets/common/items/armor/misc/chest/worker_yellow_1.ron index 0b8de82a4e..5b000afb90 100644 --- a/assets/common/items/armor/misc/chest/worker_yellow_1.ron +++ b/assets/common/items/armor/misc/chest/worker_yellow_1.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("WorkerYellow1"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/foot/jackalope_slippers.ron b/assets/common/items/armor/misc/foot/jackalope_slippers.ron index eafb03b174..6f57e44c96 100644 --- a/assets/common/items/armor/misc/foot/jackalope_slippers.ron +++ b/assets/common/items/armor/misc/foot/jackalope_slippers.ron @@ -5,9 +5,15 @@ ItemDef( kind: Foot("Jackalope"), stats: ( protection: Normal(0.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Linen) + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/foot/sandals.ron b/assets/common/items/armor/misc/foot/sandals.ron index 065daef9db..3640a4b569 100644 --- a/assets/common/items/armor/misc/foot/sandals.ron +++ b/assets/common/items/armor/misc/foot/sandals.ron @@ -5,9 +5,15 @@ ItemDef( kind: Foot("Sandal"), stats: ( protection: Normal(0.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [], + tags: [ + Material(Linen) + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/neck/plain_0.ron b/assets/common/items/armor/misc/neck/plain_0.ron index 48c00bce48..49ae7b5b2d 100644 --- a/assets/common/items/armor/misc/neck/plain_0.ron +++ b/assets/common/items/armor/misc/neck/plain_0.ron @@ -1,13 +1,19 @@ ItemDef( name: "Plain Necklace", - description: "It\'s become tarnished with age.", + description: "It's become tarnished with age.", kind: Armor(( kind: Neck("Plain0"), stats: ( protection: Normal(1.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [], + tags: [ + Material(Iron) + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/neck/plain_1.ron b/assets/common/items/armor/misc/neck/plain_1.ron index dacfa55d06..65c91c6f1a 100644 --- a/assets/common/items/armor/misc/neck/plain_1.ron +++ b/assets/common/items/armor/misc/neck/plain_1.ron @@ -6,8 +6,14 @@ ItemDef( stats: ( protection: Normal(2.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Steel) + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/neck/shell.ron b/assets/common/items/armor/misc/neck/shell.ron index 423cbe3520..af0bcbf75f 100644 --- a/assets/common/items/armor/misc/neck/shell.ron +++ b/assets/common/items/armor/misc/neck/shell.ron @@ -6,8 +6,12 @@ ItemDef( stats: ( protection: Normal(2.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, tags: [], -) +) \ No newline at end of file diff --git a/assets/common/items/armor/misc/pants/hunting.ron b/assets/common/items/armor/misc/pants/hunting.ron index 4103ccf476..dbd2e21f85 100644 --- a/assets/common/items/armor/misc/pants/hunting.ron +++ b/assets/common/items/armor/misc/pants/hunting.ron @@ -5,7 +5,11 @@ ItemDef( kind: Pants("Hunting"), stats: ( protection: Normal(8.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/misc/pants/worker_blue.ron b/assets/common/items/armor/misc/pants/worker_blue.ron index 15b555ab2a..dd767d3594 100644 --- a/assets/common/items/armor/misc/pants/worker_blue.ron +++ b/assets/common/items/armor/misc/pants/worker_blue.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("WorkerBlue"), stats: ( protection: Normal(0.1), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/pants/worker_brown.ron b/assets/common/items/armor/misc/pants/worker_brown.ron index c11762da0e..566874c1bd 100644 --- a/assets/common/items/armor/misc/pants/worker_brown.ron +++ b/assets/common/items/armor/misc/pants/worker_brown.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("WorkerBrown"), stats: ( protection: Normal(0.1), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/ring/gold.ron b/assets/common/items/armor/misc/ring/gold.ron index 8acae0e3e1..77bfc0c7d8 100644 --- a/assets/common/items/armor/misc/ring/gold.ron +++ b/assets/common/items/armor/misc/ring/gold.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(0.5), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/misc/ring/scratched.ron b/assets/common/items/armor/misc/ring/scratched.ron index fed0e9d2df..6ea5fdb31e 100644 --- a/assets/common/items/armor/misc/ring/scratched.ron +++ b/assets/common/items/armor/misc/ring/scratched.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(0.1), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/armor/misc/ring/skull.ron b/assets/common/items/armor/misc/ring/skull.ron index b8fef3c40a..14ee6113b3 100644 --- a/assets/common/items/armor/misc/ring/skull.ron +++ b/assets/common/items/armor/misc/ring/skull.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(3.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, diff --git a/assets/common/items/armor/misc/shoulder/iron_spikes.ron b/assets/common/items/armor/misc/shoulder/iron_spikes.ron index 559303a8f5..466ae7c618 100644 --- a/assets/common/items/armor/misc/shoulder/iron_spikes.ron +++ b/assets/common/items/armor/misc/shoulder/iron_spikes.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("IronSpikes"), stats: ( protection: Normal(12.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Iron), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/shoulder/leather_iron_0.ron b/assets/common/items/armor/misc/shoulder/leather_iron_0.ron index cd6d05e18d..3f7824848b 100644 --- a/assets/common/items/armor/misc/shoulder/leather_iron_0.ron +++ b/assets/common/items/armor/misc/shoulder/leather_iron_0.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("IronLeather0"), stats: ( protection: Normal(9.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/shoulder/leather_iron_1.ron b/assets/common/items/armor/misc/shoulder/leather_iron_1.ron index 752c3886f5..12af395560 100644 --- a/assets/common/items/armor/misc/shoulder/leather_iron_1.ron +++ b/assets/common/items/armor/misc/shoulder/leather_iron_1.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("IronLeather1"), stats: ( protection: Normal(9.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/shoulder/leather_iron_2.ron b/assets/common/items/armor/misc/shoulder/leather_iron_2.ron index fb4dd1c7a0..dcf5a19b13 100644 --- a/assets/common/items/armor/misc/shoulder/leather_iron_2.ron +++ b/assets/common/items/armor/misc/shoulder/leather_iron_2.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("IronLeather2"), stats: ( protection: Normal(9.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/shoulder/leather_iron_3.ron b/assets/common/items/armor/misc/shoulder/leather_iron_3.ron index 94e747cc09..991590a958 100644 --- a/assets/common/items/armor/misc/shoulder/leather_iron_3.ron +++ b/assets/common/items/armor/misc/shoulder/leather_iron_3.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("IronLeather3"), stats: ( protection: Normal(9.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [], + tags: [ + Material(Leather), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/misc/shoulder/leather_strip.ron b/assets/common/items/armor/misc/shoulder/leather_strip.ron index d771916b4e..30cbd21712 100644 --- a/assets/common/items/armor/misc/shoulder/leather_strip.ron +++ b/assets/common/items/armor/misc/shoulder/leather_strip.ron @@ -5,7 +5,11 @@ ItemDef( kind: Shoulder("LeatherStrip"), stats: ( protection: Normal(4.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/armor/misc/tabard/admin.ron b/assets/common/items/armor/misc/tabard/admin.ron index 2f638df69b..70a7865a78 100644 --- a/assets/common/items/armor/misc/tabard/admin.ron +++ b/assets/common/items/armor/misc/tabard/admin.ron @@ -1,11 +1,15 @@ ItemDef( - name: "Admin\'s Tabard", + name: "Admin's Tabard", description: "With great power comes great responsibility.", kind: Armor(( kind: Tabard("Admin"), stats: ( protection: Invincible, poise_resilience: Invincible, + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Debug, diff --git a/assets/common/items/armor/plate/belt.ron b/assets/common/items/armor/plate/belt.ron deleted file mode 100644 index 5b9c4372df..0000000000 --- a/assets/common/items/armor/plate/belt.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Plate Belt", - description: "A tanned leather belt with a forged iron buckle.", - kind: Armor(( - kind: Belt("Plate"), - stats: ( - protection: Normal(3.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/plate/chest.ron b/assets/common/items/armor/plate/chest.ron deleted file mode 100644 index 41007c6815..0000000000 --- a/assets/common/items/armor/plate/chest.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Iron Chestplate", - description: "Formed iron plate resulting in very heavy but solid protection, worn over a simple rough linen shirt, dyed green.", - kind: Armor(( - kind: Chest("Plate"), - stats: ( - protection: Normal(20.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/plate/foot.ron b/assets/common/items/armor/plate/foot.ron deleted file mode 100644 index 0ac2599e95..0000000000 --- a/assets/common/items/armor/plate/foot.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Iron Feet", - description: "Quickly shaped iron plates, forming boots that are uncomfortable but durable.", - kind: Armor(( - kind: Foot("Plate"), - stats: ( - protection: Normal(4.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/plate/hand.ron b/assets/common/items/armor/plate/hand.ron deleted file mode 100644 index aaf1ec66ef..0000000000 --- a/assets/common/items/armor/plate/hand.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Iron Handguards", - description: "Heavy chunks of metal plate, not the most comfortable but keeps the wearer safe.", - kind: Armor(( - kind: Hand("Plate"), - stats: ( - protection: Normal(8.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/plate/pants.ron b/assets/common/items/armor/plate/pants.ron deleted file mode 100644 index 906543ec56..0000000000 --- a/assets/common/items/armor/plate/pants.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Iron Legguards", - description: "Heavy iron plate formed into protective greaves, decorated with rough green fabric.", - kind: Armor(( - kind: Pants("Plate"), - stats: ( - protection: Normal(16.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/plate/shoulder.ron b/assets/common/items/armor/plate/shoulder.ron deleted file mode 100644 index c7657ca136..0000000000 --- a/assets/common/items/armor/plate/shoulder.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Iron Shoulderguards", - description: "Heavy iron shoulder protection.", - kind: Armor(( - kind: Shoulder("Plate"), - stats: ( - protection: Normal(12.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/rugged/chest.ron b/assets/common/items/armor/rugged/chest.ron index d007ab2822..2318127dec 100644 --- a/assets/common/items/armor/rugged/chest.ron +++ b/assets/common/items/armor/rugged/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("Rugged"), stats: ( protection: Normal(3.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], -) + tags: [ + Material(Linen), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/rugged/pants.ron b/assets/common/items/armor/rugged/pants.ron index c2b4cfc71f..28162eda55 100644 --- a/assets/common/items/armor/rugged/pants.ron +++ b/assets/common/items/armor/rugged/pants.ron @@ -1,13 +1,19 @@ ItemDef( - name: "Rugged Commoner\'s Pants", + name: "Rugged Commoner's Pants", description: "They remind you of the old days.", kind: Armor(( kind: Pants("Rugged"), stats: ( protection: Normal(1.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, - tags: [ClothItem], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/savage/back.ron b/assets/common/items/armor/savage/back.ron new file mode 100644 index 0000000000..d54a50e977 --- /dev/null +++ b/assets/common/items/armor/savage/back.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Savage Cape", + description: "Brings the fury of the barbarians.", + kind: Armor(( + kind: Back("Savage"), + stats: ( + protection: Normal(4.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/savage/belt.ron b/assets/common/items/armor/savage/belt.ron new file mode 100644 index 0000000000..a5ce6d028e --- /dev/null +++ b/assets/common/items/armor/savage/belt.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Savage Belt", + description: "Brings the fury of the barbarians.", + kind: Armor(( + kind: Belt("Savage"), + stats: ( + protection: Normal(4.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/savage/chest.ron b/assets/common/items/armor/savage/chest.ron new file mode 100644 index 0000000000..1ac98e24d2 --- /dev/null +++ b/assets/common/items/armor/savage/chest.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Savage Cuirass", + description: "Brings the fury of the barbarians.", + kind: Armor(( + kind: Chest("Savage"), + stats: ( + protection: Normal(25.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/savage/foot.ron b/assets/common/items/armor/savage/foot.ron new file mode 100644 index 0000000000..9577564894 --- /dev/null +++ b/assets/common/items/armor/savage/foot.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Savage Boots", + description: "Brings the fury of the barbarians.", + kind: Armor(( + kind: Foot("Savage"), + stats: ( + protection: Normal(5.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: High, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/savage/hand.ron b/assets/common/items/armor/savage/hand.ron new file mode 100644 index 0000000000..d7e73d3451 --- /dev/null +++ b/assets/common/items/armor/savage/hand.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Savage Gauntlets", + description: "Brings the fury of the barbarians.", + kind: Armor(( + kind: Hand("Savage"), + stats: ( + protection: Normal(10.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/savage/pants.ron b/assets/common/items/armor/savage/pants.ron new file mode 100644 index 0000000000..3c9880a925 --- /dev/null +++ b/assets/common/items/armor/savage/pants.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Savage Chausses", + description: "Brings the fury of the barbarians.", + kind: Armor(( + kind: Pants("Savage"), + stats: ( + protection: Normal(20.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/savage/shoulder.ron b/assets/common/items/armor/savage/shoulder.ron new file mode 100644 index 0000000000..91a58b2ad3 --- /dev/null +++ b/assets/common/items/armor/savage/shoulder.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Savage Shoulder Pad", + description: "Brings the fury of the barbarians.", + kind: Armor(( + kind: Shoulder("Savage"), + stats: ( + protection: Normal(15.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Moderate, + tags: [ + Material(Leather), + ], +) \ No newline at end of file diff --git a/assets/common/items/armor/steel/belt.ron b/assets/common/items/armor/steel/belt.ron deleted file mode 100644 index dd7e11190a..0000000000 --- a/assets/common/items/armor/steel/belt.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Steel Belt", - description: "Metal alloy interlocking plates to improve protection.", - kind: Armor(( - kind: Belt("Steel"), - stats: ( - protection: Normal(4.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/steel/chest.ron b/assets/common/items/armor/steel/chest.ron deleted file mode 100644 index 1dd633855b..0000000000 --- a/assets/common/items/armor/steel/chest.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Steel Cuirass", - description: "The metal alloy provides a somewhat lighter and stronger cuirass.", - kind: Armor(( - kind: Chest("Steel"), - stats: ( - protection: Normal(25.0), - poise_resilience: Normal(1.0), - ), - )), - quality: High, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/steel/foot.ron b/assets/common/items/armor/steel/foot.ron deleted file mode 100644 index e623f939ce..0000000000 --- a/assets/common/items/armor/steel/foot.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Steel Boots", - description: "Metal alloy boots providing a more comfortable and durable protection.", - kind: Armor(( - kind: Foot("Steel"), - stats: ( - protection: Normal(5.0), - poise_resilience: Normal(1.0), - ), - )), - quality: High, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/steel/pants.ron b/assets/common/items/armor/steel/pants.ron deleted file mode 100644 index ed7e917509..0000000000 --- a/assets/common/items/armor/steel/pants.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Steel Chausses", - description: "The metal alloy provides improvements to fit, durability, and lightness.", - kind: Armor(( - kind: Pants("Steel"), - stats: ( - protection: Normal(20.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/steel/shoulder.ron b/assets/common/items/armor/steel/shoulder.ron deleted file mode 100644 index 09eb152149..0000000000 --- a/assets/common/items/armor/steel/shoulder.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Steel Shoulder Pad", - description: "The metal alloy plates provide better protection and comfort.", - kind: Armor(( - kind: Shoulder("Steel"), - stats: ( - protection: Normal(15.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/armor/swift/belt.ron b/assets/common/items/armor/swift/belt.ron deleted file mode 100644 index 26dc51c308..0000000000 --- a/assets/common/items/armor/swift/belt.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Swift Belt", - description: "Swift like the wind.", - kind: Armor(( - kind: Belt("Swift"), - stats: ( - protection: Normal(1.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Common, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/swift/chest.ron b/assets/common/items/armor/swift/chest.ron deleted file mode 100644 index 1d72079492..0000000000 --- a/assets/common/items/armor/swift/chest.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Swift Chest", - description: "Swift like the wind.", - kind: Armor(( - kind: Chest("Swift"), - stats: ( - protection: Normal(10.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Moderate, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/swift/foot.ron b/assets/common/items/armor/swift/foot.ron deleted file mode 100644 index 9a66903375..0000000000 --- a/assets/common/items/armor/swift/foot.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Swift Boots", - description: "Swift like the wind.", - kind: Armor(( - kind: Foot("Swift"), - stats: ( - protection: Normal(2.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Common, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/swift/hand.ron b/assets/common/items/armor/swift/hand.ron deleted file mode 100644 index b4c93f4f5a..0000000000 --- a/assets/common/items/armor/swift/hand.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Swift Gloves", - description: "Swift like the wind.", - kind: Armor(( - kind: Hand("Swift"), - stats: ( - protection: Normal(4.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Common, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/swift/head.ron b/assets/common/items/armor/swift/head.ron deleted file mode 100644 index 61ddec127f..0000000000 --- a/assets/common/items/armor/swift/head.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Swift Leather Cap", - description: "Swift like the wind.", - kind: Armor(( - kind: Head("Swift"), - stats: ( - protection: Normal(0.0), - poise_resilience: Normal(0.0), - ), - )), - quality: Common, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/swift/pants.ron b/assets/common/items/armor/swift/pants.ron deleted file mode 100644 index 0520fcf154..0000000000 --- a/assets/common/items/armor/swift/pants.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Swift Pants", - description: "Swift like the wind.", - kind: Armor(( - kind: Pants("Swift"), - stats: ( - protection: Normal(8.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Common, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/swift/shoulder.ron b/assets/common/items/armor/swift/shoulder.ron deleted file mode 100644 index af5ed206fb..0000000000 --- a/assets/common/items/armor/swift/shoulder.ron +++ /dev/null @@ -1,13 +0,0 @@ -ItemDef( - name: "Swift Shoulderpads", - description: "Swift like the wind.", - kind: Armor(( - kind: Shoulder("Swift"), - stats: ( - protection: Normal(6.0), - poise_resilience: Normal(1.0), - ), - )), - quality: Common, - tags: [LeatherItem], -) \ No newline at end of file diff --git a/assets/common/items/armor/tarasque/belt.ron b/assets/common/items/armor/tarasque/belt.ron index f965815af7..9dd2290c1e 100644 --- a/assets/common/items/armor/tarasque/belt.ron +++ b/assets/common/items/armor/tarasque/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("Tarasque"), stats: ( protection: Normal(8.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Carapace), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/tarasque/chest.ron b/assets/common/items/armor/tarasque/chest.ron index 5bceb6b86a..d075ea7962 100644 --- a/assets/common/items/armor/tarasque/chest.ron +++ b/assets/common/items/armor/tarasque/chest.ron @@ -1,13 +1,19 @@ ItemDef( name: "Tarasque Cuirass", - description: "The rough protective underbelly and back of a tarasque\'s shell, formed to fit humanoid proportions.", + description: "The rough protective underbelly and back of a tarasque's shell, formed to fit humanoid proportions.", kind: Armor(( kind: Chest("Tarasque"), stats: ( protection: Normal(25.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Carapace), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/tarasque/foot.ron b/assets/common/items/armor/tarasque/foot.ron index c4f696faf9..33d2b389e4 100644 --- a/assets/common/items/armor/tarasque/foot.ron +++ b/assets/common/items/armor/tarasque/foot.ron @@ -1,13 +1,19 @@ ItemDef( name: "Tarasque Boots", - description: "Tarasque claws form the outside of these boots, protecting the wearer\'s feet.", + description: "Tarasque claws form the outside of these boots, protecting the wearer's feet.", kind: Armor(( kind: Foot("Tarasque"), stats: ( protection: Normal(8.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Carapace), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/tarasque/hand.ron b/assets/common/items/armor/tarasque/hand.ron index 38475cb546..21c4cf4ac7 100644 --- a/assets/common/items/armor/tarasque/hand.ron +++ b/assets/common/items/armor/tarasque/hand.ron @@ -5,9 +5,15 @@ ItemDef( kind: Hand("Tarasque"), stats: ( protection: Normal(6.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Carapace), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/tarasque/pants.ron b/assets/common/items/armor/tarasque/pants.ron index c73ba0b3c7..5b7abebe5b 100644 --- a/assets/common/items/armor/tarasque/pants.ron +++ b/assets/common/items/armor/tarasque/pants.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("Tarasque"), stats: ( protection: Normal(20.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Carapace), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/tarasque/shoulder.ron b/assets/common/items/armor/tarasque/shoulder.ron index f95305f0b5..4cb7080f5c 100644 --- a/assets/common/items/armor/tarasque/shoulder.ron +++ b/assets/common/items/armor/tarasque/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("Tarasque"), stats: ( protection: Normal(16.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Carapace), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigs/belt.ron b/assets/common/items/armor/twigs/belt.ron index 334f8619b1..3bb3d93d3e 100644 --- a/assets/common/items/armor/twigs/belt.ron +++ b/assets/common/items/armor/twigs/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("Twigs"), stats: ( protection: Normal(2.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigs/chest.ron b/assets/common/items/armor/twigs/chest.ron index f1e3031611..33e1ea0fb4 100644 --- a/assets/common/items/armor/twigs/chest.ron +++ b/assets/common/items/armor/twigs/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("Twigs"), stats: ( protection: Normal(15.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigs/foot.ron b/assets/common/items/armor/twigs/foot.ron index e3e8d814bd..607ee84b37 100644 --- a/assets/common/items/armor/twigs/foot.ron +++ b/assets/common/items/armor/twigs/foot.ron @@ -5,9 +5,15 @@ ItemDef( kind: Foot("Twigs"), stats: ( protection: Normal(3.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigs/hand.ron b/assets/common/items/armor/twigs/hand.ron index 75d178e928..9a2ee57308 100644 --- a/assets/common/items/armor/twigs/hand.ron +++ b/assets/common/items/armor/twigs/hand.ron @@ -5,9 +5,15 @@ ItemDef( kind: Hand("Twigs"), stats: ( protection: Normal(6.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigs/pants.ron b/assets/common/items/armor/twigs/pants.ron index a91d51cc8a..8a260b6ace 100644 --- a/assets/common/items/armor/twigs/pants.ron +++ b/assets/common/items/armor/twigs/pants.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("Twigs"), stats: ( protection: Normal(12.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigs/shoulder.ron b/assets/common/items/armor/twigs/shoulder.ron index f2e009647f..ee4475ffd4 100644 --- a/assets/common/items/armor/twigs/shoulder.ron +++ b/assets/common/items/armor/twigs/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("Twigs"), stats: ( protection: Normal(9.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsflowers/belt.ron b/assets/common/items/armor/twigsflowers/belt.ron index fd32d9d2d0..15c869ce7f 100644 --- a/assets/common/items/armor/twigsflowers/belt.ron +++ b/assets/common/items/armor/twigsflowers/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("TwigsFlowers"), stats: ( protection: Normal(2.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsflowers/chest.ron b/assets/common/items/armor/twigsflowers/chest.ron index 353c728fe2..73f1b19667 100644 --- a/assets/common/items/armor/twigsflowers/chest.ron +++ b/assets/common/items/armor/twigsflowers/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("TwigsFlowers"), stats: ( protection: Normal(15.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsflowers/foot.ron b/assets/common/items/armor/twigsflowers/foot.ron index 72c15a29ce..4fd775a043 100644 --- a/assets/common/items/armor/twigsflowers/foot.ron +++ b/assets/common/items/armor/twigsflowers/foot.ron @@ -5,9 +5,15 @@ ItemDef( kind: Foot("TwigsFlowers"), stats: ( protection: Normal(3.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsflowers/hand.ron b/assets/common/items/armor/twigsflowers/hand.ron index a3e4e3e4ee..9d8020c3ae 100644 --- a/assets/common/items/armor/twigsflowers/hand.ron +++ b/assets/common/items/armor/twigsflowers/hand.ron @@ -5,9 +5,15 @@ ItemDef( kind: Hand("TwigsFlowers"), stats: ( protection: Normal(6.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsflowers/pants.ron b/assets/common/items/armor/twigsflowers/pants.ron index 4466db33c8..49117dc528 100644 --- a/assets/common/items/armor/twigsflowers/pants.ron +++ b/assets/common/items/armor/twigsflowers/pants.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("TwigsFlowers"), stats: ( protection: Normal(12.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsflowers/shoulder.ron b/assets/common/items/armor/twigsflowers/shoulder.ron index 7da48e689d..12bf7c7fc6 100644 --- a/assets/common/items/armor/twigsflowers/shoulder.ron +++ b/assets/common/items/armor/twigsflowers/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("TwigsFlowers"), stats: ( protection: Normal(9.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsleaves/belt.ron b/assets/common/items/armor/twigsleaves/belt.ron index ad6c15161d..b386a7d5b2 100644 --- a/assets/common/items/armor/twigsleaves/belt.ron +++ b/assets/common/items/armor/twigsleaves/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("TwigsLeaves"), stats: ( protection: Normal(2.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsleaves/chest.ron b/assets/common/items/armor/twigsleaves/chest.ron index 587c4bb46a..70791c46b4 100644 --- a/assets/common/items/armor/twigsleaves/chest.ron +++ b/assets/common/items/armor/twigsleaves/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("TwigsLeaves"), stats: ( protection: Normal(15.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsleaves/foot.ron b/assets/common/items/armor/twigsleaves/foot.ron index 8e1ca3c682..ebd64969bc 100644 --- a/assets/common/items/armor/twigsleaves/foot.ron +++ b/assets/common/items/armor/twigsleaves/foot.ron @@ -5,9 +5,15 @@ ItemDef( kind: Foot("TwigsLeaves"), stats: ( protection: Normal(3.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsleaves/hand.ron b/assets/common/items/armor/twigsleaves/hand.ron index aff4f77101..f4890938db 100644 --- a/assets/common/items/armor/twigsleaves/hand.ron +++ b/assets/common/items/armor/twigsleaves/hand.ron @@ -5,9 +5,15 @@ ItemDef( kind: Hand("TwigsLeaves"), stats: ( protection: Normal(6.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsleaves/pants.ron b/assets/common/items/armor/twigsleaves/pants.ron index 10660afefa..70d1ee3c34 100644 --- a/assets/common/items/armor/twigsleaves/pants.ron +++ b/assets/common/items/armor/twigsleaves/pants.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("TwigsLeaves"), stats: ( protection: Normal(12.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/twigsleaves/shoulder.ron b/assets/common/items/armor/twigsleaves/shoulder.ron index ad1e8e2a32..255211ea59 100644 --- a/assets/common/items/armor/twigsleaves/shoulder.ron +++ b/assets/common/items/armor/twigsleaves/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("TwigsLeaves"), stats: ( protection: Normal(9.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, - tags: [], + tags: [ + Material(Linen), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/velorite_mage/back.ron b/assets/common/items/armor/velorite_mage/back.ron index 0851567820..bc990aece5 100644 --- a/assets/common/items/armor/velorite_mage/back.ron +++ b/assets/common/items/armor/velorite_mage/back.ron @@ -5,9 +5,15 @@ ItemDef( kind: Back("VeloriteMage"), stats: ( protection: Normal(2.8), - poise_resilience: Normal(0.5), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Velorite), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/velorite_mage/belt.ron b/assets/common/items/armor/velorite_mage/belt.ron index 1363ece7bb..e970ff7395 100644 --- a/assets/common/items/armor/velorite_mage/belt.ron +++ b/assets/common/items/armor/velorite_mage/belt.ron @@ -5,9 +5,15 @@ ItemDef( kind: Belt("VeloriteMage"), stats: ( protection: Normal(5.8), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Velorite), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/velorite_mage/chest.ron b/assets/common/items/armor/velorite_mage/chest.ron index a487eaac83..4370139477 100644 --- a/assets/common/items/armor/velorite_mage/chest.ron +++ b/assets/common/items/armor/velorite_mage/chest.ron @@ -5,9 +5,15 @@ ItemDef( kind: Chest("VeloriteMage"), stats: ( protection: Normal(28.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Velorite), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/velorite_mage/foot.ron b/assets/common/items/armor/velorite_mage/foot.ron index b02d3ca62c..df61036ecd 100644 --- a/assets/common/items/armor/velorite_mage/foot.ron +++ b/assets/common/items/armor/velorite_mage/foot.ron @@ -5,9 +5,15 @@ ItemDef( kind: Foot("VeloriteMage"), stats: ( protection: Normal(5.9), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Velorite), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/velorite_mage/hand.ron b/assets/common/items/armor/velorite_mage/hand.ron index 08f83f358d..58c748d28a 100644 --- a/assets/common/items/armor/velorite_mage/hand.ron +++ b/assets/common/items/armor/velorite_mage/hand.ron @@ -5,9 +5,15 @@ ItemDef( kind: Hand("VeloriteMage"), stats: ( protection: Normal(11.5), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Velorite), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/velorite_mage/pants.ron b/assets/common/items/armor/velorite_mage/pants.ron index 9dbf71b02a..e03c7fce6c 100644 --- a/assets/common/items/armor/velorite_mage/pants.ron +++ b/assets/common/items/armor/velorite_mage/pants.ron @@ -5,9 +5,15 @@ ItemDef( kind: Pants("VeloriteMage"), stats: ( protection: Normal(23.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Velorite), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/velorite_mage/shoulder.ron b/assets/common/items/armor/velorite_mage/shoulder.ron index da41eb6f2c..97b72ce2e6 100644 --- a/assets/common/items/armor/velorite_mage/shoulder.ron +++ b/assets/common/items/armor/velorite_mage/shoulder.ron @@ -5,9 +5,15 @@ ItemDef( kind: Shoulder("VeloriteMage"), stats: ( protection: Normal(17.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: High, - tags: [], + tags: [ + Material(Velorite), + ], ) \ No newline at end of file diff --git a/assets/common/items/armor/warlock/back.ron b/assets/common/items/armor/warlock/back.ron index 868bd9c57b..8f71921ef1 100644 --- a/assets/common/items/armor/warlock/back.ron +++ b/assets/common/items/armor/warlock/back.ron @@ -5,7 +5,11 @@ ItemDef( kind: Back("Warlock"), stats: ( protection: Normal(4.0), - poise_resilience: Normal(0.2), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/warlock/belt.ron b/assets/common/items/armor/warlock/belt.ron index 0a773cead4..571cf5f704 100644 --- a/assets/common/items/armor/warlock/belt.ron +++ b/assets/common/items/armor/warlock/belt.ron @@ -5,7 +5,11 @@ ItemDef( kind: Belt("Warlock"), stats: ( protection: Normal(8.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/warlock/chest.ron b/assets/common/items/armor/warlock/chest.ron index 3b297b8070..83879ed7b8 100644 --- a/assets/common/items/armor/warlock/chest.ron +++ b/assets/common/items/armor/warlock/chest.ron @@ -5,7 +5,11 @@ ItemDef( kind: Chest("Warlock"), stats: ( protection: Normal(40.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/warlock/foot.ron b/assets/common/items/armor/warlock/foot.ron index ffa18349a2..6d94314cea 100644 --- a/assets/common/items/armor/warlock/foot.ron +++ b/assets/common/items/armor/warlock/foot.ron @@ -5,7 +5,11 @@ ItemDef( kind: Foot("Warlock"), stats: ( protection: Normal(8.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/warlock/hand.ron b/assets/common/items/armor/warlock/hand.ron index 2637362601..95a430624d 100644 --- a/assets/common/items/armor/warlock/hand.ron +++ b/assets/common/items/armor/warlock/hand.ron @@ -5,7 +5,11 @@ ItemDef( kind: Hand("Warlock"), stats: ( protection: Normal(15.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, diff --git a/assets/common/items/armor/warlock/head.ron b/assets/common/items/armor/warlock/head.ron index 49e1c592ee..5efede3c7e 100644 --- a/assets/common/items/armor/warlock/head.ron +++ b/assets/common/items/armor/warlock/head.ron @@ -5,7 +5,11 @@ ItemDef( kind: Head("Warlock"), stats: ( protection: Normal(10.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, diff --git a/assets/common/items/armor/warlock/pants.ron b/assets/common/items/armor/warlock/pants.ron index 985f6cdd1c..6140b196af 100644 --- a/assets/common/items/armor/warlock/pants.ron +++ b/assets/common/items/armor/warlock/pants.ron @@ -5,7 +5,11 @@ ItemDef( kind: Pants("Warlock"), stats: ( protection: Normal(30.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/warlock/shoulder.ron b/assets/common/items/armor/warlock/shoulder.ron index 5ce674fd49..105a3458c6 100644 --- a/assets/common/items/armor/warlock/shoulder.ron +++ b/assets/common/items/armor/warlock/shoulder.ron @@ -5,7 +5,11 @@ ItemDef( kind: Shoulder("Warlock"), stats: ( protection: Normal(22.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, diff --git a/assets/common/items/armor/warlord/back.ron b/assets/common/items/armor/warlord/back.ron index 509d315e8c..2cd9450e7e 100644 --- a/assets/common/items/armor/warlord/back.ron +++ b/assets/common/items/armor/warlord/back.ron @@ -5,7 +5,11 @@ ItemDef( kind: Back("Warlord"), stats: ( protection: Normal(4.0), - poise_resilience: Normal(0.5), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/warlord/belt.ron b/assets/common/items/armor/warlord/belt.ron index b8e30034dc..ae60e2fcd2 100644 --- a/assets/common/items/armor/warlord/belt.ron +++ b/assets/common/items/armor/warlord/belt.ron @@ -5,7 +5,11 @@ ItemDef( kind: Belt("Warlord"), stats: ( protection: Normal(8.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/warlord/chest.ron b/assets/common/items/armor/warlord/chest.ron index 91a79c9a6e..dbaee7548f 100644 --- a/assets/common/items/armor/warlord/chest.ron +++ b/assets/common/items/armor/warlord/chest.ron @@ -5,7 +5,11 @@ ItemDef( kind: Chest("Warlord"), stats: ( protection: Normal(40.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/warlord/foot.ron b/assets/common/items/armor/warlord/foot.ron index 7451a44a61..993cd6d067 100644 --- a/assets/common/items/armor/warlord/foot.ron +++ b/assets/common/items/armor/warlord/foot.ron @@ -5,7 +5,11 @@ ItemDef( kind: Foot("Warlord"), stats: ( protection: Normal(8.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/warlord/hand.ron b/assets/common/items/armor/warlord/hand.ron index cfb7f7442a..36f79edf77 100644 --- a/assets/common/items/armor/warlord/hand.ron +++ b/assets/common/items/armor/warlord/hand.ron @@ -5,7 +5,11 @@ ItemDef( kind: Hand("Warlord"), stats: ( protection: Normal(15.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, diff --git a/assets/common/items/armor/warlord/head.ron b/assets/common/items/armor/warlord/head.ron index c6a9cc1067..ba518e0cdf 100644 --- a/assets/common/items/armor/warlord/head.ron +++ b/assets/common/items/armor/warlord/head.ron @@ -5,7 +5,11 @@ ItemDef( kind: Head("Warlord"), stats: ( protection: Normal(10.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, diff --git a/assets/common/items/armor/warlord/pants.ron b/assets/common/items/armor/warlord/pants.ron index 26281bd21e..b896347aa2 100644 --- a/assets/common/items/armor/warlord/pants.ron +++ b/assets/common/items/armor/warlord/pants.ron @@ -5,7 +5,11 @@ ItemDef( kind: Pants("Warlord"), stats: ( protection: Normal(30.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Moderate, diff --git a/assets/common/items/armor/warlord/shoulder.ron b/assets/common/items/armor/warlord/shoulder.ron index 4261113d21..c38f423aff 100644 --- a/assets/common/items/armor/warlord/shoulder.ron +++ b/assets/common/items/armor/warlord/shoulder.ron @@ -5,7 +5,11 @@ ItemDef( kind: Shoulder("Warlord"), stats: ( protection: Normal(22.0), - poise_resilience: Normal(1.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Common, diff --git a/assets/common/items/crafting_ing/bone.ron b/assets/common/items/crafting_ing/animal_misc/bone.ron similarity index 100% rename from assets/common/items/crafting_ing/bone.ron rename to assets/common/items/crafting_ing/animal_misc/bone.ron diff --git a/assets/common/items/crafting_ing/claw.ron b/assets/common/items/crafting_ing/animal_misc/claw.ron similarity index 100% rename from assets/common/items/crafting_ing/claw.ron rename to assets/common/items/crafting_ing/animal_misc/claw.ron diff --git a/assets/common/items/crafting_ing/ember.ron b/assets/common/items/crafting_ing/animal_misc/ember.ron similarity index 100% rename from assets/common/items/crafting_ing/ember.ron rename to assets/common/items/crafting_ing/animal_misc/ember.ron diff --git a/assets/common/items/crafting_ing/feather.ron b/assets/common/items/crafting_ing/animal_misc/feather.ron similarity index 100% rename from assets/common/items/crafting_ing/feather.ron rename to assets/common/items/crafting_ing/animal_misc/feather.ron diff --git a/assets/common/items/crafting_ing/fur.ron b/assets/common/items/crafting_ing/animal_misc/fur.ron similarity index 100% rename from assets/common/items/crafting_ing/fur.ron rename to assets/common/items/crafting_ing/animal_misc/fur.ron diff --git a/assets/common/items/crafting_ing/animal_misc/grim_eyeball.ron b/assets/common/items/crafting_ing/animal_misc/grim_eyeball.ron new file mode 100644 index 0000000000..5aedf2afa1 --- /dev/null +++ b/assets/common/items/crafting_ing/animal_misc/grim_eyeball.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Grim Eyeball", + description: "Casts a petrifying gaze.", + kind: Ingredient( + kind: "GrimEyeball", + ), + quality: Common, + tags: [], +) diff --git a/assets/common/items/crafting_ing/icy_fang.ron b/assets/common/items/crafting_ing/animal_misc/icy_fang.ron similarity index 100% rename from assets/common/items/crafting_ing/icy_fang.ron rename to assets/common/items/crafting_ing/animal_misc/icy_fang.ron diff --git a/assets/common/items/crafting_ing/animal_misc/large_horn.ron b/assets/common/items/crafting_ing/animal_misc/large_horn.ron new file mode 100644 index 0000000000..1751ded592 --- /dev/null +++ b/assets/common/items/crafting_ing/animal_misc/large_horn.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Large Horn", + description: "A huge sharp horn from an animal.", + kind: Ingredient( + kind: "LargeHorn", + ), + quality: Common, + tags: [], +) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/animal_misc/lively_vine.ron b/assets/common/items/crafting_ing/animal_misc/lively_vine.ron new file mode 100644 index 0000000000..bd43fa1316 --- /dev/null +++ b/assets/common/items/crafting_ing/animal_misc/lively_vine.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Lively Vine", + description: "I think it just moved.", + kind: Ingredient( + kind: "LivelyVine", + ), + quality: Common, + tags: [], +) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/animal_misc/phoenix_feather.ron b/assets/common/items/crafting_ing/animal_misc/phoenix_feather.ron new file mode 100644 index 0000000000..bf6a1fcba1 --- /dev/null +++ b/assets/common/items/crafting_ing/animal_misc/phoenix_feather.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Phoenix Feather", + description: "Said to have magical properties.", + kind: Ingredient( + kind: "PhoenixFeather", + ), + quality: Common, + tags: [], +) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/raptor_feather.ron b/assets/common/items/crafting_ing/animal_misc/raptor_feather.ron similarity index 100% rename from assets/common/items/crafting_ing/raptor_feather.ron rename to assets/common/items/crafting_ing/animal_misc/raptor_feather.ron diff --git a/assets/common/items/crafting_ing/fang.ron b/assets/common/items/crafting_ing/animal_misc/sharp_fang.ron similarity index 73% rename from assets/common/items/crafting_ing/fang.ron rename to assets/common/items/crafting_ing/animal_misc/sharp_fang.ron index 2accdeb1ad..c181eb3dc2 100644 --- a/assets/common/items/crafting_ing/fang.ron +++ b/assets/common/items/crafting_ing/animal_misc/sharp_fang.ron @@ -1,8 +1,8 @@ ItemDef( - name: "Predator Fang", + name: "Sharp Fang", description: "Incredibly sharp tooth from a predatory animal.", kind: Ingredient( - kind: "Fang", + kind: "SharpFang", ), quality: Common, tags: [], diff --git a/assets/common/items/crafting_ing/venomsac.ron b/assets/common/items/crafting_ing/animal_misc/venom_sac.ron similarity index 100% rename from assets/common/items/crafting_ing/venomsac.ron rename to assets/common/items/crafting_ing/animal_misc/venom_sac.ron diff --git a/assets/common/items/crafting_ing/viscous_ooze.ron b/assets/common/items/crafting_ing/animal_misc/viscous_ooze.ron similarity index 100% rename from assets/common/items/crafting_ing/viscous_ooze.ron rename to assets/common/items/crafting_ing/animal_misc/viscous_ooze.ron diff --git a/assets/common/items/crafting_ing/animal_pelt.ron b/assets/common/items/crafting_ing/animal_pelt.ron deleted file mode 100644 index 45aa54da92..0000000000 --- a/assets/common/items/crafting_ing/animal_pelt.ron +++ /dev/null @@ -1,9 +0,0 @@ -ItemDef( - name: "Animal Pelt", - description: "A pelt from an animal. Becomes leather.", - kind: Ingredient( - kind: "AnimalPelt", - ), - quality: Common, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/cloth/cotton.ron b/assets/common/items/crafting_ing/cloth/cotton.ron new file mode 100644 index 0000000000..243e4e2f38 --- /dev/null +++ b/assets/common/items/crafting_ing/cloth/cotton.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Cotton", + description: "Easy to work with and multi-functional.", + kind: Ingredient( + kind: "Cotton", + ), + quality: Low, + tags: [Textile], +) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/lifecoth.ron b/assets/common/items/crafting_ing/cloth/lifecloth.ron similarity index 88% rename from assets/common/items/crafting_ing/lifecoth.ron rename to assets/common/items/crafting_ing/cloth/lifecloth.ron index f697021012..f19cdd8e9c 100644 --- a/assets/common/items/crafting_ing/lifecoth.ron +++ b/assets/common/items/crafting_ing/cloth/lifecloth.ron @@ -5,5 +5,5 @@ ItemDef( kind: "Lifecloth", ), quality: High, - tags: [], + tags: [Textile], ) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/linen.ron b/assets/common/items/crafting_ing/cloth/linen.ron similarity index 55% rename from assets/common/items/crafting_ing/linen.ron rename to assets/common/items/crafting_ing/cloth/linen.ron index 60373574c7..897f7e1cc6 100644 --- a/assets/common/items/crafting_ing/linen.ron +++ b/assets/common/items/crafting_ing/cloth/linen.ron @@ -1,9 +1,9 @@ ItemDef( name: "Linen", - description: "A textile made from the fibers of a plant.", + description: "A textile made from flax fibers.", kind: Ingredient( kind: "Linen", ), quality: Low, - tags: [], + tags: [Textile], ) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/cloth/linen_red.ron b/assets/common/items/crafting_ing/cloth/linen_red.ron new file mode 100644 index 0000000000..d2b5692f7e --- /dev/null +++ b/assets/common/items/crafting_ing/cloth/linen_red.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Red Linen", + description: "A flax fiber textile, dyed to stand out.", + kind: Ingredient( + kind: "LinenRed", + ), + quality: Low, + tags: [Textile], +) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/moonweave.ron b/assets/common/items/crafting_ing/cloth/moonweave.ron similarity index 87% rename from assets/common/items/crafting_ing/moonweave.ron rename to assets/common/items/crafting_ing/cloth/moonweave.ron index 8e0d07334a..0a822f1328 100644 --- a/assets/common/items/crafting_ing/moonweave.ron +++ b/assets/common/items/crafting_ing/cloth/moonweave.ron @@ -5,5 +5,5 @@ ItemDef( kind: "Moonweave", ), quality: Epic, - tags: [], + tags: [Textile], ) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/silk.ron b/assets/common/items/crafting_ing/cloth/silk.ron similarity index 53% rename from assets/common/items/crafting_ing/silk.ron rename to assets/common/items/crafting_ing/cloth/silk.ron index b5708cacb9..c4e1a0598a 100644 --- a/assets/common/items/crafting_ing/silk.ron +++ b/assets/common/items/crafting_ing/cloth/silk.ron @@ -1,9 +1,9 @@ ItemDef( name: "Silk", - description: "A fine and strong fibre produced by silkworms.", + description: "A fine and strong fibre produced by spiders.", kind: Ingredient( kind: "Silk", ), quality: Moderate, - tags: [], + tags: [Textile], ) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/sunsilk.ron b/assets/common/items/crafting_ing/cloth/sunsilk.ron similarity index 87% rename from assets/common/items/crafting_ing/sunsilk.ron rename to assets/common/items/crafting_ing/cloth/sunsilk.ron index 9422b96370..3d063eb955 100644 --- a/assets/common/items/crafting_ing/sunsilk.ron +++ b/assets/common/items/crafting_ing/cloth/sunsilk.ron @@ -5,5 +5,5 @@ ItemDef( kind: "Sunsilk", ), quality: Legendary, - tags: [], + tags: [Textile], ) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/wool.ron b/assets/common/items/crafting_ing/cloth/wool.ron similarity index 87% rename from assets/common/items/crafting_ing/wool.ron rename to assets/common/items/crafting_ing/cloth/wool.ron index 38c055d8b4..e1cf55c706 100644 --- a/assets/common/items/crafting_ing/wool.ron +++ b/assets/common/items/crafting_ing/cloth/wool.ron @@ -5,5 +5,5 @@ ItemDef( kind: "Wool", ), quality: Common, - tags: [], + tags: [Textile], ) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/cloth_scraps.ron b/assets/common/items/crafting_ing/cloth_scraps.ron deleted file mode 100644 index 06e32164c6..0000000000 --- a/assets/common/items/crafting_ing/cloth_scraps.ron +++ /dev/null @@ -1,9 +0,0 @@ -ItemDef( - name: "Cloth Scraps", - description: "Looted from humanoids and their houses.", - kind: Ingredient( - kind: "ClothScraps", - ), - quality: Common, - tags: [BaseMaterial], -) diff --git a/assets/common/items/crafting_ing/cloth_scraps_red.ron b/assets/common/items/crafting_ing/cloth_scraps_red.ron deleted file mode 100644 index dbb1373f50..0000000000 --- a/assets/common/items/crafting_ing/cloth_scraps_red.ron +++ /dev/null @@ -1,9 +0,0 @@ -ItemDef( - name: "Red Cloth Scraps", - description: "Dyed red with flower pigments.", - kind: Ingredient( - kind: "ClothScrapsRed", - ), - quality: Common, - tags: [BaseMaterial], -) diff --git a/assets/common/items/crafting_ing/cotton_boll.ron b/assets/common/items/crafting_ing/cotton_boll.ron new file mode 100644 index 0000000000..fb46d92f60 --- /dev/null +++ b/assets/common/items/crafting_ing/cotton_boll.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Cotton Boll", + description: "Plucked from a common cotton plant.", + kind: Ingredient( + kind: "CottonBoll", + ), + quality: Common, + tags: [], +) diff --git a/assets/common/items/crafting_ing/hide/animal_hide.ron b/assets/common/items/crafting_ing/hide/animal_hide.ron new file mode 100644 index 0000000000..f8f5d865c5 --- /dev/null +++ b/assets/common/items/crafting_ing/hide/animal_hide.ron @@ -0,0 +1,11 @@ +ItemDef( + name: "Animal Hide", + description: "A pelt from an animal. Becomes leather.", + kind: Ingredient( + kind: "AnimalHide", + ), + quality: Low, + tags: [ + Material(Leather) + ], +) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/carapace.ron b/assets/common/items/crafting_ing/hide/carapace.ron similarity index 86% rename from assets/common/items/crafting_ing/carapace.ron rename to assets/common/items/crafting_ing/hide/carapace.ron index 1124c341f6..f49a147c22 100644 --- a/assets/common/items/crafting_ing/carapace.ron +++ b/assets/common/items/crafting_ing/hide/carapace.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "Carapace", ), - quality: Common, + quality: High, tags: [], ) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/dragon_scale.ron b/assets/common/items/crafting_ing/hide/dragon_scale.ron similarity index 100% rename from assets/common/items/crafting_ing/dragon_scale.ron rename to assets/common/items/crafting_ing/hide/dragon_scale.ron diff --git a/assets/common/items/crafting_ing/leather_troll.ron b/assets/common/items/crafting_ing/hide/leather_troll.ron similarity index 100% rename from assets/common/items/crafting_ing/leather_troll.ron rename to assets/common/items/crafting_ing/hide/leather_troll.ron diff --git a/assets/common/items/crafting_ing/plate.ron b/assets/common/items/crafting_ing/hide/plate.ron similarity index 100% rename from assets/common/items/crafting_ing/plate.ron rename to assets/common/items/crafting_ing/hide/plate.ron diff --git a/assets/common/items/crafting_ing/hide/rugged_hide.ron b/assets/common/items/crafting_ing/hide/rugged_hide.ron new file mode 100644 index 0000000000..0c8bcc29d7 --- /dev/null +++ b/assets/common/items/crafting_ing/hide/rugged_hide.ron @@ -0,0 +1,11 @@ +ItemDef( + name: "Rugged Hide", + description: "A durable pelt, favored by leatherworkers.", + kind: Ingredient( + kind: "RuggedHide", + ), + quality: Common, + tags: [ + Material(Leather) + ], +) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/scales.ron b/assets/common/items/crafting_ing/hide/scales.ron similarity index 100% rename from assets/common/items/crafting_ing/scales.ron rename to assets/common/items/crafting_ing/hide/scales.ron diff --git a/assets/common/items/crafting_ing/hide/tough_hide.ron b/assets/common/items/crafting_ing/hide/tough_hide.ron new file mode 100644 index 0000000000..c9c1c4d5c7 --- /dev/null +++ b/assets/common/items/crafting_ing/hide/tough_hide.ron @@ -0,0 +1,11 @@ +ItemDef( + name: "Tough Hide", + description: "A pelt from something fierce. Becomes leather.", + kind: Ingredient( + kind: "ToughHide", + ), + quality: Common, + tags: [ + Material(Leather) + ], +) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/horn.ron b/assets/common/items/crafting_ing/horn.ron deleted file mode 100644 index cc14fdc450..0000000000 --- a/assets/common/items/crafting_ing/horn.ron +++ /dev/null @@ -1,9 +0,0 @@ -ItemDef( - name: "Sharp Horn", - description: "A sharp horn from an animal.", - kind: Ingredient( - kind: "Horn", - ), - quality: Common, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/leather.ron b/assets/common/items/crafting_ing/leather.ron deleted file mode 100644 index f4ab458650..0000000000 --- a/assets/common/items/crafting_ing/leather.ron +++ /dev/null @@ -1,9 +0,0 @@ -ItemDef( - name: "Leather", - description: "A fabric made from animal hides or skins.", - kind: Ingredient( - kind: "Leather", - ), - quality: Common, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/leather/leather_strips.ron b/assets/common/items/crafting_ing/leather/leather_strips.ron new file mode 100644 index 0000000000..fa14bd6756 --- /dev/null +++ b/assets/common/items/crafting_ing/leather/leather_strips.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Leather Strips", + description: "Simple and versatile.", + kind: Ingredient( + kind: "LeatherStrips", + ), + quality: Common, + tags: [BaseMaterial], +) diff --git a/assets/common/items/crafting_ing/leather/rigid_leather.ron b/assets/common/items/crafting_ing/leather/rigid_leather.ron new file mode 100644 index 0000000000..25c5cf9770 --- /dev/null +++ b/assets/common/items/crafting_ing/leather/rigid_leather.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Rigid Leather", + description: "Light but layered, perfect for protection.", + kind: Ingredient( + kind: "RigidLeather", + ), + quality: Epic, + tags: [BaseMaterial, Leather], +) diff --git a/assets/common/items/crafting_ing/leather/simple_leather.ron b/assets/common/items/crafting_ing/leather/simple_leather.ron new file mode 100644 index 0000000000..52e2db28bf --- /dev/null +++ b/assets/common/items/crafting_ing/leather/simple_leather.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Simple Leather", + description: "Light and flexible.", + kind: Ingredient( + kind: "SimpleLeather", + ), + quality: Low, + tags: [BaseMaterial, Leather], +) diff --git a/assets/common/items/crafting_ing/leather/thick_leather.ron b/assets/common/items/crafting_ing/leather/thick_leather.ron new file mode 100644 index 0000000000..cd4e63bdba --- /dev/null +++ b/assets/common/items/crafting_ing/leather/thick_leather.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Thick Leather", + description: "Strong and durable.", + kind: Ingredient( + kind: "ThickLeather", + ), + quality: Common, + tags: [BaseMaterial, Leather], +) diff --git a/assets/common/items/crafting_ing/leather_scraps.ron b/assets/common/items/crafting_ing/leather_scraps.ron deleted file mode 100644 index 187a77935a..0000000000 --- a/assets/common/items/crafting_ing/leather_scraps.ron +++ /dev/null @@ -1,9 +0,0 @@ -ItemDef( - name: "Leather Scraps", - description: "Looted from animals.", - kind: Ingredient( - kind: "LeatherScraps", - ), - quality: Common, - tags: [BaseMaterial], -) diff --git a/assets/common/items/crafting_ing/rawhide.ron b/assets/common/items/crafting_ing/rawhide.ron deleted file mode 100644 index ce406dbf45..0000000000 --- a/assets/common/items/crafting_ing/rawhide.ron +++ /dev/null @@ -1,9 +0,0 @@ -ItemDef( - name: "Rawhide", - description: "A hide that has not been exposed to tanning.", - kind: Ingredient( - kind: "Rawhide", - ), - quality: Low, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/sticky_thread.ron b/assets/common/items/crafting_ing/sticky_thread.ron new file mode 100644 index 0000000000..b3d7b463d2 --- /dev/null +++ b/assets/common/items/crafting_ing/sticky_thread.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Sticky Thread", + description: "A messy spider extract, but a tailor may have use for it.", + kind: Ingredient( + kind: "StickyThread", + ), + quality: Common, + tags: [], +) diff --git a/assets/common/items/crafting_ing/vine.ron b/assets/common/items/crafting_ing/vine.ron deleted file mode 100644 index b776d818b1..0000000000 --- a/assets/common/items/crafting_ing/vine.ron +++ /dev/null @@ -1,9 +0,0 @@ -ItemDef( - name: "Vine", - description: "A strong vine.", - kind: Ingredient( - kind: "Vine", - ), - quality: Common, - tags: [], -) \ No newline at end of file diff --git a/assets/common/items/debug/admin.ron b/assets/common/items/debug/admin.ron index 3eeed622c8..851f7e20df 100644 --- a/assets/common/items/debug/admin.ron +++ b/assets/common/items/debug/admin.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Invincible, poise_resilience: Invincible, + energy_max: 9000, + energy_reward: 9.0, + crit_power: 0.0, + stealth: 1000.0, ), ) ), diff --git a/assets/common/items/debug/admin_back.ron b/assets/common/items/debug/admin_back.ron index 807aa10fee..daaf2f8ce7 100644 --- a/assets/common/items/debug/admin_back.ron +++ b/assets/common/items/debug/admin_back.ron @@ -6,7 +6,11 @@ ItemDef( kind: Back("Admin"), stats: ( protection: Normal(0.0), - poise_resilience: Normal(0.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/debug/admin_black_hole.ron b/assets/common/items/debug/admin_black_hole.ron index 3b43673794..6fc2cb1cb0 100644 --- a/assets/common/items/debug/admin_black_hole.ron +++ b/assets/common/items/debug/admin_black_hole.ron @@ -6,8 +6,12 @@ ItemDef( kind: Bag("BlackHole"), stats: ( protection: Normal(0.0), - poise_resilience: Normal(0.0) - ), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: Debug, diff --git a/assets/common/items/debug/cultist_belt.ron b/assets/common/items/debug/cultist_belt.ron index 9557ca7e9a..8ddc43d420 100644 --- a/assets/common/items/debug/cultist_belt.ron +++ b/assets/common/items/debug/cultist_belt.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/debug/cultist_boots.ron b/assets/common/items/debug/cultist_boots.ron index 3f354d647d..1bfa1eae73 100644 --- a/assets/common/items/debug/cultist_boots.ron +++ b/assets/common/items/debug/cultist_boots.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/debug/cultist_chest_blue.ron b/assets/common/items/debug/cultist_chest_blue.ron index 80bc2d2483..d41907f95d 100644 --- a/assets/common/items/debug/cultist_chest_blue.ron +++ b/assets/common/items/debug/cultist_chest_blue.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/debug/cultist_hands_blue.ron b/assets/common/items/debug/cultist_hands_blue.ron index 5461404080..26befa8285 100644 --- a/assets/common/items/debug/cultist_hands_blue.ron +++ b/assets/common/items/debug/cultist_hands_blue.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/debug/cultist_legs_blue.ron b/assets/common/items/debug/cultist_legs_blue.ron index e180a45a17..ad30bda619 100644 --- a/assets/common/items/debug/cultist_legs_blue.ron +++ b/assets/common/items/debug/cultist_legs_blue.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/debug/cultist_shoulder_blue.ron b/assets/common/items/debug/cultist_shoulder_blue.ron index 4d635b0a6d..518931b87e 100644 --- a/assets/common/items/debug/cultist_shoulder_blue.ron +++ b/assets/common/items/debug/cultist_shoulder_blue.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/debug/dungeon_purple.ron b/assets/common/items/debug/dungeon_purple.ron index b5e12e5624..6ba28284fe 100644 --- a/assets/common/items/debug/dungeon_purple.ron +++ b/assets/common/items/debug/dungeon_purple.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/flowers/moonbell.ron b/assets/common/items/flowers/moonbell.ron new file mode 100644 index 0000000000..f5d3c93247 --- /dev/null +++ b/assets/common/items/flowers/moonbell.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Moonbell", + description: "It glistens brilliantly, but only under moonlight.", + kind: Ingredient( + kind: "Moonbell", + ), + quality: Common, + tags: [], +) diff --git a/assets/common/items/crafting_ing/plant_fiber.ron b/assets/common/items/flowers/plant_fiber.ron similarity index 100% rename from assets/common/items/crafting_ing/plant_fiber.ron rename to assets/common/items/flowers/plant_fiber.ron diff --git a/assets/common/items/flowers/pyrebloom.ron b/assets/common/items/flowers/pyrebloom.ron new file mode 100644 index 0000000000..085c91405f --- /dev/null +++ b/assets/common/items/flowers/pyrebloom.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Pyrebloom", + description: "Warm to the touch, long after picking.", + kind: Ingredient( + kind: "Pyrebloom", + ), + quality: Common, + tags: [], +) diff --git a/assets/common/items/flowers/wild_flax.ron b/assets/common/items/flowers/wild_flax.ron new file mode 100644 index 0000000000..42994ffcd0 --- /dev/null +++ b/assets/common/items/flowers/wild_flax.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Wild Flax", + description: "Could be used to spin some simple cloth.", + kind: Ingredient( + kind: "WildFlax", + ), + quality: Common, + tags: [], +) diff --git a/assets/common/items/food/fish.ron b/assets/common/items/food/meat/beast_large_cooked.ron similarity index 74% rename from assets/common/items/food/fish.ron rename to assets/common/items/food/meat/beast_large_cooked.ron index 77041dbb32..862ab6a9c2 100644 --- a/assets/common/items/food/fish.ron +++ b/assets/common/items/food/meat/beast_large_cooked.ron @@ -1,13 +1,13 @@ ItemDef( - name: "Fish", - description: "A fresh seafood steak, chopped from a fish.", + name: "Cooked Meat Slab", + description: "Medium Rare.", kind: Consumable( - kind: "Fish", + kind: "BeastLargeCooked", effect: [ Buff(( kind: Saturation, data: ( - strength: 5.0, + strength: 25.0, duration: Some(( secs: 10, nanos: 0, diff --git a/assets/common/items/food/meat/beast_large_raw.ron b/assets/common/items/food/meat/beast_large_raw.ron new file mode 100644 index 0000000000..ab6ef40fcf --- /dev/null +++ b/assets/common/items/food/meat/beast_large_raw.ron @@ -0,0 +1,22 @@ +ItemDef( + name: "Raw Meat Slab", + description: "Chunk of beastly animal meat, best after cooking.", + kind: Consumable( + kind: "BeastLargeRaw", + effect: [ + Buff(( + kind: Saturation, + data: ( + strength: 15.0, + duration: Some(( + secs: 3, + nanos: 0, + )), + ), + cat_ids: [Natural], + )), + ] + ), + quality: Common, + tags: [Food], +) diff --git a/assets/common/items/food/meat/beast_small_cooked.ron b/assets/common/items/food/meat/beast_small_cooked.ron new file mode 100644 index 0000000000..1091b9bcee --- /dev/null +++ b/assets/common/items/food/meat/beast_small_cooked.ron @@ -0,0 +1,22 @@ +ItemDef( + name: "Cooked Meat Sliver", + description: "Medium Rare.", + kind: Consumable( + kind: "BeastSmallCooked", + effect: [ + Buff(( + kind: Saturation, + data: ( + strength: 15.0, + duration: Some(( + secs: 10, + nanos: 0, + )), + ), + cat_ids: [Natural], + )), + ] + ), + quality: Common, + tags: [Food], +) diff --git a/assets/common/items/food/meat/beast_small_raw.ron b/assets/common/items/food/meat/beast_small_raw.ron new file mode 100644 index 0000000000..c4c53f7399 --- /dev/null +++ b/assets/common/items/food/meat/beast_small_raw.ron @@ -0,0 +1,22 @@ +ItemDef( + name: "Raw Meat Sliver", + description: "Small hunk of beastly animal meat, best after cooking.", + kind: Consumable( + kind: "BeastSmallRaw", + effect: [ + Buff(( + kind: Saturation, + data: ( + strength: 9.0, + duration: Some(( + secs: 3, + nanos: 0, + )), + ), + cat_ids: [Natural], + )), + ] + ), + quality: Common, + tags: [Food], +) diff --git a/assets/common/items/food/meat/bird_cooked.ron b/assets/common/items/food/meat/bird_cooked.ron new file mode 100644 index 0000000000..d6ebe34157 --- /dev/null +++ b/assets/common/items/food/meat/bird_cooked.ron @@ -0,0 +1,22 @@ +ItemDef( + name: "Cooked Bird Meat", + description: "Best enjoyed with one in each hand.", + kind: Consumable( + kind: "BirdCooked", + effect: [ + Buff(( + kind: Saturation, + data: ( + strength: 25.0, + duration: Some(( + secs: 10, + nanos: 0, + )), + ), + cat_ids: [Natural], + )), + ] + ), + quality: Common, + tags: [Food], +) diff --git a/assets/common/items/food/meat/bird_large_cooked.ron b/assets/common/items/food/meat/bird_large_cooked.ron new file mode 100644 index 0000000000..a1c94aa038 --- /dev/null +++ b/assets/common/items/food/meat/bird_large_cooked.ron @@ -0,0 +1,22 @@ +ItemDef( + name: "Huge Cooked Drumstick", + description: "Makes for a legendary meal.", + kind: Consumable( + kind: "BirdLargeCooked", + effect: [ + Buff(( + kind: Saturation, + data: ( + strength: 80.0, + duration: Some(( + secs: 10, + nanos: 0, + )), + ), + cat_ids: [Natural], + )), + ] + ), + quality: Common, + tags: [Food], +) diff --git a/assets/common/items/food/meat/bird_large_raw.ron b/assets/common/items/food/meat/bird_large_raw.ron new file mode 100644 index 0000000000..2bd8afc6d1 --- /dev/null +++ b/assets/common/items/food/meat/bird_large_raw.ron @@ -0,0 +1,22 @@ +ItemDef( + name: "Huge Raw Drumstick", + description: "It's magificent.", + kind: Consumable( + kind: "BirdLargeRaw", + effect: [ + Buff(( + kind: Saturation, + data: ( + strength: 30.0, + duration: Some(( + secs: 3, + nanos: 0, + )), + ), + cat_ids: [Natural], + )), + ] + ), + quality: Common, + tags: [Food], +) diff --git a/assets/common/items/food/meat/bird_raw.ron b/assets/common/items/food/meat/bird_raw.ron new file mode 100644 index 0000000000..252cb1fd63 --- /dev/null +++ b/assets/common/items/food/meat/bird_raw.ron @@ -0,0 +1,22 @@ +ItemDef( + name: "Raw Bird Meat", + description: "A hefty drumstick.", + kind: Consumable( + kind: "BirdRaw", + effect: [ + Buff(( + kind: Saturation, + data: ( + strength: 15.0, + duration: Some(( + secs: 3, + nanos: 0, + )), + ), + cat_ids: [Natural], + )), + ] + ), + quality: Common, + tags: [Food], +) diff --git a/assets/common/items/food/meat/fish_cooked.ron b/assets/common/items/food/meat/fish_cooked.ron new file mode 100644 index 0000000000..9ed8777a41 --- /dev/null +++ b/assets/common/items/food/meat/fish_cooked.ron @@ -0,0 +1,22 @@ +ItemDef( + name: "Cooked Fish", + description: "A fresh cooked seafood steak.", + kind: Consumable( + kind: "FishCooked", + effect: [ + Buff(( + kind: Saturation, + data: ( + strength: 25.0, + duration: Some(( + secs: 10, + nanos: 0, + )), + ), + cat_ids: [Natural], + )), + ] + ), + quality: Common, + tags: [Food], +) diff --git a/assets/common/items/food/meat/fish_raw.ron b/assets/common/items/food/meat/fish_raw.ron new file mode 100644 index 0000000000..ef5515e91c --- /dev/null +++ b/assets/common/items/food/meat/fish_raw.ron @@ -0,0 +1,22 @@ +ItemDef( + name: "Raw Fish", + description: "A steak chopped from a fish, best after cooking.", + kind: Consumable( + kind: "FishRaw", + effect: [ + Buff(( + kind: Saturation, + data: ( + strength: 15.0, + duration: Some(( + secs: 3, + nanos: 0, + )), + ), + cat_ids: [Natural], + )), + ] + ), + quality: Common, + tags: [Food], +) diff --git a/assets/common/items/food/meat/tough_cooked.ron b/assets/common/items/food/meat/tough_cooked.ron new file mode 100644 index 0000000000..0d437ebef1 --- /dev/null +++ b/assets/common/items/food/meat/tough_cooked.ron @@ -0,0 +1,22 @@ +ItemDef( + name: "Cooked Tough Meat", + description: "Tastes exotic.", + kind: Consumable( + kind: "ToughCooked", + effect: [ + Buff(( + kind: Saturation, + data: ( + strength: 20.0, + duration: Some(( + secs: 10, + nanos: 0, + )), + ), + cat_ids: [Natural], + )), + ] + ), + quality: Common, + tags: [Food], +) diff --git a/assets/common/items/food/meat/tough_raw.ron b/assets/common/items/food/meat/tough_raw.ron new file mode 100644 index 0000000000..a158d36faa --- /dev/null +++ b/assets/common/items/food/meat/tough_raw.ron @@ -0,0 +1,22 @@ +ItemDef( + name: "Raw Tough Meat", + description: "Peculiar bit of meat, best after cooking.", + kind: Consumable( + kind: "ToughRaw", + effect: [ + Buff(( + kind: Saturation, + data: ( + strength: 12.0, + duration: Some(( + secs: 3, + nanos: 0, + )), + ), + cat_ids: [Natural], + )), + ] + ), + quality: Common, + tags: [Food], +) diff --git a/assets/common/items/crafting_ing/bamboo.ron b/assets/common/items/log/bamboo.ron similarity index 100% rename from assets/common/items/crafting_ing/bamboo.ron rename to assets/common/items/log/bamboo.ron diff --git a/assets/common/items/crafting_ing/eldwood_logs.ron b/assets/common/items/log/eldwood.ron similarity index 100% rename from assets/common/items/crafting_ing/eldwood_logs.ron rename to assets/common/items/log/eldwood.ron diff --git a/assets/common/items/crafting_ing/frostwood_logs.ron b/assets/common/items/log/frostwood.ron similarity index 100% rename from assets/common/items/crafting_ing/frostwood_logs.ron rename to assets/common/items/log/frostwood.ron diff --git a/assets/common/items/crafting_ing/hardwood_logs.ron b/assets/common/items/log/hardwood.ron similarity index 100% rename from assets/common/items/crafting_ing/hardwood_logs.ron rename to assets/common/items/log/hardwood.ron diff --git a/assets/common/items/crafting_ing/ironwood_logs.ron b/assets/common/items/log/ironwood.ron similarity index 100% rename from assets/common/items/crafting_ing/ironwood_logs.ron rename to assets/common/items/log/ironwood.ron diff --git a/assets/common/items/crafting_ing/wood_logs.ron b/assets/common/items/log/wood.ron similarity index 100% rename from assets/common/items/crafting_ing/wood_logs.ron rename to assets/common/items/log/wood.ron diff --git a/assets/common/items/crafting_ing/amethyst.ron b/assets/common/items/mineral/gem/amethyst.ron similarity index 100% rename from assets/common/items/crafting_ing/amethyst.ron rename to assets/common/items/mineral/gem/amethyst.ron diff --git a/assets/common/items/crafting_ing/diamond.ron b/assets/common/items/mineral/gem/diamond.ron similarity index 87% rename from assets/common/items/crafting_ing/diamond.ron rename to assets/common/items/mineral/gem/diamond.ron index 7096e8122c..63377e2540 100644 --- a/assets/common/items/crafting_ing/diamond.ron +++ b/assets/common/items/mineral/gem/diamond.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "Diamond", ), - quality: Common, + quality: Epic, tags: [], ) diff --git a/assets/common/items/crafting_ing/emerald.ron b/assets/common/items/mineral/gem/emerald.ron similarity index 87% rename from assets/common/items/crafting_ing/emerald.ron rename to assets/common/items/mineral/gem/emerald.ron index e2758fb742..c2ae944d7c 100644 --- a/assets/common/items/crafting_ing/emerald.ron +++ b/assets/common/items/mineral/gem/emerald.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "Emerald", ), - quality: Common, + quality: High, tags: [], ) diff --git a/assets/common/items/crafting_ing/ruby.ron b/assets/common/items/mineral/gem/ruby.ron similarity index 86% rename from assets/common/items/crafting_ing/ruby.ron rename to assets/common/items/mineral/gem/ruby.ron index a62f073495..2b33f9c986 100644 --- a/assets/common/items/crafting_ing/ruby.ron +++ b/assets/common/items/mineral/gem/ruby.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "Ruby", ), - quality: Common, + quality: High, tags: [], ) diff --git a/assets/common/items/crafting_ing/sapphire.ron b/assets/common/items/mineral/gem/sapphire.ron similarity index 87% rename from assets/common/items/crafting_ing/sapphire.ron rename to assets/common/items/mineral/gem/sapphire.ron index 1adf67ccff..6c97e6ec75 100644 --- a/assets/common/items/crafting_ing/sapphire.ron +++ b/assets/common/items/mineral/gem/sapphire.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "Sapphire", ), - quality: Common, + quality: High, tags: [], ) diff --git a/assets/common/items/crafting_ing/topaz.ron b/assets/common/items/mineral/gem/topaz.ron similarity index 100% rename from assets/common/items/crafting_ing/topaz.ron rename to assets/common/items/mineral/gem/topaz.ron diff --git a/assets/common/items/crafting_ing/bloodsteel_ingot.ron b/assets/common/items/mineral/ingot/bloodsteel.ron similarity index 89% rename from assets/common/items/crafting_ing/bloodsteel_ingot.ron rename to assets/common/items/mineral/ingot/bloodsteel.ron index c1b9a1d785..f7c2dc4616 100644 --- a/assets/common/items/crafting_ing/bloodsteel_ingot.ron +++ b/assets/common/items/mineral/ingot/bloodsteel.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "BloodsteelIngot", ), - quality: Common, + quality: Epic, tags: [MetalIngot], ) diff --git a/assets/common/items/crafting_ing/bronze_ingot.ron b/assets/common/items/mineral/ingot/bronze.ron similarity index 90% rename from assets/common/items/crafting_ing/bronze_ingot.ron rename to assets/common/items/mineral/ingot/bronze.ron index b3296faf91..3d386989ca 100644 --- a/assets/common/items/crafting_ing/bronze_ingot.ron +++ b/assets/common/items/mineral/ingot/bronze.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "BronzeIngot", ), - quality: Common, + quality: Low, tags: [MetalIngot], ) diff --git a/assets/common/items/crafting_ing/cobalt_ingot.ron b/assets/common/items/mineral/ingot/cobalt.ron similarity index 88% rename from assets/common/items/crafting_ing/cobalt_ingot.ron rename to assets/common/items/mineral/ingot/cobalt.ron index 1ed63ae88a..3a869a34d0 100644 --- a/assets/common/items/crafting_ing/cobalt_ingot.ron +++ b/assets/common/items/mineral/ingot/cobalt.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "CobaltIngot", ), - quality: Common, + quality: High, tags: [MetalIngot], ) diff --git a/assets/common/items/crafting_ing/copper_ingot.ron b/assets/common/items/mineral/ingot/copper.ron similarity index 89% rename from assets/common/items/crafting_ing/copper_ingot.ron rename to assets/common/items/mineral/ingot/copper.ron index 4e76603982..b727ed2f63 100644 --- a/assets/common/items/crafting_ing/copper_ingot.ron +++ b/assets/common/items/mineral/ingot/copper.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "CopperIngot", ), - quality: Common, + quality: Low, tags: [MetalIngot], ) diff --git a/assets/common/items/crafting_ing/gold_ingot.ron b/assets/common/items/mineral/ingot/gold.ron similarity index 87% rename from assets/common/items/crafting_ing/gold_ingot.ron rename to assets/common/items/mineral/ingot/gold.ron index 6f4b138fb8..00ddddc849 100644 --- a/assets/common/items/crafting_ing/gold_ingot.ron +++ b/assets/common/items/mineral/ingot/gold.ron @@ -5,5 +5,5 @@ ItemDef( kind: "GoldIngot", ), quality: Epic, - tags: [], + tags: [MetalIngot], ) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/iron_ingot.ron b/assets/common/items/mineral/ingot/iron.ron similarity index 100% rename from assets/common/items/crafting_ing/iron_ingot.ron rename to assets/common/items/mineral/ingot/iron.ron diff --git a/assets/common/items/crafting_ing/orichalcum_ingot.ron b/assets/common/items/mineral/ingot/orichalcum.ron similarity index 76% rename from assets/common/items/crafting_ing/orichalcum_ingot.ron rename to assets/common/items/mineral/ingot/orichalcum.ron index cbf39356ec..4241788018 100644 --- a/assets/common/items/crafting_ing/orichalcum_ingot.ron +++ b/assets/common/items/mineral/ingot/orichalcum.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "OrichalcumIngot", ), - quality: Epic, - tags: [], + quality: Legendary, + tags: [MetalIngot], ) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/silver_ingot.ron b/assets/common/items/mineral/ingot/silver.ron similarity index 87% rename from assets/common/items/crafting_ing/silver_ingot.ron rename to assets/common/items/mineral/ingot/silver.ron index 4993010da9..54dae5a7ea 100644 --- a/assets/common/items/crafting_ing/silver_ingot.ron +++ b/assets/common/items/mineral/ingot/silver.ron @@ -5,5 +5,5 @@ ItemDef( kind: "SilverIngot", ), quality: Epic, - tags: [], + tags: [MetalIngot], ) \ No newline at end of file diff --git a/assets/common/items/crafting_ing/steel_ingot.ron b/assets/common/items/mineral/ingot/steel.ron similarity index 89% rename from assets/common/items/crafting_ing/steel_ingot.ron rename to assets/common/items/mineral/ingot/steel.ron index a2f3b327aa..0c18b7b724 100644 --- a/assets/common/items/crafting_ing/steel_ingot.ron +++ b/assets/common/items/mineral/ingot/steel.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "SteelIngot", ), - quality: Common, + quality: Moderate, tags: [MetalIngot], ) diff --git a/assets/common/items/crafting_ing/tin_ingot.ron b/assets/common/items/mineral/ingot/tin.ron similarity index 100% rename from assets/common/items/crafting_ing/tin_ingot.ron rename to assets/common/items/mineral/ingot/tin.ron diff --git a/assets/common/items/crafting_ing/bloodstone_ore.ron b/assets/common/items/mineral/ore/bloodstone.ron similarity index 87% rename from assets/common/items/crafting_ing/bloodstone_ore.ron rename to assets/common/items/mineral/ore/bloodstone.ron index 40b07d6fa3..6e7ef7443f 100644 --- a/assets/common/items/crafting_ing/bloodstone_ore.ron +++ b/assets/common/items/mineral/ore/bloodstone.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "BloodstoneOre", ), - quality: Common, + quality: Epic, tags: [], ) diff --git a/assets/common/items/mineral/ore/coal.ron b/assets/common/items/mineral/ore/coal.ron new file mode 100644 index 0000000000..d3740f0a2f --- /dev/null +++ b/assets/common/items/mineral/ore/coal.ron @@ -0,0 +1,9 @@ +ItemDef( + name: "Coal", + description: "A dark, combustible energy source.", + kind: Ingredient( + kind: "Coal", + ), + quality: Common, + tags: [], +) diff --git a/assets/common/items/crafting_ing/cobalt_ore.ron b/assets/common/items/mineral/ore/cobalt.ron similarity index 87% rename from assets/common/items/crafting_ing/cobalt_ore.ron rename to assets/common/items/mineral/ore/cobalt.ron index c282aa63c6..901b0cfe32 100644 --- a/assets/common/items/crafting_ing/cobalt_ore.ron +++ b/assets/common/items/mineral/ore/cobalt.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "CobaltOre", ), - quality: Common, + quality: High, tags: [], ) diff --git a/assets/common/items/crafting_ing/copper_ore.ron b/assets/common/items/mineral/ore/copper.ron similarity index 88% rename from assets/common/items/crafting_ing/copper_ore.ron rename to assets/common/items/mineral/ore/copper.ron index 913f4ae334..88ebac9ecc 100644 --- a/assets/common/items/crafting_ing/copper_ore.ron +++ b/assets/common/items/mineral/ore/copper.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "CopperOre", ), - quality: Common, + quality: Low, tags: [], ) diff --git a/assets/common/items/crafting_ing/gold_ore.ron b/assets/common/items/mineral/ore/gold.ron similarity index 100% rename from assets/common/items/crafting_ing/gold_ore.ron rename to assets/common/items/mineral/ore/gold.ron diff --git a/assets/common/items/crafting_ing/iron_ore.ron b/assets/common/items/mineral/ore/iron.ron similarity index 100% rename from assets/common/items/crafting_ing/iron_ore.ron rename to assets/common/items/mineral/ore/iron.ron diff --git a/assets/common/items/crafting_ing/silver_ore.ron b/assets/common/items/mineral/ore/silver.ron similarity index 100% rename from assets/common/items/crafting_ing/silver_ore.ron rename to assets/common/items/mineral/ore/silver.ron diff --git a/assets/common/items/crafting_ing/tin_ore.ron b/assets/common/items/mineral/ore/tin.ron similarity index 88% rename from assets/common/items/crafting_ing/tin_ore.ron rename to assets/common/items/mineral/ore/tin.ron index 40959de977..0d2ab85b11 100644 --- a/assets/common/items/crafting_ing/tin_ore.ron +++ b/assets/common/items/mineral/ore/tin.ron @@ -4,6 +4,6 @@ ItemDef( kind: Ingredient( kind: "TinOre", ), - quality: Common, + quality: Low, tags: [], ) diff --git a/assets/common/items/ore/velorite.ron b/assets/common/items/mineral/ore/velorite.ron similarity index 100% rename from assets/common/items/ore/velorite.ron rename to assets/common/items/mineral/ore/velorite.ron diff --git a/assets/common/items/ore/veloritefrag.ron b/assets/common/items/mineral/ore/veloritefrag.ron similarity index 100% rename from assets/common/items/ore/veloritefrag.ron rename to assets/common/items/mineral/ore/veloritefrag.ron diff --git a/assets/common/items/crafting_ing/basalt.ron b/assets/common/items/mineral/stone/basalt.ron similarity index 100% rename from assets/common/items/crafting_ing/basalt.ron rename to assets/common/items/mineral/stone/basalt.ron diff --git a/assets/common/items/crafting_ing/coal.ron b/assets/common/items/mineral/stone/coal.ron similarity index 100% rename from assets/common/items/crafting_ing/coal.ron rename to assets/common/items/mineral/stone/coal.ron diff --git a/assets/common/items/crafting_ing/granite.ron b/assets/common/items/mineral/stone/granite.ron similarity index 100% rename from assets/common/items/crafting_ing/granite.ron rename to assets/common/items/mineral/stone/granite.ron diff --git a/assets/common/items/crafting_ing/obsidian.ron b/assets/common/items/mineral/stone/obsidian.ron similarity index 100% rename from assets/common/items/crafting_ing/obsidian.ron rename to assets/common/items/mineral/stone/obsidian.ron diff --git a/assets/common/items/npc_armor/back/backpack_blue.ron b/assets/common/items/npc_armor/back/backpack_blue.ron index 070dcbb5b9..61a2e4f855 100644 --- a/assets/common/items/npc_armor/back/backpack_blue.ron +++ b/assets/common/items/npc_armor/back/backpack_blue.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/npc_armor/back/leather_blue.ron b/assets/common/items/npc_armor/back/leather_blue.ron index aa658b190a..f36d53a553 100644 --- a/assets/common/items/npc_armor/back/leather_blue.ron +++ b/assets/common/items/npc_armor/back/leather_blue.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(1.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/npc_armor/biped_large/harvester.ron b/assets/common/items/npc_armor/biped_large/harvester.ron index d2aa76d312..216e11c90c 100644 --- a/assets/common/items/npc_armor/biped_large/harvester.ron +++ b/assets/common/items/npc_armor/biped_large/harvester.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/npc_armor/biped_large/mindflayer.ron b/assets/common/items/npc_armor/biped_large/mindflayer.ron index 27e4035a44..cfddaadbfa 100644 --- a/assets/common/items/npc_armor/biped_large/mindflayer.ron +++ b/assets/common/items/npc_armor/biped_large/mindflayer.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(60.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/npc_armor/biped_large/minotaur.ron b/assets/common/items/npc_armor/biped_large/minotaur.ron index f57629d868..bb46a70501 100644 --- a/assets/common/items/npc_armor/biped_large/minotaur.ron +++ b/assets/common/items/npc_armor/biped_large/minotaur.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/npc_armor/biped_large/tidal_warrior.ron b/assets/common/items/npc_armor/biped_large/tidal_warrior.ron index 2e7980bbac..bd20f7bb7f 100644 --- a/assets/common/items/npc_armor/biped_large/tidal_warrior.ron +++ b/assets/common/items/npc_armor/biped_large/tidal_warrior.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(20.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/npc_armor/biped_large/yeti.ron b/assets/common/items/npc_armor/biped_large/yeti.ron index 65918a3686..b2e07d74d2 100644 --- a/assets/common/items/npc_armor/biped_large/yeti.ron +++ b/assets/common/items/npc_armor/biped_large/yeti.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/npc_armor/biped_small/adlet/chest/adlet_bow.ron b/assets/common/items/npc_armor/biped_small/adlet/chest/adlet_bow.ron index 8f9d7b1e3c..80f79ba5ed 100644 --- a/assets/common/items/npc_armor/biped_small/adlet/chest/adlet_bow.ron +++ b/assets/common/items/npc_armor/biped_small/adlet/chest/adlet_bow.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(12.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/adlet/chest/adlet_spear.ron b/assets/common/items/npc_armor/biped_small/adlet/chest/adlet_spear.ron index 32e9cf138e..cc8792d375 100644 --- a/assets/common/items/npc_armor/biped_small/adlet/chest/adlet_spear.ron +++ b/assets/common/items/npc_armor/biped_small/adlet/chest/adlet_spear.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(12.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/adlet/foot/adlet.ron b/assets/common/items/npc_armor/biped_small/adlet/foot/adlet.ron index 238195dfd2..93ee43dd6a 100644 --- a/assets/common/items/npc_armor/biped_small/adlet/foot/adlet.ron +++ b/assets/common/items/npc_armor/biped_small/adlet/foot/adlet.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(10.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/adlet/hand/adlet_bow.ron b/assets/common/items/npc_armor/biped_small/adlet/hand/adlet_bow.ron index f4dea6f36b..cfc26410ab 100644 --- a/assets/common/items/npc_armor/biped_small/adlet/hand/adlet_bow.ron +++ b/assets/common/items/npc_armor/biped_small/adlet/hand/adlet_bow.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(10.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/adlet/hand/adlet_spear.ron b/assets/common/items/npc_armor/biped_small/adlet/hand/adlet_spear.ron index 6176a32a5e..99defb895d 100644 --- a/assets/common/items/npc_armor/biped_small/adlet/hand/adlet_spear.ron +++ b/assets/common/items/npc_armor/biped_small/adlet/hand/adlet_spear.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(10.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/adlet/head/adlet_bow.ron b/assets/common/items/npc_armor/biped_small/adlet/head/adlet_bow.ron index a3e444510e..7b997e8db7 100644 --- a/assets/common/items/npc_armor/biped_small/adlet/head/adlet_bow.ron +++ b/assets/common/items/npc_armor/biped_small/adlet/head/adlet_bow.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(10.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/adlet/head/adlet_spear.ron b/assets/common/items/npc_armor/biped_small/adlet/head/adlet_spear.ron index 88e0597aee..4ad3b24a4e 100644 --- a/assets/common/items/npc_armor/biped_small/adlet/head/adlet_spear.ron +++ b/assets/common/items/npc_armor/biped_small/adlet/head/adlet_spear.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(10.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/adlet/pants/adlet_bow.ron b/assets/common/items/npc_armor/biped_small/adlet/pants/adlet_bow.ron index 1f1db8648e..f0586feb2f 100644 --- a/assets/common/items/npc_armor/biped_small/adlet/pants/adlet_bow.ron +++ b/assets/common/items/npc_armor/biped_small/adlet/pants/adlet_bow.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(10.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/adlet/pants/adlet_spear.ron b/assets/common/items/npc_armor/biped_small/adlet/pants/adlet_spear.ron index 89caf74ba7..ee87368054 100644 --- a/assets/common/items/npc_armor/biped_small/adlet/pants/adlet_spear.ron +++ b/assets/common/items/npc_armor/biped_small/adlet/pants/adlet_spear.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(10.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/adlet/tail/adlet.ron b/assets/common/items/npc_armor/biped_small/adlet/tail/adlet.ron index 514356d9a1..82138763fb 100644 --- a/assets/common/items/npc_armor/biped_small/adlet/tail/adlet.ron +++ b/assets/common/items/npc_armor/biped_small/adlet/tail/adlet.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(10.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/gnarling/chest/gnarling.ron b/assets/common/items/npc_armor/biped_small/gnarling/chest/gnarling.ron index 33e0a3f95d..312a683788 100644 --- a/assets/common/items/npc_armor/biped_small/gnarling/chest/gnarling.ron +++ b/assets/common/items/npc_armor/biped_small/gnarling/chest/gnarling.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(2.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/gnarling/foot/gnarling.ron b/assets/common/items/npc_armor/biped_small/gnarling/foot/gnarling.ron index e8e8930a9f..b6ab6405ba 100644 --- a/assets/common/items/npc_armor/biped_small/gnarling/foot/gnarling.ron +++ b/assets/common/items/npc_armor/biped_small/gnarling/foot/gnarling.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(1.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/gnarling/hand/gnarling.ron b/assets/common/items/npc_armor/biped_small/gnarling/hand/gnarling.ron index 517bf843d2..87d3f691b2 100644 --- a/assets/common/items/npc_armor/biped_small/gnarling/hand/gnarling.ron +++ b/assets/common/items/npc_armor/biped_small/gnarling/hand/gnarling.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(1.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/gnarling/head/gnarling.ron b/assets/common/items/npc_armor/biped_small/gnarling/head/gnarling.ron index f92c5ae5c7..8757f8b287 100644 --- a/assets/common/items/npc_armor/biped_small/gnarling/head/gnarling.ron +++ b/assets/common/items/npc_armor/biped_small/gnarling/head/gnarling.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(1.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/gnarling/pants/gnarling.ron b/assets/common/items/npc_armor/biped_small/gnarling/pants/gnarling.ron index 8faadbde6c..268a3c44e3 100644 --- a/assets/common/items/npc_armor/biped_small/gnarling/pants/gnarling.ron +++ b/assets/common/items/npc_armor/biped_small/gnarling/pants/gnarling.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(1.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/gnarling/tail/gnarling.ron b/assets/common/items/npc_armor/biped_small/gnarling/tail/gnarling.ron index e35e45d7f2..e80c2c6fd8 100644 --- a/assets/common/items/npc_armor/biped_small/gnarling/tail/gnarling.ron +++ b/assets/common/items/npc_armor/biped_small/gnarling/tail/gnarling.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(1.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/haniwa/chest/haniwa.ron b/assets/common/items/npc_armor/biped_small/haniwa/chest/haniwa.ron index f1c8cae036..084a1b5237 100644 --- a/assets/common/items/npc_armor/biped_small/haniwa/chest/haniwa.ron +++ b/assets/common/items/npc_armor/biped_small/haniwa/chest/haniwa.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(23.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/haniwa/foot/haniwa.ron b/assets/common/items/npc_armor/biped_small/haniwa/foot/haniwa.ron index 9184b2f94a..35079dc965 100644 --- a/assets/common/items/npc_armor/biped_small/haniwa/foot/haniwa.ron +++ b/assets/common/items/npc_armor/biped_small/haniwa/foot/haniwa.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(17.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/haniwa/hand/haniwa.ron b/assets/common/items/npc_armor/biped_small/haniwa/hand/haniwa.ron index f4a9dba2fd..f6f36c417d 100644 --- a/assets/common/items/npc_armor/biped_small/haniwa/hand/haniwa.ron +++ b/assets/common/items/npc_armor/biped_small/haniwa/hand/haniwa.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(17.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/haniwa/head/haniwa.ron b/assets/common/items/npc_armor/biped_small/haniwa/head/haniwa.ron index 482d9566b2..55ef9ea2ab 100644 --- a/assets/common/items/npc_armor/biped_small/haniwa/head/haniwa.ron +++ b/assets/common/items/npc_armor/biped_small/haniwa/head/haniwa.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(17.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/haniwa/pants/haniwa.ron b/assets/common/items/npc_armor/biped_small/haniwa/pants/haniwa.ron index 0cd5e96f71..acbecaa0fd 100644 --- a/assets/common/items/npc_armor/biped_small/haniwa/pants/haniwa.ron +++ b/assets/common/items/npc_armor/biped_small/haniwa/pants/haniwa.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(17.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/husk/chest/husk.ron b/assets/common/items/npc_armor/biped_small/husk/chest/husk.ron index 52f348aa4d..f2c6c73e7e 100644 --- a/assets/common/items/npc_armor/biped_small/husk/chest/husk.ron +++ b/assets/common/items/npc_armor/biped_small/husk/chest/husk.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(18.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/husk/foot/husk.ron b/assets/common/items/npc_armor/biped_small/husk/foot/husk.ron index 26d36b1654..b599017688 100644 --- a/assets/common/items/npc_armor/biped_small/husk/foot/husk.ron +++ b/assets/common/items/npc_armor/biped_small/husk/foot/husk.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(14.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/husk/hand/husk.ron b/assets/common/items/npc_armor/biped_small/husk/hand/husk.ron index 4bd37ed64c..a4d7dd6e75 100644 --- a/assets/common/items/npc_armor/biped_small/husk/hand/husk.ron +++ b/assets/common/items/npc_armor/biped_small/husk/hand/husk.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(14.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/husk/head/husk.ron b/assets/common/items/npc_armor/biped_small/husk/head/husk.ron index d6bdea23b0..e0bfa0b995 100644 --- a/assets/common/items/npc_armor/biped_small/husk/head/husk.ron +++ b/assets/common/items/npc_armor/biped_small/husk/head/husk.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(14.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/husk/pants/husk.ron b/assets/common/items/npc_armor/biped_small/husk/pants/husk.ron index bfd787e8f5..b85c4b153d 100644 --- a/assets/common/items/npc_armor/biped_small/husk/pants/husk.ron +++ b/assets/common/items/npc_armor/biped_small/husk/pants/husk.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(14.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/husk/tail/husk.ron b/assets/common/items/npc_armor/biped_small/husk/tail/husk.ron index 023f942a7b..7f6448cfd5 100644 --- a/assets/common/items/npc_armor/biped_small/husk/tail/husk.ron +++ b/assets/common/items/npc_armor/biped_small/husk/tail/husk.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(14.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/kappa/chest/kappa.ron b/assets/common/items/npc_armor/biped_small/kappa/chest/kappa.ron index b0f700ea5b..9a5c77e3d7 100644 --- a/assets/common/items/npc_armor/biped_small/kappa/chest/kappa.ron +++ b/assets/common/items/npc_armor/biped_small/kappa/chest/kappa.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(2.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/kappa/foot/kappa.ron b/assets/common/items/npc_armor/biped_small/kappa/foot/kappa.ron index 45f99913ce..dc7fc5fa79 100644 --- a/assets/common/items/npc_armor/biped_small/kappa/foot/kappa.ron +++ b/assets/common/items/npc_armor/biped_small/kappa/foot/kappa.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(2.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/kappa/hand/kappa.ron b/assets/common/items/npc_armor/biped_small/kappa/hand/kappa.ron index bf3f6a9cb1..6bea288438 100644 --- a/assets/common/items/npc_armor/biped_small/kappa/hand/kappa.ron +++ b/assets/common/items/npc_armor/biped_small/kappa/hand/kappa.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(2.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/kappa/head/kappa.ron b/assets/common/items/npc_armor/biped_small/kappa/head/kappa.ron index ad80961c42..d9b3adcfbd 100644 --- a/assets/common/items/npc_armor/biped_small/kappa/head/kappa.ron +++ b/assets/common/items/npc_armor/biped_small/kappa/head/kappa.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(2.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/kappa/pants/kappa.ron b/assets/common/items/npc_armor/biped_small/kappa/pants/kappa.ron index 8dd3fe9087..ea9114e6e4 100644 --- a/assets/common/items/npc_armor/biped_small/kappa/pants/kappa.ron +++ b/assets/common/items/npc_armor/biped_small/kappa/pants/kappa.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(2.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/kappa/tail/kappa.ron b/assets/common/items/npc_armor/biped_small/kappa/tail/kappa.ron index a05d85356d..2dc5ea0977 100644 --- a/assets/common/items/npc_armor/biped_small/kappa/tail/kappa.ron +++ b/assets/common/items/npc_armor/biped_small/kappa/tail/kappa.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(2.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/myrmidon/chest/myrmidon.ron b/assets/common/items/npc_armor/biped_small/myrmidon/chest/myrmidon.ron index 06ec1ec5ef..5a693f5595 100644 --- a/assets/common/items/npc_armor/biped_small/myrmidon/chest/myrmidon.ron +++ b/assets/common/items/npc_armor/biped_small/myrmidon/chest/myrmidon.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(36.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/myrmidon/foot/myrmidon.ron b/assets/common/items/npc_armor/biped_small/myrmidon/foot/myrmidon.ron index 4c78a77279..16bd298e4d 100644 --- a/assets/common/items/npc_armor/biped_small/myrmidon/foot/myrmidon.ron +++ b/assets/common/items/npc_armor/biped_small/myrmidon/foot/myrmidon.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(25.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/myrmidon/hand/myrmidon.ron b/assets/common/items/npc_armor/biped_small/myrmidon/hand/myrmidon.ron index 87506fe835..5fc02c5840 100644 --- a/assets/common/items/npc_armor/biped_small/myrmidon/hand/myrmidon.ron +++ b/assets/common/items/npc_armor/biped_small/myrmidon/hand/myrmidon.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(25.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/myrmidon/head/myrmidon.ron b/assets/common/items/npc_armor/biped_small/myrmidon/head/myrmidon.ron index de64307376..6ba6dd071a 100644 --- a/assets/common/items/npc_armor/biped_small/myrmidon/head/myrmidon.ron +++ b/assets/common/items/npc_armor/biped_small/myrmidon/head/myrmidon.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(25.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/myrmidon/pants/myrmidon.ron b/assets/common/items/npc_armor/biped_small/myrmidon/pants/myrmidon.ron index e6e5eaacb8..b21efaa619 100644 --- a/assets/common/items/npc_armor/biped_small/myrmidon/pants/myrmidon.ron +++ b/assets/common/items/npc_armor/biped_small/myrmidon/pants/myrmidon.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(25.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/myrmidon/tail/myrmidon.ron b/assets/common/items/npc_armor/biped_small/myrmidon/tail/myrmidon.ron index 9662f9291d..9641725934 100644 --- a/assets/common/items/npc_armor/biped_small/myrmidon/tail/myrmidon.ron +++ b/assets/common/items/npc_armor/biped_small/myrmidon/tail/myrmidon.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(25.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/sahagin/chest/sahagin.ron b/assets/common/items/npc_armor/biped_small/sahagin/chest/sahagin.ron index 7792d4a6b4..5169dfd141 100644 --- a/assets/common/items/npc_armor/biped_small/sahagin/chest/sahagin.ron +++ b/assets/common/items/npc_armor/biped_small/sahagin/chest/sahagin.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(18.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/sahagin/foot/sahagin.ron b/assets/common/items/npc_armor/biped_small/sahagin/foot/sahagin.ron index 3583b1055b..ede72b9e11 100644 --- a/assets/common/items/npc_armor/biped_small/sahagin/foot/sahagin.ron +++ b/assets/common/items/npc_armor/biped_small/sahagin/foot/sahagin.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(14.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/sahagin/hand/sahagin.ron b/assets/common/items/npc_armor/biped_small/sahagin/hand/sahagin.ron index b2ee494ea7..377555f351 100644 --- a/assets/common/items/npc_armor/biped_small/sahagin/hand/sahagin.ron +++ b/assets/common/items/npc_armor/biped_small/sahagin/hand/sahagin.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(14.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/sahagin/head/sahagin.ron b/assets/common/items/npc_armor/biped_small/sahagin/head/sahagin.ron index e6c8e5b94a..647cda4baa 100644 --- a/assets/common/items/npc_armor/biped_small/sahagin/head/sahagin.ron +++ b/assets/common/items/npc_armor/biped_small/sahagin/head/sahagin.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(14.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/sahagin/pants/sahagin.ron b/assets/common/items/npc_armor/biped_small/sahagin/pants/sahagin.ron index a63f3b0b7e..4a7928e7aa 100644 --- a/assets/common/items/npc_armor/biped_small/sahagin/pants/sahagin.ron +++ b/assets/common/items/npc_armor/biped_small/sahagin/pants/sahagin.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(14.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/biped_small/sahagin/tail/sahagin.ron b/assets/common/items/npc_armor/biped_small/sahagin/tail/sahagin.ron index 3ea6c9515f..40a6babc5a 100644 --- a/assets/common/items/npc_armor/biped_small/sahagin/tail/sahagin.ron +++ b/assets/common/items/npc_armor/biped_small/sahagin/tail/sahagin.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(14.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Low, diff --git a/assets/common/items/npc_armor/chest/leather_blue.ron b/assets/common/items/npc_armor/chest/leather_blue.ron index 0d002e5998..d779fb5b88 100644 --- a/assets/common/items/npc_armor/chest/leather_blue.ron +++ b/assets/common/items/npc_armor/chest/leather_blue.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(5.0), poise_resilience: Normal(5.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/npc_armor/chest/plate_red.ron b/assets/common/items/npc_armor/chest/plate_red.ron index ee8a80a515..d244f68926 100644 --- a/assets/common/items/npc_armor/chest/plate_red.ron +++ b/assets/common/items/npc_armor/chest/plate_red.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(5.0), poise_resilience: Normal(5.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/npc_armor/golem/claygolem.ron b/assets/common/items/npc_armor/golem/claygolem.ron index 8ba9a70e4c..c391d592d0 100644 --- a/assets/common/items/npc_armor/golem/claygolem.ron +++ b/assets/common/items/npc_armor/golem/claygolem.ron @@ -6,6 +6,10 @@ ItemDef( stats: ( protection: Normal(180.0), poise_resilience: Normal(1.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), )), quality: Legendary, diff --git a/assets/common/items/npc_armor/pants/leather_blue.ron b/assets/common/items/npc_armor/pants/leather_blue.ron index 18da3a7fe9..ee1cf3e87f 100644 --- a/assets/common/items/npc_armor/pants/leather_blue.ron +++ b/assets/common/items/npc_armor/pants/leather_blue.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(10.0), poise_resilience: Normal(10.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/npc_armor/pants/plate_red.ron b/assets/common/items/npc_armor/pants/plate_red.ron index c43c6ae91d..1280de6e9d 100644 --- a/assets/common/items/npc_armor/pants/plate_red.ron +++ b/assets/common/items/npc_armor/pants/plate_red.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(10.0), poise_resilience: Normal(10.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/npc_weapons/axe/minotaur_axe.ron b/assets/common/items/npc_weapons/axe/minotaur_axe.ron index db469f4d84..0aa36ddf8d 100644 --- a/assets/common/items/npc_weapons/axe/minotaur_axe.ron +++ b/assets/common/items/npc_weapons/axe/minotaur_axe.ron @@ -2,7 +2,7 @@ ItemDef( name: "Minotaur Axe", description: "Placeholder", kind: Tool(( - kind: Axe, + kind: Natural, hands: Two, stats: Direct(( equip_time_secs: 0.5, @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1, - crit_mult: 1.5, )), )), quality: Legendary, diff --git a/assets/common/items/npc_weapons/axe/oni_blue_axe.ron b/assets/common/items/npc_weapons/axe/oni_blue_axe.ron index 69f5603f81..614490369c 100644 --- a/assets/common/items/npc_weapons/axe/oni_blue_axe.ron +++ b/assets/common/items/npc_weapons/axe/oni_blue_axe.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.18, - crit_mult: 2.8, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/adlet/adlet_bow.ron b/assets/common/items/npc_weapons/biped_small/adlet/adlet_bow.ron index 1fc2e8128e..70e2f3d9d6 100644 --- a/assets/common/items/npc_weapons/biped_small/adlet/adlet_bow.ron +++ b/assets/common/items/npc_weapons/biped_small/adlet/adlet_bow.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.3, crit_chance: 0.08406594, - crit_mult: 2.4565825, )), )), quality: Moderate, diff --git a/assets/common/items/npc_weapons/biped_small/adlet/gnoll_staff.ron b/assets/common/items/npc_weapons/biped_small/adlet/gnoll_staff.ron index 470c6c1b16..f19d562a03 100644 --- a/assets/common/items/npc_weapons/biped_small/adlet/gnoll_staff.ron +++ b/assets/common/items/npc_weapons/biped_small/adlet/gnoll_staff.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.5, crit_chance: 0.05059524, - crit_mult: 2.6134453, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/adlet/wooden_spear.ron b/assets/common/items/npc_weapons/biped_small/adlet/wooden_spear.ron index 5d8820d0a1..aa25f365e6 100644 --- a/assets/common/items/npc_weapons/biped_small/adlet/wooden_spear.ron +++ b/assets/common/items/npc_weapons/biped_small/adlet/wooden_spear.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.07589286, - crit_mult: 2.0756302, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/adlet_bow.ron b/assets/common/items/npc_weapons/biped_small/gnarling/adlet_bow.ron index 9f4f63787f..21270bce1a 100644 --- a/assets/common/items/npc_weapons/biped_small/gnarling/adlet_bow.ron +++ b/assets/common/items/npc_weapons/biped_small/gnarling/adlet_bow.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.7, crit_chance: 0.26764706, - crit_mult: 2.067504, )), )), quality: Moderate, diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/gnoll_staff.ron b/assets/common/items/npc_weapons/biped_small/gnarling/gnoll_staff.ron index 223ddcc8e9..8ce4997b21 100644 --- a/assets/common/items/npc_weapons/biped_small/gnarling/gnoll_staff.ron +++ b/assets/common/items/npc_weapons/biped_small/gnarling/gnoll_staff.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.8, crit_chance: 0.12037037, - crit_mult: 2.5824175, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/gnarling/wooden_spear.ron b/assets/common/items/npc_weapons/biped_small/gnarling/wooden_spear.ron index 8b30fc8db1..9e54bb2f4d 100644 --- a/assets/common/items/npc_weapons/biped_small/gnarling/wooden_spear.ron +++ b/assets/common/items/npc_weapons/biped_small/gnarling/wooden_spear.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.13541667, - crit_mult: 2.4065933, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/haniwa/adlet_bow.ron b/assets/common/items/npc_weapons/biped_small/haniwa/adlet_bow.ron index 0c7c5b1436..47487b341e 100644 --- a/assets/common/items/npc_weapons/biped_small/haniwa/adlet_bow.ron +++ b/assets/common/items/npc_weapons/biped_small/haniwa/adlet_bow.ron @@ -10,9 +10,8 @@ ItemDef( poise_strength: 0.8, speed: 0.3, crit_chance: 0.05625, - crit_mult: 1.9523809, )), )), quality: Moderate, tags: [], -) \ No newline at end of file +) diff --git a/assets/common/items/npc_weapons/biped_small/haniwa/gnoll_staff.ron b/assets/common/items/npc_weapons/biped_small/haniwa/gnoll_staff.ron index 2b89c18728..703415f5cc 100644 --- a/assets/common/items/npc_weapons/biped_small/haniwa/gnoll_staff.ron +++ b/assets/common/items/npc_weapons/biped_small/haniwa/gnoll_staff.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.6, crit_chance: 0.036458332, - crit_mult: 1.8707483, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/haniwa/wooden_spear.ron b/assets/common/items/npc_weapons/biped_small/haniwa/wooden_spear.ron index 198ae821e5..a8bf353341 100644 --- a/assets/common/items/npc_weapons/biped_small/haniwa/wooden_spear.ron +++ b/assets/common/items/npc_weapons/biped_small/haniwa/wooden_spear.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.05357143, - crit_mult: 1.7619047, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/myrmidon/adlet_bow.ron b/assets/common/items/npc_weapons/biped_small/myrmidon/adlet_bow.ron index 093ebe1738..4e703aebbb 100644 --- a/assets/common/items/npc_weapons/biped_small/myrmidon/adlet_bow.ron +++ b/assets/common/items/npc_weapons/biped_small/myrmidon/adlet_bow.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.5, crit_chance: 0.095454544, - crit_mult: 1.8163265, )), )), quality: Moderate, diff --git a/assets/common/items/npc_weapons/biped_small/myrmidon/gnoll_staff.ron b/assets/common/items/npc_weapons/biped_small/myrmidon/gnoll_staff.ron index 6b9d087103..22653938ec 100644 --- a/assets/common/items/npc_weapons/biped_small/myrmidon/gnoll_staff.ron +++ b/assets/common/items/npc_weapons/biped_small/myrmidon/gnoll_staff.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.7, crit_chance: 0.040873703, - crit_mult: 1.8223734, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/myrmidon/wooden_spear.ron b/assets/common/items/npc_weapons/biped_small/myrmidon/wooden_spear.ron index e7999ec7a5..a7f86c1eef 100644 --- a/assets/common/items/npc_weapons/biped_small/myrmidon/wooden_spear.ron +++ b/assets/common/items/npc_weapons/biped_small/myrmidon/wooden_spear.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.04963235, - crit_mult: 1.6772487, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/sahagin/adlet_bow.ron b/assets/common/items/npc_weapons/biped_small/sahagin/adlet_bow.ron index e8c0071784..274abbf225 100644 --- a/assets/common/items/npc_weapons/biped_small/sahagin/adlet_bow.ron +++ b/assets/common/items/npc_weapons/biped_small/sahagin/adlet_bow.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.3, crit_chance: 0.066083916, - crit_mult: 2.1791384, )), )), quality: Moderate, diff --git a/assets/common/items/npc_weapons/biped_small/sahagin/gnoll_staff.ron b/assets/common/items/npc_weapons/biped_small/sahagin/gnoll_staff.ron index 5e36c96f1f..b37e61a5c1 100644 --- a/assets/common/items/npc_weapons/biped_small/sahagin/gnoll_staff.ron +++ b/assets/common/items/npc_weapons/biped_small/sahagin/gnoll_staff.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.8, crit_chance: 0.053030305, - crit_mult: 1.9795918, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/biped_small/sahagin/wooden_spear.ron b/assets/common/items/npc_weapons/biped_small/sahagin/wooden_spear.ron index 25666476e9..009c76f0ec 100644 --- a/assets/common/items/npc_weapons/biped_small/sahagin/wooden_spear.ron +++ b/assets/common/items/npc_weapons/biped_small/sahagin/wooden_spear.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.05965909, - crit_mult: 1.8707483, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/bow/saurok_bow.ron b/assets/common/items/npc_weapons/bow/saurok_bow.ron index 7734132b1a..8f3591097e 100644 --- a/assets/common/items/npc_weapons/bow/saurok_bow.ron +++ b/assets/common/items/npc_weapons/bow/saurok_bow.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron index 59677e5b2c..333d70e043 100644 --- a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/harvester_scythe.ron b/assets/common/items/npc_weapons/hammer/harvester_scythe.ron index af2d18be18..7156218a30 100644 --- a/assets/common/items/npc_weapons/hammer/harvester_scythe.ron +++ b/assets/common/items/npc_weapons/hammer/harvester_scythe.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.05078125, - crit_mult: 1.7032967, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron index f2c9833b3a..4f3de99ff1 100644 --- a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/oni_red_hammer.ron b/assets/common/items/npc_weapons/hammer/oni_red_hammer.ron index 66bca833bb..b0e48e8b92 100644 --- a/assets/common/items/npc_weapons/hammer/oni_red_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/oni_red_hammer.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1, - crit_mult: 2.0, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/troll_hammer.ron b/assets/common/items/npc_weapons/hammer/troll_hammer.ron index 8ebc9d63aa..d73f107045 100644 --- a/assets/common/items/npc_weapons/hammer/troll_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/troll_hammer.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron index a8423fc01f..7f099b8efa 100644 --- a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/hammer/yeti_hammer.ron b/assets/common/items/npc_weapons/hammer/yeti_hammer.ron index d906f684c9..ba131033ff 100644 --- a/assets/common/items/npc_weapons/hammer/yeti_hammer.ron +++ b/assets/common/items/npc_weapons/hammer/yeti_hammer.ron @@ -2,18 +2,17 @@ ItemDef( name: "Yeti Hammer", description: "Placeholder", kind: Tool(( - kind: Hammer, + kind: Natural, hands: Two, stats: Direct(( - equip_time_secs: 0.0, - power: 2.0, + equip_time_secs: 0.5, + power: 1.0, poise_strength: 1.0, speed: 1.0, crit_chance: 0.046875, - crit_mult: 1.6095238, )), )), quality: Low, tags: [], - ability_spec: Some(Custom("Hammer Simple")), + ability_spec: Some(Custom("Yeti")), ) \ No newline at end of file diff --git a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron index ee542d5083..619d4b25fa 100644 --- a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron +++ b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0, - crit_mult: 1.0, )), )), quality: Legendary, diff --git a/assets/common/items/npc_weapons/staff/ogre_staff.ron b/assets/common/items/npc_weapons/staff/ogre_staff.ron index 5ce9ee2ebc..0790507924 100644 --- a/assets/common/items/npc_weapons/staff/ogre_staff.ron +++ b/assets/common/items/npc_weapons/staff/ogre_staff.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/staff/saurok_staff.ron b/assets/common/items/npc_weapons/staff/saurok_staff.ron index e70a880eef..3b93585192 100644 --- a/assets/common/items/npc_weapons/staff/saurok_staff.ron +++ b/assets/common/items/npc_weapons/staff/saurok_staff.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/sword/dullahan_sword.ron b/assets/common/items/npc_weapons/sword/dullahan_sword.ron index 53c197754f..069dcb56d3 100644 --- a/assets/common/items/npc_weapons/sword/dullahan_sword.ron +++ b/assets/common/items/npc_weapons/sword/dullahan_sword.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/sword/saurok_sword.ron b/assets/common/items/npc_weapons/sword/saurok_sword.ron index 8c53250630..785de51e2b 100644 --- a/assets/common/items/npc_weapons/sword/saurok_sword.ron +++ b/assets/common/items/npc_weapons/sword/saurok_sword.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/basilisk.ron b/assets/common/items/npc_weapons/unique/basilisk.ron new file mode 100644 index 0000000000..8855209c54 --- /dev/null +++ b/assets/common/items/npc_weapons/unique/basilisk.ron @@ -0,0 +1,18 @@ +ItemDef( + name: "Basilisk", + description: "testing123", + kind: Tool(( + kind: Natural, + hands: Two, + stats: Direct(( + equip_time_secs: 0.01, + power: 1.0, + poise_strength: 1.0, + speed: 1.0, + crit_chance: 0.0625, + )), + )), + quality: Low, + tags: [], + ability_spec: Some(Custom("Basilisk")), +) \ No newline at end of file diff --git a/assets/common/items/npc_weapons/unique/beast_claws.ron b/assets/common/items/npc_weapons/unique/beast_claws.ron index b67fa33ecb..b16c0b8d6d 100644 --- a/assets/common/items/npc_weapons/unique/beast_claws.ron +++ b/assets/common/items/npc_weapons/unique/beast_claws.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/birdlargebreathe.ron b/assets/common/items/npc_weapons/unique/birdlargebreathe.ron index e42004cb1d..9a5bf83800 100644 --- a/assets/common/items/npc_weapons/unique/birdlargebreathe.ron +++ b/assets/common/items/npc_weapons/unique/birdlargebreathe.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/birdlargefire.ron b/assets/common/items/npc_weapons/unique/birdlargefire.ron index 0a44fcd156..d4891eb3d8 100644 --- a/assets/common/items/npc_weapons/unique/birdlargefire.ron +++ b/assets/common/items/npc_weapons/unique/birdlargefire.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/clay_golem_fist.ron b/assets/common/items/npc_weapons/unique/clay_golem_fist.ron index 2ea42a3744..f27b438868 100644 --- a/assets/common/items/npc_weapons/unique/clay_golem_fist.ron +++ b/assets/common/items/npc_weapons/unique/clay_golem_fist.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1, - crit_mult: 1.5, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/haniwa_sentry.ron b/assets/common/items/npc_weapons/unique/haniwa_sentry.ron index 572c4fc9c6..55a1e188ef 100644 --- a/assets/common/items/npc_weapons/unique/haniwa_sentry.ron +++ b/assets/common/items/npc_weapons/unique/haniwa_sentry.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/husk.ron b/assets/common/items/npc_weapons/unique/husk.ron index 9f1df18b35..ca5b38716a 100644 --- a/assets/common/items/npc_weapons/unique/husk.ron +++ b/assets/common/items/npc_weapons/unique/husk.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadlowbasic.ron b/assets/common/items/npc_weapons/unique/quadlowbasic.ron index a91fbcb7ed..d620826182 100644 --- a/assets/common/items/npc_weapons/unique/quadlowbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadlowbasic.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadlowbeam.ron b/assets/common/items/npc_weapons/unique/quadlowbeam.ron index ff0207d024..4ffcd18f9e 100644 --- a/assets/common/items/npc_weapons/unique/quadlowbeam.ron +++ b/assets/common/items/npc_weapons/unique/quadlowbeam.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron index a05dad74ad..a683f253b5 100644 --- a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron +++ b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadlowquick.ron b/assets/common/items/npc_weapons/unique/quadlowquick.ron index 70ba06f701..49f43c1817 100644 --- a/assets/common/items/npc_weapons/unique/quadlowquick.ron +++ b/assets/common/items/npc_weapons/unique/quadlowquick.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadlowranged.ron b/assets/common/items/npc_weapons/unique/quadlowranged.ron index 3c2b3c66aa..2f4bcf2464 100644 --- a/assets/common/items/npc_weapons/unique/quadlowranged.ron +++ b/assets/common/items/npc_weapons/unique/quadlowranged.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadlowtail.ron b/assets/common/items/npc_weapons/unique/quadlowtail.ron index 1d1d6d2e49..3c3e3c51f3 100644 --- a/assets/common/items/npc_weapons/unique/quadlowtail.ron +++ b/assets/common/items/npc_weapons/unique/quadlowtail.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadmedbasic.ron b/assets/common/items/npc_weapons/unique/quadmedbasic.ron index 49c86239b2..ce74915ed5 100644 --- a/assets/common/items/npc_weapons/unique/quadmedbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadmedbasic.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron b/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron index d4f81fab07..b7604de52f 100644 --- a/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron +++ b/assets/common/items/npc_weapons/unique/quadmedbasicgentle.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.00, crit_chance: 0.09375, - crit_mult: 2.2190476, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadmedcharge.ron b/assets/common/items/npc_weapons/unique/quadmedcharge.ron index b108b02a6c..2a39eab347 100644 --- a/assets/common/items/npc_weapons/unique/quadmedcharge.ron +++ b/assets/common/items/npc_weapons/unique/quadmedcharge.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadmedhoof.ron b/assets/common/items/npc_weapons/unique/quadmedhoof.ron index 314897c0c3..59ecc3e51a 100644 --- a/assets/common/items/npc_weapons/unique/quadmedhoof.ron +++ b/assets/common/items/npc_weapons/unique/quadmedhoof.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadmedjump.ron b/assets/common/items/npc_weapons/unique/quadmedjump.ron index 7d0d3c16d9..63fb6f2d1f 100644 --- a/assets/common/items/npc_weapons/unique/quadmedjump.ron +++ b/assets/common/items/npc_weapons/unique/quadmedjump.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadmedquick.ron b/assets/common/items/npc_weapons/unique/quadmedquick.ron index bcfc305637..0bcefba5dc 100644 --- a/assets/common/items/npc_weapons/unique/quadmedquick.ron +++ b/assets/common/items/npc_weapons/unique/quadmedquick.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron index 12b0d5820e..f749e77721 100644 --- a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron +++ b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron index a88bb5c254..1347f986b6 100644 --- a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron +++ b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/theropodbasic.ron b/assets/common/items/npc_weapons/unique/theropodbasic.ron index 5e01b1e229..487bcad91e 100644 --- a/assets/common/items/npc_weapons/unique/theropodbasic.ron +++ b/assets/common/items/npc_weapons/unique/theropodbasic.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/theropodbird.ron b/assets/common/items/npc_weapons/unique/theropodbird.ron index 7c11a98e86..178a080562 100644 --- a/assets/common/items/npc_weapons/unique/theropodbird.ron +++ b/assets/common/items/npc_weapons/unique/theropodbird.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/theropodcharge.ron b/assets/common/items/npc_weapons/unique/theropodcharge.ron index c8d40e60d8..7d210f2463 100644 --- a/assets/common/items/npc_weapons/unique/theropodcharge.ron +++ b/assets/common/items/npc_weapons/unique/theropodcharge.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1, - crit_mult: 2.0, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/tidal_claws.ron b/assets/common/items/npc_weapons/unique/tidal_claws.ron index 0d2f505bd8..ffa400d083 100644 --- a/assets/common/items/npc_weapons/unique/tidal_claws.ron +++ b/assets/common/items/npc_weapons/unique/tidal_claws.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/tidal_totem.ron b/assets/common/items/npc_weapons/unique/tidal_totem.ron index 06bd8017df..8d51a0a8d7 100644 --- a/assets/common/items/npc_weapons/unique/tidal_totem.ron +++ b/assets/common/items/npc_weapons/unique/tidal_totem.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/turret.ron b/assets/common/items/npc_weapons/unique/turret.ron index fb23f8c049..933cba1688 100644 --- a/assets/common/items/npc_weapons/unique/turret.ron +++ b/assets/common/items/npc_weapons/unique/turret.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/npc_weapons/unique/wendigo_magic.ron b/assets/common/items/npc_weapons/unique/wendigo_magic.ron index 2640198224..0c9ef13b4c 100644 --- a/assets/common/items/npc_weapons/unique/wendigo_magic.ron +++ b/assets/common/items/npc_weapons/unique/wendigo_magic.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/tag_examples/leather.ron b/assets/common/items/tag_examples/leather.ron new file mode 100644 index 0000000000..a551d4a638 --- /dev/null +++ b/assets/common/items/tag_examples/leather.ron @@ -0,0 +1,15 @@ +ItemDef( + name: "Any leather", + description: "Leathers tanned from hides.", + kind: TagExamples( + item_ids: [ + "common.items.crafting_ing.leather.rigid_leather", + "common.items.crafting_ing.leather.thick_leather", + "common.items.crafting_ing.leather.simple_leather", + ], + ), + quality: Common, + tags: [], +) + + diff --git a/assets/common/items/tag_examples/leather_item.ron b/assets/common/items/tag_examples/leather_item.ron index 4bbd0e217c..cf8914346d 100644 --- a/assets/common/items/tag_examples/leather_item.ron +++ b/assets/common/items/tag_examples/leather_item.ron @@ -3,18 +3,18 @@ ItemDef( description: "Various leather armors.", kind: TagExamples( item_ids: [ - "common.items.armor.agile.back", - "common.items.armor.agile.belt", - "common.items.armor.agile.chest", - "common.items.armor.agile.foot", - "common.items.armor.agile.hand", - "common.items.armor.agile.pants", - "common.items.armor.agile.shoulder", - "common.items.armor.swift.belt", - "common.items.armor.swift.chest", - "common.items.armor.swift.foot", - "common.items.armor.swift.hand", - "common.items.armor.swift.pants", + "common.items.armor.hide.rawhide.back", + "common.items.armor.hide.rawhide.belt", + "common.items.armor.hide.rawhide.chest", + "common.items.armor.hide.rawhide.foot", + "common.items.armor.hide.rawhide.hand", + "common.items.armor.hide.rawhide.pants", + "common.items.armor.hide.rawhide.shoulder", + "common.items.armor.hide.leather.belt", + "common.items.armor.hide.leather.chest", + "common.items.armor.hide.leather.foot", + "common.items.armor.hide.leather.hand", + "common.items.armor.hide.leather.pants", ], ), diff --git a/assets/common/items/tag_examples/metal_ingot.ron b/assets/common/items/tag_examples/metal_ingot.ron index fe90564b6f..7c2fbaba64 100644 --- a/assets/common/items/tag_examples/metal_ingot.ron +++ b/assets/common/items/tag_examples/metal_ingot.ron @@ -3,13 +3,13 @@ ItemDef( description: "Ingots made from various metals.", kind: TagExamples( item_ids: [ - "common.items.crafting_ing.bloodsteel_ingot", - "common.items.crafting_ing.bronze_ingot", - "common.items.crafting_ing.cobalt_ingot", - "common.items.crafting_ing.copper_ingot", - "common.items.crafting_ing.iron_ingot", - "common.items.crafting_ing.steel_ingot", - "common.items.crafting_ing.tin_ingot", + "common.items.mineral.ingot.bloodsteel", + "common.items.mineral.ingot.bronze", + "common.items.mineral.ingot.cobalt", + "common.items.mineral.ingot.copper", + "common.items.mineral.ingot.iron", + "common.items.mineral.ingot.steel", + "common.items.mineral.ingot.tin", ], ), quality: Common, diff --git a/assets/common/items/tag_examples/textile.ron b/assets/common/items/tag_examples/textile.ron new file mode 100644 index 0000000000..3b86a1ebaa --- /dev/null +++ b/assets/common/items/tag_examples/textile.ron @@ -0,0 +1,18 @@ +ItemDef( + name: "Any woven cloth", + description: "Cloths spun from plant material.", + kind: TagExamples( + item_ids: [ + "common.items.crafting_ing.cloth.linen", + "common.items.crafting_ing.cloth.wool", + "common.items.crafting_ing.cloth.silk", + "common.items.crafting_ing.cloth.lifecloth", + "common.items.crafting_ing.cloth.moonweave", + "common.items.crafting_ing.cloth.sunsilk", + ], + ), + quality: Common, + tags: [], +) + + diff --git a/assets/common/items/testing/test_bag_18_slot.ron b/assets/common/items/testing/test_bag_18_slot.ron index c33cc51a40..a560f6e76a 100644 --- a/assets/common/items/testing/test_bag_18_slot.ron +++ b/assets/common/items/testing/test_bag_18_slot.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/testing/test_bag_9_slot.ron b/assets/common/items/testing/test_bag_9_slot.ron index bea076ce70..2608fb0738 100644 --- a/assets/common/items/testing/test_bag_9_slot.ron +++ b/assets/common/items/testing/test_bag_9_slot.ron @@ -7,6 +7,10 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, ), ) ), diff --git a/assets/common/items/testing/test_boots.ron b/assets/common/items/testing/test_boots.ron index ecc6cf63b5..c54800f09e 100644 --- a/assets/common/items/testing/test_boots.ron +++ b/assets/common/items/testing/test_boots.ron @@ -7,7 +7,11 @@ ItemDef( stats: ( protection: Normal(0.0), poise_resilience: Normal(0.0), - ), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), ) ), quality: Low, diff --git a/assets/common/items/tool/craftsman_hammer.ron b/assets/common/items/tool/craftsman_hammer.ron index 599a308d0d..1f0d9e808d 100644 --- a/assets/common/items/tool/craftsman_hammer.ron +++ b/assets/common/items/tool/craftsman_hammer.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.25, speed: 1.5, crit_chance: 0.0, - crit_mult: 0.0, )), )), quality: Common, diff --git a/assets/common/items/tool/pickaxe_steel.ron b/assets/common/items/tool/pickaxe_steel.ron new file mode 100644 index 0000000000..8ecdf77867 --- /dev/null +++ b/assets/common/items/tool/pickaxe_steel.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Steel Pickaxe", + description: "Strike the earth!", + kind: Tool(( + kind: Pick, + hands: Two, + stats: Direct(( + equip_time_secs: 0.25, + power: 0.75, + poise_strength: 0.25, + speed: 1.3, + crit_chance: 0.0, + )), + )), + quality: Moderate, + tags: [CraftingTool], +) diff --git a/assets/common/items/tool/pick.ron b/assets/common/items/tool/pickaxe_stone.ron similarity index 80% rename from assets/common/items/tool/pick.ron rename to assets/common/items/tool/pickaxe_stone.ron index e853548c8e..274396d086 100644 --- a/assets/common/items/tool/pick.ron +++ b/assets/common/items/tool/pickaxe_stone.ron @@ -1,5 +1,5 @@ ItemDef( - name: "Iron Pickaxe", + name: "Stone Pickaxe", description: "Strike the earth!", kind: Tool(( kind: Pick, @@ -8,9 +8,8 @@ ItemDef( equip_time_secs: 0.25, power: 0.75, poise_strength: 0.25, - speed: 0.75, + speed: 0.5, crit_chance: 0.0, - crit_mult: 1.0, )), )), quality: Low, diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron index e7119f89c3..72071fcf60 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1421875, - crit_mult: 1.4395604, )), )), quality: High, diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron index eb623e23ea..eb95fa4e8e 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1421875, - crit_mult: 1.4395604, )), )), quality: High, diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron index e373f6db35..7c150a81f4 100644 --- a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron +++ b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1421875, - crit_mult: 1.4395604, )), )), quality: High, diff --git a/assets/common/items/weapons/axe/bronze_axe-0.ron b/assets/common/items/weapons/axe/bronze_axe-0.ron index 61fd3b2656..ee68c70856 100644 --- a/assets/common/items/weapons/axe/bronze_axe-0.ron +++ b/assets/common/items/weapons/axe/bronze_axe-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.15, - crit_mult: 1.5714285, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/bronze_axe-1.ron b/assets/common/items/weapons/axe/bronze_axe-1.ron index f911742faa..50eaabf04a 100644 --- a/assets/common/items/weapons/axe/bronze_axe-1.ron +++ b/assets/common/items/weapons/axe/bronze_axe-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.15, - crit_mult: 1.5714285, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/bronze_axe-2.ron b/assets/common/items/weapons/axe/bronze_axe-2.ron index df31b93d5b..f61cc16861 100644 --- a/assets/common/items/weapons/axe/bronze_axe-2.ron +++ b/assets/common/items/weapons/axe/bronze_axe-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.15, - crit_mult: 1.5714285, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/cobalt_axe-0.ron b/assets/common/items/weapons/axe/cobalt_axe-0.ron index 56c5aeb820..8105a6b2ae 100644 --- a/assets/common/items/weapons/axe/cobalt_axe-0.ron +++ b/assets/common/items/weapons/axe/cobalt_axe-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.13611111, - crit_mult: 1.4081633, )), )), quality: High, diff --git a/assets/common/items/weapons/axe/cobalt_axe-1.ron b/assets/common/items/weapons/axe/cobalt_axe-1.ron index 6bb57664a5..1ecee6d56f 100644 --- a/assets/common/items/weapons/axe/cobalt_axe-1.ron +++ b/assets/common/items/weapons/axe/cobalt_axe-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.13611111, - crit_mult: 1.4081633, )), )), quality: High, diff --git a/assets/common/items/weapons/axe/iron_axe-0.ron b/assets/common/items/weapons/axe/iron_axe-0.ron index de1c6b000a..057848c743 100644 --- a/assets/common/items/weapons/axe/iron_axe-0.ron +++ b/assets/common/items/weapons/axe/iron_axe-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/iron_axe-1.ron b/assets/common/items/weapons/axe/iron_axe-1.ron index dd27cd78a9..408aae4a97 100644 --- a/assets/common/items/weapons/axe/iron_axe-1.ron +++ b/assets/common/items/weapons/axe/iron_axe-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/iron_axe-2.ron b/assets/common/items/weapons/axe/iron_axe-2.ron index 27b60587a9..e1f93d90c0 100644 --- a/assets/common/items/weapons/axe/iron_axe-2.ron +++ b/assets/common/items/weapons/axe/iron_axe-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/iron_axe-3.ron b/assets/common/items/weapons/axe/iron_axe-3.ron index fd7a82ed07..995eaf4daa 100644 --- a/assets/common/items/weapons/axe/iron_axe-3.ron +++ b/assets/common/items/weapons/axe/iron_axe-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/iron_axe-4.ron b/assets/common/items/weapons/axe/iron_axe-4.ron index 1480cfea5f..3e802da32a 100644 --- a/assets/common/items/weapons/axe/iron_axe-4.ron +++ b/assets/common/items/weapons/axe/iron_axe-4.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/iron_axe-5.ron b/assets/common/items/weapons/axe/iron_axe-5.ron index e52641bfd4..caf7919e7b 100644 --- a/assets/common/items/weapons/axe/iron_axe-5.ron +++ b/assets/common/items/weapons/axe/iron_axe-5.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/iron_axe-6.ron b/assets/common/items/weapons/axe/iron_axe-6.ron index 60af0abb88..ecd5d50bc0 100644 --- a/assets/common/items/weapons/axe/iron_axe-6.ron +++ b/assets/common/items/weapons/axe/iron_axe-6.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/iron_axe-7.ron b/assets/common/items/weapons/axe/iron_axe-7.ron index 39b995fc54..5bee0b4ea5 100644 --- a/assets/common/items/weapons/axe/iron_axe-7.ron +++ b/assets/common/items/weapons/axe/iron_axe-7.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/iron_axe-8.ron b/assets/common/items/weapons/axe/iron_axe-8.ron index 9c0e2d60ff..12827bcc25 100644 --- a/assets/common/items/weapons/axe/iron_axe-8.ron +++ b/assets/common/items/weapons/axe/iron_axe-8.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/iron_axe-9.ron b/assets/common/items/weapons/axe/iron_axe-9.ron index b9ee7a66b1..744218538f 100644 --- a/assets/common/items/weapons/axe/iron_axe-9.ron +++ b/assets/common/items/weapons/axe/iron_axe-9.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/malachite_axe-0.ron b/assets/common/items/weapons/axe/malachite_axe-0.ron index a6f5b2ffaf..dd4dc2bcb1 100644 --- a/assets/common/items/weapons/axe/malachite_axe-0.ron +++ b/assets/common/items/weapons/axe/malachite_axe-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.140625, - crit_mult: 1.4063492, )), )), quality: Epic, diff --git a/assets/common/items/weapons/axe/orc_axe-0.ron b/assets/common/items/weapons/axe/orc_axe-0.ron index e4955c1a45..d433aeaa96 100644 --- a/assets/common/items/weapons/axe/orc_axe-0.ron +++ b/assets/common/items/weapons/axe/orc_axe-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.083333336, - crit_mult: 2.142857, )), )), quality: Low, diff --git a/assets/common/items/weapons/axe/parashu.ron b/assets/common/items/weapons/axe/parashu.ron index 26f88d65fa..d63d22f36f 100644 --- a/assets/common/items/weapons/axe/parashu.ron +++ b/assets/common/items/weapons/axe/parashu.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.11666667, - crit_mult: 1.3918368, )), )), quality: Legendary, diff --git a/assets/common/items/weapons/axe/starter_axe.ron b/assets/common/items/weapons/axe/starter_axe.ron index 6812184161..f301d96426 100644 --- a/assets/common/items/weapons/axe/starter_axe.ron +++ b/assets/common/items/weapons/axe/starter_axe.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.09375, - crit_mult: 2.2190475, )), )), quality: Low, diff --git a/assets/common/items/weapons/axe/steel_axe-0.ron b/assets/common/items/weapons/axe/steel_axe-0.ron index 85ac3995d8..084adeca48 100644 --- a/assets/common/items/weapons/axe/steel_axe-0.ron +++ b/assets/common/items/weapons/axe/steel_axe-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/steel_axe-1.ron b/assets/common/items/weapons/axe/steel_axe-1.ron index c8b6e3d128..b639f528a9 100644 --- a/assets/common/items/weapons/axe/steel_axe-1.ron +++ b/assets/common/items/weapons/axe/steel_axe-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/steel_axe-2.ron b/assets/common/items/weapons/axe/steel_axe-2.ron index b5431b0e6b..6817b2f736 100644 --- a/assets/common/items/weapons/axe/steel_axe-2.ron +++ b/assets/common/items/weapons/axe/steel_axe-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/steel_axe-3.ron b/assets/common/items/weapons/axe/steel_axe-3.ron index f2a2b0f328..beb3e64eda 100644 --- a/assets/common/items/weapons/axe/steel_axe-3.ron +++ b/assets/common/items/weapons/axe/steel_axe-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/steel_axe-4.ron b/assets/common/items/weapons/axe/steel_axe-4.ron index 64d72ead18..f97577c524 100644 --- a/assets/common/items/weapons/axe/steel_axe-4.ron +++ b/assets/common/items/weapons/axe/steel_axe-4.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/steel_axe-5.ron b/assets/common/items/weapons/axe/steel_axe-5.ron index 14743ee9fc..b715737bdc 100644 --- a/assets/common/items/weapons/axe/steel_axe-5.ron +++ b/assets/common/items/weapons/axe/steel_axe-5.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe/steel_axe-6.ron b/assets/common/items/weapons/axe/steel_axe-6.ron index c45c6aea9e..477c807fa1 100644 --- a/assets/common/items/weapons/axe/steel_axe-6.ron +++ b/assets/common/items/weapons/axe/steel_axe-6.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe_1h/bloodsteel-0.ron b/assets/common/items/weapons/axe_1h/bloodsteel-0.ron index bac117004a..5a07d6964d 100644 --- a/assets/common/items/weapons/axe_1h/bloodsteel-0.ron +++ b/assets/common/items/weapons/axe_1h/bloodsteel-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.3, crit_chance: 0.16485508, - crit_mult: 1.4043956, )), )), quality: High, diff --git a/assets/common/items/weapons/axe_1h/bloodsteel-1.ron b/assets/common/items/weapons/axe_1h/bloodsteel-1.ron index 597253e97d..611d3a8536 100644 --- a/assets/common/items/weapons/axe_1h/bloodsteel-1.ron +++ b/assets/common/items/weapons/axe_1h/bloodsteel-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.11666667, - crit_mult: 1.4285715, )), )), quality: High, diff --git a/assets/common/items/weapons/axe_1h/bronze-0.ron b/assets/common/items/weapons/axe_1h/bronze-0.ron index bcee330ef5..c938d407ad 100644 --- a/assets/common/items/weapons/axe_1h/bronze-0.ron +++ b/assets/common/items/weapons/axe_1h/bronze-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.15714286, - crit_mult: 1.5454545, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe_1h/bronze-1.ron b/assets/common/items/weapons/axe_1h/bronze-1.ron index 1052605550..a1344ff0dd 100644 --- a/assets/common/items/weapons/axe_1h/bronze-1.ron +++ b/assets/common/items/weapons/axe_1h/bronze-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.14318182, - crit_mult: 1.5442177, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe_1h/cobalt-0.ron b/assets/common/items/weapons/axe_1h/cobalt-0.ron index f44656e288..2a8010d7fe 100644 --- a/assets/common/items/weapons/axe_1h/cobalt-0.ron +++ b/assets/common/items/weapons/axe_1h/cobalt-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1421875, - crit_mult: 1.4395604, )), )), quality: High, diff --git a/assets/common/items/weapons/axe_1h/cobalt-1.ron b/assets/common/items/weapons/axe_1h/cobalt-1.ron index 5b4d9dac8f..db1df91344 100644 --- a/assets/common/items/weapons/axe_1h/cobalt-1.ron +++ b/assets/common/items/weapons/axe_1h/cobalt-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.85, crit_chance: 0.12635136, - crit_mult: 1.4522536, )), )), quality: High, diff --git a/assets/common/items/weapons/axe_1h/iron-0.ron b/assets/common/items/weapons/axe_1h/iron-0.ron index e34a9e9bd1..5a75726ac0 100644 --- a/assets/common/items/weapons/axe_1h/iron-0.ron +++ b/assets/common/items/weapons/axe_1h/iron-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.15, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe_1h/iron-1.ron b/assets/common/items/weapons/axe_1h/iron-1.ron index 418358d782..c171943ac2 100644 --- a/assets/common/items/weapons/axe_1h/iron-1.ron +++ b/assets/common/items/weapons/axe_1h/iron-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.1257085, - crit_mult: 1.5244997, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe_1h/iron-2.ron b/assets/common/items/weapons/axe_1h/iron-2.ron index 4c60063496..8e580e7419 100644 --- a/assets/common/items/weapons/axe_1h/iron-2.ron +++ b/assets/common/items/weapons/axe_1h/iron-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.16363636, - crit_mult: 1.5238096, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe_1h/iron-3.ron b/assets/common/items/weapons/axe_1h/iron-3.ron index 3f35fd9160..4005e00d47 100644 --- a/assets/common/items/weapons/axe_1h/iron-3.ron +++ b/assets/common/items/weapons/axe_1h/iron-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe_1h/orichalcum-0.ron b/assets/common/items/weapons/axe_1h/orichalcum-0.ron index 139fbfbb3f..a9be1d5024 100644 --- a/assets/common/items/weapons/axe_1h/orichalcum-0.ron +++ b/assets/common/items/weapons/axe_1h/orichalcum-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.140625, - crit_mult: 1.4063492, )), )), quality: Epic, diff --git a/assets/common/items/weapons/axe_1h/steel-0.ron b/assets/common/items/weapons/axe_1h/steel-0.ron index 806e52b864..103daa9fe8 100644 --- a/assets/common/items/weapons/axe_1h/steel-0.ron +++ b/assets/common/items/weapons/axe_1h/steel-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.118421055, - crit_mult: 1.4825397, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe_1h/steel-1.ron b/assets/common/items/weapons/axe_1h/steel-1.ron index fc31c6d29a..0cb64201b1 100644 --- a/assets/common/items/weapons/axe_1h/steel-1.ron +++ b/assets/common/items/weapons/axe_1h/steel-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe_1h/steel-2.ron b/assets/common/items/weapons/axe_1h/steel-2.ron index 501503a19a..207e6d1c0f 100644 --- a/assets/common/items/weapons/axe_1h/steel-2.ron +++ b/assets/common/items/weapons/axe_1h/steel-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.139011, - crit_mult: 1.4743083, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/axe_1h/stone-0.ron b/assets/common/items/weapons/axe_1h/stone-0.ron index cc75d4703c..1587a3b214 100644 --- a/assets/common/items/weapons/axe_1h/stone-0.ron +++ b/assets/common/items/weapons/axe_1h/stone-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1265625, - crit_mult: 1.7054673, )), )), quality: Common, diff --git a/assets/common/items/weapons/axe_1h/stone-1.ron b/assets/common/items/weapons/axe_1h/stone-1.ron index fbd51a6574..446c71ca30 100644 --- a/assets/common/items/weapons/axe_1h/stone-1.ron +++ b/assets/common/items/weapons/axe_1h/stone-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.14311224, - crit_mult: 1.7130125, )), )), quality: Common, diff --git a/assets/common/items/weapons/axe_1h/wood-0.ron b/assets/common/items/weapons/axe_1h/wood-0.ron index 870ee80ed4..d6b6d8afdc 100644 --- a/assets/common/items/weapons/axe_1h/wood-0.ron +++ b/assets/common/items/weapons/axe_1h/wood-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.0625, - crit_mult: 2.142857, )), )), quality: Low, diff --git a/assets/common/items/weapons/axe_1h/wood-1.ron b/assets/common/items/weapons/axe_1h/wood-1.ron index 7e10e7d091..e99b87339d 100644 --- a/assets/common/items/weapons/axe_1h/wood-1.ron +++ b/assets/common/items/weapons/axe_1h/wood-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.09821428, - crit_mult: 2.1636364, )), )), quality: Low, diff --git a/assets/common/items/weapons/bow/bone-0.ron b/assets/common/items/weapons/bow/bone-0.ron index 0d883844f2..f3e306bd84 100644 --- a/assets/common/items/weapons/bow/bone-0.ron +++ b/assets/common/items/weapons/bow/bone-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.1, crit_chance: 0.16587302, - crit_mult: 1.5741627, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/bone-1.ron b/assets/common/items/weapons/bow/bone-1.ron index 14b317cb75..1f54e07a31 100644 --- a/assets/common/items/weapons/bow/bone-1.ron +++ b/assets/common/items/weapons/bow/bone-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.8, crit_chance: 0.12222222, - crit_mult: 1.5844156, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/bone-2.ron b/assets/common/items/weapons/bow/bone-2.ron index b5cefe5326..0979e619e9 100644 --- a/assets/common/items/weapons/bow/bone-2.ron +++ b/assets/common/items/weapons/bow/bone-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.0, crit_chance: 0.15, - crit_mult: 1.5714285, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/bone-3.ron b/assets/common/items/weapons/bow/bone-3.ron index f5de95bd96..1e126ffc55 100644 --- a/assets/common/items/weapons/bow/bone-3.ron +++ b/assets/common/items/weapons/bow/bone-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.9, crit_chance: 0.13564593, - crit_mult: 1.574452, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/eldwood-0.ron b/assets/common/items/weapons/bow/eldwood-0.ron index 50a2cc71df..5702dc5700 100644 --- a/assets/common/items/weapons/bow/eldwood-0.ron +++ b/assets/common/items/weapons/bow/eldwood-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.0, crit_chance: 0.13611111, - crit_mult: 1.4081633, )), )), quality: High, diff --git a/assets/common/items/weapons/bow/eldwood-1.ron b/assets/common/items/weapons/bow/eldwood-1.ron index f4aafb476c..798eda59c9 100644 --- a/assets/common/items/weapons/bow/eldwood-1.ron +++ b/assets/common/items/weapons/bow/eldwood-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.2, crit_chance: 0.15511364, - crit_mult: 1.4029304, )), )), quality: High, diff --git a/assets/common/items/weapons/bow/eldwood-2.ron b/assets/common/items/weapons/bow/eldwood-2.ron index eed0ee14d1..9db2eee8e5 100644 --- a/assets/common/items/weapons/bow/eldwood-2.ron +++ b/assets/common/items/weapons/bow/eldwood-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.8, crit_chance: 0.11666667, - crit_mult: 1.4285715, )), )), quality: High, diff --git a/assets/common/items/weapons/bow/frostwood-0.ron b/assets/common/items/weapons/bow/frostwood-0.ron index e3b975332d..1752b4861a 100644 --- a/assets/common/items/weapons/bow/frostwood-0.ron +++ b/assets/common/items/weapons/bow/frostwood-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.2, crit_chance: 0.16363636, - crit_mult: 1.4365079, )), )), quality: High, diff --git a/assets/common/items/weapons/bow/frostwood-1.ron b/assets/common/items/weapons/bow/frostwood-1.ron index 84a1c86da1..f432fa922d 100644 --- a/assets/common/items/weapons/bow/frostwood-1.ron +++ b/assets/common/items/weapons/bow/frostwood-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.0, crit_chance: 0.1421875, - crit_mult: 1.4395604, )), )), quality: High, diff --git a/assets/common/items/weapons/bow/frostwood-2.ron b/assets/common/items/weapons/bow/frostwood-2.ron index 2d8f704603..41ec4312e1 100644 --- a/assets/common/items/weapons/bow/frostwood-2.ron +++ b/assets/common/items/weapons/bow/frostwood-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.9, crit_chance: 0.13165635, - crit_mult: 1.4467961, )), )), quality: High, diff --git a/assets/common/items/weapons/bow/hardwood-0.ron b/assets/common/items/weapons/bow/hardwood-0.ron index 60639c86ea..d5d7c96517 100644 --- a/assets/common/items/weapons/bow/hardwood-0.ron +++ b/assets/common/items/weapons/bow/hardwood-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/hardwood-1.ron b/assets/common/items/weapons/bow/hardwood-1.ron index f4afdabc55..f87d8f0a51 100644 --- a/assets/common/items/weapons/bow/hardwood-1.ron +++ b/assets/common/items/weapons/bow/hardwood-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.8, crit_chance: 0.114285715, - crit_mult: 1.5357143, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/hardwood-2.ron b/assets/common/items/weapons/bow/hardwood-2.ron index c972db1ae6..4813101ffe 100644 --- a/assets/common/items/weapons/bow/hardwood-2.ron +++ b/assets/common/items/weapons/bow/hardwood-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.1, crit_chance: 0.15, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/hardwood-3.ron b/assets/common/items/weapons/bow/hardwood-3.ron index 7668554163..75407c781c 100644 --- a/assets/common/items/weapons/bow/hardwood-3.ron +++ b/assets/common/items/weapons/bow/hardwood-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.3, crit_chance: 0.1789855, - crit_mult: 1.5320995, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/hardwood-4.ron b/assets/common/items/weapons/bow/hardwood-4.ron index 8222e3dbce..3984a975fd 100644 --- a/assets/common/items/weapons/bow/hardwood-4.ron +++ b/assets/common/items/weapons/bow/hardwood-4.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.2, crit_chance: 0.16363636, - crit_mult: 1.5238096, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/hardwood-5.ron b/assets/common/items/weapons/bow/hardwood-5.ron index 4acb8514e2..c18fef9bce 100644 --- a/assets/common/items/weapons/bow/hardwood-5.ron +++ b/assets/common/items/weapons/bow/hardwood-5.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.9, crit_chance: 0.1257085, - crit_mult: 1.5244997, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/metal-0.ron b/assets/common/items/weapons/bow/metal-0.ron index 5fbdd37fe7..d433134754 100644 --- a/assets/common/items/weapons/bow/metal-0.ron +++ b/assets/common/items/weapons/bow/metal-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/metal-1.ron b/assets/common/items/weapons/bow/metal-1.ron index 9ad9192228..5550a20e6e 100644 --- a/assets/common/items/weapons/bow/metal-1.ron +++ b/assets/common/items/weapons/bow/metal-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.2, crit_chance: 0.15, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/metal-2.ron b/assets/common/items/weapons/bow/metal-2.ron index d4beb858ac..f6dcc40148 100644 --- a/assets/common/items/weapons/bow/metal-2.ron +++ b/assets/common/items/weapons/bow/metal-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.1, crit_chance: 0.139011, - crit_mult: 1.4743083, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/metal-3.ron b/assets/common/items/weapons/bow/metal-3.ron index 4f7007bdab..8862df6dae 100644 --- a/assets/common/items/weapons/bow/metal-3.ron +++ b/assets/common/items/weapons/bow/metal-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.9, crit_chance: 0.118421055, - crit_mult: 1.4825397, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/metal-4.ron b/assets/common/items/weapons/bow/metal-4.ron index c66abeeee8..1deaa4e3a6 100644 --- a/assets/common/items/weapons/bow/metal-4.ron +++ b/assets/common/items/weapons/bow/metal-4.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.8, crit_chance: 0.108333334, - crit_mult: 1.4945055, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/bow/rawwood-0.ron b/assets/common/items/weapons/bow/rawwood-0.ron index da5ec9ba3b..8d3d5467ae 100644 --- a/assets/common/items/weapons/bow/rawwood-0.ron +++ b/assets/common/items/weapons/bow/rawwood-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.9, crit_chance: 0.0718985, - crit_mult: 2.1353874, )), )), quality: Low, diff --git a/assets/common/items/weapons/bow/rawwood-1.ron b/assets/common/items/weapons/bow/rawwood-1.ron index e76baf06b2..f1863b39cf 100644 --- a/assets/common/items/weapons/bow/rawwood-1.ron +++ b/assets/common/items/weapons/bow/rawwood-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.0, crit_chance: 0.083333336, - crit_mult: 2.142857, )), )), quality: Low, diff --git a/assets/common/items/weapons/bow/sagitta.ron b/assets/common/items/weapons/bow/sagitta.ron index 46586c2264..22199a6eba 100644 --- a/assets/common/items/weapons/bow/sagitta.ron +++ b/assets/common/items/weapons/bow/sagitta.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.8, crit_chance: 0.11666667, - crit_mult: 1.3918368, )), )), quality: Legendary, diff --git a/assets/common/items/weapons/bow/starter.ron b/assets/common/items/weapons/bow/starter.ron index 96cf3af1ac..ce5931ae19 100644 --- a/assets/common/items/weapons/bow/starter.ron +++ b/assets/common/items/weapons/bow/starter.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.3, speed: 1.0, crit_chance: 0.09375, - crit_mult: 2.2190475, )), )), quality: Low, diff --git a/assets/common/items/weapons/bow/velorite.ron b/assets/common/items/weapons/bow/velorite.ron index 0560073830..c04eb1a6dc 100644 --- a/assets/common/items/weapons/bow/velorite.ron +++ b/assets/common/items/weapons/bow/velorite.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.1, speed: 1.0, crit_chance: 0.140625, - crit_mult: 1.4063492, )), )), quality: Epic, diff --git a/assets/common/items/weapons/bow/wood-0.ron b/assets/common/items/weapons/bow/wood-0.ron index b2eedd0251..ef90149cc8 100644 --- a/assets/common/items/weapons/bow/wood-0.ron +++ b/assets/common/items/weapons/bow/wood-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.9, crit_chance: 0.0625, - crit_mult: 2.015873, )), )), quality: Low, diff --git a/assets/common/items/weapons/bow/wood-1.ron b/assets/common/items/weapons/bow/wood-1.ron index 010e68354f..31afce2446 100644 --- a/assets/common/items/weapons/bow/wood-1.ron +++ b/assets/common/items/weapons/bow/wood-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.1, crit_chance: 0.0795068, - crit_mult: 2.026738, )), )), quality: Low, diff --git a/assets/common/items/weapons/bow/wood-2.ron b/assets/common/items/weapons/bow/wood-2.ron index f9ba117316..d579323e11 100644 --- a/assets/common/items/weapons/bow/wood-2.ron +++ b/assets/common/items/weapons/bow/wood-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.0, crit_chance: 0.0703125, - crit_mult: 2.015873, )), )), quality: Low, diff --git a/assets/common/items/weapons/bow/wood-3.ron b/assets/common/items/weapons/bow/wood-3.ron index 7d70b8b9d6..3a4ab777f3 100644 --- a/assets/common/items/weapons/bow/wood-3.ron +++ b/assets/common/items/weapons/bow/wood-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 0.8, crit_chance: 0.055555556, - crit_mult: 2.0285714, )), )), quality: Low, diff --git a/assets/common/items/weapons/bow/wood-4.ron b/assets/common/items/weapons/bow/wood-4.ron index c55217cbb8..b67eb12327 100644 --- a/assets/common/items/weapons/bow/wood-4.ron +++ b/assets/common/items/weapons/bow/wood-4.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.8, speed: 1.2, crit_chance: 0.09090909, - crit_mult: 2.047619, )), )), quality: Low, diff --git a/assets/common/items/weapons/dagger/basic_0.ron b/assets/common/items/weapons/dagger/basic_0.ron index b71682b99b..542749fa11 100644 --- a/assets/common/items/weapons/dagger/basic_0.ron +++ b/assets/common/items/weapons/dagger/basic_0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 2.0, speed: 1.0, crit_chance: 0.13611111, - crit_mult: 1.4081633, )), )), quality: High, diff --git a/assets/common/items/weapons/dagger/cultist_0.ron b/assets/common/items/weapons/dagger/cultist_0.ron index fb89b4d114..0d4f960629 100644 --- a/assets/common/items/weapons/dagger/cultist_0.ron +++ b/assets/common/items/weapons/dagger/cultist_0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.140625, - crit_mult: 1.4063492, )), )), quality: Epic, diff --git a/assets/common/items/weapons/dagger/starter_dagger.ron b/assets/common/items/weapons/dagger/starter_dagger.ron index 9aafcdef34..abcb3ae9be 100644 --- a/assets/common/items/weapons/dagger/starter_dagger.ron +++ b/assets/common/items/weapons/dagger/starter_dagger.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.5, speed: 1.0, crit_chance: 0.15, - crit_mult: 1.5714285, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/empty/empty.ron b/assets/common/items/weapons/empty/empty.ron index fe107cebfa..63128668ff 100644 --- a/assets/common/items/weapons/empty/empty.ron +++ b/assets/common/items/weapons/empty/empty.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0625, - crit_mult: 1.9142857, )), )), quality: Low, diff --git a/assets/common/items/weapons/hammer/bronze_hammer-0.ron b/assets/common/items/weapons/hammer/bronze_hammer-0.ron index 1a7b47a357..d9e321e06e 100644 --- a/assets/common/items/weapons/hammer/bronze_hammer-0.ron +++ b/assets/common/items/weapons/hammer/bronze_hammer-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer/bronze_hammer-1.ron b/assets/common/items/weapons/hammer/bronze_hammer-1.ron index 3130d6306c..5ccc45e301 100644 --- a/assets/common/items/weapons/hammer/bronze_hammer-1.ron +++ b/assets/common/items/weapons/hammer/bronze_hammer-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer/burnt_drumstick.ron b/assets/common/items/weapons/hammer/burnt_drumstick.ron new file mode 100644 index 0000000000..c381899237 --- /dev/null +++ b/assets/common/items/weapons/hammer/burnt_drumstick.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Burnt Drumstick", + description: "Might need more practice...", + kind: Tool(( + kind: Hammer, + hands: Two, + stats: Direct(( + equip_time_secs: 0.5, + power: 0.5, + poise_strength: 1.0, + speed: 1.0, + crit_chance: 0.09375, + )), + )), + quality: Low, + tags: [], +) \ No newline at end of file diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron index d1f3b4abdf..d059e46fc9 100644 --- a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron +++ b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.121875, - crit_mult: 1.4395604, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron index 3238bf08b3..e903894101 100644 --- a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron +++ b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.121875, - crit_mult: 1.4395604, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron index a83d76d85b..34945956bf 100644 --- a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron +++ b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.140625, - crit_mult: 1.4063492, )), )), quality: Epic, diff --git a/assets/common/items/weapons/hammer/flimsy_hammer.ron b/assets/common/items/weapons/hammer/flimsy_hammer.ron index a34be22bb7..178fe6c2a9 100644 --- a/assets/common/items/weapons/hammer/flimsy_hammer.ron +++ b/assets/common/items/weapons/hammer/flimsy_hammer.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.09375, - crit_mult: 2.2190475, )), )), quality: Low, diff --git a/assets/common/items/weapons/hammer/hammer_1.ron b/assets/common/items/weapons/hammer/hammer_1.ron index 53a3fb5242..677816e836 100644 --- a/assets/common/items/weapons/hammer/hammer_1.ron +++ b/assets/common/items/weapons/hammer/hammer_1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.09375, - crit_mult: 2.2190475, )), )), quality: Low, diff --git a/assets/common/items/weapons/hammer/iron_hammer-0.ron b/assets/common/items/weapons/hammer/iron_hammer-0.ron index 2e09ac6219..493159c1e5 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-0.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.103125, - crit_mult: 1.5772005, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer/iron_hammer-1.ron b/assets/common/items/weapons/hammer/iron_hammer-1.ron index 546e636e0d..c478de7e6e 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-1.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.103125, - crit_mult: 1.5772005, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer/iron_hammer-2.ron b/assets/common/items/weapons/hammer/iron_hammer-2.ron index c8f42fbc8b..de5092a3d8 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-2.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.103125, - crit_mult: 1.5772005, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer/iron_hammer-3.ron b/assets/common/items/weapons/hammer/iron_hammer-3.ron index 462fba0963..ada59ff373 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-3.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.103125, - crit_mult: 1.5772005, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer/iron_hammer-4.ron b/assets/common/items/weapons/hammer/iron_hammer-4.ron index 4fbe1141f0..785af299e7 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-4.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-4.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.103125, - crit_mult: 1.5772005, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer/iron_hammer-5.ron b/assets/common/items/weapons/hammer/iron_hammer-5.ron index 4bb9c91459..2f34366c66 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-5.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-5.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.103125, - crit_mult: 1.5772005, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer/iron_hammer-6.ron b/assets/common/items/weapons/hammer/iron_hammer-6.ron index 844f188e28..4ae906961b 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-6.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-6.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.103125, - crit_mult: 1.5772005, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer/iron_hammer-7.ron b/assets/common/items/weapons/hammer/iron_hammer-7.ron index baa6094fba..8412684598 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-7.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-7.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.103125, - crit_mult: 1.5772005, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer/iron_hammer-8.ron b/assets/common/items/weapons/hammer/iron_hammer-8.ron index 2561792269..bfb9351d15 100644 --- a/assets/common/items/weapons/hammer/iron_hammer-8.ron +++ b/assets/common/items/weapons/hammer/iron_hammer-8.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.103125, - crit_mult: 1.5772005, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer/mjolnir.ron b/assets/common/items/weapons/hammer/mjolnir.ron index cd812ba36a..840103d505 100644 --- a/assets/common/items/weapons/hammer/mjolnir.ron +++ b/assets/common/items/weapons/hammer/mjolnir.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.078125, - crit_mult: 1.3657143, )), )), quality: Legendary, diff --git a/assets/common/items/weapons/hammer/ramshead_hammer.ron b/assets/common/items/weapons/hammer/ramshead_hammer.ron index 68d29e8dd6..0574ef62eb 100644 --- a/assets/common/items/weapons/hammer/ramshead_hammer.ron +++ b/assets/common/items/weapons/hammer/ramshead_hammer.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.13611111, - crit_mult: 1.4081633, )), )), quality: High, diff --git a/assets/common/items/weapons/hammer/runic_hammer.ron b/assets/common/items/weapons/hammer/runic_hammer.ron index 5ae5ba8bc0..be55b1e0c4 100644 --- a/assets/common/items/weapons/hammer/runic_hammer.ron +++ b/assets/common/items/weapons/hammer/runic_hammer.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.13611111, - crit_mult: 1.4081633, )), )), quality: High, diff --git a/assets/common/items/weapons/hammer/starter_hammer.ron b/assets/common/items/weapons/hammer/starter_hammer.ron index c6fcef84a5..7daaf9ee8d 100644 --- a/assets/common/items/weapons/hammer/starter_hammer.ron +++ b/assets/common/items/weapons/hammer/starter_hammer.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.09375, - crit_mult: 2.2190475, )), )), quality: Low, diff --git a/assets/common/items/weapons/hammer/steel_hammer-0.ron b/assets/common/items/weapons/hammer/steel_hammer-0.ron index 1f35a09234..b0cefa97c7 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-0.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer/steel_hammer-1.ron b/assets/common/items/weapons/hammer/steel_hammer-1.ron index 5155717fb5..30b1104f95 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-1.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer/steel_hammer-2.ron b/assets/common/items/weapons/hammer/steel_hammer-2.ron index 7900da36fc..41957d11cb 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-2.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer/steel_hammer-3.ron b/assets/common/items/weapons/hammer/steel_hammer-3.ron index a0d3749f6a..fc1bbd882e 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-3.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer/steel_hammer-4.ron b/assets/common/items/weapons/hammer/steel_hammer-4.ron index 977c389ea8..c6399b73cf 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-4.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-4.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer/steel_hammer-5.ron b/assets/common/items/weapons/hammer/steel_hammer-5.ron index 614c5c0b1e..741372a33d 100644 --- a/assets/common/items/weapons/hammer/steel_hammer-5.ron +++ b/assets/common/items/weapons/hammer/steel_hammer-5.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer/stone_hammer-0.ron b/assets/common/items/weapons/hammer/stone_hammer-0.ron index 8962c74407..2d6e33bbf2 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-0.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.07589286, - crit_mult: 2.0756302, )), )), quality: Low, diff --git a/assets/common/items/weapons/hammer/stone_hammer-1.ron b/assets/common/items/weapons/hammer/stone_hammer-1.ron index d30122ff3c..416cdafb0b 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-1.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.07589286, - crit_mult: 2.0756302, )), )), quality: Low, diff --git a/assets/common/items/weapons/hammer/stone_hammer-2.ron b/assets/common/items/weapons/hammer/stone_hammer-2.ron index 9700086d48..fd17acc7b0 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-2.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.07589286, - crit_mult: 2.0756302, )), )), quality: Low, diff --git a/assets/common/items/weapons/hammer/stone_hammer-3.ron b/assets/common/items/weapons/hammer/stone_hammer-3.ron index 85debbe94a..54bcf0c834 100644 --- a/assets/common/items/weapons/hammer/stone_hammer-3.ron +++ b/assets/common/items/weapons/hammer/stone_hammer-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.07589286, - crit_mult: 2.0756302, )), )), quality: Low, diff --git a/assets/common/items/weapons/hammer/wood_hammer-0.ron b/assets/common/items/weapons/hammer/wood_hammer-0.ron index 6db1eb0258..fff231d21c 100644 --- a/assets/common/items/weapons/hammer/wood_hammer-0.ron +++ b/assets/common/items/weapons/hammer/wood_hammer-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.083333336, - crit_mult: 2.142857, )), )), quality: Low, diff --git a/assets/common/items/weapons/hammer_1h/bloodsteel-0.ron b/assets/common/items/weapons/hammer_1h/bloodsteel-0.ron index f804afc650..b4c4b417f6 100644 --- a/assets/common/items/weapons/hammer_1h/bloodsteel-0.ron +++ b/assets/common/items/weapons/hammer_1h/bloodsteel-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.15511364, - crit_mult: 1.4029304, )), )), quality: High, diff --git a/assets/common/items/weapons/hammer_1h/bloodsteel-1.ron b/assets/common/items/weapons/hammer_1h/bloodsteel-1.ron index aef1e3b911..80c3b29343 100644 --- a/assets/common/items/weapons/hammer_1h/bloodsteel-1.ron +++ b/assets/common/items/weapons/hammer_1h/bloodsteel-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.13611111, - crit_mult: 1.4081633, )), )), quality: High, diff --git a/assets/common/items/weapons/hammer_1h/bronze-0.ron b/assets/common/items/weapons/hammer_1h/bronze-0.ron index 8217a342e6..5eab1d3d15 100644 --- a/assets/common/items/weapons/hammer_1h/bronze-0.ron +++ b/assets/common/items/weapons/hammer_1h/bronze-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.12222222, - crit_mult: 1.5844156, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer_1h/bronze-1.ron b/assets/common/items/weapons/hammer_1h/bronze-1.ron index 4caab46aea..e8f036ad28 100644 --- a/assets/common/items/weapons/hammer_1h/bronze-1.ron +++ b/assets/common/items/weapons/hammer_1h/bronze-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.15, - crit_mult: 1.5714285, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer_1h/cobalt-0.ron b/assets/common/items/weapons/hammer_1h/cobalt-0.ron index 1d8107132e..cca11c6d2a 100644 --- a/assets/common/items/weapons/hammer_1h/cobalt-0.ron +++ b/assets/common/items/weapons/hammer_1h/cobalt-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1421875, - crit_mult: 1.4395604, )), )), quality: High, diff --git a/assets/common/items/weapons/hammer_1h/cobalt-1.ron b/assets/common/items/weapons/hammer_1h/cobalt-1.ron index 6302c95890..443788f7d5 100644 --- a/assets/common/items/weapons/hammer_1h/cobalt-1.ron +++ b/assets/common/items/weapons/hammer_1h/cobalt-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.15277778, - crit_mult: 1.4363636, )), )), quality: High, diff --git a/assets/common/items/weapons/hammer_1h/iron-0.ron b/assets/common/items/weapons/hammer_1h/iron-0.ron index f46369fa25..91ddc5343e 100644 --- a/assets/common/items/weapons/hammer_1h/iron-0.ron +++ b/assets/common/items/weapons/hammer_1h/iron-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.114285715, - crit_mult: 1.5357143, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer_1h/iron-1.ron b/assets/common/items/weapons/hammer_1h/iron-1.ron index 1029f7c244..d1e9838df6 100644 --- a/assets/common/items/weapons/hammer_1h/iron-1.ron +++ b/assets/common/items/weapons/hammer_1h/iron-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.1257085, - crit_mult: 1.5244997, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer_1h/iron-2.ron b/assets/common/items/weapons/hammer_1h/iron-2.ron index 423f3923f9..2b9be64b41 100644 --- a/assets/common/items/weapons/hammer_1h/iron-2.ron +++ b/assets/common/items/weapons/hammer_1h/iron-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.15, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer_1h/orichalcum-0.ron b/assets/common/items/weapons/hammer_1h/orichalcum-0.ron index e9fdcbb5ca..5ada9501c8 100644 --- a/assets/common/items/weapons/hammer_1h/orichalcum-0.ron +++ b/assets/common/items/weapons/hammer_1h/orichalcum-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.140625, - crit_mult: 1.4063492, )), )), quality: Epic, diff --git a/assets/common/items/weapons/hammer_1h/steel-0.ron b/assets/common/items/weapons/hammer_1h/steel-0.ron index 27e1afd921..7eae425c6f 100644 --- a/assets/common/items/weapons/hammer_1h/steel-0.ron +++ b/assets/common/items/weapons/hammer_1h/steel-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.118421055, - crit_mult: 1.4825397, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer_1h/steel-1.ron b/assets/common/items/weapons/hammer_1h/steel-1.ron index cd17a85033..305b4819ae 100644 --- a/assets/common/items/weapons/hammer_1h/steel-1.ron +++ b/assets/common/items/weapons/hammer_1h/steel-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer_1h/steel-2.ron b/assets/common/items/weapons/hammer_1h/steel-2.ron index c9db5704a4..c4079c4da2 100644 --- a/assets/common/items/weapons/hammer_1h/steel-2.ron +++ b/assets/common/items/weapons/hammer_1h/steel-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.15, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/hammer_1h/stone-0.ron b/assets/common/items/weapons/hammer_1h/stone-0.ron index 38934fefe6..b3229fbc20 100644 --- a/assets/common/items/weapons/hammer_1h/stone-0.ron +++ b/assets/common/items/weapons/hammer_1h/stone-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.14311224, - crit_mult: 1.7130125, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer_1h/stone-1.ron b/assets/common/items/weapons/hammer_1h/stone-1.ron index 92dcc31ab7..1c0c89c54f 100644 --- a/assets/common/items/weapons/hammer_1h/stone-1.ron +++ b/assets/common/items/weapons/hammer_1h/stone-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.1, - crit_mult: 1.7142857, )), )), quality: Common, diff --git a/assets/common/items/weapons/hammer_1h/wood-0.ron b/assets/common/items/weapons/hammer_1h/wood-0.ron index af37f2cbae..ae2042accb 100644 --- a/assets/common/items/weapons/hammer_1h/wood-0.ron +++ b/assets/common/items/weapons/hammer_1h/wood-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.0625, - crit_mult: 2.142857, )), )), quality: Low, diff --git a/assets/common/items/weapons/hammer_1h/wood-1.ron b/assets/common/items/weapons/hammer_1h/wood-1.ron index add7ab2a07..7d0b0e0c59 100644 --- a/assets/common/items/weapons/hammer_1h/wood-1.ron +++ b/assets/common/items/weapons/hammer_1h/wood-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.09821428, - crit_mult: 2.1636364, )), )), quality: Low, diff --git a/assets/common/items/weapons/sceptre/amethyst.ron b/assets/common/items/weapons/sceptre/amethyst.ron index c7777bc276..09a1b72499 100644 --- a/assets/common/items/weapons/sceptre/amethyst.ron +++ b/assets/common/items/weapons/sceptre/amethyst.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 1.2, crit_chance: 0.088125, - crit_mult: 1.3857143, )), )), quality: Epic, diff --git a/assets/common/items/weapons/sceptre/caduceus.ron b/assets/common/items/weapons/sceptre/caduceus.ron index 2e0e790e50..e837fdd575 100644 --- a/assets/common/items/weapons/sceptre/caduceus.ron +++ b/assets/common/items/weapons/sceptre/caduceus.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 1.2, crit_chance: 0.078125, - crit_mult: 1.3657143, )), )), quality: Legendary, diff --git a/assets/common/items/weapons/sceptre/coralline_cane.ron b/assets/common/items/weapons/sceptre/coralline_cane.ron index 6dd881bd16..efe78871b0 100644 --- a/assets/common/items/weapons/sceptre/coralline_cane.ron +++ b/assets/common/items/weapons/sceptre/coralline_cane.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 1.0, crit_chance: 0.14666667, - crit_mult: 1.4285715, )), )), quality: High, diff --git a/assets/common/items/weapons/sceptre/divine_gohei.ron b/assets/common/items/weapons/sceptre/divine_gohei.ron index 27b61b67a0..5ea15a60c1 100644 --- a/assets/common/items/weapons/sceptre/divine_gohei.ron +++ b/assets/common/items/weapons/sceptre/divine_gohei.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 0.8, crit_chance: 0.0809375, - crit_mult: 1.7326007, )), )), quality: Common, diff --git a/assets/common/items/weapons/sceptre/druids_arbor.ron b/assets/common/items/weapons/sceptre/druids_arbor.ron index f3b5c62f07..99fa835657 100644 --- a/assets/common/items/weapons/sceptre/druids_arbor.ron +++ b/assets/common/items/weapons/sceptre/druids_arbor.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 1.1, crit_chance: 0.055102043, - crit_mult: 1.4444444, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sceptre/emerald.ron b/assets/common/items/weapons/sceptre/emerald.ron index 3a99b0e8ad..ac3eef1626 100644 --- a/assets/common/items/weapons/sceptre/emerald.ron +++ b/assets/common/items/weapons/sceptre/emerald.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.140625, - crit_mult: 1.4063492, )), )), quality: Epic, diff --git a/assets/common/items/weapons/sceptre/fork0.ron b/assets/common/items/weapons/sceptre/fork0.ron index 91d4fa94c6..e3856e04d3 100644 --- a/assets/common/items/weapons/sceptre/fork0.ron +++ b/assets/common/items/weapons/sceptre/fork0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 0.8, crit_chance: 0.11666667, - crit_mult: 1.4285715, )), )), quality: High, diff --git a/assets/common/items/weapons/sceptre/loops0.ron b/assets/common/items/weapons/sceptre/loops0.ron index ff0c26e0c6..d29243a9a2 100644 --- a/assets/common/items/weapons/sceptre/loops0.ron +++ b/assets/common/items/weapons/sceptre/loops0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 1.3, crit_chance: 0.1925, - crit_mult: 1.4329004, )), )), quality: High, diff --git a/assets/common/items/weapons/sceptre/moon0.ron b/assets/common/items/weapons/sceptre/moon0.ron index d49039bf58..c1e8f7ccf4 100644 --- a/assets/common/items/weapons/sceptre/moon0.ron +++ b/assets/common/items/weapons/sceptre/moon0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 0.9, crit_chance: 0.0609375, - crit_mult: 1.7326007, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sceptre/root_evil.ron b/assets/common/items/weapons/sceptre/root_evil.ron index dd26418355..32737af908 100644 --- a/assets/common/items/weapons/sceptre/root_evil.ron +++ b/assets/common/items/weapons/sceptre/root_evil.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.078125, - crit_mult: 1.3657143, )), )), quality: Legendary, diff --git a/assets/common/items/weapons/sceptre/root_green0.ron b/assets/common/items/weapons/sceptre/root_green0.ron index f8b8baf1f1..e8ce02c3ac 100644 --- a/assets/common/items/weapons/sceptre/root_green0.ron +++ b/assets/common/items/weapons/sceptre/root_green0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 1.1, crit_chance: 0.055102043, - crit_mult: 1.4444444, )), )), quality: Low, diff --git a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron index d650b11ada..0be83abc30 100644 --- a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron +++ b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 1.0, crit_chance: 0.21153846, - crit_mult: 1.4502164, )), )), quality: Epic, diff --git a/assets/common/items/weapons/sceptre/staff_nature.ron b/assets/common/items/weapons/sceptre/staff_nature.ron index 45196aff82..ccdc5fa6f1 100644 --- a/assets/common/items/weapons/sceptre/staff_nature.ron +++ b/assets/common/items/weapons/sceptre/staff_nature.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.5, speed: 1.1, crit_chance: 0.16491365, - crit_mult: 1.5711566, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sceptre/starter_sceptre.ron b/assets/common/items/weapons/sceptre/starter_sceptre.ron index f1cee856b6..4cb89c1373 100644 --- a/assets/common/items/weapons/sceptre/starter_sceptre.ron +++ b/assets/common/items/weapons/sceptre/starter_sceptre.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 0.1, speed: 1.0, crit_chance: 0.09375, - crit_mult: 2.2190475, )), )), quality: Low, diff --git a/assets/common/items/weapons/sceptre/totem_green.ron b/assets/common/items/weapons/sceptre/totem_green.ron index 767939a495..272a81a86f 100644 --- a/assets/common/items/weapons/sceptre/totem_green.ron +++ b/assets/common/items/weapons/sceptre/totem_green.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 1.2, crit_chance: 0.16363636, - crit_mult: 1.5238096, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/shield/shield_1.ron b/assets/common/items/weapons/shield/shield_1.ron index 5d4c8874a0..d95484e01b 100644 --- a/assets/common/items/weapons/shield/shield_1.ron +++ b/assets/common/items/weapons/shield/shield_1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/staff/aurora.ron b/assets/common/items/weapons/staff/aurora.ron index a8f82f2258..d07070f0a3 100644 --- a/assets/common/items/weapons/staff/aurora.ron +++ b/assets/common/items/weapons/staff/aurora.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.2625, - crit_mult: 1.4761904, )), )), quality: High, diff --git a/assets/common/items/weapons/staff/bent_fuse.ron b/assets/common/items/weapons/staff/bent_fuse.ron index ab06866888..7a8850d61e 100644 --- a/assets/common/items/weapons/staff/bent_fuse.ron +++ b/assets/common/items/weapons/staff/bent_fuse.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.7, crit_chance: 0.17045455, - crit_mult: 1.4469842, )), )), quality: Low, diff --git a/assets/common/items/weapons/staff/bone_staff.ron b/assets/common/items/weapons/staff/bone_staff.ron index c3b786aff3..a036d26da2 100644 --- a/assets/common/items/weapons/staff/bone_staff.ron +++ b/assets/common/items/weapons/staff/bone_staff.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Low, diff --git a/assets/common/items/weapons/staff/crimson_eye.ron b/assets/common/items/weapons/staff/crimson_eye.ron index 6039aa9ea2..b72c9626ab 100644 --- a/assets/common/items/weapons/staff/crimson_eye.ron +++ b/assets/common/items/weapons/staff/crimson_eye.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.125, - crit_mult: 1.4571428, )), )), quality: Low, diff --git a/assets/common/items/weapons/staff/cultist_staff.ron b/assets/common/items/weapons/staff/cultist_staff.ron index 6a75d645dc..095d9bca53 100644 --- a/assets/common/items/weapons/staff/cultist_staff.ron +++ b/assets/common/items/weapons/staff/cultist_staff.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.140625, - crit_mult: 1.4063492, )), )), quality: Epic, diff --git a/assets/common/items/weapons/staff/dragon_tongue.ron b/assets/common/items/weapons/staff/dragon_tongue.ron index bc5f5ea7d9..a4b407bf2a 100644 --- a/assets/common/items/weapons/staff/dragon_tongue.ron +++ b/assets/common/items/weapons/staff/dragon_tongue.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.2625, - crit_mult: 1.4761904, )), )), quality: Epic, diff --git a/assets/common/items/weapons/staff/fiery_wishing_rod.ron b/assets/common/items/weapons/staff/fiery_wishing_rod.ron index a9bc27341a..d18ddf3730 100644 --- a/assets/common/items/weapons/staff/fiery_wishing_rod.ron +++ b/assets/common/items/weapons/staff/fiery_wishing_rod.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.11111111, - crit_mult: 1.5142857, )), )), quality: Common, diff --git a/assets/common/items/weapons/staff/flamethrower_0.ron b/assets/common/items/weapons/staff/flamethrower_0.ron index 3244bcbd08..118ad667d2 100644 --- a/assets/common/items/weapons/staff/flamethrower_0.ron +++ b/assets/common/items/weapons/staff/flamethrower_0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.113131315, - crit_mult: 1.4017857, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/staff/frostwood_torch.ron b/assets/common/items/weapons/staff/frostwood_torch.ron index ca3280d0c7..c98cee1a50 100644 --- a/assets/common/items/weapons/staff/frostwood_torch.ron +++ b/assets/common/items/weapons/staff/frostwood_torch.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.134379086, - crit_mult: 1.4114286, )), )), quality: High, diff --git a/assets/common/items/weapons/staff/golden_khakkara.ron b/assets/common/items/weapons/staff/golden_khakkara.ron index 677abccdc9..e5193e2906 100644 --- a/assets/common/items/weapons/staff/golden_khakkara.ron +++ b/assets/common/items/weapons/staff/golden_khakkara.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.115, - crit_mult: 1.4571428, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/staff/heated_arm.ron b/assets/common/items/weapons/staff/heated_arm.ron index d7bd74282e..c562dfb74a 100644 --- a/assets/common/items/weapons/staff/heated_arm.ron +++ b/assets/common/items/weapons/staff/heated_arm.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.15, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/staff/infused_tower.ron b/assets/common/items/weapons/staff/infused_tower.ron index e0cbe2c965..6434346811 100644 --- a/assets/common/items/weapons/staff/infused_tower.ron +++ b/assets/common/items/weapons/staff/infused_tower.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.18715277, - crit_mult: 1.445269, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/staff/laevateinn.ron b/assets/common/items/weapons/staff/laevateinn.ron index 9b7fca332b..d00a370fe3 100644 --- a/assets/common/items/weapons/staff/laevateinn.ron +++ b/assets/common/items/weapons/staff/laevateinn.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.2002994, - crit_mult: 1.3798152, )), )), quality: Legendary, diff --git a/assets/common/items/weapons/staff/lava_rod.ron b/assets/common/items/weapons/staff/lava_rod.ron index fe8c3f4a25..7c20f8cb79 100644 --- a/assets/common/items/weapons/staff/lava_rod.ron +++ b/assets/common/items/weapons/staff/lava_rod.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.114379086, - crit_mult: 1.4114286, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/staff/ley_seeker.ron b/assets/common/items/weapons/staff/ley_seeker.ron index 4e48bceace..b595186fe5 100644 --- a/assets/common/items/weapons/staff/ley_seeker.ron +++ b/assets/common/items/weapons/staff/ley_seeker.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/staff/orc_iron.ron b/assets/common/items/weapons/staff/orc_iron.ron index 59e246157b..829ea92fa4 100644 --- a/assets/common/items/weapons/staff/orc_iron.ron +++ b/assets/common/items/weapons/staff/orc_iron.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.2638889, - crit_mult: 1.481203, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/staff/phoenix.ron b/assets/common/items/weapons/staff/phoenix.ron index 39acf85d40..9f7659129a 100644 --- a/assets/common/items/weapons/staff/phoenix.ron +++ b/assets/common/items/weapons/staff/phoenix.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.1002994, - crit_mult: 1.3798152, )), )), quality: Legendary, diff --git a/assets/common/items/weapons/staff/ruby_rod.ron b/assets/common/items/weapons/staff/ruby_rod.ron index d83f85db9a..463e9afabd 100644 --- a/assets/common/items/weapons/staff/ruby_rod.ron +++ b/assets/common/items/weapons/staff/ruby_rod.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.2625, - crit_mult: 1.4761904, )), )), quality: High, diff --git a/assets/common/items/weapons/staff/solar.ron b/assets/common/items/weapons/staff/solar.ron index bb76c9a306..1583e4bf4b 100644 --- a/assets/common/items/weapons/staff/solar.ron +++ b/assets/common/items/weapons/staff/solar.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.125, - crit_mult: 1.4571428, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/staff/staff_1.ron b/assets/common/items/weapons/staff/staff_1.ron index 95d68d226a..f7312f1efa 100644 --- a/assets/common/items/weapons/staff/staff_1.ron +++ b/assets/common/items/weapons/staff/staff_1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.09375, - crit_mult: 2.2190475, )), )), quality: Low, diff --git a/assets/common/items/weapons/staff/starter_staff.ron b/assets/common/items/weapons/staff/starter_staff.ron index b225769c32..362c8e8c3e 100644 --- a/assets/common/items/weapons/staff/starter_staff.ron +++ b/assets/common/items/weapons/staff/starter_staff.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.09375, - crit_mult: 2.2190475, )), )), quality: Low, diff --git a/assets/common/items/weapons/sword/bloodsteel-0.ron b/assets/common/items/weapons/sword/bloodsteel-0.ron index 7d694ead4f..9441de1085 100644 --- a/assets/common/items/weapons/sword/bloodsteel-0.ron +++ b/assets/common/items/weapons/sword/bloodsteel-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.13611111, - crit_mult: 1.4081633, )), )), quality: High, diff --git a/assets/common/items/weapons/sword/bloodsteel-1.ron b/assets/common/items/weapons/sword/bloodsteel-1.ron index 5dda7cc296..a534715e8c 100644 --- a/assets/common/items/weapons/sword/bloodsteel-1.ron +++ b/assets/common/items/weapons/sword/bloodsteel-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.15511364, - crit_mult: 1.4029304, )), )), quality: High, diff --git a/assets/common/items/weapons/sword/bloodsteel-2.ron b/assets/common/items/weapons/sword/bloodsteel-2.ron index 777156ee26..bd08f6642b 100644 --- a/assets/common/items/weapons/sword/bloodsteel-2.ron +++ b/assets/common/items/weapons/sword/bloodsteel-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.11666667, - crit_mult: 1.4285715, )), )), quality: High, diff --git a/assets/common/items/weapons/sword/bronze-0.ron b/assets/common/items/weapons/sword/bronze-0.ron index b920735a17..cc59417589 100644 --- a/assets/common/items/weapons/sword/bronze-0.ron +++ b/assets/common/items/weapons/sword/bronze-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.13564593, - crit_mult: 1.574452, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/bronze-1.ron b/assets/common/items/weapons/sword/bronze-1.ron index 94d403ab5b..eeb6499496 100644 --- a/assets/common/items/weapons/sword/bronze-1.ron +++ b/assets/common/items/weapons/sword/bronze-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.16587302, - crit_mult: 1.5741627, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/bronze-2.ron b/assets/common/items/weapons/sword/bronze-2.ron index 5035d46d60..94d83474e8 100644 --- a/assets/common/items/weapons/sword/bronze-2.ron +++ b/assets/common/items/weapons/sword/bronze-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.15, - crit_mult: 1.5714285, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/caladbolg.ron b/assets/common/items/weapons/sword/caladbolg.ron index 398be9caaf..8ce2c13cf5 100644 --- a/assets/common/items/weapons/sword/caladbolg.ron +++ b/assets/common/items/weapons/sword/caladbolg.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.11666667, - crit_mult: 1.3918368, )), )), quality: Legendary, diff --git a/assets/common/items/weapons/sword/cobalt-0.ron b/assets/common/items/weapons/sword/cobalt-0.ron index 1ac72a7566..32a5f47dac 100644 --- a/assets/common/items/weapons/sword/cobalt-0.ron +++ b/assets/common/items/weapons/sword/cobalt-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.15277778, - crit_mult: 1.4363636, )), )), quality: High, diff --git a/assets/common/items/weapons/sword/cobalt-1.ron b/assets/common/items/weapons/sword/cobalt-1.ron index eac68d7dbf..424432f5e1 100644 --- a/assets/common/items/weapons/sword/cobalt-1.ron +++ b/assets/common/items/weapons/sword/cobalt-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.120987654, - crit_mult: 1.4591837, )), )), quality: High, diff --git a/assets/common/items/weapons/sword/cobalt-2.ron b/assets/common/items/weapons/sword/cobalt-2.ron index 2097972227..1d9f09e0b4 100644 --- a/assets/common/items/weapons/sword/cobalt-2.ron +++ b/assets/common/items/weapons/sword/cobalt-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1421875, - crit_mult: 1.4395604, )), )), quality: High, diff --git a/assets/common/items/weapons/sword/cobalt-3.ron b/assets/common/items/weapons/sword/cobalt-3.ron index 72a70fb048..d5b2cee871 100644 --- a/assets/common/items/weapons/sword/cobalt-3.ron +++ b/assets/common/items/weapons/sword/cobalt-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.13165635, - crit_mult: 1.4467961, )), )), quality: High, diff --git a/assets/common/items/weapons/sword/cultist.ron b/assets/common/items/weapons/sword/cultist.ron index 2f5047fea4..d34851ad3a 100644 --- a/assets/common/items/weapons/sword/cultist.ron +++ b/assets/common/items/weapons/sword/cultist.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.140625, - crit_mult: 1.4063492, )), )), quality: Epic, diff --git a/assets/common/items/weapons/sword/frost-0.ron b/assets/common/items/weapons/sword/frost-0.ron index 31d2f3aeb6..a66b794222 100644 --- a/assets/common/items/weapons/sword/frost-0.ron +++ b/assets/common/items/weapons/sword/frost-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.13897058, - crit_mult: 1.4232805, )), )), quality: High, diff --git a/assets/common/items/weapons/sword/frost-1.ron b/assets/common/items/weapons/sword/frost-1.ron index 538878d05a..1eee31cd76 100644 --- a/assets/common/items/weapons/sword/frost-1.ron +++ b/assets/common/items/weapons/sword/frost-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.14182693, - crit_mult: 1.4132365, )), )), quality: Epic, diff --git a/assets/common/items/weapons/sword/iron-0.ron b/assets/common/items/weapons/sword/iron-0.ron index baea0c90a0..9868f887f8 100644 --- a/assets/common/items/weapons/sword/iron-0.ron +++ b/assets/common/items/weapons/sword/iron-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.95, crit_chance: 0.13153847, - crit_mult: 1.5213033, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/iron-1.ron b/assets/common/items/weapons/sword/iron-1.ron index 3384891775..6cdeb55e65 100644 --- a/assets/common/items/weapons/sword/iron-1.ron +++ b/assets/common/items/weapons/sword/iron-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.75, crit_chance: 0.10862069, - crit_mult: 1.5442177, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/iron-10.ron b/assets/common/items/weapons/sword/iron-10.ron index 2eaf2b6c83..6b0cca590c 100644 --- a/assets/common/items/weapons/sword/iron-10.ron +++ b/assets/common/items/weapons/sword/iron-10.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.85, crit_chance: 0.11996997, - crit_mult: 1.529233, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/iron-2.ron b/assets/common/items/weapons/sword/iron-2.ron index 7399fd8cba..6aa3bf5bf2 100644 --- a/assets/common/items/weapons/sword/iron-2.ron +++ b/assets/common/items/weapons/sword/iron-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.15, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/iron-3.ron b/assets/common/items/weapons/sword/iron-3.ron index 7e032e5d16..58b198e08e 100644 --- a/assets/common/items/weapons/sword/iron-3.ron +++ b/assets/common/items/weapons/sword/iron-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.05, crit_chance: 0.14363733, - crit_mult: 1.5189053, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/iron-4.ron b/assets/common/items/weapons/sword/iron-4.ron index ebb84cbe52..bb888d1089 100644 --- a/assets/common/items/weapons/sword/iron-4.ron +++ b/assets/common/items/weapons/sword/iron-4.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.1257085, - crit_mult: 1.5244997, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/iron-5.ron b/assets/common/items/weapons/sword/iron-5.ron index 6f23e4967b..0c2b7c9cd9 100644 --- a/assets/common/items/weapons/sword/iron-5.ron +++ b/assets/common/items/weapons/sword/iron-5.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.15, crit_chance: 0.15664452, - crit_mult: 1.5211332, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/iron-6.ron b/assets/common/items/weapons/sword/iron-6.ron index c9b5824305..f91c472bda 100644 --- a/assets/common/items/weapons/sword/iron-6.ron +++ b/assets/common/items/weapons/sword/iron-6.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.5194805, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/iron-7.ron b/assets/common/items/weapons/sword/iron-7.ron index 81cb65d31a..d0f0438938 100644 --- a/assets/common/items/weapons/sword/iron-7.ron +++ b/assets/common/items/weapons/sword/iron-7.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.114285715, - crit_mult: 1.5357143, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/iron-8.ron b/assets/common/items/weapons/sword/iron-8.ron index bc1f5afdd1..9a5256d0f8 100644 --- a/assets/common/items/weapons/sword/iron-8.ron +++ b/assets/common/items/weapons/sword/iron-8.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.16363636, - crit_mult: 1.5238096, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/iron-9.ron b/assets/common/items/weapons/sword/iron-9.ron index f3399c7c5c..844cd6f4f2 100644 --- a/assets/common/items/weapons/sword/iron-9.ron +++ b/assets/common/items/weapons/sword/iron-9.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.25, crit_chance: 0.17105263, - crit_mult: 1.5274725, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/starter.ron b/assets/common/items/weapons/sword/starter.ron index f755182248..006dc1cca9 100644 --- a/assets/common/items/weapons/sword/starter.ron +++ b/assets/common/items/weapons/sword/starter.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.09375, - crit_mult: 2.2190475, )), )), quality: Low, diff --git a/assets/common/items/weapons/sword/steel-0.ron b/assets/common/items/weapons/sword/steel-0.ron index e2541750e6..20763f915c 100644 --- a/assets/common/items/weapons/sword/steel-0.ron +++ b/assets/common/items/weapons/sword/steel-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.12857144, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/steel-1.ron b/assets/common/items/weapons/sword/steel-1.ron index e8345bd374..ecb3808b3b 100644 --- a/assets/common/items/weapons/sword/steel-1.ron +++ b/assets/common/items/weapons/sword/steel-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.95, crit_chance: 0.1234748, - crit_mult: 1.4787478, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/steel-2.ron b/assets/common/items/weapons/sword/steel-2.ron index 8f492c16c1..d67ffa263c 100644 --- a/assets/common/items/weapons/sword/steel-2.ron +++ b/assets/common/items/weapons/sword/steel-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.15, crit_chance: 0.14441861, - crit_mult: 1.4748102, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/steel-3.ron b/assets/common/items/weapons/sword/steel-3.ron index da85244b87..fc90731205 100644 --- a/assets/common/items/weapons/sword/steel-3.ron +++ b/assets/common/items/weapons/sword/steel-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.118421055, - crit_mult: 1.4825397, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/steel-4.ron b/assets/common/items/weapons/sword/steel-4.ron index 17fc51b55c..817499043a 100644 --- a/assets/common/items/weapons/sword/steel-4.ron +++ b/assets/common/items/weapons/sword/steel-4.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.85, crit_chance: 0.113382734, - crit_mult: 1.4877245, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/steel-5.ron b/assets/common/items/weapons/sword/steel-5.ron index e727291263..385ca3b231 100644 --- a/assets/common/items/weapons/sword/steel-5.ron +++ b/assets/common/items/weapons/sword/steel-5.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.15, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/steel-6.ron b/assets/common/items/weapons/sword/steel-6.ron index b26873235b..2b83c9e665 100644 --- a/assets/common/items/weapons/sword/steel-6.ron +++ b/assets/common/items/weapons/sword/steel-6.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.139011, - crit_mult: 1.4743083, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/steel-7.ron b/assets/common/items/weapons/sword/steel-7.ron index 6a0bdf0a0d..ecca549054 100644 --- a/assets/common/items/weapons/sword/steel-7.ron +++ b/assets/common/items/weapons/sword/steel-7.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.108333334, - crit_mult: 1.4945055, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/steel-8.ron b/assets/common/items/weapons/sword/steel-8.ron index 77fc65a17c..8160a2fba6 100644 --- a/assets/common/items/weapons/sword/steel-8.ron +++ b/assets/common/items/weapons/sword/steel-8.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.05, crit_chance: 0.13373984, - crit_mult: 1.4747431, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword/stone-0.ron b/assets/common/items/weapons/sword/stone-0.ron index c0b76b3d8b..99f392017d 100644 --- a/assets/common/items/weapons/sword/stone-0.ron +++ b/assets/common/items/weapons/sword/stone-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.055555556, - crit_mult: 2.0285714, )), )), quality: Low, diff --git a/assets/common/items/weapons/sword/stone-1.ron b/assets/common/items/weapons/sword/stone-1.ron index f7d26bf6f0..c31a54b345 100644 --- a/assets/common/items/weapons/sword/stone-1.ron +++ b/assets/common/items/weapons/sword/stone-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.0703125, - crit_mult: 2.015873, )), )), quality: Low, diff --git a/assets/common/items/weapons/sword/stone-2.ron b/assets/common/items/weapons/sword/stone-2.ron index 3f64753c63..30dbb210fc 100644 --- a/assets/common/items/weapons/sword/stone-2.ron +++ b/assets/common/items/weapons/sword/stone-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.0625, - crit_mult: 2.015873, )), )), quality: Low, diff --git a/assets/common/items/weapons/sword/wood-0.ron b/assets/common/items/weapons/sword/wood-0.ron index e1e15c59de..1b6f5e1086 100644 --- a/assets/common/items/weapons/sword/wood-0.ron +++ b/assets/common/items/weapons/sword/wood-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.083333336, - crit_mult: 2.142857, )), )), quality: Low, diff --git a/assets/common/items/weapons/sword/wood-1.ron b/assets/common/items/weapons/sword/wood-1.ron index 9cfb78f27b..4ecd09cc09 100644 --- a/assets/common/items/weapons/sword/wood-1.ron +++ b/assets/common/items/weapons/sword/wood-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.0625, - crit_mult: 2.142857, )), )), quality: Low, diff --git a/assets/common/items/weapons/sword/wood-2.ron b/assets/common/items/weapons/sword/wood-2.ron index c01bf40e5c..b067540853 100644 --- a/assets/common/items/weapons/sword/wood-2.ron +++ b/assets/common/items/weapons/sword/wood-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.09821428, - crit_mult: 2.1636364, )), )), quality: Low, diff --git a/assets/common/items/weapons/sword_1h/bloodsteel-0.ron b/assets/common/items/weapons/sword_1h/bloodsteel-0.ron index 0b9177f329..e129ce7bba 100644 --- a/assets/common/items/weapons/sword_1h/bloodsteel-0.ron +++ b/assets/common/items/weapons/sword_1h/bloodsteel-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.3, crit_chance: 0.16712894, - crit_mult: 1.4126486, )), )), quality: High, diff --git a/assets/common/items/weapons/sword_1h/bloodsteel-1.ron b/assets/common/items/weapons/sword_1h/bloodsteel-1.ron index a85f030366..c1944b307e 100644 --- a/assets/common/items/weapons/sword_1h/bloodsteel-1.ron +++ b/assets/common/items/weapons/sword_1h/bloodsteel-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.75, crit_chance: 0.1125, - crit_mult: 1.4444444, )), )), quality: High, diff --git a/assets/common/items/weapons/sword_1h/bloodsteel-2.ron b/assets/common/items/weapons/sword_1h/bloodsteel-2.ron index d9446a0f20..549843b408 100644 --- a/assets/common/items/weapons/sword_1h/bloodsteel-2.ron +++ b/assets/common/items/weapons/sword_1h/bloodsteel-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1375, - crit_mult: 1.4155844, )), )), quality: High, diff --git a/assets/common/items/weapons/sword_1h/bronze-0.ron b/assets/common/items/weapons/sword_1h/bronze-0.ron index a23d9fa343..1fa44508c0 100644 --- a/assets/common/items/weapons/sword_1h/bronze-0.ron +++ b/assets/common/items/weapons/sword_1h/bronze-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.14958791, - crit_mult: 1.7346189, )), )), quality: Common, diff --git a/assets/common/items/weapons/sword_1h/bronze-1.ron b/assets/common/items/weapons/sword_1h/bronze-1.ron index 7ee513d8dd..caadfc2848 100644 --- a/assets/common/items/weapons/sword_1h/bronze-1.ron +++ b/assets/common/items/weapons/sword_1h/bronze-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.13125, - crit_mult: 1.7256236, )), )), quality: Common, diff --git a/assets/common/items/weapons/sword_1h/bronze-2.ron b/assets/common/items/weapons/sword_1h/bronze-2.ron index 154949b53d..fdb3552e0b 100644 --- a/assets/common/items/weapons/sword_1h/bronze-2.ron +++ b/assets/common/items/weapons/sword_1h/bronze-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.11598297, - crit_mult: 1.724534, )), )), quality: Common, diff --git a/assets/common/items/weapons/sword_1h/cobalt-0.ron b/assets/common/items/weapons/sword_1h/cobalt-0.ron index ebc06be375..e8c0892556 100644 --- a/assets/common/items/weapons/sword_1h/cobalt-0.ron +++ b/assets/common/items/weapons/sword_1h/cobalt-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.14475524, - crit_mult: 1.4554865, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword_1h/cobalt-1.ron b/assets/common/items/weapons/sword_1h/cobalt-1.ron index 4129b07834..b1c6493e43 100644 --- a/assets/common/items/weapons/sword_1h/cobalt-1.ron +++ b/assets/common/items/weapons/sword_1h/cobalt-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.105882354, - crit_mult: 1.4761904, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword_1h/cobalt-2.ron b/assets/common/items/weapons/sword_1h/cobalt-2.ron index 67043941dd..8f1655fff9 100644 --- a/assets/common/items/weapons/sword_1h/cobalt-2.ron +++ b/assets/common/items/weapons/sword_1h/cobalt-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.13469388, - crit_mult: 1.4545455, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword_1h/cobalt-3.ron b/assets/common/items/weapons/sword_1h/cobalt-3.ron index 91a4acb048..d737a8dbb1 100644 --- a/assets/common/items/weapons/sword_1h/cobalt-3.ron +++ b/assets/common/items/weapons/sword_1h/cobalt-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.11546052, - crit_mult: 1.4639804, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword_1h/iron-0.ron b/assets/common/items/weapons/sword_1h/iron-0.ron index 5f571ef716..ced1cb2749 100644 --- a/assets/common/items/weapons/sword_1h/iron-0.ron +++ b/assets/common/items/weapons/sword_1h/iron-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/sword_1h/iron-1.ron b/assets/common/items/weapons/sword_1h/iron-1.ron index 9d9fe58539..92a1694cdb 100644 --- a/assets/common/items/weapons/sword_1h/iron-1.ron +++ b/assets/common/items/weapons/sword_1h/iron-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.124404766, - crit_mult: 1.6379585, )), )), quality: Common, diff --git a/assets/common/items/weapons/sword_1h/iron-2.ron b/assets/common/items/weapons/sword_1h/iron-2.ron index a5959b945c..65c6dbee87 100644 --- a/assets/common/items/weapons/sword_1h/iron-2.ron +++ b/assets/common/items/weapons/sword_1h/iron-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.09166667, - crit_mult: 1.6493506, )), )), quality: Common, diff --git a/assets/common/items/weapons/sword_1h/iron-3.ron b/assets/common/items/weapons/sword_1h/iron-3.ron index 08a87d82cc..1e92d9d2cb 100644 --- a/assets/common/items/weapons/sword_1h/iron-3.ron +++ b/assets/common/items/weapons/sword_1h/iron-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.13806818, - crit_mult: 1.6466784, )), )), quality: Common, diff --git a/assets/common/items/weapons/sword_1h/iron-4.ron b/assets/common/items/weapons/sword_1h/iron-4.ron index be3a8ae6fd..d2b5f79b9b 100644 --- a/assets/common/items/weapons/sword_1h/iron-4.ron +++ b/assets/common/items/weapons/sword_1h/iron-4.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.10173445, - crit_mult: 1.63828, )), )), quality: Common, diff --git a/assets/common/items/weapons/sword_1h/obsidian-0.ron b/assets/common/items/weapons/sword_1h/obsidian-0.ron index e7978eb0d1..27ddd8f6b9 100644 --- a/assets/common/items/weapons/sword_1h/obsidian-0.ron +++ b/assets/common/items/weapons/sword_1h/obsidian-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.8, crit_chance: 0.117663816, - crit_mult: 1.4358354, )), )), quality: High, diff --git a/assets/common/items/weapons/sword_1h/orichalcum-0.ron b/assets/common/items/weapons/sword_1h/orichalcum-0.ron index 1b09761693..47e92693bf 100644 --- a/assets/common/items/weapons/sword_1h/orichalcum-0.ron +++ b/assets/common/items/weapons/sword_1h/orichalcum-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.9, crit_chance: 0.13110903, - crit_mult: 1.4150879, )), )), quality: Epic, diff --git a/assets/common/items/weapons/sword_1h/orichalcum-1.ron b/assets/common/items/weapons/sword_1h/orichalcum-1.ron index d99bf20944..36d6fad9da 100644 --- a/assets/common/items/weapons/sword_1h/orichalcum-1.ron +++ b/assets/common/items/weapons/sword_1h/orichalcum-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.1, crit_chance: 0.14990601, - crit_mult: 1.4012539, )), )), quality: Epic, diff --git a/assets/common/items/weapons/sword_1h/steel-0.ron b/assets/common/items/weapons/sword_1h/steel-0.ron index cc9525f5b7..5a2a5ca0b8 100644 --- a/assets/common/items/weapons/sword_1h/steel-0.ron +++ b/assets/common/items/weapons/sword_1h/steel-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.75, crit_chance: 0.10714286, - crit_mult: 1.5333333, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword_1h/steel-1.ron b/assets/common/items/weapons/sword_1h/steel-1.ron index 91a120ef04..1baaa2f42a 100644 --- a/assets/common/items/weapons/sword_1h/steel-1.ron +++ b/assets/common/items/weapons/sword_1h/steel-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 0.95, crit_chance: 0.12928994, - crit_mult: 1.5099705, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword_1h/steel-2.ron b/assets/common/items/weapons/sword_1h/steel-2.ron index 9d5488ab17..c1c95859cd 100644 --- a/assets/common/items/weapons/sword_1h/steel-2.ron +++ b/assets/common/items/weapons/sword_1h/steel-2.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.2, crit_chance: 0.15974025, - crit_mult: 1.5110337, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/sword_1h/steel-3.ron b/assets/common/items/weapons/sword_1h/steel-3.ron index 09bdb53a8a..45bf9a39bc 100644 --- a/assets/common/items/weapons/sword_1h/steel-3.ron +++ b/assets/common/items/weapons/sword_1h/steel-3.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.05, crit_chance: 0.14085366, - crit_mult: 1.5071119, )), )), quality: Moderate, diff --git a/assets/common/items/weapons/tool/broom.ron b/assets/common/items/weapons/tool/broom.ron index f257da73a8..8095f5c773 100644 --- a/assets/common/items/weapons/tool/broom.ron +++ b/assets/common/items/weapons/tool/broom.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/tool/fishing_rod.ron b/assets/common/items/weapons/tool/fishing_rod.ron index 8a3ac29735..046082da09 100644 --- a/assets/common/items/weapons/tool/fishing_rod.ron +++ b/assets/common/items/weapons/tool/fishing_rod.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/tool/hoe.ron b/assets/common/items/weapons/tool/hoe.ron index 06a3414c93..0acab723a1 100644 --- a/assets/common/items/weapons/tool/hoe.ron +++ b/assets/common/items/weapons/tool/hoe.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.5, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/tool/pickaxe.ron b/assets/common/items/weapons/tool/pickaxe.ron index 6565f6939c..c41bf5ad60 100644 --- a/assets/common/items/weapons/tool/pickaxe.ron +++ b/assets/common/items/weapons/tool/pickaxe.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/tool/pitchfork.ron b/assets/common/items/weapons/tool/pitchfork.ron index c94c42946d..f976c01315 100644 --- a/assets/common/items/weapons/tool/pitchfork.ron +++ b/assets/common/items/weapons/tool/pitchfork.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 4.0, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/tool/rake.ron b/assets/common/items/weapons/tool/rake.ron index 5f4587c96f..9ddd949c3a 100644 --- a/assets/common/items/weapons/tool/rake.ron +++ b/assets/common/items/weapons/tool/rake.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 1.0, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/tool/shovel-0.ron b/assets/common/items/weapons/tool/shovel-0.ron index f928d87964..bae1c00140 100644 --- a/assets/common/items/weapons/tool/shovel-0.ron +++ b/assets/common/items/weapons/tool/shovel-0.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 2.0, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/items/weapons/tool/shovel-1.ron b/assets/common/items/weapons/tool/shovel-1.ron index 86eb869854..760ed5999b 100644 --- a/assets/common/items/weapons/tool/shovel-1.ron +++ b/assets/common/items/weapons/tool/shovel-1.ron @@ -10,7 +10,6 @@ ItemDef( poise_strength: 2.0, speed: 1.0, crit_chance: 0.1125, - crit_mult: 1.6349206, )), )), quality: Common, diff --git a/assets/common/loadouts/village/villager.ron b/assets/common/loadouts/village/villager.ron index 4be54001f5..72e88f6be4 100644 --- a/assets/common/loadouts/village/villager.ron +++ b/assets/common/loadouts/village/villager.ron @@ -11,12 +11,4 @@ (1.0, Some(Item("common.items.armor.misc.chest.worker_orange_0"))), (1.0, Some(Item("common.items.armor.misc.chest.worker_orange_1"))), ]), - - Armor(Belt): Item("common.items.armor.swift.belt"), - Armor(Legs): Item("common.items.armor.misc.pants.worker_blue"), - - Armor(Feet): Choice([ - (1.0, Some(Item("common.items.armor.swift.foot"))), - (1.0, Some(Item("common.items.armor.misc.foot.sandals"))), - ]), }) diff --git a/assets/common/loot_tables/armor/agile.ron b/assets/common/loot_tables/armor/agile.ron deleted file mode 100644 index 1cd2150a6c..0000000000 --- a/assets/common/loot_tables/armor/agile.ron +++ /dev/null @@ -1,9 +0,0 @@ -[ - (1.0, Item("common.items.armor.agile.back")), - (1.0, Item("common.items.armor.agile.belt")), - (1.0, Item("common.items.armor.agile.chest")), - (1.0, Item("common.items.armor.agile.foot")), - (1.0, Item("common.items.armor.agile.hand")), - (1.0, Item("common.items.armor.agile.pants")), - (1.0, Item("common.items.armor.agile.shoulder")), -] \ No newline at end of file diff --git a/assets/common/loot_tables/armor/cultist.ron b/assets/common/loot_tables/armor/cultist.ron deleted file mode 100644 index 8b4cc7cb56..0000000000 --- a/assets/common/loot_tables/armor/cultist.ron +++ /dev/null @@ -1,8 +0,0 @@ -[ - (1.0, Item("common.items.armor.cultist.belt")), - (1.0, Item("common.items.armor.cultist.chest")), - (1.0, Item("common.items.armor.cultist.foot")), - (1.0, Item("common.items.armor.cultist.hand")), - (1.0, Item("common.items.armor.cultist.pants")), - (1.0, Item("common.items.armor.cultist.shoulder")), -] \ No newline at end of file diff --git a/assets/common/loot_tables/armor/druid.ron b/assets/common/loot_tables/armor/druid.ron deleted file mode 100644 index 13b73adcde..0000000000 --- a/assets/common/loot_tables/armor/druid.ron +++ /dev/null @@ -1,8 +0,0 @@ -[ - (1.0, Item("common.items.armor.druid.belt")), - (1.0, Item("common.items.armor.druid.chest")), - (1.0, Item("common.items.armor.druid.foot")), - (1.0, Item("common.items.armor.druid.hand")), - (1.0, Item("common.items.armor.druid.pants")), - (1.0, Item("common.items.armor.druid.shoulder")), -] \ No newline at end of file diff --git a/assets/common/loot_tables/armor/leather.ron b/assets/common/loot_tables/armor/leather.ron new file mode 100644 index 0000000000..c3035dc72c --- /dev/null +++ b/assets/common/loot_tables/armor/leather.ron @@ -0,0 +1,8 @@ +[ + (1.0, Item("common.items.armor.hide.leather.belt")), + (1.0, Item("common.items.armor.hide.leather.chest")), + (1.0, Item("common.items.armor.hide.leather.foot")), + (1.0, Item("common.items.armor.hide.leather.hand")), + (1.0, Item("common.items.armor.hide.leather.pants")), + (1.0, Item("common.items.armor.hide.leather.shoulder")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/armor/plate.ron b/assets/common/loot_tables/armor/plate.ron deleted file mode 100644 index e7ba66a81b..0000000000 --- a/assets/common/loot_tables/armor/plate.ron +++ /dev/null @@ -1,8 +0,0 @@ -[ - (1.0, Item("common.items.armor.plate.belt")), - (1.0, Item("common.items.armor.plate.chest")), - (1.0, Item("common.items.armor.plate.foot")), - (1.0, Item("common.items.armor.plate.hand")), - (1.0, Item("common.items.armor.plate.pants")), - (1.0, Item("common.items.armor.plate.shoulder")), -] \ No newline at end of file diff --git a/assets/common/loot_tables/armor/rawhide.ron b/assets/common/loot_tables/armor/rawhide.ron new file mode 100644 index 0000000000..7f0007d5f8 --- /dev/null +++ b/assets/common/loot_tables/armor/rawhide.ron @@ -0,0 +1,9 @@ +[ + (1.0, Item("common.items.armor.hide.rawhide.back")), + (1.0, Item("common.items.armor.hide.rawhide.belt")), + (1.0, Item("common.items.armor.hide.rawhide.chest")), + (1.0, Item("common.items.armor.hide.rawhide.foot")), + (1.0, Item("common.items.armor.hide.rawhide.hand")), + (1.0, Item("common.items.armor.hide.rawhide.pants")), + (1.0, Item("common.items.armor.hide.rawhide.shoulder")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/armor/steel.ron b/assets/common/loot_tables/armor/steel.ron deleted file mode 100644 index b189ec8186..0000000000 --- a/assets/common/loot_tables/armor/steel.ron +++ /dev/null @@ -1,8 +0,0 @@ -[ - (1.0, Item("common.items.armor.steel.belt")), - (1.0, Item("common.items.armor.steel.chest")), - (1.0, Item("common.items.armor.steel.foot")), - (1.0, Item("common.items.armor.steel.hand")), - (1.0, Item("common.items.armor.steel.pants")), - (1.0, Item("common.items.armor.steel.shoulder")), -] \ No newline at end of file diff --git a/assets/common/loot_tables/armor/swift.ron b/assets/common/loot_tables/armor/swift.ron deleted file mode 100644 index 8d1bb0d7ea..0000000000 --- a/assets/common/loot_tables/armor/swift.ron +++ /dev/null @@ -1,8 +0,0 @@ -[ - (1.0, Item("common.items.armor.swift.belt")), - (1.0, Item("common.items.armor.swift.chest")), - (1.0, Item("common.items.armor.swift.foot")), - (1.0, Item("common.items.armor.swift.hand")), - (1.0, Item("common.items.armor.swift.pants")), - (1.0, Item("common.items.armor.swift.shoulder")), -] \ No newline at end of file diff --git a/assets/common/loot_tables/consumable/throwable.ron b/assets/common/loot_tables/consumable/throwable.ron index 3fc2ea2b8d..984662026f 100644 --- a/assets/common/loot_tables/consumable/throwable.ron +++ b/assets/common/loot_tables/consumable/throwable.ron @@ -1,5 +1,4 @@ [ // bombs - (0.6, Item("common.items.utility.bomb")), - (0.2, Item("common.items.utility.bomb_pile")), + (1.0, ItemQuantity("common.items.utility.bomb", 1, 3)), ] diff --git a/assets/common/loot_tables/creature/biped_large/saurok.ron b/assets/common/loot_tables/creature/biped_large/saurok.ron index 8dc9d108af..0d20129f77 100644 --- a/assets/common/loot_tables/creature/biped_large/saurok.ron +++ b/assets/common/loot_tables/creature/biped_large/saurok.ron @@ -1,5 +1,5 @@ [ - (7.0, LootTable("common.loot_tables.materials.common")), + (2.0, LootTable("common.loot_tables.materials.common")), // Consumables (0.5, Item("common.items.consumable.potion_minor")), // Ring diff --git a/assets/common/loot_tables/creature/biped_large/troll.ron b/assets/common/loot_tables/creature/biped_large/troll.ron index 8d756a38c8..a5a670a39f 100644 --- a/assets/common/loot_tables/creature/biped_large/troll.ron +++ b/assets/common/loot_tables/creature/biped_large/troll.ron @@ -2,5 +2,5 @@ (1.0, LootTable("common.loot_tables.food.prepared")), (1.0, LootTable("common.loot_tables.cave_large")), (1.0, LootTable("common.loot_tables.weapons.tier-2")), - (5.0, Item("common.items.crafting_ing.leather_troll")), + (5.0, Item("common.items.crafting_ing.hide.leather_troll")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/biped_large/wendigo.ron b/assets/common/loot_tables/creature/biped_large/wendigo.ron index bcb2acdda5..aa83360486 100644 --- a/assets/common/loot_tables/creature/biped_large/wendigo.ron +++ b/assets/common/loot_tables/creature/biped_large/wendigo.ron @@ -1,6 +1,6 @@ [ (1.0, LootTable("common.loot_tables.food.prepared")), - (1.0, Item("common.items.crafting_ing.icy_fang")), + (1.0, Item("common.items.crafting_ing.animal_misc.icy_fang")), (1.0, LootTable("common.loot_tables.weapons.tier-2")), (4.0, LootTable("common.loot_tables.cave_large")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/bird_large/cockatrice.ron b/assets/common/loot_tables/creature/bird_large/cockatrice.ron new file mode 100644 index 0000000000..dff08ded99 --- /dev/null +++ b/assets/common/loot_tables/creature/bird_large/cockatrice.ron @@ -0,0 +1,4 @@ +[ + (0.1, Item("common.items.food.meat.bird_large_raw")), + (1.0, Item("common.items.crafting_ing.hide.scales")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/bird_large/phoenix.ron b/assets/common/loot_tables/creature/bird_large/phoenix.ron new file mode 100644 index 0000000000..705dc8f853 --- /dev/null +++ b/assets/common/loot_tables/creature/bird_large/phoenix.ron @@ -0,0 +1,5 @@ +[ + (0.1, Item("common.items.food.meat.bird_large_raw")), + (1.0, Item("common.items.crafting_ing.animal_misc.phoenix_feather")), + +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/bird_medium.ron b/assets/common/loot_tables/creature/bird_medium.ron index 0b7572577a..5734d81385 100644 --- a/assets/common/loot_tables/creature/bird_medium.ron +++ b/assets/common/loot_tables/creature/bird_medium.ron @@ -1,4 +1,3 @@ [ - (1.0, LootTable("common.loot_tables.food.wild_ingredients")), - (1.0, LootTable("common.loot_tables.fallback")), + (1.0, Item("common.items.food.meat.bird_raw")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/fish.ron b/assets/common/loot_tables/creature/fish.ron index edfafbbe43..29b683c09f 100644 --- a/assets/common/loot_tables/creature/fish.ron +++ b/assets/common/loot_tables/creature/fish.ron @@ -1,3 +1,3 @@ [ - (1.0, Item("common.items.food.fish")), + (1.0, Item("common.items.food.meat.fish_raw")), ] diff --git a/assets/common/loot_tables/creature/golem.ron b/assets/common/loot_tables/creature/golem.ron index 1caabc59f8..a20e4a076c 100644 --- a/assets/common/loot_tables/creature/golem.ron +++ b/assets/common/loot_tables/creature/golem.ron @@ -1,6 +1,5 @@ [ (1.0, LootTable("common.loot_tables.food.prepared")), - (1.0, LootTable("common.loot_tables.armor.steel")), (1.0, LootTable("common.loot_tables.weapons.tier-1")), (1.0, LootTable("common.loot_tables.weapons.tier-2")), (1.0, LootTable("common.loot_tables.weapons.tier-3")), diff --git a/assets/common/loot_tables/creature/humanoid.ron b/assets/common/loot_tables/creature/humanoid.ron index 3547240baf..3364f9c097 100644 --- a/assets/common/loot_tables/creature/humanoid.ron +++ b/assets/common/loot_tables/creature/humanoid.ron @@ -1,7 +1,6 @@ [ (1.0, LootTable("common.loot_tables.humanoids")), - (1.0, LootTable("common.loot_tables.armor.swift")), + (1.0, LootTable("common.loot_tables.armor.leather")), (1.0, LootTable("common.loot_tables.armor.cloth")), (1.0, LootTable("common.loot_tables.weapons.starter")), - (1.0, LootTable("common.loot_tables.fallback")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_low/basilisk.ron b/assets/common/loot_tables/creature/quad_low/basilisk.ron new file mode 100644 index 0000000000..c3c206eb06 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_low/basilisk.ron @@ -0,0 +1,6 @@ +[ + (1.0, Item("common.items.food.meat.tough_raw")), + (2.0, Item("common.items.crafting_ing.hide.plate")), + (2.0, Item("common.items.crafting_ing.animal_misc.grim_eyeball")), + +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_low/carapace.ron b/assets/common/loot_tables/creature/quad_low/carapace.ron new file mode 100644 index 0000000000..25c1784e51 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_low/carapace.ron @@ -0,0 +1,4 @@ +[ + (1.0, Item("common.items.food.meat.tough_raw")), + (3.0, Item("common.items.crafting_ing.hide.carapace")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_low/deadwood.ron b/assets/common/loot_tables/creature/quad_low/deadwood.ron new file mode 100644 index 0000000000..ac925c7b9e --- /dev/null +++ b/assets/common/loot_tables/creature/quad_low/deadwood.ron @@ -0,0 +1,4 @@ +[ + (1.0, Item("common.items.crafting_ing.animal_misc.lively_vine")), + (1.0, Item("common.items.crafting_ing.animal_misc.grim_eyeball")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_low/default.ron b/assets/common/loot_tables/creature/quad_low/default.ron deleted file mode 100644 index 0dd577cd0f..0000000000 --- a/assets/common/loot_tables/creature/quad_low/default.ron +++ /dev/null @@ -1,5 +0,0 @@ -[ - (1.0, LootTable("common.loot_tables.food.wild_ingredients")), - (1.0, Item("common.items.crafting_ing.leather_scraps")), - (1.0, LootTable("common.loot_tables.fallback")), -] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_low/fanged.ron b/assets/common/loot_tables/creature/quad_low/fanged.ron new file mode 100644 index 0000000000..cdd0845c50 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_low/fanged.ron @@ -0,0 +1,5 @@ +[ + (4.0, LootTable("common.loot_tables.creature.quad_low.generic")), + (2.0, Item("common.items.crafting_ing.animal_misc.sharp_fang")), + +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_low/generic.ron b/assets/common/loot_tables/creature/quad_low/generic.ron new file mode 100644 index 0000000000..dd49230ec2 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_low/generic.ron @@ -0,0 +1,4 @@ +[ + (1.0, Item("common.items.food.meat.tough_raw")), + (3.0, Item("common.items.crafting_ing.hide.scales")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_low/maneater.ron b/assets/common/loot_tables/creature/quad_low/maneater.ron index f1ac20be7e..b7390cdec0 100644 --- a/assets/common/loot_tables/creature/quad_low/maneater.ron +++ b/assets/common/loot_tables/creature/quad_low/maneater.ron @@ -1,5 +1,4 @@ [ - (1.0, Item("common.items.flowers.red")), - (1.0, Item("common.items.crafting_ing.twigs")), + (1.0, Item("common.items.crafting_ing.animal_misc.lively_vine")), (1.0, LootTable("common.loot_tables.food.wild_ingredients")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_low/venemous.ron b/assets/common/loot_tables/creature/quad_low/venemous.ron new file mode 100644 index 0000000000..cdda647e2e --- /dev/null +++ b/assets/common/loot_tables/creature/quad_low/venemous.ron @@ -0,0 +1,5 @@ +[ + (4.0, LootTable("common.loot_tables.creature.quad_low.generic")), + (1.0, Item("common.items.crafting_ing.animal_misc.sharp_fang")), + (2.0, Item("common.items.crafting_ing.animal_misc.venom_sac")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_medium/carapace.ron b/assets/common/loot_tables/creature/quad_medium/carapace.ron new file mode 100644 index 0000000000..432f820da5 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_medium/carapace.ron @@ -0,0 +1,6 @@ +[ + (1.5, Item("common.items.food.meat.beast_small_raw")), + (0.5, Item("common.items.food.meat.beast_large_raw")), + (2.0, Item("common.items.crafting_ing.animal_misc.sharp_fang")), + (3.0, Item("common.items.crafting_ing.hide.carapace")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_medium/catoblepas.ron b/assets/common/loot_tables/creature/quad_medium/catoblepas.ron new file mode 100644 index 0000000000..c1f80bea25 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_medium/catoblepas.ron @@ -0,0 +1,4 @@ +[ + (1.5, Item("common.items.crafting_ing.animal_misc.grim_eyeball")), + (4.0, LootTable("common.loot_tables.creature.quad_medium.generic")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_medium/clawed.ron b/assets/common/loot_tables/creature/quad_medium/clawed.ron new file mode 100644 index 0000000000..3a54656ef6 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_medium/clawed.ron @@ -0,0 +1,4 @@ +[ + (4.0, LootTable("common.loot_tables.creature.quad_medium.generic")), + (2.0, Item("common.items.crafting_ing.animal_misc.claw")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_medium/default.ron b/assets/common/loot_tables/creature/quad_medium/default.ron deleted file mode 100644 index c11cdc4259..0000000000 --- a/assets/common/loot_tables/creature/quad_medium/default.ron +++ /dev/null @@ -1,4 +0,0 @@ -[ - (1.0, LootTable("common.loot_tables.food.wild_ingredients")), - (1.0, Item("common.items.crafting_ing.leather_scraps")), -] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_medium/dreadhorn.ron b/assets/common/loot_tables/creature/quad_medium/dreadhorn.ron new file mode 100644 index 0000000000..74c79cede6 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_medium/dreadhorn.ron @@ -0,0 +1,6 @@ +[ + (1.5, Item("common.items.food.meat.beast_small_raw")), + (0.5, Item("common.items.food.meat.beast_large_raw")), + (2.0, Item("common.items.crafting_ing.animal_misc.large_horn")), + (3.0, Item("common.items.crafting_ing.hide.carapace")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_medium/fanged.ron b/assets/common/loot_tables/creature/quad_medium/fanged.ron new file mode 100644 index 0000000000..6623e7cc4e --- /dev/null +++ b/assets/common/loot_tables/creature/quad_medium/fanged.ron @@ -0,0 +1,4 @@ +[ + (4.0, LootTable("common.loot_tables.creature.quad_medium.generic")), + (2.0, Item("common.items.crafting_ing.animal_misc.sharp_fang")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_medium/generic.ron b/assets/common/loot_tables/creature/quad_medium/generic.ron new file mode 100644 index 0000000000..3cf402cc04 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_medium/generic.ron @@ -0,0 +1,5 @@ +[ + (1.5, Item("common.items.food.meat.beast_small_raw")), + (0.5, Item("common.items.food.meat.beast_large_raw")), + (3.0, Item("common.items.crafting_ing.hide.tough_hide")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_medium/gentle.ron b/assets/common/loot_tables/creature/quad_medium/gentle.ron new file mode 100644 index 0000000000..a11ac921f4 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_medium/gentle.ron @@ -0,0 +1,5 @@ +[ + (1.5, Item("common.items.food.meat.beast_small_raw")), + (0.5, Item("common.items.food.meat.beast_large_raw")), + (3.0, Item("common.items.crafting_ing.hide.animal_hide")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_medium/ice.ron b/assets/common/loot_tables/creature/quad_medium/ice.ron index ca7b5fde38..4ac8226c7b 100644 --- a/assets/common/loot_tables/creature/quad_medium/ice.ron +++ b/assets/common/loot_tables/creature/quad_medium/ice.ron @@ -1,5 +1,4 @@ [ - (1.0, LootTable("common.loot_tables.food.wild_ingredients")), - (1.0, Item("common.items.crafting_ing.leather_scraps")), - (1.0, Item("common.items.crafting_ing.icy_fang")), + (1.0, Item("common.items.crafting_ing.hide.tough_hide")), + (1.0, Item("common.items.crafting_ing.animal_misc.icy_fang")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_small/default.ron b/assets/common/loot_tables/creature/quad_small/default.ron deleted file mode 100644 index c11cdc4259..0000000000 --- a/assets/common/loot_tables/creature/quad_small/default.ron +++ /dev/null @@ -1,4 +0,0 @@ -[ - (1.0, LootTable("common.loot_tables.food.wild_ingredients")), - (1.0, Item("common.items.crafting_ing.leather_scraps")), -] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_small/fur.ron b/assets/common/loot_tables/creature/quad_small/fur.ron new file mode 100644 index 0000000000..90ed478a78 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_small/fur.ron @@ -0,0 +1,5 @@ +[ + (1.0, ItemQuantity("common.items.crafting_ing.animal_misc.fur", 1, 3)), + (0.25, LootTable("common.loot_tables.creature.quad_low.generic")), + +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_small/generic.ron b/assets/common/loot_tables/creature/quad_small/generic.ron new file mode 100644 index 0000000000..431e082771 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_small/generic.ron @@ -0,0 +1,4 @@ +[ + (1.0, Item("common.items.crafting_ing.hide.animal_hide")), + (0.25, Item("common.items.food.meat.beast_small_raw")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_small/mushroom.ron b/assets/common/loot_tables/creature/quad_small/mushroom.ron new file mode 100644 index 0000000000..ab6c680d5f --- /dev/null +++ b/assets/common/loot_tables/creature/quad_small/mushroom.ron @@ -0,0 +1,3 @@ +[ + (1.0, Item("common.items.food.mushroom")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_small/ooze.ron b/assets/common/loot_tables/creature/quad_small/ooze.ron new file mode 100644 index 0000000000..e086f69311 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_small/ooze.ron @@ -0,0 +1,3 @@ +[ + (1.0, Item("common.items.crafting_ing.animal_misc.viscous_ooze")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/quad_small/sheep.ron b/assets/common/loot_tables/creature/quad_small/sheep.ron new file mode 100644 index 0000000000..77cbaf3289 --- /dev/null +++ b/assets/common/loot_tables/creature/quad_small/sheep.ron @@ -0,0 +1,4 @@ +[ + (1.0, ItemQuantity("common.items.crafting_ing.cloth.wool", 2, 5)), + (0.25, Item("common.items.food.meat.beast_small_raw")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/theropod/default.ron b/assets/common/loot_tables/creature/theropod/default.ron deleted file mode 100644 index 8b25c8a670..0000000000 --- a/assets/common/loot_tables/creature/theropod/default.ron +++ /dev/null @@ -1,3 +0,0 @@ -[ - (1.0, Item("common.items.crafting_ing.leather_scraps")), -] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/theropod/generic.ron b/assets/common/loot_tables/creature/theropod/generic.ron new file mode 100644 index 0000000000..14dbec1175 --- /dev/null +++ b/assets/common/loot_tables/creature/theropod/generic.ron @@ -0,0 +1,3 @@ +[ + (1.0, Item("common.items.crafting_ing.hide.plate")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/theropod/horned.ron b/assets/common/loot_tables/creature/theropod/horned.ron new file mode 100644 index 0000000000..d3767b3bc1 --- /dev/null +++ b/assets/common/loot_tables/creature/theropod/horned.ron @@ -0,0 +1,4 @@ +[ + (1.0, Item("common.items.crafting_ing.hide.rugged_hide")), + (1.0, Item("common.items.crafting_ing.animal_misc.large_horn")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/creature/theropod/raptor.ron b/assets/common/loot_tables/creature/theropod/raptor.ron index 0c4925c802..2cd8de953f 100644 --- a/assets/common/loot_tables/creature/theropod/raptor.ron +++ b/assets/common/loot_tables/creature/theropod/raptor.ron @@ -1,4 +1,5 @@ [ - (1.0, Item("common.items.crafting_ing.leather_scraps")), - (1.0, Item("common.items.crafting_ing.raptor_feather")), + (0.5, Item("common.items.food.meat.beast_large_raw")), + (1.0, Item("common.items.crafting_ing.hide.tough_hide")), + (1.0, Item("common.items.crafting_ing.animal_misc.raptor_feather")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/dungeon/tier-1/enemy.ron b/assets/common/loot_tables/dungeon/tier-1/enemy.ron index 7493b71f24..1450cef0e2 100644 --- a/assets/common/loot_tables/dungeon/tier-1/enemy.ron +++ b/assets/common/loot_tables/dungeon/tier-1/enemy.ron @@ -1,5 +1,6 @@ [ (1.0, LootTable("common.loot_tables.humanoids")), - (1.0, LootTable("common.loot_tables.armor.swift")), + (1.0, LootTable("common.loot_tables.armor.leather")), (2.0, LootTable("common.loot_tables.weapons.tier-1")), + (1.5, Item("common.items.crafting_ing.sticky_thread")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/dungeon/tier-2/enemy.ron b/assets/common/loot_tables/dungeon/tier-2/enemy.ron index 1c45d01caf..65ca40674b 100644 --- a/assets/common/loot_tables/dungeon/tier-2/enemy.ron +++ b/assets/common/loot_tables/dungeon/tier-2/enemy.ron @@ -1,5 +1,4 @@ [ (1.0, LootTable("common.loot_tables.humanoids")), - (1.0, LootTable("common.loot_tables.armor.plate")), (2.0, LootTable("common.loot_tables.weapons.tier-2")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/dungeon/tier-3/enemy.ron b/assets/common/loot_tables/dungeon/tier-3/enemy.ron index 0efcda9998..9a6f17240e 100644 --- a/assets/common/loot_tables/dungeon/tier-3/enemy.ron +++ b/assets/common/loot_tables/dungeon/tier-3/enemy.ron @@ -1,5 +1,4 @@ [ (1.0, LootTable("common.loot_tables.humanoids")), - (1.0, LootTable("common.loot_tables.armor.steel")), (1.0, LootTable("common.loot_tables.weapons.tier-3")), ] diff --git a/assets/common/loot_tables/dungeon/tier-4/enemy.ron b/assets/common/loot_tables/dungeon/tier-4/enemy.ron index 696bef6900..c41fd9819e 100644 --- a/assets/common/loot_tables/dungeon/tier-4/enemy.ron +++ b/assets/common/loot_tables/dungeon/tier-4/enemy.ron @@ -1,5 +1,4 @@ [ (1.0, LootTable("common.loot_tables.humanoids")), - (1.0, LootTable("common.loot_tables.armor.steel")), (1.0, LootTable("common.loot_tables.weapons.tier-4")), ] diff --git a/assets/common/loot_tables/dungeon/tier-4/miniboss.ron b/assets/common/loot_tables/dungeon/tier-4/miniboss.ron index e51e0c7b7a..81239f6e8d 100644 --- a/assets/common/loot_tables/dungeon/tier-4/miniboss.ron +++ b/assets/common/loot_tables/dungeon/tier-4/miniboss.ron @@ -1,6 +1,4 @@ [ - // armor - (6.0, LootTable("common.loot_tables.armor.steel")), // weapons (3.0, LootTable("common.loot_tables.weapons.tier-4")), // lantern diff --git a/assets/common/loot_tables/dungeon/tier-5/boss.ron b/assets/common/loot_tables/dungeon/tier-5/boss.ron index 93264ea299..382c152ca0 100644 --- a/assets/common/loot_tables/dungeon/tier-5/boss.ron +++ b/assets/common/loot_tables/dungeon/tier-5/boss.ron @@ -2,10 +2,11 @@ (2.0, LootTable("common.loot_tables.creature.biped_large.mindflayer")), // miniboss part // armour - (3.0, LootTable("common.loot_tables.armor.cultist")), (0.25, Item("common.items.armor.misc.back.dungeon_purple")), (0.5, Item("common.items.armor.misc.ring.skull")), // weapons (1.5, LootTable("common.loot_tables.weapons.cultist")), (1.5, LootTable("common.loot_tables.weapons.cave")), + (4.0, ItemQuantity("common.items.crafting_ing.hide.dragon_scale", 2, 7)), + ] diff --git a/assets/common/loot_tables/dungeon/tier-5/enemy.ron b/assets/common/loot_tables/dungeon/tier-5/enemy.ron index 88530ec0c6..168307b1a5 100644 --- a/assets/common/loot_tables/dungeon/tier-5/enemy.ron +++ b/assets/common/loot_tables/dungeon/tier-5/enemy.ron @@ -6,7 +6,6 @@ (5.0, Item("common.items.food.cheese")), // Gear (3.0, LootTable("common.loot_tables.weapons.tier-5")), - (2.0, LootTable("common.loot_tables.armor.steel")), (0.25, Item("common.items.armor.misc.neck.plain_1")), (0.5, Item("common.items.armor.misc.ring.gold")), (0.25, Item("common.items.armor.misc.ring.skull")), @@ -15,4 +14,5 @@ (0.001, Item("common.items.armor.misc.back.backpack")), (0.1, Item("common.items.armor.misc.bag.heavy_seabag")), (1.0, LootTable("common.loot_tables.consumable.default")), + (4.0, Item("common.items.crafting_ing.hide.dragon_scale")), ] diff --git a/assets/common/loot_tables/dungeon/tier-5/miniboss.ron b/assets/common/loot_tables/dungeon/tier-5/miniboss.ron index a2a77e7334..91bd8115de 100644 --- a/assets/common/loot_tables/dungeon/tier-5/miniboss.ron +++ b/assets/common/loot_tables/dungeon/tier-5/miniboss.ron @@ -1,6 +1,5 @@ [ // armor - (3.0, LootTable("common.loot_tables.armor.cultist")), (0.25, Item("common.items.armor.misc.back.dungeon_purple")), (0.5, Item("common.items.armor.misc.ring.skull")), // weapons diff --git a/assets/common/loot_tables/food/wild_ingredients.ron b/assets/common/loot_tables/food/wild_ingredients.ron index 6af4f656da..cd99728eb1 100644 --- a/assets/common/loot_tables/food/wild_ingredients.ron +++ b/assets/common/loot_tables/food/wild_ingredients.ron @@ -1,6 +1,5 @@ [ (1.0, Item("common.items.food.apple")), - (0.3, Item("common.items.food.cheese")), (1.0, Item("common.items.food.coconut")), (1.5, Item("common.items.food.mushroom")), ] diff --git a/assets/common/loot_tables/materials/common.ron b/assets/common/loot_tables/materials/common.ron index ec557fe1b9..e93c108380 100644 --- a/assets/common/loot_tables/materials/common.ron +++ b/assets/common/loot_tables/materials/common.ron @@ -1,6 +1,5 @@ [ (1.0, Item("common.items.crafting_ing.bowl")), (1.0, Item("common.items.crafting_ing.empty_vial")), - (2.0, Item("common.items.crafting_ing.cloth_scraps")), - (1.0, Item("common.items.crafting_ing.leather_scraps")), + (1.0, Item("common.items.crafting_ing.leather.leather_strips")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/materials/gems.ron b/assets/common/loot_tables/materials/gems.ron index ed6df318db..226beed85a 100644 --- a/assets/common/loot_tables/materials/gems.ron +++ b/assets/common/loot_tables/materials/gems.ron @@ -1,8 +1,8 @@ [ - (3.0, Item("common.items.crafting_ing.topaz")), - (3.0, Item("common.items.crafting_ing.amethyst")), - (1.6, Item("common.items.crafting_ing.sapphire")), - (1.2, Item("common.items.crafting_ing.emerald")), - (0.8, Item("common.items.crafting_ing.ruby")), - (0.4, Item("common.items.crafting_ing.diamond")), + (3.0, Item("common.items.mineral.gem.topaz")), + (3.0, Item("common.items.mineral.gem.amethyst")), + (1.6, Item("common.items.mineral.gem.sapphire")), + (1.2, Item("common.items.mineral.gem.emerald")), + (0.8, Item("common.items.mineral.gem.ruby")), + (0.4, Item("common.items.mineral.gem.diamond")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/materials/underground.ron b/assets/common/loot_tables/materials/underground.ron index 2ff78e7df9..9147aa87c2 100644 --- a/assets/common/loot_tables/materials/underground.ron +++ b/assets/common/loot_tables/materials/underground.ron @@ -1,6 +1,6 @@ [ (2.0, Item("common.items.crafting_ing.stones")), - (0.5, Item("common.items.ore.veloritefrag")), - (0.25, Item("common.items.ore.velorite")), + (0.5, Item("common.items.mineral.ore.veloritefrag")), + (0.25, Item("common.items.mineral.ore.velorite")), (0.25, LootTable("common.loot_tables.materials.gems")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/sprite/chest-buried.ron b/assets/common/loot_tables/sprite/chest-buried.ron index 1d6ae13b6f..26af68dc76 100644 --- a/assets/common/loot_tables/sprite/chest-buried.ron +++ b/assets/common/loot_tables/sprite/chest-buried.ron @@ -1,6 +1,5 @@ [ (1.0, LootTable("common.loot_tables.weapons.tier-1")), (1.0, LootTable("common.loot_tables.armor.cloth")), - (1.0, LootTable("common.loot_tables.armor.swift")), - (1.0, LootTable("common.loot_tables.fallback")), + (1.0, LootTable("common.loot_tables.armor.leather")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/sprite/chest.ron b/assets/common/loot_tables/sprite/chest.ron index 98f99d2ec4..4ed06d22c4 100644 --- a/assets/common/loot_tables/sprite/chest.ron +++ b/assets/common/loot_tables/sprite/chest.ron @@ -2,7 +2,5 @@ (1.0, LootTable("common.loot_tables.weapons.tier-0")), (1.0, LootTable("common.loot_tables.weapons.tier-1")), (1.0, LootTable("common.loot_tables.armor.cloth")), - (1.0, LootTable("common.loot_tables.armor.swift")), - (0.1, LootTable("common.loot_tables.armor.plate")), - (1.0, LootTable("common.loot_tables.fallback")), + (1.0, LootTable("common.loot_tables.armor.leather")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/sprite/mud.ron b/assets/common/loot_tables/sprite/mud.ron index 74779a5e51..73389a2671 100644 --- a/assets/common/loot_tables/sprite/mud.ron +++ b/assets/common/loot_tables/sprite/mud.ron @@ -2,5 +2,4 @@ (1.0, LootTable("common.loot_tables.materials.common")), (1.0, LootTable("common.loot_tables.weapons.tier-0")), (1.0, LootTable("common.loot_tables.materials.underground")), - (1.0, LootTable("common.loot_tables.fallback")), ] \ No newline at end of file diff --git a/assets/common/loot_tables/trading.ron b/assets/common/loot_tables/trading.ron index 17b7bb0a68..c109d6db31 100644 --- a/assets/common/loot_tables/trading.ron +++ b/assets/common/loot_tables/trading.ron @@ -1,5 +1,33 @@ // Loot table that exists purely for price rationalisation [ (1.0, Item("common.items.crafting_ing.honey")), - (0.5, Item("common.items.crafting_ing.icy_fang")), + (1.5, Item("common.items.crafting_ing.leather.leather_strips")), + (0.08, Item("common.items.crafting_ing.leather.rigid_leather")), + (1.0, Item("common.items.crafting_ing.leather.simple_leather")), + (0.4, Item("common.items.crafting_ing.leather.thick_leather")), + (1.0, Item("common.items.crafting_ing.hide.animal_hide")), + (0.5, Item("common.items.crafting_ing.hide.tough_hide")), + (0.2, Item("common.items.crafting_ing.hide.scales")), + (0.08, Item("common.items.crafting_ing.animal_misc.fur")), + (0.08, Item("common.items.crafting_ing.animal_misc.grim_eyeball")), + (0.08, Item("common.items.crafting_ing.animal_misc.icy_fang")), + (0.08, Item("common.items.crafting_ing.animal_misc.large_horn")), + (0.08, Item("common.items.crafting_ing.animal_misc.lively_vine")), + (0.08, Item("common.items.crafting_ing.animal_misc.phoenix_feather")), + (0.2, Item("common.items.mineral.ore.bloodstone")), + (1.0, Item("common.items.mineral.ore.coal")), + (0.4, Item("common.items.mineral.ore.cobalt")), + (1.5, Item("common.items.mineral.ore.tin")), + (1.5, Item("common.items.mineral.ore.copper")), + (0.03, Item("common.items.mineral.ore.gold")), + (0.8, Item("common.items.mineral.ore.iron")), + (0.05, Item("common.items.mineral.ore.silver")), + (1.2, Item("common.items.mineral.ore.velorite")), + (0.6, Item("common.items.mineral.ore.veloritefrag")), + (0.8, Item("common.items.mineral.gem.amethyst")), + (0.2, Item("common.items.mineral.gem.diamond")), + (0.6, Item("common.items.mineral.gem.emerald")), + (0.4, Item("common.items.mineral.gem.ruby")), + (0.4, Item("common.items.mineral.gem.sapphire")), + (0.9, Item("common.items.mineral.gem.topaz")), ] diff --git a/assets/common/material_stats_manifest.ron b/assets/common/material_stats_manifest.ron index 9fc450422e..53fc1f0567 100644 --- a/assets/common/material_stats_manifest.ron +++ b/assets/common/material_stats_manifest.ron @@ -1,6 +1,6 @@ // Keep in mind that material stats are multiplied by the form stats, not added (e.g. equip_time_secs is most sensitive to this) ({ - "common.items.crafting_ing.bloodsteel_ingot": ( + "common.items.mineral.ingot.bloodsteel": ( equip_time_secs: 1.0, power: 1.75, poise_strength: 1.75, @@ -8,7 +8,7 @@ crit_chance: 1.75, crit_mult: 1.75, ), - "common.items.crafting_ing.bronze_ingot": ( + "common.items.mineral.ingot.bronze": ( equip_time_secs: 1.0, power: 0.75, poise_strength: 0.75, @@ -16,7 +16,7 @@ crit_chance: 0.75, crit_mult: 0.75, ), - "common.items.crafting_ing.cobalt_ingot": ( + "common.items.mineral.ingot.cobalt": ( equip_time_secs: 1.0, power: 1.5, poise_strength: 1.5, @@ -24,7 +24,7 @@ crit_chance: 1.5, crit_mult: 1.5, ), - "common.items.crafting_ing.copper_ingot": ( + "common.items.mineral.ingot.copper": ( equip_time_secs: 1.0, power: 0.4, poise_strength: 0.4, @@ -32,7 +32,7 @@ crit_chance: 0.4, crit_mult: 0.4, ), - "common.items.crafting_ing.iron_ingot": ( + "common.items.mineral.ingot.iron": ( equip_time_secs: 1.0, power: 1.0, poise_strength: 1.0, @@ -40,7 +40,7 @@ crit_chance: 1.0, crit_mult: 1.0, ), - "common.items.crafting_ing.steel_ingot": ( + "common.items.mineral.ingot.steel": ( equip_time_secs: 1.0, power: 1.25, poise_strength: 1.25, @@ -48,7 +48,7 @@ crit_chance: 1.25, crit_mult: 1.25, ), - "common.items.crafting_ing.tin_ingot": ( + "common.items.mineral.ingot.tin": ( equip_time_secs: 1.0, power: 0.25, poise_strength: 0.25, diff --git a/assets/common/recipe_book.ron b/assets/common/recipe_book.ron index 5b1b11f81b..fa306b04d3 100644 --- a/assets/common/recipe_book.ron +++ b/assets/common/recipe_book.ron @@ -19,16 +19,15 @@ "sewing_set": ( output: ("common.items.crafting_tools.sewing_set", 1), inputs: [ - (Item("common.items.crafting_ing.leather_scraps"), 2), - (Item("common.items.crafting_ing.twigs"), 4), - (Item("common.items.crafting_ing.stones"), 2), + (Item("common.items.crafting_ing.cloth.linen"), 1), + (Item("common.items.mineral.ingot.tin"), 1), ], craft_sprite: Some(CraftingBench), ), "velorite_frag": ( - output: ("common.items.ore.veloritefrag", 2), + output: ("common.items.mineral.ore.veloritefrag", 2), inputs: [ - (Item("common.items.ore.velorite"), 1), + (Item("common.items.mineral.ore.velorite"), 1), (Item("common.items.tool.craftsman_hammer"), 0), ], craft_sprite: Some(Anvil), @@ -46,15 +45,15 @@ output: ("common.items.consumable.potion_med", 1), inputs: [ (Item("common.items.consumable.potion_minor"), 2), - (Item("common.items.ore.veloritefrag"), 4), + (Item("common.items.mineral.ore.veloritefrag"), 4), ], craft_sprite: Some(Cauldron), ), "collar_basic": ( output: ("common.items.utility.collar", 1), inputs: [ - (Item("common.items.crafting_ing.leather_scraps"), 5), - (Item("common.items.crafting_ing.ruby"), 1), + (Item("common.items.crafting_ing.leather.leather_strips"), 5), + (Item("common.items.mineral.gem.ruby"), 1), ], ), "bomb_coconut": ( @@ -62,7 +61,7 @@ inputs: [ (Item("common.items.crafting_ing.stones"), 10), (Item("common.items.food.coconut"), 2), - (Item("common.items.ore.veloritefrag"), 2), + (Item("common.items.mineral.ore.veloritefrag"), 2), (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), @@ -73,7 +72,7 @@ (Item("common.items.crafting_ing.twigs"), 1), (Item("common.items.crafting_ing.stones"), 1), (Item("common.items.food.coconut"), 1), - (Item("common.items.ore.veloritefrag"), 1), + (Item("common.items.mineral.ore.veloritefrag"), 1), (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), @@ -84,7 +83,7 @@ (Item("common.items.crafting_ing.twigs"), 1), (Item("common.items.crafting_ing.stones"), 1), (Item("common.items.food.coconut"), 1), - (Item("common.items.ore.veloritefrag"), 1), + (Item("common.items.mineral.ore.veloritefrag"), 1), (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), @@ -95,7 +94,7 @@ (Item("common.items.crafting_ing.twigs"), 1), (Item("common.items.crafting_ing.stones"), 1), (Item("common.items.food.coconut"), 1), - (Item("common.items.ore.veloritefrag"), 1), + (Item("common.items.mineral.ore.veloritefrag"), 1), (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), @@ -106,7 +105,7 @@ (Item("common.items.crafting_ing.twigs"), 1), (Item("common.items.crafting_ing.stones"), 1), (Item("common.items.food.coconut"), 1), - (Item("common.items.ore.veloritefrag"), 1), + (Item("common.items.mineral.ore.veloritefrag"), 1), (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), @@ -117,7 +116,7 @@ (Item("common.items.crafting_ing.twigs"), 1), (Item("common.items.crafting_ing.stones"), 1), (Item("common.items.food.coconut"), 1), - (Item("common.items.ore.veloritefrag"), 1), + (Item("common.items.mineral.ore.veloritefrag"), 1), (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), @@ -128,7 +127,7 @@ (Item("common.items.crafting_ing.twigs"), 1), (Item("common.items.crafting_ing.stones"), 1), (Item("common.items.food.coconut"), 1), - (Item("common.items.ore.veloritefrag"), 1), + (Item("common.items.mineral.ore.veloritefrag"), 1), (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), @@ -143,12 +142,201 @@ ], craft_sprite: Some(CookingPot), ), + "fish_cooked": ( + output: ("common.items.food.meat.fish_cooked", 1), + inputs: [ + (Item("common.items.food.meat.fish_raw"), 1), + ], + craft_sprite: Some(CookingPot), + ), + "bird_cooked": ( + output: ("common.items.food.meat.bird_cooked", 1), + inputs: [ + (Item("common.items.food.meat.bird_raw"), 1), + ], + craft_sprite: Some(CookingPot), + ), + "bird_large_cooked": ( + output: ("common.items.food.meat.bird_large_cooked", 1), + inputs: [ + (Item("common.items.food.meat.bird_large_raw"), 1), + ], + craft_sprite: Some(CookingPot), + ), + "beast_small_cooked": ( + output: ("common.items.food.meat.beast_small_cooked", 1), + inputs: [ + (Item("common.items.food.meat.beast_small_raw"), 1), + ], + craft_sprite: Some(CookingPot), + ), + "beast_large_cooked": ( + output: ("common.items.food.meat.beast_large_cooked", 1), + inputs: [ + (Item("common.items.food.meat.beast_large_raw"), 1), + ], + craft_sprite: Some(CookingPot), + ), + "tough_cooked": ( + output: ("common.items.food.meat.tough_cooked", 1), + inputs: [ + (Item("common.items.food.meat.tough_raw"), 1), + ], + craft_sprite: Some(CookingPot), + ), + "leather strips": ( + output: ("common.items.crafting_ing.leather.leather_strips", 4), + inputs: [ + (Item("common.items.crafting_ing.leather.simple_leather"), 1), + ], + craft_sprite: Some(TanningRack), + ), + "simple leather": ( + output: ("common.items.crafting_ing.leather.simple_leather", 1), + inputs: [ + (Item("common.items.crafting_ing.hide.animal_hide"), 1), + ], + craft_sprite: Some(TanningRack), + ), + "thick leather": ( + output: ("common.items.crafting_ing.leather.thick_leather", 1), + inputs: [ + (Item("common.items.crafting_ing.hide.tough_hide"), 1), + ], + craft_sprite: Some(TanningRack), + ), + "rigid leather": ( + output: ("common.items.crafting_ing.leather.rigid_leather", 1), + inputs: [ + (Item("common.items.crafting_ing.hide.rugged_hide"), 1), + ], + craft_sprite: Some(TanningRack), + ), + "gold ingot": ( + output: ("common.items.mineral.ingot.gold", 1), + inputs: [ + (Item("common.items.mineral.ore.gold"), 1), + ], + craft_sprite: Some(Forge), + ), + "silver ingot": ( + output: ("common.items.mineral.ingot.silver", 1), + inputs: [ + (Item("common.items.mineral.ore.silver"), 1), + ], + craft_sprite: Some(Forge), + ), + + "iron ingot": ( + output: ("common.items.mineral.ingot.iron", 1), + inputs: [ + (Item("common.items.mineral.ore.iron"), 1), + ], + craft_sprite: Some(Forge), + ), + "cobalt ingot": ( + output: ("common.items.mineral.ingot.cobalt", 1), + inputs: [ + (Item("common.items.mineral.ore.cobalt"), 1), + ], + craft_sprite: Some(Forge), + ), + "tin ingot": ( + output: ("common.items.mineral.ingot.tin", 2), + inputs: [ + (Item("common.items.mineral.ore.tin"), 1), + ], + craft_sprite: Some(Forge), + ), + "orichalcum ingot": ( + output: ("common.items.mineral.ingot.orichalcum", 2), + inputs: [ + (Item("common.items.mineral.ingot.gold"), 1), + (Item("common.items.mineral.ingot.silver"), 1), + ], + craft_sprite: Some(Forge), + ), + "copper ingot": ( + output: ("common.items.mineral.ingot.copper", 2), + inputs: [ + (Item("common.items.mineral.ore.copper"), 1), + ], + craft_sprite: Some(Forge), + ), + "bloodsteel ingot": ( + output: ("common.items.mineral.ingot.bloodsteel", 2), + inputs: [ + (Item("common.items.mineral.ore.bloodstone"), 1), + (Item("common.items.mineral.ore.iron"), 1), + (Item("common.items.mineral.ore.coal"), 1), + ], + craft_sprite: Some(Forge), + ), + "steel ingot": ( + output: ("common.items.mineral.ingot.steel", 1), + inputs: [ + (Item("common.items.mineral.ore.iron"), 1), + (Item("common.items.mineral.ore.coal"), 1), + ], + craft_sprite: Some(Forge), + ), + "bronze ingot": ( + output: ("common.items.mineral.ingot.bronze", 2), + inputs: [ + (Item("common.items.mineral.ingot.copper"), 1), + (Item("common.items.mineral.ingot.tin"), 1), + ], + craft_sprite: Some(Forge), + ), + "cotton": ( + output: ("common.items.crafting_ing.cloth.cotton", 1), + inputs: [ + (Item("common.items.crafting_ing.cotton_boll"), 1), + ], + craft_sprite: Some(SpinningWheel), + ), + "linen_flax": ( + output: ("common.items.crafting_ing.cloth.linen", 1), + inputs: [ + (Item("common.items.flowers.wild_flax"), 1), + ], + craft_sprite: Some(SpinningWheel), + ), + "silk": ( + output: ("common.items.crafting_ing.cloth.silk", 1), + inputs: [ + (Item("common.items.crafting_ing.sticky_thread"), 1), + ], + craft_sprite: Some(SpinningWheel), + ), + "lifecloth": ( + output: ("common.items.crafting_ing.cloth.lifecloth", 1), + inputs: [ + (Item("common.items.crafting_ing.animal_misc.lively_vine"), 1), + (Item("common.items.crafting_ing.cloth.cotton"), 1), + ], + craft_sprite: Some(SpinningWheel), + ), + "moonweave": ( + output: ("common.items.crafting_ing.cloth.moonweave", 1), + inputs: [ + (Item("common.items.flowers.moonbell"), 1), + ], + craft_sprite: Some(SpinningWheel), + ), + "sunsilk": ( + output: ("common.items.crafting_ing.cloth.sunsilk", 1), + inputs: [ + (Item("common.items.flowers.pyrebloom"), 1), + ], + craft_sprite: Some(SpinningWheel), + ), "salad_plain": ( output: ("common.items.food.plainsalad", 1), inputs: [ (Item("common.items.food.lettuce"), 1), (Item("common.items.crafting_ing.bowl"), 1), - ], + ], ), "salad_tomato": ( output: ("common.items.food.tomatosalad", 1), @@ -162,7 +350,7 @@ output: ("common.items.food.apple_stick", 1), inputs: [ (Item("common.items.crafting_ing.twigs"), 2), - (Item("common.items.food.apple"), 2) + (Item("common.items.food.apple"), 2), ], ), "mushroom_stick": ( @@ -176,7 +364,7 @@ output: ("common.items.food.sunflower_icetea", 4), inputs: [ (Item("common.items.crafting_ing.empty_vial"), 1), - (Item("common.items.crafting_ing.icy_fang"), 1), + (Item("common.items.crafting_ing.animal_misc.icy_fang"), 1), (Item("common.items.flowers.sunflower"), 4), (Item("common.items.crafting_ing.honey"), 1), ], @@ -186,8 +374,8 @@ output: ("common.items.glider.glider_basic_white", 1), inputs: [ (Item("common.items.crafting_ing.twigs"), 5), - (Item("common.items.crafting_ing.leather_scraps"), 5), - (Item("common.items.crafting_ing.cloth_scraps"), 10), + (Item("common.items.crafting_ing.leather.leather_strips"), 5), + (Item("common.items.crafting_ing.cloth.linen"), 10), (Item("common.items.tool.craftsman_hammer"), 0), (Item("common.items.crafting_tools.sewing_set"), 0), ], @@ -197,8 +385,8 @@ output: ("common.items.glider.glider_basic_red", 1), inputs: [ (Item("common.items.crafting_ing.twigs"), 5), - (Item("common.items.crafting_ing.cloth_scraps_red"), 10), - (Item("common.items.crafting_ing.leather_scraps"), 5), + (Item("common.items.crafting_ing.cloth.linen_red"), 10), + (Item("common.items.crafting_ing.leather.thick_leather"), 4), (Item("common.items.tool.craftsman_hammer"), 0), (Item("common.items.crafting_tools.sewing_set"), 0), ], @@ -208,9 +396,9 @@ output: ("common.items.glider.glider_leaves", 1), inputs: [ (Item("common.items.crafting_ing.twigs"), 5), - (Item("common.items.crafting_ing.leather_scraps"), 5), - (Item("common.items.crafting_ing.cloth_scraps"), 5), - (Item("common.items.crafting_ing.emerald"), 1), + (Item("common.items.crafting_ing.leather.thick_leather"), 4), + (Item("common.items.crafting_ing.cloth.linen"), 5), + (Item("common.items.mineral.gem.emerald"), 1), (Item("common.items.tool.craftsman_hammer"), 0), (Item("common.items.crafting_tools.sewing_set"), 0), ], @@ -219,11 +407,11 @@ "Sand Raptor Wings": ( output: ("common.items.glider.glider_sandraptor", 1), inputs: [ - (Item("common.items.crafting_ing.raptor_feather"), 6), + (Item("common.items.crafting_ing.animal_misc.raptor_feather"), 6), (Item("common.items.crafting_ing.twigs"), 5), - (Item("common.items.crafting_ing.leather_scraps"), 5), - (Item("common.items.crafting_ing.cloth_scraps"), 5), - (Item("common.items.crafting_ing.ruby"), 1), + (Item("common.items.crafting_ing.leather.thick_leather"), 4), + (Item("common.items.crafting_ing.cloth.linen"), 5), + (Item("common.items.mineral.gem.ruby"), 1), (Item("common.items.tool.craftsman_hammer"), 0), (Item("common.items.crafting_tools.sewing_set"), 0), ], @@ -232,12 +420,12 @@ "Snow Raptor Wings": ( output: ("common.items.glider.glider_snowraptor", 1), inputs: [ - (Item("common.items.crafting_ing.raptor_feather"), 6), + (Item("common.items.crafting_ing.animal_misc.raptor_feather"), 6), (Item("common.items.crafting_ing.twigs"), 5), - (Item("common.items.crafting_ing.leather_scraps"), 5), - (Item("common.items.crafting_ing.cloth_scraps"), 5), - (Item("common.items.crafting_ing.icy_fang"), 1), - (Item("common.items.crafting_ing.ruby"), 1), + (Item("common.items.crafting_ing.leather.thick_leather"), 4), + (Item("common.items.crafting_ing.cloth.linen"), 5), + (Item("common.items.crafting_ing.animal_misc.icy_fang"), 1), + (Item("common.items.mineral.gem.ruby"), 1), (Item("common.items.tool.craftsman_hammer"), 0), (Item("common.items.crafting_tools.sewing_set"), 0), ], @@ -246,11 +434,11 @@ "Wood Raptor Wings": ( output: ("common.items.glider.glider_woodraptor", 1), inputs: [ - (Item("common.items.crafting_ing.raptor_feather"), 6), + (Item("common.items.crafting_ing.animal_misc.raptor_feather"), 6), (Item("common.items.crafting_ing.twigs"), 15), - (Item("common.items.crafting_ing.leather_scraps"), 5), - (Item("common.items.crafting_ing.cloth_scraps"), 5), - (Item("common.items.crafting_ing.ruby"), 1), + (Item("common.items.crafting_ing.leather.leather_strips"), 5), + (Item("common.items.crafting_ing.cloth.linen"), 5), + (Item("common.items.mineral.gem.ruby"), 1), (Item("common.items.tool.craftsman_hammer"), 0), (Item("common.items.crafting_tools.sewing_set"), 0), ], @@ -260,15 +448,15 @@ output: ("common.items.weapons.sceptre.loops0", 1), inputs: [ (Item("common.items.crafting_ing.twigs"), 20), - (Item("common.items.ore.veloritefrag"), 8), - (Item("common.items.crafting_ing.ruby"), 4), + (Item("common.items.mineral.ore.veloritefrag"), 8), + (Item("common.items.mineral.gem.ruby"), 4), (Item("common.items.tool.craftsman_hammer"), 0), ], ), "Hunting Bow": ( output: ("common.items.weapons.bow.wood-2", 1), inputs: [ - (Item("common.items.crafting_ing.leather_scraps"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 8), (Item("common.items.crafting_ing.twigs"), 6), (Item("common.items.crafting_ing.stones"), 0), ], @@ -277,62 +465,1155 @@ "Forest Spirit": ( output: ("common.items.weapons.sword.wood-2", 1), inputs: [ - (Item("common.items.crafting_ing.leather_scraps"), 4), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), (Item("common.items.crafting_ing.twigs"), 10), - (Item("common.items.ore.veloritefrag"), 1), + (Item("common.items.mineral.ore.veloritefrag"), 1), (Item("common.items.crafting_ing.stones"), 0), ], craft_sprite: Some(Anvil), ), - "adventure back": ( - output: ("common.items.armor.agile.back", 1), - inputs: [(Item("common.items.crafting_ing.leather_scraps"), 4)], + "Burnt Drumstick": ( + output: ("common.items.weapons.hammer.burnt_drumstick", 1), + inputs: [ + (Item("common.items.food.meat.bird_large_cooked"), 1), + ], + craft_sprite: Some(CookingPot), + ), +//ARMOR/HIDE/RAWHIDE + "rawhide back": ( + output: ("common.items.armor.hide.rawhide.back", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.simple_leather"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], craft_sprite: Some(CraftingBench), ), - "adventure belt": ( - output: ("common.items.armor.agile.belt", 1), - inputs: [(Item("common.items.crafting_ing.leather_scraps"), 2)], + "rawhide belt": ( + output: ("common.items.armor.hide.rawhide.belt", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.simple_leather"), 2), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], craft_sprite: Some(CraftingBench), ), - "adventure chest": ( - output: ("common.items.armor.agile.chest", 1), - inputs: [(Item("common.items.crafting_ing.leather_scraps"), 12)], + "rawhide chest": ( + output: ("common.items.armor.hide.rawhide.chest", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.simple_leather"), 10), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], craft_sprite: Some(CraftingBench), ), - "adventure feet": ( - output: ("common.items.armor.agile.foot", 1), - inputs: [(Item("common.items.crafting_ing.leather_scraps"), 3)], + "rawhide feet": ( + output: ("common.items.armor.hide.rawhide.foot", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.simple_leather"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], craft_sprite: Some(CraftingBench), ), - "adventure hands": ( - output: ("common.items.armor.agile.hand", 1), - inputs: [(Item("common.items.crafting_ing.leather_scraps"), 4)], + "rawhide hands": ( + output: ("common.items.armor.hide.rawhide.hand", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.simple_leather"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], craft_sprite: Some(CraftingBench), ), - "adventure pants": ( - output: ("common.items.armor.agile.pants", 1), - inputs: [(Item("common.items.crafting_ing.leather_scraps"), 8)], + "rawhide pants": ( + output: ("common.items.armor.hide.rawhide.pants", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.simple_leather"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], craft_sprite: Some(CraftingBench), ), - "adventure shoulder": ( - output: ("common.items.armor.agile.shoulder", 1), - inputs: [(Item("common.items.crafting_ing.leather_scraps"), 12)], + "rawhide shoulder": ( + output: ("common.items.armor.hide.rawhide.shoulder", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.simple_leather"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 6), + ], craft_sprite: Some(CraftingBench), ), +//ARMOR/HIDE/LEATHER + "leather back": ( + output: ("common.items.armor.hide.leather.back", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.thick_leather"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "leather belt": ( + output: ("common.items.armor.hide.leather.belt", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.thick_leather"), 2), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "leather chest": ( + output: ("common.items.armor.hide.leather.chest", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.thick_leather"), 10), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], + craft_sprite: Some(CraftingBench), + ), + "leather feet": ( + output: ("common.items.armor.hide.leather.foot", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.thick_leather"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "leather hands": ( + output: ("common.items.armor.hide.leather.hand", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.thick_leather"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "leather pants": ( + output: ("common.items.armor.hide.leather.pants", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.thick_leather"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], + craft_sprite: Some(CraftingBench), + ), + "leather shoulder": ( + output: ("common.items.armor.hide.leather.shoulder", 1), + inputs: [ + (Item("common.items.crafting_ing.leather.thick_leather"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 6), + ], + craft_sprite: Some(CraftingBench), + ), +//ARMOR/HIDE/SCALE + "scale back": ( + output: ("common.items.armor.hide.scale.back", 1), + inputs: [ + (Item("common.items.crafting_ing.hide.scales"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "scale belt": ( + output: ("common.items.armor.hide.scale.belt", 1), + inputs: [ + (Item("common.items.crafting_ing.hide.scales"), 2), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "scale chest": ( + output: ("common.items.armor.hide.scale.chest", 1), + inputs: [ + (Item("common.items.crafting_ing.hide.scales"), 10), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], + craft_sprite: Some(CraftingBench), + ), + "scale feet": ( + output: ("common.items.armor.hide.scale.foot", 1), + inputs: [ + (Item("common.items.crafting_ing.hide.scales"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "scale hands": ( + output: ("common.items.armor.hide.scale.hand", 1), + inputs: [ + (Item("common.items.crafting_ing.hide.scales"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "scale pants": ( + output: ("common.items.armor.hide.scale.pants", 1), + inputs: [ + (Item("common.items.crafting_ing.hide.scales"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], + craft_sprite: Some(CraftingBench), + ), + "scale shoulder": ( + output: ("common.items.armor.hide.scale.shoulder", 1), + inputs: [ + (Item("common.items.crafting_ing.hide.scales"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 6), + ], + craft_sprite: Some(CraftingBench), + ), +//ARMOR/HIDE/CARAPACE + "carapace back": ( + output: ("common.items.armor.hide.carapace.back", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 1), + (Item("common.items.crafting_ing.hide.carapace"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "carapace belt": ( + output: ("common.items.armor.hide.carapace.belt", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 1), + (Item("common.items.crafting_ing.hide.carapace"), 2), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "carapace chest": ( + output: ("common.items.armor.hide.carapace.chest", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 2), + (Item("common.items.crafting_ing.hide.carapace"), 10), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], + craft_sprite: Some(CraftingBench), + ), + "carapace feet": ( + output: ("common.items.armor.hide.carapace.foot", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 1), + (Item("common.items.crafting_ing.hide.carapace"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "carapace hands": ( + output: ("common.items.armor.hide.carapace.hand", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 1), + (Item("common.items.crafting_ing.hide.carapace"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "carapace pants": ( + output: ("common.items.armor.hide.carapace.pants", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 1), + (Item("common.items.crafting_ing.hide.carapace"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], + craft_sprite: Some(CraftingBench), + ), + "carapace shoulder": ( + output: ("common.items.armor.hide.carapace.shoulder", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 1), + (Item("common.items.crafting_ing.hide.carapace"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 6), + ], + craft_sprite: Some(CraftingBench), + ), +//ARMOR/HIDE/PRIMAL + "primal back": ( + output: ("common.items.armor.hide.primal.back", 1), + inputs: [ + (Item("common.items.crafting_ing.animal_misc.large_horn"), 1), + (Item("common.items.crafting_ing.cloth.lifecloth"), 1), + (Item("common.items.crafting_ing.hide.plate"), 3), + (Item("common.items.crafting_ing.leather.rigid_leather"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "primal belt": ( + output: ("common.items.armor.hide.primal.belt", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.lifecloth"), 1), + (Item("common.items.crafting_ing.hide.plate"), 2), + (Item("common.items.crafting_ing.leather.rigid_leather"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "primal chest": ( + output: ("common.items.armor.hide.primal.chest", 1), + inputs: [ + (Item("common.items.crafting_ing.animal_misc.large_horn"), 1), + (Item("common.items.crafting_ing.cloth.lifecloth"), 2), + (Item("common.items.crafting_ing.hide.plate"), 10), + (Item("common.items.crafting_ing.leather.rigid_leather"), 4), + ], + craft_sprite: Some(CraftingBench), + ), + "primal feet": ( + output: ("common.items.armor.hide.primal.foot", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.lifecloth"), 1), + (Item("common.items.crafting_ing.hide.plate"), 3), + (Item("common.items.crafting_ing.leather.rigid_leather"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "primal hands": ( + output: ("common.items.armor.hide.primal.hand", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.lifecloth"), 1), + (Item("common.items.crafting_ing.hide.plate"), 3), + (Item("common.items.crafting_ing.leather.rigid_leather"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "primal pants": ( + output: ("common.items.armor.hide.primal.pants", 1), + inputs: [ + (Item("common.items.crafting_ing.animal_misc.large_horn"), 1), + (Item("common.items.crafting_ing.cloth.lifecloth"), 2), + (Item("common.items.crafting_ing.hide.plate"), 8), + (Item("common.items.crafting_ing.leather.rigid_leather"), 4), + ], + craft_sprite: Some(CraftingBench), + ), + "primal shoulder": ( + output: ("common.items.armor.hide.primal.shoulder", 1), + inputs: [ + (Item("common.items.crafting_ing.animal_misc.large_horn"), 2), + (Item("common.items.crafting_ing.cloth.lifecloth"), 2), + (Item("common.items.crafting_ing.hide.plate"), 8), + (Item("common.items.crafting_ing.leather.rigid_leather"), 6), + ], + craft_sprite: Some(CraftingBench), + ), +//ARMOR/HIDE/DRAGONSCALE + "dragonscale back": ( + output: ("common.items.armor.hide.dragonscale.back", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 2), + (Item("common.items.crafting_ing.hide.dragon_scale"), 3), + (Item("common.items.crafting_ing.leather.rigid_leather"), 1), + (Item("common.items.crafting_ing.hide.scales"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "dragonscale belt": ( + output: ("common.items.armor.hide.dragonscale.belt", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 2), + (Item("common.items.crafting_ing.hide.dragon_scale"), 2), + (Item("common.items.crafting_ing.hide.scales"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "dragonscale chest": ( + output: ("common.items.armor.hide.dragonscale.chest", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 3), + (Item("common.items.crafting_ing.hide.dragon_scale"), 10), + (Item("common.items.crafting_ing.leather.rigid_leather"), 2), + (Item("common.items.crafting_ing.hide.scales"), 4), + ], + craft_sprite: Some(CraftingBench), + ), + "dragonscale feet": ( + output: ("common.items.armor.hide.dragonscale.foot", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 2), + (Item("common.items.crafting_ing.hide.dragon_scale"), 3), + (Item("common.items.crafting_ing.hide.scales"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "dragonscale hands": ( + output: ("common.items.armor.hide.dragonscale.hand", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 2), + (Item("common.items.crafting_ing.hide.dragon_scale"), 3), + (Item("common.items.crafting_ing.hide.scales"), 2), + ], + craft_sprite: Some(CraftingBench), + ), + "dragonscale pants": ( + output: ("common.items.armor.hide.dragonscale.pants", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 3), + (Item("common.items.crafting_ing.hide.dragon_scale"), 8), + (Item("common.items.crafting_ing.leather.rigid_leather"), 1), + (Item("common.items.crafting_ing.hide.scales"), 4), + ], + craft_sprite: Some(CraftingBench), + ), + "dragonscale shoulder": ( + output: ("common.items.armor.hide.dragonscale.shoulder", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 3), + (Item("common.items.crafting_ing.hide.dragon_scale"), 8), + (Item("common.items.crafting_ing.leather.rigid_leather"), 2), + (Item("common.items.crafting_ing.hide.scales"), 6), + ], + craft_sprite: Some(CraftingBench), + ), +//ARMOR/CLOTH/LINEN + "linen back": ( + output: ("common.items.armor.cloth.linen.back", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.linen"), 3), + ], + craft_sprite: Some(Loom), + ), + "linen belt": ( + output: ("common.items.armor.cloth.linen.belt", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.linen"), 2), + ], + craft_sprite: Some(Loom), + ), + "linen chest": ( + output: ("common.items.armor.cloth.linen.chest", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.linen"), 10), + ], + craft_sprite: Some(Loom), + ), + "linen feet": ( + output: ("common.items.armor.cloth.linen.foot", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.linen"), 3), + ], + craft_sprite: Some(Loom), + ), + "linen hands": ( + output: ("common.items.armor.cloth.linen.hand", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.linen"), 3), + ], + craft_sprite: Some(Loom), + ), + "linen pants": ( + output: ("common.items.armor.cloth.linen.pants", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.linen"), 8), + ], + craft_sprite: Some(Loom), + ), + "linen shoulder": ( + output: ("common.items.armor.cloth.linen.shoulder", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.linen"), 8), + ], + craft_sprite: Some(Loom), + ), +//ARMOR/CLOTH/WOOLEN + "woolen back": ( + output: ("common.items.armor.cloth.woolen.back", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.wool"), 3), + (Item("common.items.crafting_ing.cloth.cotton"), 2), + (Item("common.items.crafting_ing.animal_misc.fur"), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "woolen belt": ( + output: ("common.items.armor.cloth.woolen.belt", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.wool"), 2), + (Item("common.items.crafting_ing.cloth.cotton"), 2), + (Item("common.items.crafting_ing.animal_misc.fur"), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "woolen chest": ( + output: ("common.items.armor.cloth.woolen.chest", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.wool"), 10), + (Item("common.items.crafting_ing.cloth.cotton"), 2), + (Item("common.items.crafting_ing.animal_misc.fur"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "woolen feet": ( + output: ("common.items.armor.cloth.woolen.foot", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.wool"), 3), + (Item("common.items.crafting_ing.cloth.cotton"), 1), + (Item("common.items.crafting_ing.animal_misc.fur"), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "woolen hands": ( + output: ("common.items.armor.cloth.woolen.hand", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.wool"), 3), + (Item("common.items.crafting_ing.cloth.cotton"), 1), + (Item("common.items.crafting_ing.animal_misc.fur"), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "woolen pants": ( + output: ("common.items.armor.cloth.woolen.pants", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.wool"), 8), + (Item("common.items.crafting_ing.cloth.cotton"), 2), + (Item("common.items.crafting_ing.animal_misc.fur"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "woolen shoulder": ( + output: ("common.items.armor.cloth.woolen.shoulder", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.wool"), 8), + (Item("common.items.crafting_ing.cloth.cotton"), 2), + (Item("common.items.crafting_ing.animal_misc.fur"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), +//ARMOR/CLOTH/SILKEN + "silken back": ( + output: ("common.items.armor.cloth.silken.back", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.silk"), 3), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "silken belt": ( + output: ("common.items.armor.cloth.silken.belt", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.silk"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "silken chest": ( + output: ("common.items.armor.cloth.silken.chest", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.silk"), 10), + (Item("common.items.mineral.gem.amethyst"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "silken feet": ( + output: ("common.items.armor.cloth.silken.foot", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.silk"), 3), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "silken hands": ( + output: ("common.items.armor.cloth.silken.hand", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.silk"), 3), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "silken pants": ( + output: ("common.items.armor.cloth.silken.pants", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.silk"), 8), + (Item("common.items.mineral.gem.amethyst"), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "silken shoulder": ( + output: ("common.items.armor.cloth.silken.shoulder", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.silk"), 8), + (Item("common.items.mineral.gem.amethyst"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), +//ARMOR/CLOTH/DRUID + "druid back": ( + output: ("common.items.armor.cloth.druid.back", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.lifecloth"), 3), + (Item("common.items.mineral.ore.veloritefrag"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "druid belt": ( + output: ("common.items.armor.cloth.druid.belt", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.lifecloth"), 2), + (Item("common.items.mineral.ore.veloritefrag"), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "druid chest": ( + output: ("common.items.armor.cloth.druid.chest", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.lifecloth"), 10), + (Item("common.items.mineral.ore.veloritefrag"), 3), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "druid feet": ( + output: ("common.items.armor.cloth.druid.foot", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.lifecloth"), 3), + (Item("common.items.mineral.ore.veloritefrag"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "druid hands": ( + output: ("common.items.armor.cloth.druid.hand", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.lifecloth"), 3), + (Item("common.items.mineral.ore.veloritefrag"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "druid pants": ( + output: ("common.items.armor.cloth.druid.pants", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.lifecloth"), 8), + (Item("common.items.mineral.ore.veloritefrag"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "druid shoulder": ( + output: ("common.items.armor.cloth.druid.shoulder", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.lifecloth"), 8), + (Item("common.items.mineral.ore.veloritefrag"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), +//ARMOR/CLOTH/MOONWEAVE + "moonweave back": ( + output: ("common.items.armor.cloth.moonweave.back", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.moonweave"), 3), + (Item("common.items.crafting_ing.hide.leather_troll"), 3), + (Item("common.items.mineral.ingot.cobalt"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "moonweave belt": ( + output: ("common.items.armor.cloth.moonweave.belt", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.moonweave"), 2), + (Item("common.items.crafting_ing.hide.leather_troll"), 2), + (Item("common.items.mineral.ingot.cobalt"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "moonweave chest": ( + output: ("common.items.armor.cloth.moonweave.chest", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.moonweave"), 10), + (Item("common.items.crafting_ing.hide.leather_troll"), 5), + (Item("common.items.mineral.ingot.cobalt"), 3), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "moonweave feet": ( + output: ("common.items.armor.cloth.moonweave.foot", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.moonweave"), 3), + (Item("common.items.crafting_ing.hide.leather_troll"), 2), + (Item("common.items.mineral.ingot.cobalt"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "moonweave hands": ( + output: ("common.items.armor.cloth.moonweave.hand", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.moonweave"), 3), + (Item("common.items.crafting_ing.hide.leather_troll"), 2), + (Item("common.items.mineral.ingot.cobalt"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "moonweave pants": ( + output: ("common.items.armor.cloth.moonweave.pants", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.moonweave"), 8), + (Item("common.items.crafting_ing.hide.leather_troll"), 3), + (Item("common.items.mineral.ingot.cobalt"), 3), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "moonweave shoulder": ( + output: ("common.items.armor.cloth.moonweave.shoulder", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.moonweave"), 8), + (Item("common.items.crafting_ing.hide.leather_troll"), 3), + (Item("common.items.mineral.ingot.cobalt"), 3), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), +//ARMOR/CLOTH/SUNSILK + "sunsilk back": ( + output: ("common.items.armor.cloth.sunsilk.back", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.sunsilk"), 3), + (Item("common.items.crafting_ing.animal_misc.phoenix_feather"), 1), + (Item("common.items.mineral.ore.silver"), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "sunsilk belt": ( + output: ("common.items.armor.cloth.sunsilk.belt", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.sunsilk"), 2), + (Item("common.items.mineral.ore.silver"), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "sunsilk chest": ( + output: ("common.items.armor.cloth.sunsilk.chest", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.sunsilk"), 10), + (Item("common.items.crafting_ing.animal_misc.phoenix_feather"), 2), + (Item("common.items.mineral.ore.silver"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "sunsilk feet": ( + output: ("common.items.armor.cloth.sunsilk.foot", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.sunsilk"), 3), + (Item("common.items.mineral.ore.silver"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "sunsilk hands": ( + output: ("common.items.armor.cloth.sunsilk.hand", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.sunsilk"), 3), + (Item("common.items.mineral.ore.silver"), 2), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "sunsilk pants": ( + output: ("common.items.armor.cloth.sunsilk.pants", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.sunsilk"), 8), + (Item("common.items.mineral.ore.silver"), 3), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), + "sunsilk shoulder": ( + output: ("common.items.armor.cloth.sunsilk.shoulder", 1), + inputs: [ + (Item("common.items.crafting_ing.cloth.sunsilk"), 8), + (Item("common.items.mineral.ore.silver"), 3), + (Item("common.items.crafting_tools.sewing_set"), 0), + ], + craft_sprite: Some(Loom), + ), +//ARMOR/MAIL/BRONZE + "bronze back": ( + output: ("common.items.armor.mail.bronze.back", 1), + inputs: [ + (Item("common.items.mineral.ingot.bronze"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(Anvil), + ), + "bronze belt": ( + output: ("common.items.armor.mail.bronze.belt", 1), + inputs: [ + (Item("common.items.mineral.ingot.bronze"), 2), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(Anvil), + ), + "bronze chest": ( + output: ("common.items.armor.mail.bronze.chest", 1), + inputs: [ + (Item("common.items.mineral.ingot.bronze"), 10), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], + craft_sprite: Some(Anvil), + ), + "bronze feet": ( + output: ("common.items.armor.mail.bronze.foot", 1), + inputs: [ + (Item("common.items.mineral.ingot.bronze"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(Anvil), + ), + "bronze hands": ( + output: ("common.items.armor.mail.bronze.hand", 1), + inputs: [ + (Item("common.items.mineral.ingot.bronze"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(Anvil), + ), + "bronze pants": ( + output: ("common.items.armor.mail.bronze.pants", 1), + inputs: [ + (Item("common.items.mineral.ingot.bronze"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], + craft_sprite: Some(Anvil), + ), + "bronze shoulder": ( + output: ("common.items.armor.mail.bronze.shoulder", 1), + inputs: [ + (Item("common.items.mineral.ingot.bronze"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 6), + ], + craft_sprite: Some(Anvil), + ), + //ARMOR/MAIL/IRON + "iron back": ( + output: ("common.items.armor.mail.iron.back", 1), + inputs: [ + (Item("common.items.mineral.ingot.iron"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(Anvil), + ), + "iron belt": ( + output: ("common.items.armor.mail.iron.belt", 1), + inputs: [ + (Item("common.items.mineral.ingot.iron"), 2), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(Anvil), + ), + "iron chest": ( + output: ("common.items.armor.mail.iron.chest", 1), + inputs: [ + (Item("common.items.mineral.ingot.iron"), 10), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], + craft_sprite: Some(Anvil), + ), + "iron feet": ( + output: ("common.items.armor.mail.iron.foot", 1), + inputs: [ + (Item("common.items.mineral.ingot.iron"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(Anvil), + ), + "iron hands": ( + output: ("common.items.armor.mail.iron.hand", 1), + inputs: [ + (Item("common.items.mineral.ingot.iron"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 2), + ], + craft_sprite: Some(Anvil), + ), + "iron pants": ( + output: ("common.items.armor.mail.iron.pants", 1), + inputs: [ + (Item("common.items.mineral.ingot.iron"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + ], + craft_sprite: Some(Anvil), + ), + "iron shoulder": ( + output: ("common.items.armor.mail.iron.shoulder", 1), + inputs: [ + (Item("common.items.mineral.ingot.iron"), 8), + (Item("common.items.crafting_ing.leather.leather_strips"), 6), + ], + craft_sprite: Some(Anvil), + ), +//ARMOR/MAIL/STEEL + "steel back": ( + output: ("common.items.armor.mail.steel.back", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 3), + (Item("common.items.crafting_ing.cloth.linen"), 2), + ], + craft_sprite: Some(Anvil), + ), + "steel belt": ( + output: ("common.items.armor.mail.steel.belt", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 2), + (Item("common.items.crafting_ing.leather.thick_leather"), 2), + ], + craft_sprite: Some(Anvil), + ), + "steel chest": ( + output: ("common.items.armor.mail.steel.chest", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 10), + (Item("common.items.crafting_ing.leather.thick_leather"), 4), + ], + craft_sprite: Some(Anvil), + ), + "steel feet": ( + output: ("common.items.armor.mail.steel.foot", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 3), + (Item("common.items.crafting_ing.leather.thick_leather"), 2), + ], + craft_sprite: Some(Anvil), + ), + "steel hands": ( + output: ("common.items.armor.mail.steel.hand", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 3), + (Item("common.items.crafting_ing.leather.thick_leather"), 2), + ], + craft_sprite: Some(Anvil), + ), + "steel pants": ( + output: ("common.items.armor.mail.steel.pants", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 8), + (Item("common.items.crafting_ing.leather.thick_leather"), 4), + ], + craft_sprite: Some(Anvil), + ), + "steel shoulder": ( + output: ("common.items.armor.mail.steel.shoulder", 1), + inputs: [ + (Item("common.items.mineral.ingot.steel"), 8), + (Item("common.items.crafting_ing.leather.thick_leather"), 6), + ], + craft_sprite: Some(Anvil), + ), +//ARMOR/MAIL/COBALT + "cobalt back": ( + output: ("common.items.armor.mail.cobalt.back", 1), + inputs: [ + (Item("common.items.mineral.ingot.cobalt"), 3), + (Item("common.items.crafting_ing.cloth.silk"), 4), + (Item("common.items.mineral.gem.sapphire"), 2), + ], + craft_sprite: Some(Anvil), + ), + "cobalt belt": ( + output: ("common.items.armor.mail.cobalt.belt", 1), + inputs: [ + (Item("common.items.mineral.ingot.cobalt"), 2), + (Item("common.items.crafting_ing.cloth.silk"), 2), + (Item("common.items.mineral.gem.sapphire"), 1), + ], + craft_sprite: Some(Anvil), + ), + "cobalt chest": ( + output: ("common.items.armor.mail.cobalt.chest", 1), + inputs: [ + (Item("common.items.mineral.ingot.cobalt"), 10), + (Item("common.items.crafting_ing.cloth.silk"), 3), + (Item("common.items.mineral.gem.sapphire"), 3), + ], + craft_sprite: Some(Anvil), + ), + "cobalt feet": ( + output: ("common.items.armor.mail.cobalt.foot", 1), + inputs: [ + (Item("common.items.mineral.ingot.cobalt"), 3), + (Item("common.items.crafting_ing.cloth.silk"), 3), + ], + craft_sprite: Some(Anvil), + ), + "cobalt hands": ( + output: ("common.items.armor.mail.cobalt.hand", 1), + inputs: [ + (Item("common.items.mineral.ingot.cobalt"), 3), + (Item("common.items.crafting_ing.cloth.silk"), 3), + ], + craft_sprite: Some(Anvil), + ), + "cobalt pants": ( + output: ("common.items.armor.mail.cobalt.pants", 1), + inputs: [ + (Item("common.items.mineral.ingot.cobalt"), 8), + (Item("common.items.crafting_ing.cloth.silk"), 3), + (Item("common.items.mineral.gem.sapphire"), 2), + ], + craft_sprite: Some(Anvil), + ), + "cobalt shoulder": ( + output: ("common.items.armor.mail.cobalt.shoulder", 1), + inputs: [ + (Item("common.items.mineral.ingot.cobalt"), 8), + (Item("common.items.crafting_ing.cloth.silk"), 3), + (Item("common.items.mineral.gem.sapphire"), 2), + ], + craft_sprite: Some(Anvil), + ), +//ARMOR/MAIL/BLOODSTEEL + "bloodsteel back": ( + output: ("common.items.armor.mail.bloodsteel.back", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 3), + (Item("common.items.crafting_ing.hide.carapace"), 1), + (Item("common.items.crafting_ing.cloth.lifecloth"), 3), + (Item("common.items.mineral.gem.ruby"), 1), + ], + craft_sprite: Some(Anvil), + ), + "bloodsteel belt": ( + output: ("common.items.armor.mail.bloodsteel.belt", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 2), + (Item("common.items.crafting_ing.hide.carapace"), 2), + ], + craft_sprite: Some(Anvil), + ), + "bloodsteel chest": ( + output: ("common.items.armor.mail.bloodsteel.chest", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 10), + (Item("common.items.crafting_ing.hide.carapace"), 4), + (Item("common.items.mineral.gem.diamond"), 2), + (Item("common.items.mineral.gem.ruby"), 2), + ], + craft_sprite: Some(Anvil), + ), + "bloodsteel feet": ( + output: ("common.items.armor.mail.bloodsteel.foot", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 3), + (Item("common.items.crafting_ing.hide.carapace"), 2), + ], + craft_sprite: Some(Anvil), + ), + "bloodsteel hands": ( + output: ("common.items.armor.mail.bloodsteel.hand", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 3), + (Item("common.items.crafting_ing.hide.carapace"), 2), + ], + craft_sprite: Some(Anvil), + ), + "bloodsteel pants": ( + output: ("common.items.armor.mail.bloodsteel.pants", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 8), + (Item("common.items.crafting_ing.hide.carapace"), 3), + (Item("common.items.mineral.gem.ruby"), 2), + ], + craft_sprite: Some(Anvil), + ), + "bloodsteel shoulder": ( + output: ("common.items.armor.mail.bloodsteel.shoulder", 1), + inputs: [ + (Item("common.items.mineral.ingot.bloodsteel"), 8), + (Item("common.items.crafting_ing.hide.carapace"), 4), + (Item("common.items.mineral.gem.ruby"), 2), + ], + craft_sprite: Some(Anvil), + ), +//ARMOR/MAIL/ORICHALCUM + "orichalcum back": ( + output: ("common.items.armor.mail.orichalcum.back", 1), + inputs: [ + (Item("common.items.mineral.ingot.orichalcum"), 3), + (Item("common.items.crafting_ing.hide.plate"), 3), + (Item("common.items.mineral.gem.diamond"), 2), + (Item("common.items.mineral.gem.sapphire"), 1), + ], + craft_sprite: Some(Anvil), + ), + "orichalcum belt": ( + output: ("common.items.armor.mail.orichalcum.belt", 1), + inputs: [ + (Item("common.items.mineral.ingot.orichalcum"), 2), + (Item("common.items.crafting_ing.hide.plate"), 2), + (Item("common.items.mineral.gem.diamond"), 2), + (Item("common.items.mineral.gem.sapphire"), 1), + ], + craft_sprite: Some(Anvil), + ), + "orichalcum chest": ( + output: ("common.items.armor.mail.orichalcum.chest", 1), + inputs: [ + (Item("common.items.mineral.ingot.orichalcum"), 10), + (Item("common.items.mineral.ingot.cobalt"), 2), + (Item("common.items.crafting_ing.hide.plate"), 4), + (Item("common.items.mineral.gem.diamond"), 3), + (Item("common.items.mineral.gem.sapphire"), 2), + ], + craft_sprite: Some(Anvil), + ), + "orichalcum feet": ( + output: ("common.items.armor.mail.orichalcum.foot", 1), + inputs: [ + (Item("common.items.mineral.ingot.orichalcum"), 3), + (Item("common.items.crafting_ing.hide.plate"), 2), + (Item("common.items.mineral.gem.diamond"), 1), + (Item("common.items.mineral.gem.sapphire"), 1), + ], + craft_sprite: Some(Anvil), + ), + "orichalcum hands": ( + output: ("common.items.armor.mail.orichalcum.hand", 1), + inputs: [ + (Item("common.items.mineral.ingot.orichalcum"), 3), + (Item("common.items.crafting_ing.hide.plate"), 2), + (Item("common.items.mineral.gem.diamond"), 1), + (Item("common.items.mineral.gem.sapphire"), 1), + ], + craft_sprite: Some(Anvil), + ), + "orichalcum pants": ( + output: ("common.items.armor.mail.orichalcum.pants", 1), + inputs: [ + (Item("common.items.mineral.ingot.orichalcum"), 8), + (Item("common.items.mineral.ingot.cobalt"), 1), + (Item("common.items.crafting_ing.hide.plate"), 3), + (Item("common.items.mineral.gem.diamond"), 2), + ], + craft_sprite: Some(Anvil), + ), + "orichalcum shoulder": ( + output: ("common.items.armor.mail.orichalcum.shoulder", 1), + inputs: [ + (Item("common.items.mineral.ingot.orichalcum"), 8), + (Item("common.items.crafting_ing.hide.plate"), 4), + (Item("common.items.mineral.gem.sapphire"), 2), + ], + craft_sprite: Some(Anvil), + ), + "Seashell Necklace": ( output: ("common.items.armor.misc.neck.shell", 1), inputs: [ - (Item("common.items.crafting_ing.cloth_scraps"), 2), - (Item("common.items.crafting_ing.sapphire"), 1), + (Item("common.items.crafting_ing.cloth.linen"), 2), + (Item("common.items.mineral.gem.sapphire"), 1), (Item("common.items.crafting_ing.seashells"), 3), (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(CraftingBench), ), "red cloth": ( - output: ("common.items.crafting_ing.cloth_scraps_red", 1), + output: ("common.items.crafting_ing.cloth.linen_red", 1), inputs: [ - (Item("common.items.crafting_ing.cloth_scraps"), 1), + (Item("common.items.crafting_ing.cloth.linen"), 1), (Item("common.items.flowers.red"), 1), (Item("common.items.crafting_tools.mortar_pestle"), 0), ], @@ -340,21 +1621,19 @@ "tiny red pouch": ( output: ("common.items.armor.misc.bag.tiny_red_pouch", 1), inputs: [ - (Item("common.items.crafting_ing.cloth_scraps_red"), 3), - (Item("common.items.crafting_tools.sewing_set"), 0), + (Item("common.items.crafting_ing.cloth.linen_red"), 3), ], ), "tiny leather pouch": ( output: ("common.items.armor.misc.bag.tiny_leather_pouch", 1), inputs: [ - (Item("common.items.crafting_ing.leather_scraps"), 6), - (Item("common.items.crafting_tools.sewing_set"), 0), + (Item("common.items.crafting_ing.leather.leather_strips"), 6), ], ), "knitted red pouch": ( output: ("common.items.armor.misc.bag.knitted_red_pouch", 1), inputs: [ - (Item("common.items.crafting_ing.cloth_scraps_red"), 3), + (Item("common.items.crafting_ing.cloth.linen_red"), 3), (Item("common.items.armor.misc.bag.tiny_red_pouch"), 2), (Item("common.items.crafting_tools.sewing_set"), 0), ], @@ -362,7 +1641,7 @@ "woven red bag": ( output: ("common.items.armor.misc.bag.woven_red_bag", 1), inputs: [ - (Item("common.items.crafting_ing.cloth_scraps_red"), 6), + (Item("common.items.crafting_ing.cloth.linen_red"), 6), (Item("common.items.armor.misc.bag.knitted_red_pouch"), 1), (Item("common.items.crafting_tools.sewing_set"), 0), ], @@ -370,10 +1649,10 @@ "traveler backpack": ( output: ("common.items.armor.misc.back.backpack", 1), inputs: [ - (Item("common.items.crafting_ing.diamond"), 2), + (Item("common.items.mineral.gem.diamond"), 2), (Item("common.items.crafting_ing.twigs"), 2), - (Item("common.items.crafting_ing.cloth_scraps"), 3), - (Item("common.items.crafting_ing.leather_scraps"), 3), + (Item("common.items.crafting_ing.cloth.linen"), 3), + (Item("common.items.crafting_ing.leather.leather_strips"), 3), (Item("common.items.armor.misc.bag.tiny_leather_pouch"), 2), (Item("common.items.crafting_tools.sewing_set"), 0), ], @@ -382,8 +1661,9 @@ "sturdy red backpack": ( output: ("common.items.armor.misc.bag.sturdy_red_backpack", 1), inputs: [ - (Item("common.items.crafting_ing.diamond"), 2), - (Item("common.items.crafting_ing.cloth_scraps_red"), 3), + (Item("common.items.mineral.gem.diamond"), 2), + (Item("common.items.crafting_ing.cloth.linen_red"), 3), + (Item("common.items.crafting_ing.leather.thick_leather"), 3), (Item("common.items.armor.misc.bag.woven_red_bag"), 1), (Item("common.items.crafting_tools.sewing_set"), 0), ], @@ -391,9 +1671,9 @@ "troll hide pack": ( output: ("common.items.armor.misc.bag.troll_hide_pack", 1), inputs: [ - (Item("common.items.crafting_ing.leather_troll"), 10), - (Item("common.items.crafting_ing.leather_scraps"), 10), - (Item("common.items.crafting_ing.diamond"), 1), + (Item("common.items.crafting_ing.hide.leather_troll"), 10), + (Item("common.items.crafting_ing.leather.leather_strips"), 10), + (Item("common.items.mineral.gem.diamond"), 1), (Item("common.items.crafting_tools.sewing_set"), 0), ], ), @@ -401,36 +1681,68 @@ output: ("common.items.armor.misc.bag.mindflayer_spellbag", 1), inputs: [ (Item("common.items.crafting_ing.mindflayer_bag_damaged"), 1), - (Item("common.items.crafting_ing.leather_scraps"), 10), - (Item("common.items.crafting_ing.diamond"), 4), - (Item("common.items.ore.veloritefrag"), 10), + (Item("common.items.crafting_ing.leather.thick_leather"), 8), + (Item("common.items.mineral.gem.diamond"), 4), + (Item("common.items.mineral.ore.veloritefrag"), 10), (Item("common.items.crafting_tools.sewing_set"), 0), ], ), - "pickaxe": ( - output: ("common.items.tool.pick", 1), + "tin pickaxe": ( + output: ("common.items.tool.pickaxe_stone", 1), inputs: [ - (Item("common.items.crafting_ing.cloth_scraps"), 1), // TODO: Replace with plant fiber when obtainable - (Item("common.items.crafting_ing.stones"), 5), // TODO: Replace with iron ingots when obtainable - (Item("common.items.crafting_ing.twigs"), 4), + (Item("common.items.crafting_ing.leather.leather_strips"), 4), + (Item("common.items.crafting_ing.stones"), 5), (Item("common.items.tool.craftsman_hammer"), 0), ], craft_sprite: Some(Anvil), ), - "cloth_scraps": ( - output: ("common.items.crafting_ing.cloth_scraps", 1), + "steel pickaxe": ( + output: ("common.items.tool.pickaxe_steel", 1), inputs: [ - (Tag(ClothItem), 1), - (Item("common.items.crafting_tools.sewing_set"), 0), + (Item("common.items.crafting_ing.cloth.lifecloth"), 1), + (Item("common.items.mineral.ingot.steel"), 5), + (Item("common.items.tool.craftsman_hammer"), 0), + ], + craft_sprite: Some(Anvil), + ), + "linen": ( + output: ("common.items.crafting_ing.cloth.linen", 1), + inputs: [ + (Tag(Material(Linen)), 1), ], ), - "leather_scraps": ( - output: ("common.items.crafting_ing.leather_scraps", 1), + "wool": ( + output: ("common.items.crafting_ing.cloth.wool", 1), inputs: [ - (Tag(LeatherItem), 1), - (Item("common.items.crafting_tools.sewing_set"), 0), + (Tag(Material(Wool)), 1), ], ), + "rawhide": ( + output: ("common.items.crafting_ing.leather.simple_leather", 1), + inputs: [ + (Tag(Material(Rawhide)), 1), + ], + ), + "leather": ( + output: ("common.items.crafting_ing.leather.simple_leather", 1), + inputs: [ + (Tag(Material(Leather)), 1), + ], + ), + "bronze": ( + output: ("common.items.mineral.ingot.bronze", 1), + inputs: [ + (Tag(Material(Bronze)), 1), + ], + craft_sprite: Some(Anvil), + ), + "iron": ( + output: ("common.items.mineral.ingot.iron", 1), + inputs: [ + (Tag(Material(Iron)), 1), + ], + craft_sprite: Some(Anvil), + ), //"metal_blade": ( // output: ("common.items.crafting_ing.modular.damage.sword.metal_blade", 1), // inputs: [ diff --git a/assets/server/manifests/kits.ron b/assets/server/manifests/kits.ron index bc2bb504e5..61d7ffc46c 100644 --- a/assets/server/manifests/kits.ron +++ b/assets/server/manifests/kits.ron @@ -6,33 +6,271 @@ ("common.items.debug.velorite_bow_debug", 1), ("common.items.debug.admin",1), ], - "admin_cosmetics": [ - ("common.items.debug.cultist_belt",1), - ("common.items.debug.cultist_boots",1), - ("common.items.debug.cultist_chest_blue",1), - ("common.items.debug.cultist_hands_blue",1), - ("common.items.debug.cultist_legs_blue",1), - ("common.items.debug.cultist_shoulder_blue",1), - ("common.items.debug.dungeon_purple",1), - ("common.items.debug.admin_back",1), + "consumables": [ + ("common.items.consumable.potion_minor", 100), + ("common.items.consumable.potion_med", 100), + ("common.items.consumable.potion_big", 100), + ("common.items.food.apple_mushroom_curry", 100), ], - "cultist": [ - ("common.items.armor.cultist.chest",1), - ("common.items.armor.cultist.pants",1), - ("common.items.armor.cultist.hand",1), - ("common.items.armor.cultist.foot",1), - ("common.items.armor.cultist.shoulder",1), - ("common.items.armor.cultist.belt",1), + "endgame": [ + // Biju ("common.items.armor.misc.neck.plain_1",1), ("common.items.armor.misc.ring.skull",1), ("common.items.armor.misc.ring.skull",1), - ("common.items.armor.misc.back.dungeon_purple",1), + + // Cultist weapons ("common.items.weapons.hammer.cultist_purp_2h-0",1), ("common.items.weapons.staff.cultist_staff",1), ("common.items.weapons.sword.cultist",1), ("common.items.weapons.bow.velorite",1), ("common.items.weapons.axe.malachite_axe-0",1), ("common.items.weapons.sceptre.sceptre_velorite_0",1), + + // Legendaries + ("common.items.weapons.hammer.mjolnir",1), + ("common.items.weapons.staff.laevateinn",1), + ("common.items.weapons.staff.phoenix",1), + ("common.items.weapons.sword.caladbolg",1), + ("common.items.weapons.bow.sagitta",1), + ("common.items.weapons.axe.parashu",1), + ("common.items.weapons.sceptre.caduceus",1), + ("common.items.weapons.sceptre.root_evil",1), + + ], + "tier-5": [ + // Hide + ("common.items.armor.hide.dragonscale.back", 1), + ("common.items.armor.hide.dragonscale.belt", 1), + ("common.items.armor.hide.dragonscale.chest", 1), + ("common.items.armor.hide.dragonscale.foot", 1), + ("common.items.armor.hide.dragonscale.hand", 1), + ("common.items.armor.hide.dragonscale.pants", 1), + ("common.items.armor.hide.dragonscale.shoulder", 1), + + // Cloth + ("common.items.armor.cloth.sunsilk.back", 1), + ("common.items.armor.cloth.sunsilk.belt", 1), + ("common.items.armor.cloth.sunsilk.chest", 1), + ("common.items.armor.cloth.sunsilk.foot", 1), + ("common.items.armor.cloth.sunsilk.hand", 1), + ("common.items.armor.cloth.sunsilk.pants", 1), + ("common.items.armor.cloth.sunsilk.shoulder", 1), + + // Mail + ("common.items.armor.mail.orichalcum.back", 1), + ("common.items.armor.mail.orichalcum.belt", 1), + ("common.items.armor.mail.orichalcum.chest", 1), + ("common.items.armor.mail.orichalcum.foot", 1), + ("common.items.armor.mail.orichalcum.hand", 1), + ("common.items.armor.mail.orichalcum.pants", 1), + ("common.items.armor.mail.orichalcum.shoulder", 1), + + // Weapons + ("common.items.weapons.sword.bloodsteel-0", 1), + ("common.items.weapons.axe.bloodsteel_axe-0", 1), + ("common.items.weapons.hammer.runic_hammer", 1), + ("common.items.weapons.bow.eldwood-0", 1), + ("common.items.weapons.staff.ruby_rod", 1), + ("common.items.weapons.sceptre.emerald", 1), + + // Potion Kit + ("common.items.consumable.potion_med", 100), + ], + "tier-4": [ + // Hide + ("common.items.armor.hide.primal.back", 1), + ("common.items.armor.hide.primal.belt", 1), + ("common.items.armor.hide.primal.chest", 1), + ("common.items.armor.hide.primal.foot", 1), + ("common.items.armor.hide.primal.hand", 1), + ("common.items.armor.hide.primal.pants", 1), + ("common.items.armor.hide.primal.shoulder", 1), + + // Cloth + ("common.items.armor.cloth.moonweave.back", 1), + ("common.items.armor.cloth.moonweave.belt", 1), + ("common.items.armor.cloth.moonweave.chest", 1), + ("common.items.armor.cloth.moonweave.foot", 1), + ("common.items.armor.cloth.moonweave.hand", 1), + ("common.items.armor.cloth.moonweave.pants", 1), + ("common.items.armor.cloth.moonweave.shoulder", 1), + + // Mail + ("common.items.armor.mail.bloodsteel.back", 1), + ("common.items.armor.mail.bloodsteel.belt", 1), + ("common.items.armor.mail.bloodsteel.chest", 1), + ("common.items.armor.mail.bloodsteel.foot", 1), + ("common.items.armor.mail.bloodsteel.hand", 1), + ("common.items.armor.mail.bloodsteel.pants", 1), + ("common.items.armor.mail.bloodsteel.shoulder", 1), + + // Weapons + ("common.items.weapons.sword.cobalt-0", 1), + ("common.items.weapons.axe.cobalt_axe-0", 1), + ("common.items.weapons.hammer.cobalt_hammer-0", 1), + ("common.items.weapons.bow.frostwood-0", 1), + ("common.items.weapons.staff.frostwood_torch", 1), + ("common.items.weapons.sceptre.fork0", 1), + + // Potion Kit + ("common.items.consumable.potion_med", 100), + ], + "tier-3": [ + // Hide + ("common.items.armor.hide.carapace.back", 1), + ("common.items.armor.hide.carapace.belt", 1), + ("common.items.armor.hide.carapace.chest", 1), + ("common.items.armor.hide.carapace.foot", 1), + ("common.items.armor.hide.carapace.hand", 1), + ("common.items.armor.hide.carapace.pants", 1), + ("common.items.armor.hide.carapace.shoulder", 1), + + // Cloth + ("common.items.armor.cloth.druid.back", 1), + ("common.items.armor.cloth.druid.belt", 1), + ("common.items.armor.cloth.druid.chest", 1), + ("common.items.armor.cloth.druid.foot", 1), + ("common.items.armor.cloth.druid.hand", 1), + ("common.items.armor.cloth.druid.pants", 1), + ("common.items.armor.cloth.druid.shoulder", 1), + + // Mail + ("common.items.armor.mail.cobalt.back", 1), + ("common.items.armor.mail.cobalt.belt", 1), + ("common.items.armor.mail.cobalt.chest", 1), + ("common.items.armor.mail.cobalt.foot", 1), + ("common.items.armor.mail.cobalt.hand", 1), + ("common.items.armor.mail.cobalt.pants", 1), + ("common.items.armor.mail.cobalt.shoulder", 1), + + // Weapons + ("common.items.weapons.sword.steel-0", 1), + ("common.items.weapons.axe.steel_axe-0", 1), + ("common.items.weapons.hammer.steel_hammer-0", 1), + ("common.items.weapons.bow.metal-0", 1), + ("common.items.weapons.staff.flamethrower_0", 1), + ("common.items.weapons.sceptre.coralline_cane", 1), + + // Potion Kit + ("common.items.consumable.potion_med", 100), + ], + "tier-2": [ + // Hide + ("common.items.armor.hide.scale.back", 1), + ("common.items.armor.hide.scale.belt", 1), + ("common.items.armor.hide.scale.chest", 1), + ("common.items.armor.hide.scale.foot", 1), + ("common.items.armor.hide.scale.hand", 1), + ("common.items.armor.hide.scale.pants", 1), + ("common.items.armor.hide.scale.shoulder", 1), + + // Cloth + ("common.items.armor.cloth.silken.back", 1), + ("common.items.armor.cloth.silken.belt", 1), + ("common.items.armor.cloth.silken.chest", 1), + ("common.items.armor.cloth.silken.foot", 1), + ("common.items.armor.cloth.silken.hand", 1), + ("common.items.armor.cloth.silken.pants", 1), + ("common.items.armor.cloth.silken.shoulder", 1), + + // Mail + ("common.items.armor.mail.steel.back", 1), + ("common.items.armor.mail.steel.belt", 1), + ("common.items.armor.mail.steel.chest", 1), + ("common.items.armor.mail.steel.foot", 1), + ("common.items.armor.mail.steel.hand", 1), + ("common.items.armor.mail.steel.pants", 1), + ("common.items.armor.mail.steel.shoulder", 1), + + // Weapons + ("common.items.weapons.sword.iron-0", 1), + ("common.items.weapons.axe.iron_axe-0", 1), + ("common.items.weapons.hammer.iron_hammer-0", 1), + ("common.items.weapons.bow.hardwood-0", 1), + ("common.items.weapons.staff.heated_arm", 1), + ("common.items.weapons.sceptre.druids_arbor", 1), + + // Potion Kit + ("common.items.consumable.potion_med", 100), + ], + "tier-1": [ + // Hide + ("common.items.armor.hide.leather.back", 1), + ("common.items.armor.hide.leather.belt", 1), + ("common.items.armor.hide.leather.chest", 1), + ("common.items.armor.hide.leather.foot", 1), + ("common.items.armor.hide.leather.hand", 1), + ("common.items.armor.hide.leather.pants", 1), + ("common.items.armor.hide.leather.shoulder", 1), + + // Cloth + ("common.items.armor.cloth.woolen.back", 1), + ("common.items.armor.cloth.woolen.belt", 1), + ("common.items.armor.cloth.woolen.chest", 1), + ("common.items.armor.cloth.woolen.foot", 1), + ("common.items.armor.cloth.woolen.hand", 1), + ("common.items.armor.cloth.woolen.pants", 1), + ("common.items.armor.cloth.woolen.shoulder", 1), + + // Mail + ("common.items.armor.mail.iron.back", 1), + ("common.items.armor.mail.iron.belt", 1), + ("common.items.armor.mail.iron.chest", 1), + ("common.items.armor.mail.iron.foot", 1), + ("common.items.armor.mail.iron.hand", 1), + ("common.items.armor.mail.iron.pants", 1), + ("common.items.armor.mail.iron.shoulder", 1), + + // Weapons + ("common.items.weapons.sword.bronze-0", 1), + ("common.items.weapons.axe.bronze_axe-0", 1), + ("common.items.weapons.hammer.bronze_hammer-0", 1), + ("common.items.weapons.bow.bone-0", 1), + ("common.items.weapons.staff.bone_staff", 1), + ("common.items.weapons.sceptre.divine_gohei", 1), + + // Potion Kit + ("common.items.consumable.potion_minor", 100), + ], + "tier-0": [ + // Hide + ("common.items.armor.hide.rawhide.back", 1), + ("common.items.armor.hide.rawhide.belt", 1), + ("common.items.armor.hide.rawhide.chest", 1), + ("common.items.armor.hide.rawhide.foot", 1), + ("common.items.armor.hide.rawhide.hand", 1), + ("common.items.armor.hide.rawhide.pants", 1), + ("common.items.armor.hide.rawhide.shoulder", 1), + + // Cloth + ("common.items.armor.cloth.linen.back", 1), + ("common.items.armor.cloth.linen.belt", 1), + ("common.items.armor.cloth.linen.chest", 1), + ("common.items.armor.cloth.linen.foot", 1), + ("common.items.armor.cloth.linen.hand", 1), + ("common.items.armor.cloth.linen.pants", 1), + ("common.items.armor.cloth.linen.shoulder", 1), + + // Mail + ("common.items.armor.mail.bronze.back", 1), + ("common.items.armor.mail.bronze.belt", 1), + ("common.items.armor.mail.bronze.chest", 1), + ("common.items.armor.mail.bronze.foot", 1), + ("common.items.armor.mail.bronze.hand", 1), + ("common.items.armor.mail.bronze.pants", 1), + ("common.items.armor.mail.bronze.shoulder", 1), + + // weapons + ("common.items.weapons.sword.stone-0", 1), + ("common.items.weapons.axe_1h.stone-0", 1), + ("common.items.weapons.axe_1h.stone-1", 1), + ("common.items.weapons.hammer.stone_hammer-0", 1), + ("common.items.weapons.bow.wood-0", 1), + ("common.items.weapons.staff.bent_fuse", 1), + ("common.items.weapons.sceptre.divine_gohei", 1), + + // potion kit + ("common.items.consumable.potion_minor", 100), ], "ferocious": [ ("common.items.armor.ferocious.chest",1), @@ -44,88 +282,14 @@ ("common.items.armor.ferocious.back",1), ("common.items.weapons.sword.bloodsteel-1",1), ], - "consumables": [ - ("common.items.consumable.potion_minor", 100), - ("common.items.consumable.potion_med", 100), - ("common.items.consumable.potion_big", 100), - ("common.items.food.apple_mushroom_curry", 100), - ], - "tier-4": [ - ("common.items.armor.steel.belt", 1), - ("common.items.armor.steel.chest", 1), - ("common.items.armor.steel.foot", 1), - ("common.items.armor.steel.hand", 1), - ("common.items.armor.steel.pants", 1), - ("common.items.armor.steel.shoulder", 1), - ("common.items.weapons.sword.cobalt-0", 1), - ("common.items.weapons.axe.cobalt_axe-0", 1), - ("common.items.weapons.hammer.cobalt_hammer-0", 1), - ("common.items.weapons.bow.frostwood-0", 1), - ("common.items.weapons.staff.frostwood_torch", 1), - ("common.items.weapons.sceptre.fork0", 1), - ("common.items.consumable.potion_med", 100), - ], - "tier-3": [ - ("common.items.armor.plate.belt", 1), - ("common.items.armor.plate.chest", 1), - ("common.items.armor.plate.foot", 1), - ("common.items.armor.plate.hand", 1), - ("common.items.armor.plate.pants", 1), - ("common.items.armor.plate.shoulder", 1), - ("common.items.weapons.sword.steel-0", 1), - ("common.items.weapons.axe.steel_axe-0", 1), - ("common.items.weapons.hammer.steel_hammer-0", 1), - ("common.items.weapons.bow.metal-0", 1), - ("common.items.weapons.staff.flamethrower_0", 1), - ("common.items.weapons.sceptre.coralline_cane", 1), - ("common.items.consumable.potion_med", 100), - ], - "tier-2": [ - ("common.items.armor.twigs.belt", 1), - ("common.items.armor.twigs.chest", 1), - ("common.items.armor.twigs.foot", 1), - ("common.items.armor.twigs.hand", 1), - ("common.items.armor.twigs.pants", 1), - ("common.items.armor.twigs.shoulder", 1), - ("common.items.weapons.sword.iron-0", 1), - ("common.items.weapons.axe.iron_axe-0", 1), - ("common.items.weapons.hammer.iron_hammer-0", 1), - ("common.items.weapons.bow.hardwood-0", 1), - ("common.items.weapons.staff.heated_arm", 1), - ("common.items.weapons.sceptre.druids_arbor", 1), - ("common.items.consumable.potion_med", 100), - ], - "tier-1": [ - ("common.items.armor.agile.belt", 1), - ("common.items.armor.agile.chest", 1), - ("common.items.armor.agile.foot", 1), - ("common.items.armor.agile.hand", 1), - ("common.items.armor.agile.pants", 1), - ("common.items.armor.agile.shoulder", 1), - ("common.items.weapons.sword.bronze-0", 1), - ("common.items.weapons.axe.bronze_axe-0", 1), - ("common.items.weapons.hammer.bronze_hammer-0", 1), - ("common.items.weapons.bow.bone-0", 1), - ("common.items.weapons.staff.bone_staff", 1), - ("common.items.weapons.sceptre.divine_gohei", 1), - ("common.items.consumable.potion_minor", 100), - ], - "tier-0": [ - ("common.items.armor.cloth_purple.belt", 1), - ("common.items.armor.cloth_purple.chest", 1), - ("common.items.armor.cloth_purple.foot", 1), - ("common.items.armor.cloth_purple.hand", 1), - ("common.items.armor.cloth_purple.pants", 1), - ("common.items.armor.cloth_purple.shoulder", 1), - - ("common.items.weapons.sword.stone-0", 1), - ("common.items.weapons.axe_1h.stone-0", 1), - ("common.items.weapons.axe_1h.stone-1", 1), - ("common.items.weapons.hammer.stone_hammer-0", 1), - ("common.items.weapons.bow.wood-0", 1), - ("common.items.weapons.staff.bent_fuse", 1), - ("common.items.weapons.sceptre.divine_gohei", 1), - - ("common.items.consumable.potion_minor", 100), + "admin_cosmetics": [ + ("common.items.debug.cultist_belt",1), + ("common.items.debug.cultist_boots",1), + ("common.items.debug.cultist_chest_blue",1), + ("common.items.debug.cultist_hands_blue",1), + ("common.items.debug.cultist_legs_blue",1), + ("common.items.debug.cultist_shoulder_blue",1), + ("common.items.debug.dungeon_purple",1), + ("common.items.debug.admin_back",1), ], }) diff --git a/assets/server/manifests/presets.ron b/assets/server/manifests/presets.ron index 341049b2b3..615af7a8da 100644 --- a/assets/server/manifests/presets.ron +++ b/assets/server/manifests/presets.ron @@ -128,6 +128,131 @@ (Sceptre(ARange), 2), (Sceptre(ACost), 2), ], + // Just copypasta from max with random reductions + "middle": [ + // General skills + (General(HealthIncrease), 6), + (General(EnergyIncrease), 4), + (Roll(Cost), 2), + (Roll(Strength), 1), + (Roll(Duration), 1), + + // Sword + (UnlockGroup(Weapon(Sword)), 1), + + (Sword(InterruptingAttacks), 1), + + (Sword(TsCombo), 1), + (Sword(TsDamage), 2), + (Sword(TsRegen), 1), + (Sword(TsSpeed), 2), + + (Sword(DCost), 1), + (Sword(DDrain), 2), + (Sword(DDamage), 2), + (Sword(DScaling), 2), + (Sword(DSpeed), 1), + (Sword(DInfinite), 1), + + (Sword(UnlockSpin), 1), + (Sword(SDamage), 1), + (Sword(SSpeed), 2), + (Sword(SCost), 2), + (Sword(SSpins), 2), + // Axe + (UnlockGroup(Weapon(Axe)), 1), + + (Axe(DsCombo), 1), + (Axe(DsDamage), 2), + (Axe(DsRegen), 2), + (Axe(DsSpeed), 1), + + (Axe(SInfinite), 1), + (Axe(SHelicopter), 1), + (Axe(SDamage), 2), + (Axe(SSpeed), 2), + (Axe(SCost), 2), + + (Axe(UnlockLeap), 1), + (Axe(LDamage), 2), + (Axe(LKnockback), 2), + (Axe(LCost), 2), + (Axe(LDistance), 2), + // Hammer + (UnlockGroup(Weapon(Hammer)), 1), + + (Hammer(SsKnockback), 1), + (Hammer(SsDamage), 2), + (Hammer(SsRegen), 2), + (Hammer(SsSpeed), 2), + + (Hammer(CDamage), 2), + (Hammer(CKnockback), 1), + (Hammer(CDrain), 2), + (Hammer(CSpeed), 2), + + (Hammer(UnlockLeap), 1), + (Hammer(LDamage), 2), + (Hammer(LCost), 2), + (Hammer(LDistance), 1), + (Hammer(LKnockback), 2), + (Hammer(LRange), 2), + // Bow + (UnlockGroup(Weapon(Bow)), 1), + + (Bow(ProjSpeed), 2), + + (Bow(CDamage), 2), + (Bow(CKnockback), 2), + (Bow(CSpeed), 1), + (Bow(CRegen), 1), + (Bow(CMove), 2), + + (Bow(RDamage), 3), + (Bow(RCost), 1), + (Bow(RSpeed), 2), + + (Bow(UnlockShotgun), 1), + (Bow(SDamage), 2), + (Bow(SCost), 1), + (Bow(SArrows), 2), + (Bow(SSpread), 2), + + // Staff + (UnlockGroup(Weapon(Staff)), 1), + + (Staff(BDamage), 1), + (Staff(BRegen), 1), + (Staff(BRadius), 2), + + (Staff(FRange), 2), + (Staff(FDamage), 2), + (Staff(FDrain), 1), + (Staff(FVelocity), 2), + + (Staff(UnlockShockwave), 1), + (Staff(SDamage), 1), + (Staff(SKnockback), 2), + (Staff(SRange), 2), + (Staff(SCost), 2), + // Sceptre + (UnlockGroup(Weapon(Sceptre)), 1), + + (Sceptre(LDamage), 2), + (Sceptre(LRange), 2), + (Sceptre(LLifesteal), 2), + (Sceptre(LRegen), 2), + + (Sceptre(HHeal), 2), + (Sceptre(HCost), 2), + (Sceptre(HRange), 2), + + (Sceptre(UnlockAura), 1), + (Sceptre(AStrength), 2), + (Sceptre(ADuration), 1), + (Sceptre(ARange), 2), + (Sceptre(ACost), 2), + ], // Basic skill preset to unlock all abilities "basic": [ // General skills @@ -135,14 +260,11 @@ // Sword (UnlockGroup(Weapon(Sword)), 1), - (Sword(InterruptingAttacks), 1), - (Sword(DInfinite), 1), (Sword(UnlockSpin), 1), // Axe (UnlockGroup(Weapon(Axe)), 1), - (Axe(SInfinite), 1), (Axe(UnlockLeap), 1), // Hammer diff --git a/assets/server/manifests/ship_manifest.ron b/assets/server/manifests/ship_manifest.ron index 07151cabda..d964d990b4 100644 --- a/assets/server/manifests/ship_manifest.ron +++ b/assets/server/manifests/ship_manifest.ron @@ -7,22 +7,44 @@ offset: (-17.5, -39.0, 1.0), //phys_offset: (0.25, 0.25, 0.25), phys_offset: (0.0, 0.0, 0.0), - central: ("Human_Airship"), + central: ("airship_human.structure"), ), bone1: ( offset: (-8.5, -2.0, -8.5), phys_offset: (0.0, 0.0, 0.0), - central: ("propeller-l"), + central: ("airship_human.propeller-l"), ), bone2: ( offset: (-8.5, -2.0, -8.5), phys_offset: (0.0, 0.0, 0.0), - central: ("propeller-r"), + central: ("airship_human.propeller-r"), ), bone3: ( offset: (-1.5, -11.0, -5.5), phys_offset: (0.0, 0.0, 0.0), - central: ("rudder"), + central: ("airship_human.rudder"), + ), + ), + AirBalloon: ( + bone0: ( + offset: (-14.5, -16.0, 0.0), + phys_offset: (0.0, 0.0, 0.0), + central: ("air_balloon.structure"), + ), + bone1: ( + offset: (0.0, 0.0, 0.0), + phys_offset: (0.0, 0.0, 0.0), + central: ("empty"), + ), + bone2: ( + offset: (0.0, 0.0, 0.0), + phys_offset: (0.0, 0.0, 0.0), + central: ("empty"), + ), + bone3: ( + offset: (-1.5, -6.0, -5.0), + phys_offset: (0.0, 0.0, 0.0), + central: ("air_balloon.rudder"), ), ), }) diff --git a/assets/server/voxel/air_balloon/rudder.vox b/assets/server/voxel/air_balloon/rudder.vox new file mode 100644 index 0000000000..f6db05bb50 --- /dev/null +++ b/assets/server/voxel/air_balloon/rudder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc954f4afad421fc62e64cfc2ea44fbdee4aae998366fb6be734c66c580f40fb +size 1372 diff --git a/assets/server/voxel/air_balloon/structure.vox b/assets/server/voxel/air_balloon/structure.vox new file mode 100644 index 0000000000..c6d6faaadb --- /dev/null +++ b/assets/server/voxel/air_balloon/structure.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff86a7d110f72d9d8c40504f95efe1ea0e58c8d1b68fc7560ecccd119d80a1a8 +size 57016 diff --git a/assets/server/voxel/airship.vox b/assets/server/voxel/airship.vox deleted file mode 100644 index 06bebaa938..0000000000 --- a/assets/server/voxel/airship.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86f317298900ea98f95c6a33192b25fbbcbd3ce5f105cad58ad3c595a7a7d9ee -size 70176 diff --git a/assets/server/voxel/propeller-l.vox b/assets/server/voxel/airship_human/propeller-l.vox similarity index 100% rename from assets/server/voxel/propeller-l.vox rename to assets/server/voxel/airship_human/propeller-l.vox diff --git a/assets/server/voxel/propeller-r.vox b/assets/server/voxel/airship_human/propeller-r.vox similarity index 100% rename from assets/server/voxel/propeller-r.vox rename to assets/server/voxel/airship_human/propeller-r.vox diff --git a/assets/server/voxel/rudder.vox b/assets/server/voxel/airship_human/rudder.vox similarity index 100% rename from assets/server/voxel/rudder.vox rename to assets/server/voxel/airship_human/rudder.vox diff --git a/assets/server/voxel/Human_Airship.vox b/assets/server/voxel/airship_human/structure.vox similarity index 100% rename from assets/server/voxel/Human_Airship.vox rename to assets/server/voxel/airship_human/structure.vox diff --git a/assets/server/voxel/empty.vox b/assets/server/voxel/empty.vox new file mode 100644 index 0000000000..f04b7224f0 --- /dev/null +++ b/assets/server/voxel/empty.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65c035d525a19cf76b7bf8d5ec0352f4b56cb8f4b3c2356459d919776a9a774c +size 1096 diff --git a/assets/voxygen/background/bg_1.png b/assets/voxygen/background/bg_1.png new file mode 100644 index 0000000000..48772268ba --- /dev/null +++ b/assets/voxygen/background/bg_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2f501dcf2404832c9f713fc704c62bfa76b20b07b234755adb9198ff3d6893f +size 1042062 diff --git a/assets/voxygen/background/bg_10.png b/assets/voxygen/background/bg_10.png index 879688a703..466e35655c 100644 --- a/assets/voxygen/background/bg_10.png +++ b/assets/voxygen/background/bg_10.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ce15f179ea21c34f76d01f8722750d12e2fb8d2505fa95a0b67d21179f01550 -size 2072669 +oid sha256:62a1fb6b416664dc346015492f4ed010eed55a4d59da25ea14837165ea5a8020 +size 2878018 diff --git a/assets/voxygen/background/bg_11.png b/assets/voxygen/background/bg_11.png new file mode 100644 index 0000000000..e4bee3831b --- /dev/null +++ b/assets/voxygen/background/bg_11.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9343b6be6caf0099edeac7260bf65103b7d1ec33211629988068b2f1412945d6 +size 3256584 diff --git a/assets/voxygen/background/bg_12.png b/assets/voxygen/background/bg_12.png index 46b915da73..ef49a9452b 100644 --- a/assets/voxygen/background/bg_12.png +++ b/assets/voxygen/background/bg_12.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c749107fa64db8f0c2a1a2f52b6b8cddb94dbaea10f28af98ed7063d960a91e -size 1514301 +oid sha256:ae98e12dbdb515556281313ac8d5e93be059aaafbd3f0578c3af58750841d682 +size 505241 diff --git a/assets/voxygen/background/bg_13.png b/assets/voxygen/background/bg_13.png index e5d2d13b54..7b7eccaf52 100644 --- a/assets/voxygen/background/bg_13.png +++ b/assets/voxygen/background/bg_13.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2d1a72735e0fad46410db7c517a80d95ddddf0b76ed798f3bcfc1098bda125c7 -size 1314819 +oid sha256:52edcbfe10dec67d5351d7940059591884f19bbc6acda7ffd3092aa7ed90ccf3 +size 1282505 diff --git a/assets/voxygen/background/bg_14.png b/assets/voxygen/background/bg_14.png deleted file mode 100644 index 466e35655c..0000000000 --- a/assets/voxygen/background/bg_14.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:62a1fb6b416664dc346015492f4ed010eed55a4d59da25ea14837165ea5a8020 -size 2878018 diff --git a/assets/voxygen/background/bg_2.png b/assets/voxygen/background/bg_2.png index c078dc9993..a33086f1e9 100644 --- a/assets/voxygen/background/bg_2.png +++ b/assets/voxygen/background/bg_2.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1729c18f184cea4235362680c61ea36aa74581fd85478db9e6233bbe9bce0f11 -size 2939456 +oid sha256:f6149efbefa2c9acb45a5b20c36aa085e6e413ecd17c66929c2c3e20c62a3171 +size 961708 diff --git a/assets/voxygen/background/bg_3.png b/assets/voxygen/background/bg_3.png index a33086f1e9..89a5200c38 100644 --- a/assets/voxygen/background/bg_3.png +++ b/assets/voxygen/background/bg_3.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6149efbefa2c9acb45a5b20c36aa085e6e413ecd17c66929c2c3e20c62a3171 -size 961708 +oid sha256:27ab466038b11f3026452e0c3eb4480300a328e31a708c323dc3b0cae89c04e1 +size 2272839 diff --git a/assets/voxygen/background/bg_4.png b/assets/voxygen/background/bg_4.png index af9cf7ac6d..beed1bcbf8 100644 --- a/assets/voxygen/background/bg_4.png +++ b/assets/voxygen/background/bg_4.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:26cddb6e1df00d6fa23437d128b20021f1442960378cd8b78716d9d89be6a4aa -size 2272863 +oid sha256:9ff1f9d09e04ca1343cb481403428d8a604e4090f2e1760caecb1a8aee149caa +size 897858 diff --git a/assets/voxygen/background/bg_5.png b/assets/voxygen/background/bg_5.png index 34705e85cb..3c320bdacb 100644 --- a/assets/voxygen/background/bg_5.png +++ b/assets/voxygen/background/bg_5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5e3b6cf6d407ab7437ad79452913b465e368bb8087be829d56f398bd8da1cf5 -size 1532565 +oid sha256:0ccdede73a20ae6355782d9c10b18f868a515a27f8da79013109930b8c39bd8c +size 2044001 diff --git a/assets/voxygen/background/bg_6.png b/assets/voxygen/background/bg_6.png index beed1bcbf8..1bac40b2c7 100644 --- a/assets/voxygen/background/bg_6.png +++ b/assets/voxygen/background/bg_6.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ff1f9d09e04ca1343cb481403428d8a604e4090f2e1760caecb1a8aee149caa -size 897858 +oid sha256:7ae41c4fac3190e13d1bfdafe6905ede9eeb2f8bdc6b5708d28b82a499aaa5ab +size 2079829 diff --git a/assets/voxygen/background/bg_7.png b/assets/voxygen/background/bg_7.png index 2766bc8ce8..23de419292 100644 --- a/assets/voxygen/background/bg_7.png +++ b/assets/voxygen/background/bg_7.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:43b00fe438061a3c972043d902cfa81638a3a15e6ca957b86a28cb651767a141 -size 1450305 +oid sha256:5f69f880541dbb2962060419c893b0ab061c8e429d2a836b5bdcf9733c10c7d8 +size 1100362 diff --git a/assets/voxygen/background/bg_8.png b/assets/voxygen/background/bg_8.png index d429e5eec4..b7db0e1bbb 100644 --- a/assets/voxygen/background/bg_8.png +++ b/assets/voxygen/background/bg_8.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd6507de7afa3bbc697fb2867fadc44184298dc9026f30fe91613c06dc72723d -size 906501 +oid sha256:b8945a91805b8c0a6fbb9f7eee972c70a47ca1ac24d25ae9b91a3aa8fff5a336 +size 659820 diff --git a/assets/voxygen/background/bg_9.png b/assets/voxygen/background/bg_9.png index 1bac40b2c7..3067fcb80c 100644 --- a/assets/voxygen/background/bg_9.png +++ b/assets/voxygen/background/bg_9.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ae41c4fac3190e13d1bfdafe6905ede9eeb2f8bdc6b5708d28b82a499aaa5ab -size 2079829 +oid sha256:e101b354202f8d2fc872808041930b7b683d358b35cfe95203486e175f8cf6eb +size 1585712 diff --git a/assets/voxygen/background/bg_main.png b/assets/voxygen/background/bg_main.png old mode 100644 new mode 100755 index e4bee3831b..7696d64216 --- a/assets/voxygen/background/bg_main.png +++ b/assets/voxygen/background/bg_main.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9343b6be6caf0099edeac7260bf65103b7d1ec33211629988068b2f1412945d6 -size 3256584 +oid sha256:31135eadd773c6846a749e661197c1e95f99808f75e34b74c357476d706a5a7e +size 936308 diff --git a/assets/voxygen/element/ui/crafting/crafting.png b/assets/voxygen/element/ui/crafting/crafting.png index b7ad8cb867..016de50f1c 100644 --- a/assets/voxygen/element/ui/crafting/crafting.png +++ b/assets/voxygen/element/ui/crafting/crafting.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3beb25b03faf16a78b78703f2006781eca832c5ae408cca7dfe028a5295ba574 -size 2978 +oid sha256:3b02077a3e41af451a56b7e40915ee2741dc4f4a2d17ea6d8b8a69a6c8809c51 +size 8908 diff --git a/assets/voxygen/element/ui/crafting/crafting_frame.png b/assets/voxygen/element/ui/crafting/crafting_frame.png index 865a08a9bf..9d027a9397 100644 --- a/assets/voxygen/element/ui/crafting/crafting_frame.png +++ b/assets/voxygen/element/ui/crafting/crafting_frame.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:00e47d30ea7f0578532b9dd218f37beb10ba94a36d76f950ea17c967ac8e62df -size 2932 +oid sha256:76b81760705df1f69043a252bf1d0104ca7b64a3860e5e500f33ca1c5db15cfc +size 6392 diff --git a/assets/voxygen/element/ui/crafting/icons/processed_material.png b/assets/voxygen/element/ui/crafting/icons/processed_material.png new file mode 100644 index 0000000000..f4dfd2d6bf --- /dev/null +++ b/assets/voxygen/element/ui/crafting/icons/processed_material.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66e91a7bc987355ffcd5126b9803730f143812151ab4317b0ae38bfc10b777b0 +size 552 diff --git a/assets/voxygen/element/ui/crafting/quality_indicator.png b/assets/voxygen/element/ui/crafting/quality_indicator.png new file mode 100644 index 0000000000..8829b36e0e --- /dev/null +++ b/assets/voxygen/element/ui/crafting/quality_indicator.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53543ae3d5064ea83733135f8d2eaf673d77d535ab9ed939c827d00ff23de262 +size 612 diff --git a/assets/voxygen/i18n/en/common.ron b/assets/voxygen/i18n/en/common.ron index ef01237b8c..6694770192 100644 --- a/assets/voxygen/i18n/en/common.ron +++ b/assets/voxygen/i18n/en/common.ron @@ -37,7 +37,7 @@ "common.automatic": "Auto", "common.random": "Random", "common.empty": "Empty", - + // Settings Window title "common.interface_settings": "Interface Settings", "common.gameplay_settings": "Gameplay Settings", @@ -99,7 +99,17 @@ Is the client up to date?"#, "common.stats.crit_mult": "Crit Mult", "common.stats.armor": "Armor", "common.stats.poise_res":"Stun Res", + "common.stats.energy_max": "Max Energy", + "common.stats.energy_reward": "Energy Reward", + "common.stats.crit_power": "Crit Power", + "common.stats.stealth": "Stealth", "common.stats.slots": "Slots", + + "common.material.metal": "Metal", + "common.material.wood": "Wood", + "common.material.stone": "Stone", + "common.material.cloth": "Cloth", + "common.material.hide": "Hide", }, diff --git a/assets/voxygen/i18n/en/hud/crafting.ron b/assets/voxygen/i18n/en/hud/crafting.ron index 985f4c3bd4..f702b1540f 100644 --- a/assets/voxygen/i18n/en/hud/crafting.ron +++ b/assets/voxygen/i18n/en/hud/crafting.ron @@ -14,6 +14,10 @@ "hud.crafting.cauldron": "Cauldron", "hud.crafting.cooking_pot": "Cooking Pot", "hud.crafting.crafting_bench": "Crafting Bench", + "hud.crafting.forge": "Forge", + "hud.crafting.loom": "Loom", + "hud.crafting.spinning_wheel": "Spinning Wheel", + "hud.crafting.tanning_rack": "Tanning Rack", // Tabs "hud.crafting.tabs.all": "All", "hud.crafting.tabs.armor": "Armor", @@ -25,6 +29,7 @@ "hud.crafting.tabs.utility": "Utility", "hud.crafting.tabs.weapon": "Weapons", "hud.crafting.tabs.bag": "Bags", + "hud.crafting.tabs.processed_material": "Materials", }, diff --git a/assets/voxygen/i18n/fr_FR/common.ron b/assets/voxygen/i18n/fr_FR/common.ron index 3f61599a16..ae3130d560 100644 --- a/assets/voxygen/i18n/fr_FR/common.ron +++ b/assets/voxygen/i18n/fr_FR/common.ron @@ -97,6 +97,12 @@ Le client est-il à jour?"#, "common.stats.armor": "Armure", "common.stats.poise_res": "Res Impact", "common.stats.slots": "Emplacements", + + "common.material.metal": "Metal", + "common.material.wood": "Bois", + "common.material.stone": "Pierre", + "common.material.cloth": "Tissu", + "common.material.hide": "Peau", }, diff --git a/assets/voxygen/i18n/pt_BR/skills.ron b/assets/voxygen/i18n/pt_BR/skills.ron index dc9958ec0d..2d7daa2e69 100644 --- a/assets/voxygen/i18n/pt_BR/skills.ron +++ b/assets/voxygen/i18n/pt_BR/skills.ron @@ -4,7 +4,7 @@ ( string_map: { "hud.rank_up": "Novo Ponto de Habilidade", - "hud.skill.sp_available": "{number} PHs disponíveis available", + "hud.skill.sp_available": "{number} PHs disponíveis", "hud.skill.not_unlocked": "Não desbloqueado", "hud.skill.req_sp": "\n\nRequer {number} PHs", // Habilidades @@ -16,7 +16,7 @@ "hud.skill.unlck_sword_title": "Desbloquear Espada", "hud.skill.unlck_sword": "Desbloquear habilidades de espada{SP}", "hud.skill.unlck_axe_title": "Desbloquear Machado", - "hud.skill.unlck_axe": "Unlocks Desbloquear habilidades de Machado{SP}", + "hud.skill.unlck_axe": "Desbloquear habilidades de Machado{SP}", "hud.skill.unlck_hammer_title": "Desbloquear Martelo", "hud.skill.unlck_hammer": "Desbloquear Habilidades de Martelo{SP}", "hud.skill.unlck_bow_title": "Desbloquear Arco", @@ -74,7 +74,7 @@ "hud.skill.sc_wardaura_cost": "A utilização da Aura Protetora requer 15% menos energia{SP}", // Cajado "hud.skill.st_shockwave_range_title" : "Alcance da Onda de Choque", - "hud.skill.st_shockwave_range" : "arremessa coisas que antes estavam fora de alcance, aumentando-o em 20%{SP}", + "hud.skill.st_shockwave_range" : "Arremessa coisas que antes estavam fora de alcance, aumentando-o em 20%{SP}", "hud.skill.st_shockwave_cost_title" : "Custo da Onda de Choque", "hud.skill.st_shockwave_cost" : "Reduz custo de energia ao arremessar aldeões indefesos em 20%{SP}", "hud.skill.st_shockwave_knockback_title" : "Empurrão da Onda de Choque", @@ -123,7 +123,7 @@ "hud.skill.bow_charged_speed_title" : "Velocidade da Carga", "hud.skill.bow_charged_speed" : "Aumenta a velocidade de carga dos ataques em 10%{SP}", "hud.skill.bow_charged_projectile_speed_title" : "Velocidade de Projétil Carregado", - "hud.skill.bow_charged_projectile_speed" : "Aumenta a velocidade de projétil carregado em 20%{SP}", + "hud.skill.bow_charged_projectile_speed" : "Aumenta a velocidade de projétil carregado em 20%{SP}", "hud.skill.bow_charged_drain_title" : "Dreno da Carga", "hud.skill.bow_charged_drain" : "Reduz dreno de stamina em 15%{SP}", "hud.skill.bow_charged_damage_title" : "Dano da Carga", @@ -147,7 +147,7 @@ "hud.skill.hmr_leap_damage" : "Aumenta dano do salto em 40%{SP}", "hud.skill.hmr_unlock_leap_title" : "Desbloquear Salto", "hud.skill.hmr_unlock_leap" : "Desbloqueia o salto{SP}", - "hud.skill.hmr_charged_melee_title" : "Carga corpo a corpo", + "hud.skill.hmr_charged_melee_title" : "Carga Corpo a Corpo", "hud.skill.hmr_charged_melee" : "Ataque de martelo com carga", "hud.skill.hmr_charged_rate_title" : "Taxa de Carga", "hud.skill.hmr_charged_rate" : "Aumenta a taxa de carga em 25%{SP}", diff --git a/assets/voxygen/i18n/sv/_manifest.ron b/assets/voxygen/i18n/sv/_manifest.ron index 2726566fa9..30c7b109a5 100644 --- a/assets/voxygen/i18n/sv/_manifest.ron +++ b/assets/voxygen/i18n/sv/_manifest.ron @@ -1,23 +1,12 @@ -/// Translation document instructions -/// -/// In order to keep localization documents readible please follow the following -/// rules: -/// - separate the string map sections using a commentary describing the purpose -/// of the next section -/// - prepend multi-line strings with a commentary -/// - append one blank lines after a multi-line strings and two after sections -/// -/// To add a new language in Veloren, just write an additional `.ron` file in -/// `assets/voxygen/i18n` and that's it! +/// WARNING: Localization files shall be saved in UTF-8 format without BOM -/// Localization for Swedish +/// Localization for "global" Swedish ( metadata: ( language_name: "Svenska", language_identifier: "sv", ), convert_utf8_to_ascii: false, - // Make sure that fonts contain all swedisch characters fonts: { "opensans": Font ( asset_key: "voxygen.font.OpenSans-Regular", @@ -40,327 +29,207 @@ scale_ratio: 1.0, ), }, - sub_directories: [], + sub_directories: [ + "hud" + ], string_map: { - /// Start Common section - // Texts used in multiple locations with the same formatting - "common.username": "användarnamn", - "common.singleplayer": "En spelare", - "common.multiplayer": "Flera spelare", - "common.servers": "Servrar", - "common.quit": "Avsluta", - "common.settings": "Inställningar", - "common.languages": "Språk", - "common.interface": "Gränssnitt", - "common.gameplay": "Spel", - "common.controls": "Kontroller", - "common.video": "Video", - "common.sound": "Ljud", - "common.resume": "Återuppta", - "common.characters": "Karaktärer", - "common.close": "Stäng", - "common.yes": "Ja", - "common.no": "Nej", - "common.back": "Tillbaka", - "common.create": "Skapa", - "common.okay": "Okej", - "common.disclaimer": "Varning", - "common.cancel": "Ångra", - "common.none": "Ingen", - // Message when connection to the server is lost - "common.connection_lost": r#"Förlorade kopplingen! -Startade servern om? -Är klienten uppdaterad?"#, - - - "common.races.orc": "Orch", - "common.races.human": "Människa", - "common.races.dwarf": "Dvärg", - "common.races.elf": "Älva", - "common.races.undead": "Odöd", - "common.races.danari": "Danari", - - "common.weapons.axe": "Yxa", - "common.weapons.sword": "Svärd", - "common.weapons.staff": "Stav", - "common.weapons.bow": "Båge", - "common.weapons.hammer": "Hammare", - /// End Common section - - - /// Start Main screen section - "main.connecting": "Kopplar", - "main.creating_world": "Skapar värld", - - // Welcome notice that appears the first time Veloren is started - "main.notice": r#"Välkommen till alfaversionen av Veloren! - -Before you dive into the fun, please keep a few things in mind: - -- This is a very early alpha. Expect bugs, extremely unfinished gameplay, unpolished mechanics, and missing features. -- If you have constructive feedback or bug reports, you can contact us via Reddit, GitLab, or our community Discord server. -- Veloren is licensed under the GPL 3 open-source licence. That means you're free to play, modify, and redistribute the game however you wish (provided derived work is also under GPL 3). -- Veloren is a non-profit community project, and everybody working on it is a volunteer. -If you like what you see, you're welcome to join the development or art teams! -- 'Voxel RPG' is a genre in its own right. First-person shooters used to be called Doom clones. - -Like them, we're trying to build a niche. This game is not a clone, and its development will diverge from existing games in the future. - -Thanks for taking the time to read this notice, we hope you enjoy the game! - -~ Utvecklarna av Veloren"#, - - // Login process description - "main.login_process": r#"Information om inloggningsprocessen: - -Put in any username. No Account needed yet. - -Character names and appearances will be saved locally. - -Levels/Items are not saved yet."#, - - - /// End Main screen section - - - /// Start HUD Section - "hud.do_not_show_on_startup": "Visa inte detta vid start", - "hud.show_tips": "Visa Tips", - "hud.quests": "Quests", - "hud.you_died": "Du dog", - - "hud.press_key_to_show_keybindings_fmt": "Tryck {key} för att visa tangentbindningar", - "hud.press_key_to_show_debug_info_fmt": "Tryck {key} för att visa debug info", - "hud.press_key_to_toggle_keybindings_fmt": "Tryck {key} för att t tangentbindningar", - "hud.press_key_to_toggle_debug_info_fmt": "Tryck {key} för att toggla debug info", - - // Respawn message - "hud.press_key_to_respawn": r#"Press {key} to respawn at your Waypoint. - -Press Enter, type in /waypoint and confirm to set it here."#, - - // Welcome message - "hud.welcome": r#"Welcome to the Veloren Alpha!, - - -Some tips before you start: - - -MOST IMPORTANTLY: To set your respawn point type /waypoint into the chat. - -This can also be done when you are already dead! - - -Press F1 to see the available key commands. - -Type /help into the chat to see chat commands - - -There are chests and other objects randomly spawning in the World! - -Right-Click to collect them. - -To actually use whatever you loot from those chests open your inventory with 'B'. - -Double click the items in your bag to use or equip them. - -Throw them away by clicking them once and clicking outside of the bag - - -Nights can get pretty dark in Veloren. - -Light your lantern by typing /lantern into the chat - - -Want to free your cursor to close this window? Press TAB! - - -Enjoy your stay in the World of Veloren."#, - - "hud.settings.general": "General", - "hud.settings.help_window": "Help Window", - "hud.settings.debug_info": "Debug Info", - "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.transparency": "Transparency", - "hud.settings.hotbar": "Hotbar", - "hud.settings.toggle_bar_experience": "Toggle Experience Bar", - "hud.settings.toggle_shortcuts": "Toggle Shortcuts", - "hud.settings.toggle_bar_experience": "Toggle Shortcuts", - "hud.settings.scrolling_combat_text": "Scrolling Combat Text", - "hud.settings.single_damage_number": "Single Damage Numbers", - "hud.settings.cumulated_damage": "Cumulated Damage", - "hud.settings.incoming_damage": "Incoming Damage", - "hud.settings.cumulated_incoming_damage": "Cumulated Incoming Damage", - "hud.settings.energybar_numbers": "Energybar Numbers", - "hud.settings.values": "Values", - "hud.settings.percentages": "Percentages", - "hud.settings.chat": "Chat", - "hud.settings.background_transparency": "Background Transparency", - - "hud.settings.pan_sensitivity": "Pan Sensitivity", - "hud.settings.zoom_sensitivity": "Zoom Sensitivity", - "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.view_distance": "View Distance", - "hud.settings.maximum_fps": "Maximum FPS", - "hud.settings.fov": "Field of View (deg)", - "hud.settings.antialiasing_mode": "AntiAliasing Mode", - "hud.settings.cloud_rendering_mode": "Cloud Rendering Mode", - "hud.settings.fluid_rendering_mode": "Fluid Rendering Mode", - "hud.settings.fluid_rendering_mode.cheap": "Cheap", - "hud.settings.fluid_rendering_mode.shiny": "Shiny", - "hud.settings.cloud_rendering_mode.regular": "Regular", - - "hud.settings.music_volume": "Music Volume", - "hud.settings.sound_effect_volume": "Sound Effects Volume", - "hud.settings.audio_device": "Audio Device", - - // Control list - "hud.settings.control_names": r#"Free Cursor -Toggle Help Window -Toggle Interface -Toggle FPS and Debug Info -Take Screenshot -Toggle Nametags -Toggle Fullscreen - - -Move Forward -Move Left -Move Right -Move Backwards - -Jump - -Glider - -Dodge - -Roll - -Climb - -Climb down - -Auto Walk - -Sheathe/Draw Weapons - -Put on/Remove Helmet - -Sit - -Mount - -Interact - - -Basic Attack -Secondary Attack/Block/Aim - - -Skillbar Slot 1 -Skillbar Slot 2 -Skillbar Slot 3 -Skillbar Slot 4 -Skillbar Slot 5 -Skillbar Slot 6 -Skillbar Slot 7 -Skillbar Slot 8 -Skillbar Slot 9 -Skillbar Slot 10 - - -Pause Menu -Settings -Social -Map -Spellbook -Character -Questlog -Bag - - - -Send Chat Message -Scroll Chat - - -Chat commands: - -/alias [Name] - Change your Chat Name -/tp [Name] - Teleports you to another player -/jump - Offset your position -/goto - Teleport to a position -/kill - Kill yourself -/pig - Spawn pig NPC -/wolf - Spawn wolf NPC -/help - Display chat commands"#, - - "hud.social": "Social", - "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} player(s) online", - - "hud.spell": "Spell", - /// End HUD section - - - /// Start chracter selection section - "char_selection.delete_permanently": "Permanently delete this Character?", - "char_selection.change_server": "Change Server", - "char_selection.enter_world": "Enter World", - "char_selection.logout": "Logout", - "char_selection.create_new_charater": "Create New Character", - "char_selection.character_creation": "Character Creation", - - "char_selection.human_default": "Human Default", - "char_selection.level_fmt": "Level {level_nb}", - "char_selection.uncanny_valley": "Uncanny Valley", - "char_selection.plains_of_uncertainty": "Plains of Uncertainty", - "char_selection.beard": "Beard", - "char_selection.hair_style": "Hair Style", - "char_selection.hair_color": "Hair Color", - "char_selection.chest_color": "Chest color", - "char_selection.eye_color": "Eye color", - "char_selection.skin": "Skin", - "char_selection.eyebrows": "Eyebrows", - "char_selection.accessories": "Accessories", - - /// End chracter selection section - - - /// Start character window section - "character_window.character_name": "Character Name", - // Charater stats - "character_window.character_stats": r#"Endurance - -Fitness - -Willpower -"#, - - - /// Start character window section - - - /// Start Escape Menu Section - "esc_menu.logout": "Logout", - "esc_menu.quit_game": "Quit Game", - /// End Escape Menu Section }, vector_map: { - - }, + "loading.tips": [ + "Tryck 'G' för att tända din lykta.", + "Tryck 'F1' för att se alla standardgenvägar.", + "Du kan skriva /say eller /s för att endast prata med spelare i din närhet.", + "Du kan skriva /region eller /r to för att endast prata med spelare upp till hundra block bort.", + "Administratörer kan använda kommandot /build för att växla till byggläget.", + "Du kan skriva /group eller /g för att endast prata med spelare i din nuvarande grupp.", + "Använd /tell följt av ett spelarnamn och meddelande för att kommunicera direkt med en spelare.", + "Håll ett öga öppet för mat, kistor och andra fynd som finns utspridda över hela världen!", + "Inventory filled with food? Try crafting better food from it!", /// TODO translate crafting + "Wondering what there is to do? Try out one of the dungeons marked on the map!", /// TODO translate dungeon + "Glöm inte anpassa grafiken för din dator. Tryck 'N' för att öppna inställningarna.", + "Delad glädje är dubbel glädje! Tryck 'O' för att se vilka som spelar just nu.", + "Tryck 'J' för att dansa. Party!", + "Tryck på den vänstra Shift-tangenten för att använda din glidare och bli himlarnas härskare.", + "Veloren är fortfarande i Pre-Alpha-stadiet. Vi gör vårt yttersta för att förbättra spelet varje dag!", + "Om du vill gå med i utvecklargruppen eller bara snacka med oss får du gärna logga in på vår Discord-server.", + "Du kan välja att visa din hälsostatus i inställningarna.", + "Sitt nära en lägereld (tryck 'K') för att långsamt återhämta dig från skador.", + "Behöver du fler säckar eller bättre rustning för din fortsatta färd? Tryck 'C' för att öppna the crafting menu!", /// TODO translate crafting + ], + "npc.speech.villager": [ + "Är inte detta en underbar dag?", + "Hur står det till idag?", + "Tjenixen!", + "Undrar vad en Catoblepa tänker på när den betar.", // Catoblepa --> Catoblepa + "Vad tycker du om vädret idag?", + "Blotta tanken av dungeons ger mig rysningar. Jag hoppas att någon kommer städa ur dem.", /// TODO translate dungeon + "Jag skulle vilja utforska någon grotta när jag blir starkare.", + "Har du sett min katt?", + "Har du också hört ryktet om Landhajar? Jag hörde att de bor i öknar.", // Land Shark --> Landhaj + "De påstår att glimrande ädelstenar av alla dess slag kan hittas i grottor.", + "Visst blir man lycklig av ost!", + "Kom in, vettja! Vi skulle just börja på en ost.", + "Vissa påstår att svamp skulle vara bra för hälsan. Det skulle aldrig falla mig in att äta en.", + "Glöm inte kexen för allt i världen!", + "Jag bara älskar dvärgarnas ost. Om jag bara visste hur de tillverkades …", + "Undrar just vad som ligger på andra sidan bergen där borta.", + "Jag skulle vilja konstruera min egna glidare en dag.", + "Skulle du vilja se min trädgård? Okej, kanske någon annan gång då.", + "En underbar dag för en skogspromenad!", + "Att vara eller inte vara? Jag tror nog jag borde bli bonde.", + "Visst är väl vår by den bästa i världen?", + "Vad tror du får Skimrande Lämningar att lysa?", /// Glowing Remains --> Skimrande Lämningar + "Jag tycker nog det börjar bli dags för en andra frukost!", + "Har du lyckats fånga en eldfluga någon gång?", + "Jag kan bara inte begripa var alla dessa Sauroker kommer ifrån.", // Saurok --> Saurok + "Jag önskar att någon kunde hålla alla vargar på avstånd från byn.", + "Jag hade en fantastisk dröm om ost inatt. Vad tror du det kan betyda?", + "Jag lämnade en ost hos min bror. Nu vet jag inte om den existerar eller inte, så jag kallar den Schrödingers ost.", + "Jag lämnade en ost hos min syster. Nu vet jag inte om den existerar eller inte, så jag kallar den Schrödingers ost.", + "Någon borde göra något åt de där sektanhängarna. Förslgsvis inte jag.", /// cultist --> sektanhängare (collectively and allies) alt. sektmedlem (individually) + "Jag hoppas verkligen vi får lite regn snart. Det vore bra för grödorna.", + "Jag älskar honung! Om det inte vore för dessa fördömda bin.", + "En dag skulle jag vilja se världen. Livet måste väl vara större än bara den här hålan?", + ], + "npc.speech.villager_decline_trade": [ + "Tyvärr har jag inget till salu.", + "En vaddå? Tror inte jag har något av intresse för dig.", + "Mitt hus är mitt och jag tänker inte flytta för allt i världen.", + ], + "npc.speech.merchant_advertisement": [ + "Kan jag fresta med någon av dessa fina varor?", + "Skulle du vilja köpa någonting?", + "Jag har gott om varor, skulle du vilja se för dig själv?" + ], + "npc.speech.merchant_busy": [ + "Hallå där, vänta på din tur!", + "Ta det lugnt, jag är bara en människa.", + "Ser du inte att andra står före dig i kön?", + "Bara ett ögonblick, jag är snart klar.", + "Du får nöja dig med din plats i kön.", + "Jag är upptagen, kom igen lite senare." + ], + "npc.speech.merchant_trade_successful": [ + "Tack för att du ville handla av mig!", + "Tack så mycket!", + ], + "npc.speech.merchant_trade_declined": [ + "Kanske en annan gång, ha en bra dag!", + "Äsch, det får bli nästa gång istället!" + ], + "npc.speech.villager_cultist_alarm": [ + "Se upp! Här är en sektmedlem i farten!", + "Till vapen! Sektanhängarna anfaller!", + "Hur vågar sektanhängarna angripa vår by!", + "Död åt sekten!", + "Sektens anhängare kommer inte tolereras här!", + "Mordiska sektanhängare!", + "Smaka på min svärdsegg, din smutsiga sektanhängare!", + "Inget kan två blodet från era händer, sektanhängare!", + "Tusen troglodytiska terapeuter! En sektmedlem mitt ibland oss!", + "Sektens ondskefulla tid är snart förbi!", + "Den här sektanhängaren är min", + "Gör dig redo för ett möte med din skapare, vidriga sektanhängare!", + "Jag ser en sektmedlem! Efter dem!", + "Jag ser en sektmedlem! Till attack!", + "Jag ser en sektmedlem! Låt dem inte komma undan!", + "Skulle den högt vördade sektmedlemmen önska spilla lite blod?", + "Aldrig förlåta! Aldrig förglömma! Sektanhängare, ve er!", + "Dö, sektanhängare!", + "Ert skräckvälde ska gå under!", + "Här är betalningen för allt ni gjort!", + "Vi uppskattar inte sådana som du här omkring.", + "Ni borde stannat kvar i ert gryt!", + ], + "npc.speech.villager_under_attack": [ + "Hjälp, jag är under attack!", + "Hjälp! Jag är under attack!", + "Aj! Jag blir attackerad!", + "Aj! Jag blir attackerad! Hjälp!", + "Hjälp mig! Någon attackerar mig!", + "Någon attackerar mig! Hjälp!", + "Någon attackerar mig! Hjälp mig!", + "Hjälp!", + "Hjälp! Hjälp!", + "Hjälp! Hjälp! Hjälp!", + "Någon attackerar mig!", + "Aaahhh! Någon attackerar mig!", + "Aaahhh! Någon attackerar mig! Hjälp!", + "Hjälp! Vi blir attackerade!", + "Hjälp! Mördare!", + "Hjälp! En mördare är är i farten!", + "Hjälp! De försöker döda mig!", + "Vakter, någon attackerar mig!", + "Vakter! Någon attackerar mig!", + "Jag blir attackerad! Vakter", + "Hjälp! Vakter! Jag blir angripen!", + "Vakter! Kom fort!", + "Vakter! Vakter!", + "Vakter! En skurk angriper mig!", + "Vakter, slå ihjäl denna vidriga förbytare!", + "Vakter! Här är en mördare!", + "Vakter! Hjälp mig!", + "Du kommer inte komma undan med det här! Vakter!", + "Din skurk!", + "Hjälp mig!", + "Hjälp! Snälla!", + "Aj! Vakter, hjälp!", + "De kommer efter mig!", + "Hjälp! Hjälp! Jag blir förtryckt!", + "Och här ser vi tydligt hur systemet främjar våld.", + "Ingen fara, det här är bara en skråma!", + "Sluta upp med det!", + "Hur har jag gjort dig orätt?", + "Sluta attackera mig!", + "Hallå där, akta vart du pekar den där saken!", + "Din skändliga usling, försvinn med dig!", + "Sluta upp med det! Försvinn!", + "Hu har du gjort mig riktigt arg!", + "Hallå där! Vem tror du att du är?!", + "Det ska du få betala för med ditt huvud!", + "Snälla sluta, jag har inget av värde!", + "Jag kommer skicka min bror efter dig, han är ännu större än jag!", + "Nej, detta ska allt mamma få höra om!", + "Må olyckan följa i dina spår!", + "Gör inte om det, är du snäll.", + "Det var inte särskilt trevligt gjort!", + "Ditt vapen verkar fungera, du kan lägga det åt sidan nu!", + "Visa mig nåd!", + "Snälla, tänk på min familj!", + "Jag är för ung för att dö!", + "Kan vi inte sätta oss ner och prata istället?", + "Våld är aldrig lösningen!", + "Den här dagen blir bara bättre och bättre …", + "Aj, det gjorde faktiskt ont!", + "Ah!", + "Så oförskämt!", + "Sluta, bara sluta!", + "Du har dragit en svår olycka över dig!", + "Detta är inte roligt.", + "Hur vågar du?!", + "Det ska du allt få betala för!", + "Du kommer ångra dig om du forstätter så där!", + "Tvinga inte mig att göra dig illa!", + "Det måste ha skett ett missförstånd!", + "Du behöver inte göra det här!", + "Försvinn, demon!", + "Det gjorde riktigt ont!", + "Vad fick dig att göra så?", + "Sluta! Vid andarna, upphör nu!", + "Du måste ha blandat ihop mig med någon annan!", + "Vad har jag gjort för att förtjäna detta?", + "Gör inte om det.", + "Vakter, kasta tillbaka detta odjur i sjön!", + "Jag kommer sätta min tarask efter dig!", + "Varför just jag?", + ], + "npc.speech.villager_enemy_killed": [ + "Min fiende är förgjord!", + "Äntligen lite lugn och ro!", + "Vad var det nu jag höll på med?", + ] + } ) diff --git a/assets/voxygen/i18n/sv/buff.ron b/assets/voxygen/i18n/sv/buff.ron new file mode 100644 index 0000000000..430c909c6c --- /dev/null +++ b/assets/voxygen/i18n/sv/buff.ron @@ -0,0 +1,50 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + // Buffs + "buff.remove": "Klicka för att ta bort", + "buff.title.missing": "Titel saknas", + "buff.desc.missing": "Beskrivning saknas", + "buff.title.heal": "Hela", + "buff.desc.heal": "Återfå hälsa över tid.", + "buff.title.potion": "Trolldryck", + "buff.desc.potion": "Dricker …", + "buff.title.saturation": "Mättnad", + "buff.desc.saturation": "Återfå hälsa över tid från förbrukningsvaror.", + "buff.title.campfire_heal": "Helande lägereld", + "buff.desc.campfire_heal": "Att vila vid en lägereld helar {rate}% per sekund.", + "buff.title.invulnerability": "Osårbarhet", + "buff.desc.invulnerability": "Du kan inte skadas av någon attack.", + "buff.title.protectingward": "Skyddsbesvärjelse", + "buff.desc.protectingward": "Du skyddas, någorlunda, från attacker.", + "buff.title.frenzied": "Rasande", + "buff.desc.frenzied": "Du är uppfylld av en onaturlig hastighet och kan ignorera mindre skador.", + // Debuffs + "buff.title.bleed": "Blödande", + "buff.desc.bleed": "Orsakar vanlig skada.", + "buff.title.cursed": "Förbannad", + "buff.desc.cursed": "En förbannelse har uttalats över dig.", + "buff.title.burn": "I lågor", + "buff.desc.burn": "Du är eld och lågor", + "buff.title.crippled": "Halt", + "buff.desc.crippled": "Din rörlighet hindras eftersom dina ben är allvarligt skadade.", + "buff.title.frozen": "Frusen", + "buff.desc.frozen": "Din rörlighet och attacker går långsammare.", + "buff.title.wet": "Blöt", + "buff.desc.wet": "Marken skyr dina fötter, vilket gör det svårt att stanna.", + // Buffs stats + "buff.stat.health": "Återger {str_total} hälsa", + "buff.stat.increase_max_stamina": "Ökar max-uthålligheten med {strength}", + "buff.stat.increase_max_health": "Ökar maxhälsan med {strength}", + "buff.stat.invulnerability": "Ger osårbarhet", + // Text + "buff.text.over_seconds": "under {dur_secs} sekunder", + "buff.text.for_seconds": "i {dur_secs} sekunder", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/char_selection.ron b/assets/voxygen/i18n/sv/char_selection.ron new file mode 100644 index 0000000000..8b66f4c56a --- /dev/null +++ b/assets/voxygen/i18n/sv/char_selection.ron @@ -0,0 +1,32 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + "char_selection.loading_characters": "Laddar rollpersoner …", + "char_selection.delete_permanently": "Vill du radera rollpersonen permanent?", + "char_selection.deleting_character": "Raderar rollperson …", + "char_selection.change_server": "Byt server", + "char_selection.enter_world": "Öppna värld", + "char_selection.logout": "Logga ut", + "char_selection.create_new_character": "Skapa ny rollperson", + "char_selection.creating_character": "Skapar rollperson …", + "char_selection.character_creation": "Skapa rollperson", + "char_selection.human_default": "Människa (standard)", + "char_selection.level_fmt": "Nivå {level_nb}", + "char_selection.uncanny_valley": "Vildmark", + "char_selection.plains_of_uncertainty": "Osäkerhetens slättmark", + "char_selection.beard": "Skägg", + "char_selection.hair_style": "Hårstil", + "char_selection.hair_color": "Hårfärg", + "char_selection.eye_color": "Ögonfärg", + "char_selection.skin": "Hud", + "char_selection.eyeshape": "Ögondetaljer", + "char_selection.accessories": "Utsmyckningar", + "char_selection.create_info_name": "Din rollperson behöver ett namn!", + "char_selection.version_mismatch": "VARNING! Den här servern kör en annan version av spelet, vilket skulle kunna orsaka fel. Uppdatera gärna ditt spel.", + }, + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/common.ron b/assets/voxygen/i18n/sv/common.ron new file mode 100644 index 0000000000..a0c369f360 --- /dev/null +++ b/assets/voxygen/i18n/sv/common.ron @@ -0,0 +1,108 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + // Texts used in multiple locations with the same formatting + "common.username": "användarnamn", + "common.singleplayer": "En spelare", + "common.multiplayer": "Flera spelare", + "common.servers": "Servrar", + "common.quit": "Avsluta", + "common.settings": "Inställningar", + "common.languages": "Språk", + "common.interface": "Gränssnitt", + "common.gameplay": "Spelande", + "common.controls": "Kontroller", + "common.video": "Grafik", + "common.sound": "Ljud", + "common.chat": "Chatt", + "common.resume": "Återgå", + "common.characters": "Rollpersoner", + "common.close": "Stäng", + "common.yes": "Ja", + "common.no": "Nej", + "common.back": "Tillbaka", + "common.create": "Skapa", + "common.okay": "OK", + "common.add": "Lägg till", + "common.accept": "Acceptera", + "common.decline": "Avböj", + "common.disclaimer": "Varning", + "common.cancel": "Avbryt", + "common.none": "Ingen", + "common.error": "Fel", + "common.fatal_error": "Allvarligt fel", + "common.you": "Du", + "common.automatic": "Auto", + "common.random": "Slump", + "common.empty": "Tomt", + + // Settings Window title + "common.interface_settings": "Gränssnittsinställningar", + "common.gameplay_settings": "Spelinställningar", + "common.controls_settings": "Kontrollinställningar", + "common.video_settings": "Grafikinställningar", + "common.sound_settings": "Ljudinställningar", + "common.language_settings": "Språkinställningar", + "common.chat_settings": "Chattinställningar", + + // Message when connection to the server is lost + "common.connection_lost": r#"Anslutningen förlorades! +Startade servern om? +Är klienten uppdaterad?"#, + + + "common.species.orc": "Orch", // orc --> orch + "common.species.human": "Människa", + "common.species.dwarf": "Dvärg", + "common.species.elf": "Alv", + "common.species.undead": "Odöd", + "common.species.danari": "Danari", + + "common.weapons.axe": "Yxa", + "common.weapons.sword": "Svärd", + "common.weapons.staff": "Stav", + "common.weapons.bow": "Pilbåge", + "common.weapons.hammer": "Hammare", + "common.weapons.general": "Allmän strid", + "common.weapons.sceptre": "Spira", + "common.weapons.shield": "Sköld", + "common.weapons.spear": "Spjut", + "common.weapons.hammer_simple": "Enkel hammare", + "common.weapons.sword_simple": "Enkelt svärd", + "common.weapons.staff_simple": "Enkel stav", + "common.weapons.axe_simple": "Enkel yxa", + "common.weapons.bow_simple": "Enkel båge", + "common.weapons.unique": "Unik", + "common.tool.debug": "Felsökning", + "common.tool.faming": "Jordbruksredskap", + "common.tool.pick": "Korphacka", + "common.kind.modular_component": "Modulär komponent", + "common.kind.glider": "Glidare", + "common.kind.consumable": "Förbrukningsvara", + "common.kind.throwable": "Kan kastas", + "common.kind.utility": "Hjälpmedel", + "common.kind.ingredient": "Ingrediens", + "common.kind.lantern": "Lykta", + "common.hands.one": "Enhänt", + "common.hands.two": "Tvåhänt", + + "common.rand_appearance": "Slumpmässigt utseende", + "common.rand_name": "Slumpmässigt namn", + + "common.stats.combat_rating": "Stridsduglighet", // combat rating --> stridsduglighet + "common.stats.power": "Kraft", + "common.stats.speed": "Hastighet", + "common.stats.poise": "Allmäntillstånd", + "common.stats.crit_chance": "Kritisk chans", + "common.stats.crit_mult": "Kritisk multi", + "common.stats.armor": "Rustning", + "common.stats.poise_res":"Motståndskraft", + "common.stats.slots": "Packningutrymme", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/esc_menu.ron b/assets/voxygen/i18n/sv/esc_menu.ron new file mode 100644 index 0000000000..1df259dba0 --- /dev/null +++ b/assets/voxygen/i18n/sv/esc_menu.ron @@ -0,0 +1,13 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + "esc_menu.logout": "Logga ut", + "esc_menu.quit_game": "Avsluta spel", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/gameinput.ron b/assets/voxygen/i18n/sv/gameinput.ron new file mode 100644 index 0000000000..ac349c6c20 --- /dev/null +++ b/assets/voxygen/i18n/sv/gameinput.ron @@ -0,0 +1,73 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + "gameinput.primary": "Grundläggande attack", + "gameinput.secondary": "Sekondär attack", + "gameinput.block": "Parera", + "gameinput.slot1": "Snabbåtkomst ruta 1", + "gameinput.slot2": "Snabbåtkomst ruta 2", + "gameinput.slot3": "Snabbåtkomst ruta 3", + "gameinput.slot4": "Snabbåtkomst ruta 4", + "gameinput.slot5": "Snabbåtkomst ruta 5", + "gameinput.slot6": "Snabbåtkomst ruta 6", + "gameinput.slot7": "Snabbåtkomst ruta 7", + "gameinput.slot8": "Snabbåtkomst ruta 8", + "gameinput.slot9": "Snabbåtkomst ruta 9", + "gameinput.slot10": "Snabbåtkomst ruta 10", + "gameinput.swaploadout": "Swap Loadout", // TODO + "gameinput.togglecursor": "Visa/dölj mus", + "gameinput.help": "Visa/dölj hjälpfönster", + "gameinput.toggleinterface": "Visa/dölj gränssnitt", + "gameinput.toggledebug": "Visa/dölj BPS felsökningsinformation", + "gameinput.screenshot": "Ta skärmdump", + "gameinput.toggleingameui": "Visa/dölj namnskyltar", + "gameinput.fullscreen": "Fullskärm", + "gameinput.moveforward": "Gå framåt", + "gameinput.moveleft": "Gå åt vänster", + "gameinput.moveright": "Gå åt höger", + "gameinput.moveback": "Gå bakåt", + "gameinput.jump": "Hoppa", + "gameinput.glide": "Glidare", + "gameinput.roll": "Hoppa undan", + "gameinput.climb": "Klättra", + "gameinput.climbdown": "Klättra neråt", + "gameinput.wallleap": "Hoppa från vägg", + "gameinput.togglelantern": "Lykta", + "gameinput.mount": "Sitt upp", + "gameinput.chat": "Prata", + "gameinput.command": "Kommando", + "gameinput.escape": "Avbryt", + "gameinput.map": "Karta", + "gameinput.bag": "Säck", + "gameinput.trade": "Köpslå", + "gameinput.social": "Socialt", + "gameinput.sit": "Sitt", + "gameinput.spellbook": "Trollformler", + "gameinput.settings": "Inställningar", + "gameinput.respawn": "Starta om", + "gameinput.charge": "Anfall", + "gameinput.togglewield": "Byt draget vapen", + "gameinput.interact": "Interagera", + "gameinput.freelook": "Frigör kamera", + "gameinput.autowalk": "Gå eller simma automatiskt", + "gameinput.cameraclamp": "Lås kamera", + "gameinput.dance": "Dansa", + "gameinput.select": "Välj entitet", + "gameinput.acceptgroupinvite": "Acceptera gruppinbjudan", + "gameinput.declinegroupinvite": "Avböj gruppinbjudan", + "gameinput.cyclecamera": "Byt kamera", + "gameinput.crafting": "Crafting", // TODO translate crafting + "gameinput.fly": "Flyg", + "gameinput.sneak": "Smyg", + "gameinput.swimdown": "Dyk neråt", + "gameinput.swimup": "Dyk neråt", + "gameinput.mapzoomin": "Förstora kartan", + "gameinput.mapzoomout": "Förminska kartan", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/hud/bag.ron b/assets/voxygen/i18n/sv/hud/bag.ron new file mode 100644 index 0000000000..26be317f5e --- /dev/null +++ b/assets/voxygen/i18n/sv/hud/bag.ron @@ -0,0 +1,48 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + // Inventory + "hud.bag.inventory": "{playername}s packning", + "hud.bag.stats_title": "Statistik för {playername}", + "hud.bag.exp": "EP", + "hud.bag.armor": "Rustning", + "hud.bag.stats": "Statistik", + "hud.bag.head": "Huvud", + "hud.bag.neck": "Hals", + "hud.bag.tabard": "Tappert", + "hud.bag.shoulders": "Axlar", + "hud.bag.chest": "Bröst", + "hud.bag.hands": "Händer", + "hud.bag.lantern": "Lykta", + "hud.bag.glider": "Glidare", + "hud.bag.belt": "Bälte", + "hud.bag.ring": "Ring", + "hud.bag.back": "Rygg", + "hud.bag.legs": "Ben", + "hud.bag.feet": "Fötter", + "hud.bag.mainhand": "Förstahand", + "hud.bag.offhand": "Andrahand", + "hud.bag.inactive_mainhand": "Inaktiv förstahand", + "hud.bag.inactive_offhand": "Inaktiv andrahand", + "hud.bag.swap_equipped_weapons_title": "Byt plats på dragna vapen", + "hud.bag.swap_equipped_weapons_desc": "Tryck {key}", + "hud.bag.bag": "Säck", + "hud.bag.health": "Hälsa", + "hud.bag.stamina": "Uthållighet", + "hud.bag.combat_rating": "Stridsduglighet", + "hud.bag.protection": "Skydd", + "hud.bag.stun_res": "Motståndskraft mot medvetslöshet", + "hud.bag.combat_rating_desc": "Beräknas från din\nutrustning och hälsa.", + "hud.bag.protection_desc": "Skadebegränsning från rustning", + "hud.bag.stun_res_desc": "Motståndskraft mot att förlora medvetandet efter upprepade slag.\nHelas likt uthålligheten.", + "hud.bag.sort_by_name": "Sortera efter namn", + "hud.bag.sort_by_quality": "Sortera efter kvalitet", + "hud.bag.sort_by_category": "Sortera efter kategori", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/hud/char_window.ron b/assets/voxygen/i18n/sv/hud/char_window.ron new file mode 100644 index 0000000000..e2df5c7bef --- /dev/null +++ b/assets/voxygen/i18n/sv/hud/char_window.ron @@ -0,0 +1,21 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + "character_window.character_name": "Rollpersonens namn", + // Character stats + "character_window.character_stats": r#"Uthållighet + +Kondition + +Viljekraft + +Skydd +"#, + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/hud/chat.ron b/assets/voxygen/i18n/sv/hud/chat.ron new file mode 100644 index 0000000000..288a5b336a --- /dev/null +++ b/assets/voxygen/i18n/sv/hud/chat.ron @@ -0,0 +1,49 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + "hud.chat.all": "Alla", + "hud.chat.chat_tab_hover_tooltip": "Högerklicka för inställningar", + + // Debuff outcomes + "hud.outcome.burning": "dödsorsak: eld", + "hud.outcome.curse": "dödsorsak: trolldom", + "hud.outcome.bleeding": "dödsorsak: blodförlust", + "hud.outcome.crippled": "dödsorsak: allvarliga skador", + "hud.outcome.frozen": "dödsorsak: förfrysning", + + // Chat outputs + "hud.chat.online_msg": "[{name}] är inloggad nu", + "hud.chat.offline_msg": "[{name}] loggade ut", + + "hud.chat.default_death_msg": "[{name}] dog", + "hud.chat.environmental_kill_msg": "[{name}] dog i {environment}", + "hud.chat.fall_kill_msg": "[{name}] föll till sin död", + "hud.chat.suicide_msg": "[{name}] dog av självförvållade skador", + + "hud.chat.died_of_pvp_buff_msg": "[{victim}] {died_of_buff} orsakad av [{attacker}]", + "hud.chat.pvp_melee_kill_msg": "[{attacker}] besegrade [{victim}]", + "hud.chat.pvp_ranged_kill_msg": "[{attacker}] sköt [{victim}]", + "hud.chat.pvp_explosion_kill_msg": "[{attacker}] sprängde [{victim}]", + "hud.chat.pvp_energy_kill_msg": "[{attacker}] dödade [{victim}] med trolldom", + + "hud.chat.died_of_buff_nonexistent_msg": "[{victim}] {died_of_buff}", + + "hud.chat.died_of_npc_buff_msg": "[{victim}] {died_of_buff} orsakad av {attacker}", + "hud.chat.npc_melee_kill_msg": "{attacker} dödade [{victim}]", + "hud.chat.npc_ranged_kill_msg": "{attacker} sköt [{victim}]", + "hud.chat.npc_explosion_kill_msg": "{attacker} sprängde [{victim}]", + "hud.chat.npc_energy_kill_msg": "{attacker} dödade [{victim}] med trolldom", + "hud.chat.npc_other_kill_msg": "{attacker} dödade [{victim}]", + + "hud.chat.loot_msg": "Du plockade upp [{item}]", + "hud.chat.loot_fail": "Din packning är full!", + "hud.chat.goodbye": "Hejdå!", + "hud.chat.connection_lost": "Anslutningen bröts. Sparkas ut om {time} sekunder.", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/hud/crafting.ron b/assets/voxygen/i18n/sv/hud/crafting.ron new file mode 100644 index 0000000000..5ffa01eb39 --- /dev/null +++ b/assets/voxygen/i18n/sv/hud/crafting.ron @@ -0,0 +1,33 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + "hud.crafting": "Crafting", // TODO + "hud.crafting.recipes": "Recept", + "hud.crafting.ingredients": "Ingredienser:", + "hud.crafting.craft": "Craft", // TODO + "hud.crafting.tool_cata": "Kräver:", + // Crafting Stations + "hud.crafting.req_crafting_station": "Kräver:", + "hud.crafting.anvil": "Städ", + "hud.crafting.cauldron": "Kittel", + "hud.crafting.cooking_pot": "Kokkärl", + "hud.crafting.crafting_bench": "Crafting Bench", // TODO + // Tabs + "hud.crafting.tabs.all": "Allt", + "hud.crafting.tabs.armor": "Rustning", + "hud.crafting.tabs.dismantle": "Plocka sönder", + "hud.crafting.tabs.food": "Mat", + "hud.crafting.tabs.glider": "Glidare", + "hud.crafting.tabs.potion": "Trolldrycker", + "hud.crafting.tabs.tool": "Verktyg", + "hud.crafting.tabs.utility": "Redskap", + "hud.crafting.tabs.weapon": "Vapen", + "hud.crafting.tabs.bag": "Säckar", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/hud/group.ron b/assets/voxygen/i18n/sv/hud/group.ron new file mode 100644 index 0000000000..aeb5dd73a5 --- /dev/null +++ b/assets/voxygen/i18n/sv/hud/group.ron @@ -0,0 +1,24 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + "hud.group": "Grupp", + "hud.group.invite_to_join": "[{name}] bjöd in dig till sin grupp!", + "hud.group.invite_to_trade": "[{name}] skulle vilja köpslå med dig.", + "hud.group.invite": "Bjud in", + "hud.group.kick": "Sparka ut", + "hud.group.assign_leader": "Utse ledare", + "hud.group.leave": "Lämna grupp", + "hud.group.dead" : "Död", + "hud.group.out_of_range": "Utom räckhåll", + "hud.group.add_friend": "Lägg tills om vän", + "hud.group.link_group": "Koppla grupper", + "hud.group.in_menu": "I meny", + "hud.group.members": "Gruppmedlemmar", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/hud/hud_settings.ron b/assets/voxygen/i18n/sv/hud/hud_settings.ron new file mode 100644 index 0000000000..8414f789b3 --- /dev/null +++ b/assets/voxygen/i18n/sv/hud/hud_settings.ron @@ -0,0 +1,137 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + // Settings + "hud.settings.general": "Allmänt", + "hud.settings.none": "Ingen", + "hud.settings.press_behavior.toggle": "Slå av eller på", + "hud.settings.press_behavior.hold": "Håll", + "hud.settings.help_window": "Hjälpfönster", + "hud.settings.debug_info": "Felsökningsinformation", + "hud.settings.show_hitboxes": "Visa kollisionsgränser", + "hud.settings.tips_on_startup": "Tips vid uppstart", + "hud.settings.ui_scale": "Skalning av gränssnitt", + "hud.settings.relative_scaling": "Relativ skalning", + "hud.settings.custom_scaling": "Anpassad skalning", + "hud.settings.crosshair": "Hårkors", + "hud.settings.transparency": "Transparens", + "hud.settings.hotbar": "Snabbåtkomst", + "hud.settings.toggle_shortcuts": "Växla genvägar", + "hud.settings.buffs_skillbar": "Buffs at Skillbar", // TODO + "hud.settings.buffs_mmap": "Buffs at Minimap", // TODO + "hud.settings.toggle_bar_experience": "Visa/dölj erfarenhetsmätare", + "hud.settings.scrolling_combat_text": "Rullande stridstext", + "hud.settings.single_damage_number": "Ett enda skadenummer", + "hud.settings.cumulated_damage": "Sammanlagd skada", + "hud.settings.incoming_damage": "Inkommande skada", + "hud.settings.cumulated_incoming_damage": "Sammanlagd inkommande skada", + "hud.settings.speech_bubble": "Pratbubbla", + "hud.settings.speech_bubble_dark_mode": "Pratbubbla mörkt läge", + "hud.settings.speech_bubble_icon": "Pratbubbleikon", + "hud.settings.energybar_numbers": "Energimätare med värden", + "hud.settings.values": "Värden", + "hud.settings.percentages": "Procent", + "hud.settings.chat": "Konversation", + "hud.settings.background_transparency": "Bakgrundstransparens", + "hud.settings.chat_character_name": "Karaktärers namn i konverationer", + "hud.settings.loading_tips": "Tips på laddningsskärmen", + "hud.settings.reset_interface": "Återställ till standard", + + "hud.settings.pan_sensitivity": "Panoreringskänslighet", + "hud.settings.zoom_sensitivity": "Zoomkänslighet", + "hud.settings.camera_clamp_angle": "Vinkel för kamera fastlåst i verikalt läge", + "hud.settings.invert_scroll_zoom": "Invertera scrollhjulet för zoomning", + "hud.settings.invert_mouse_y_axis": "Invertera musens Y-axel", + "hud.settings.invert_controller_y_axis": "Invertera kontrollerns Y-axel", + "hud.settings.enable_mouse_smoothing": "Mjuka kamerarörelser", + "hud.settings.free_look_behavior": "Beteende för rörlig kamera", + "hud.settings.auto_walk_behavior": "Beteende för automatisk gång", + "hud.settings.camera_clamp_behavior": "Beteende för låst kamera", + "hud.settings.player_physics_behavior": "Spelarfysik (experiment)", + "hud.settings.stop_auto_walk_on_input": "Avsluta automatisk gång vid rörelse", + "hud.settings.auto_camera": "Automatisk kamera", + "hud.settings.reset_gameplay": "Återställ till standard", + + "hud.settings.view_distance": "Visningsavstånd", + "hud.settings.sprites_view_distance": "Visningsavstånd för sprites", + "hud.settings.figures_view_distance": "Visningsavstånd för entiteter", + "hud.settings.maximum_fps": "Maximal bildhastighet", + "hud.settings.present_mode": "Presentationsläge", + "hud.settings.present_mode.fifo": "Först in–först ut", + "hud.settings.present_mode.mailbox": "Brevkorg", + "hud.settings.present_mode.immediate": "Omedelbar", + "hud.settings.fov": "Bildvinkel (grader)", + "hud.settings.gamma": "Gamma", + "hud.settings.exposure": "Exponering", + "hud.settings.ambiance": "Omgivningens ljusstyrka", + "hud.settings.antialiasing_mode": "AntiAliasing-läge", + "hud.settings.upscale_factor": "Intern upplösning", + "hud.settings.cloud_rendering_mode": "Återgivning av moln", + "hud.settings.fluid_rendering_mode": "Återgivning av vätskor", + "hud.settings.fluid_rendering_mode.cheap": "Billig", + "hud.settings.fluid_rendering_mode.shiny": "Blank", + "hud.settings.cloud_rendering_mode.minimal": "Minimal", + "hud.settings.cloud_rendering_mode.low": "Låg", + "hud.settings.cloud_rendering_mode.medium": "Medium", + "hud.settings.cloud_rendering_mode.high": "Hög", + "hud.settings.cloud_rendering_mode.ultra": "Ultra", + "hud.settings.fullscreen": "Helskärm", + "hud.settings.fullscreen_mode": "Helskärmsläge", + "hud.settings.fullscreen_mode.exclusive": "Exklusivt", + "hud.settings.fullscreen_mode.borderless": "Utan ram", + "hud.settings.gpu_profiler": "Aktivera GPU-timing (stöds inte överallt)", + "hud.settings.particles": "Partiklar", + "hud.settings.lossy_terrain_compression": "Destruktiv komprimering av terräng", + "hud.settings.resolution": "Upplösning", + "hud.settings.bit_depth": "Bitdjup", + "hud.settings.refresh_rate": "Uppdateringsfrekvens", + "hud.settings.lighting_rendering_mode": "Återgivning av ljussättning", + "hud.settings.lighting_rendering_mode.ashikhmin": "Typ A - Hög", + "hud.settings.lighting_rendering_mode.blinnphong": "Typ B - Medium", + "hud.settings.lighting_rendering_mode.lambertian": "Typ L - Billig", + "hud.settings.shadow_rendering_mode": "Återgivning av skuggor", + "hud.settings.shadow_rendering_mode.none": "Ingen", + "hud.settings.shadow_rendering_mode.cheap": "Billig", + "hud.settings.shadow_rendering_mode.map": "Mappad", + "hud.settings.shadow_rendering_mode.map.resolution": "Upplösning", + "hud.settings.lod_detail": " Detailjrikedom", + "hud.settings.save_window_size": "Kom ihåg fönsterstorlek", + "hud.settings.reset_graphics": "Återställ till standard", + + "hud.settings.master_volume": "Huvudvolym", + "hud.settings.inactive_master_volume": "Huvudvolym (inaktivt fönster)", + "hud.settings.music_volume": "Musikvolym", + "hud.settings.sound_effect_volume": "Ljudeffektsvolym", + "hud.settings.audio_device": "Ljudenhet", + "hud.settings.reset_sound": "Återställ till standard", + + "hud.settings.english_fallback": "Visa på engelska om översättning saknas", + + "hud.settings.awaitingkey": "Tryck på någon tangent …", + "hud.settings.unbound": "Ingen", + "hud.settings.reset_keybinds": "Återställ till standard", + + "hud.settings.chat_tabs": "Chattflikar", + "hud.settings.label": "Etikett:", + "hud.settings.delete": "Radera", + "hud.settings.show_all": "Visa alla", + "hud.settings.messages": "Meddelanden", + "hud.settings.activity": "Aktivitet", + "hud.settings.death": "Död", + "hud.settings.group": "Grupp", + "hud.settings.faction": "Fraktion", + "hud.settings.world": "Värld", + "hud.settings.region": "Region", + "hud.settings.say": "Säg", + "hud.settings.none": "Ingen", + "hud.settings.all": "Alla", + "hud.settings.group_only": "Endast grupp", + "hud.settings.reset_chat" : "Återställ till standard", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/hud/map.ron b/assets/voxygen/i18n/sv/hud/map.ron new file mode 100644 index 0000000000..dc62d2c75a --- /dev/null +++ b/assets/voxygen/i18n/sv/hud/map.ron @@ -0,0 +1,35 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + // Map and Questlog + "hud.map.map_title": "Karta", + "hud.map.qlog_title": "Uppdrag", + "hud.map.topo_map": "Topografisk", + "hud.map.difficulty": "Svårighet", + "hud.map.towns": "Samhällen", + "hud.map.castles": "Borgar", + "hud.map.dungeons": "Dungeons", // TODO translate dungeon + "hud.map.caves": "Grottor", + "hud.map.cave": "Grotta", + "hud.map.peaks": "Berg", + "hud.map.voxel_map": "Voxelkarta", + "hud.map.trees": "Jätteträd", + "hud.map.tree": "Jätteträd", + "hud.map.town": "Samhälle", + "hud.map.castle": "Borg", + "hud.map.dungeon": "Dungeon", // TODO + "hud.map.difficulty_dungeon": "Dungeon\n\nSvårighet: {difficulty}", // TODO + "hud.map.drag": "Drag", + "hud.map.zoom": "Zooma", + "hud.map.mid_click": "Markera landmärke", + "hud.map.recenter": "Centrera", + "hud.map.marked_location": "Markerad plast", + "hud.map.marked_location_remove": "Klicka för att ta bort", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/hud/misc.ron b/assets/voxygen/i18n/sv/hud/misc.ron new file mode 100644 index 0000000000..bdedf16006 --- /dev/null +++ b/assets/voxygen/i18n/sv/hud/misc.ron @@ -0,0 +1,54 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + "hud.do_not_show_on_startup": "Visa inte detta vid uppstart", + "hud.show_tips": "Visa tips", + "hud.quests": "Uppdrag", + "hud.you_died": "Du dog", + "hud.waypoint_saved": "Landmärke sparat", + "hud.sp_arrow_txt": "FP", + "hud.inventory_full": "Full packning", + + "hud.press_key_to_show_keybindings_fmt": "[{key}] tangentbordsgenvägar", + "hud.press_key_to_toggle_lantern_fmt": "[{key}] lykta", + "hud.press_key_to_show_debug_info_fmt": "Tryck {key} för att vids felsökningsinformation", + "hud.press_key_to_toggle_keybindings_fmt": "Tryck {key} för att visa/dölja genvägar", + "hud.press_key_to_toggle_debug_info_fmt": "Tryck {key} att visa/dölja felsökningsinformation", + + // Respawn message + "hud.press_key_to_respawn": r#"Tryck {key} för att gå tillbaka till lägereld du besökte senast."#, + + // Tutorial Button + "hud.tutorial_btn": r#"Instruktioner"#, + "hud.tutorial_click_here": r#"Tryck [ {key} ] för att frigöra din muspekare och klicka på den här knappen!"#, + "hud.tutorial_elements": r#"Crafting"#, // TODO: translate crafting + +"hud.temp_quest_headline": r#"Var hälsad!"#, +"hud.temp_quest_text": r#"Du kan börja din färd med att utforska den här byn och samla ihop lite förnödenheter. + +Känn dig fri att ta med dig vad du kan tänkas behöva på dina äventyr! + +Titta längst ner på din skärm för att se saker som din packning, karta och meny för att tillverka saker. + +Tilllverkningsmenyn låter dig tillverka saker som rustning, vapen, mat och mycket mer därtill! + +De vilda djuren i och omkring byn är en bra källa till läderbitar som kan användas för att tillverka något för att skydda mot farorna som lurar där ute i världen. + +När du känner dig redo kan du försöka skaffa bättre utrustning genom de många utmaningar som finns markerade på din karta! +"#, + + "hud.spell": "Förtrollningar", + // Diary + "hud.diary": "Dagbok", + + "hud.free_look_indicator": "Kameran är olåst. Tryck {key} för att ändra.", + "hud.camera_clamp_indicator": "Kameran är låst vertikalt. Tryck {key} För att ändra.", + "hud.auto_walk_indicator": "Automatisk gång / simning aktiverad", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/hud/sct.ron b/assets/voxygen/i18n/sv/hud/sct.ron new file mode 100644 index 0000000000..182642586b --- /dev/null +++ b/assets/voxygen/i18n/sv/hud/sct.ron @@ -0,0 +1,14 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + // SCT outputs + "hud.sct.experience": "{amount} EP", + "hud.sct.block": "BLOCKERAD", + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/hud/social.ron b/assets/voxygen/i18n/sv/hud/social.ron new file mode 100644 index 0000000000..22da17a7e3 --- /dev/null +++ b/assets/voxygen/i18n/sv/hud/social.ron @@ -0,0 +1,22 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + "hud.social": "Andra spelare", + "hud.social.online": "Inloggade:", + "hud.social.friends": "Vänner", + "hud.social.not_yet_available": "Inte tillgängligt än", + "hud.social.faction": "Fraktion", + "hud.social.play_online_fmt": "{nb_player} spelare inloggade", + "hud.social.name": "Namn", + "hud.social.level": "Nivå", + "hud.social.zone": "Område", + "hud.social.account": "Konto", + }, + + + vector_map: { + } +) + diff --git a/assets/voxygen/i18n/sv/hud/trade.ron b/assets/voxygen/i18n/sv/hud/trade.ron new file mode 100644 index 0000000000..6c50c10d9a --- /dev/null +++ b/assets/voxygen/i18n/sv/hud/trade.ron @@ -0,0 +1,30 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + "hud.trade.trade_window": "Handelsfönster", + "hud.trade.phase1_description": "Dra de föremål du vill sälja\n till motsvarande ruta.", + "hud.trade.phase2_description": "Handelsförslaget är nu låst för att ge dig\n tid att betrakta det.", + /// Phase3 should only be visible for a few milliseconds if everything is working properly, but is included for completeness + "hud.trade.phase3_description": "Köpet behandlas.", + "hud.trade.persons_offer": "Erbjudande från {playername}", + "hud.trade.has_accepted": "{playername}\nhar accepterat", + "hud.trade.accept": "Acceptera", + "hud.trade.decline": "Avböj", + "hud.trade.invite_sent": "Handelsförfrågan har skickats till {playername}.", + "hud.trade.result.completed": "Köpet har genomförts.", + "hud.trade.result.declined": "Köpet har avbrutits.", + "hud.trade.result.nospace": "Det finns inte tillräckligt med utrymme för att genomföra köpet.", + "hud.trade.buy_price": "Köpepris", + "hud.trade.sell_price": "Försäljningspris", + "hud.trade.coin": "mynt", + "hud.trade.tooltip_hint_1": " för att lägga till eller ta bort från köp.", + "hud.trade.tooltip_hint_2": " för att automatiskt balansera med detta.", + }, + + + vector_map: { + } +) + diff --git a/assets/voxygen/i18n/sv/main.ron b/assets/voxygen/i18n/sv/main.ron new file mode 100644 index 0000000000..ce961f7526 --- /dev/null +++ b/assets/voxygen/i18n/sv/main.ron @@ -0,0 +1,70 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + /// Start Main screen section + "main.username": "Användarnamn", + "main.server": "Server", + "main.password": "Lösenord", + "main.connecting": "Ansluter", + "main.creating_world": "Skapar värld", + "main.tip": "Tips:", + + // Welcome notice that appears the first time Veloren is started + "main.notice": r#"Välkommen till alfa-versionen av Veloren! + +Innan du dyker in i det roliga, ber vi dig hålla några saker i åtanke: + +- Detta är en väldigt tidig alfa-version. Förvänta dig buggar, väldigt bristfällig spelupplevelse, ovårdad spelmekanik och saknade funktioner. + +- Om du har konstruktiva synpunkter eller buggar att rapportera går det bra att kontakta oss på Reddit, GitLab eller vår gemenskaps Discord-server. + +- Veloren har öppen källkod, publicerad under licensen GPL 3. Det innebär att du får spela, modifiera och sprida spelet vidare precis + som du vill (så länge dina ändringar publiceras under samma licens). + +- Veloren är ett projekt som drivs av en gemenskap utan vinstintresse och alla som bidrar är en volontär. +Om du gillar det du ser, får du gärna gå med i en utvecklings- eller konstgrupp! + +Tack för att du tog dig tid att läsa det här meddelandet, vi hoppas du kommer gilla spelet! + +~ Velorens utvecklare"#, + + // Login process description + "main.login_process": r#"Information om inloggningsproceduren: + +Observera att du behöver ett konto +för att spela på vissa servrar. + +Du kan skaffa ett konto på + +https://veloren.net/account/."#, + "main.login.server_not_found": "Servern hittades inte", + "main.login.authentication_error": "Inloggningsfel på servern", + "main.login.internal_error": "Internt fel hos klienten (troligen på grund av att rollpersonen har raderats)", + "main.login.failed_auth_server_url_invalid": "Kunde inte ansluta till inloggningsservern", + "main.login.insecure_auth_scheme": "Inloggning kan inte ske över HTTP. Detta är osäkert! För utvecklingsskäl får HTTP användas för 'localhost' ooch felsökningsinstallationer", + "main.login.server_full": "Servern är full", + "main.login.untrusted_auth_server": "Inloggningsservern är inte betrodd", + "main.login.outdated_client_or_server": "ServernÄrTokig: Versionerna är förmodligen inte kompatibla, se om det finns uppdateringar tillgängliga.", + "main.login.timeout": "Timeout: Servern svarade inte i tid. (Överbelastad eller nätverksproblem.)", + "main.login.server_shut_down": "Servern stannade", + "main.login.network_error": "Nätverksfel", + "main.login.network_wrong_version": "Olika version hos server och klient, vänligen uppdatera din spelklient.", + "main.login.failed_sending_request": "Förfrågan till inloggningsservern misslyckades", + "main.login.invalid_character": "Den valda rollpersonen är ogiltig", + "main.login.client_crashed": "Klienten kapsejsade", + "main.login.not_on_whitelist": "Du måste finnas på administratörens vitlista för att få gå med", + "main.login.banned": "Du har blockerats med följande motivering", + "main.login.kicked": "Du har sparkats ut med följande motivering", + "main.login.select_language": "Välj ett språk", + "main.login.client_version": "Klientversion", + "main.login.server_version": "Serverversion", + "main.servers.select_server": "Välj en server", + /// End Main screen section + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/skills.ron b/assets/voxygen/i18n/sv/skills.ron new file mode 100644 index 0000000000..2ead86b1c7 --- /dev/null +++ b/assets/voxygen/i18n/sv/skills.ron @@ -0,0 +1,246 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + "hud.rank_up": "Nytt färdighetspoäng", + "hud.skill.sp_available": "{number} FP tillgängliga", + "hud.skill.not_unlocked": "Inte upplåst än", + "hud.skill.req_sp": "\n\nKräver {number} FP", + // Skills + // General + "hud.skill.inc_health_title": "Mer hälsa", + "hud.skill.inc_health": "Ökar maxhälsan med 5{SP}", + "hud.skill.inc_stam_title": "Ökad uthållighet", + "hud.skill.inc_stam": "Ökar max-uthålligheten med 5{SP}", + "hud.skill.unlck_sword_title": "Lås upp svärd", + "hud.skill.unlck_sword": "Låser upp färdighetsträdet för svärd{SP}", + "hud.skill.unlck_axe_title": "Lås upp yxa", + "hud.skill.unlck_axe": "Låser upp färdighetsträdet för yxa{SP}", + "hud.skill.unlck_hammer_title": "Lås upp hammare", + "hud.skill.unlck_hammer": "Låser upp färdighetsträdet för hammare{SP}", + "hud.skill.unlck_bow_title": "Lås upp pilbåge", + "hud.skill.unlck_bow": "Låser upp färdighetsträdet för pilbåge{SP}", + "hud.skill.unlck_staff_title": "Lås upp stav", + "hud.skill.unlck_staff": "Låser upp färdighetsträdet för stav{SP}", + "hud.skill.unlck_sceptre_title": "Lås upp spira", + "hud.skill.unlck_sceptre": "Låser upp färdighetsträdet för spira{SP}", + "hud.skill.dodge_title": "Ducka", + "hud.skill.dodge": "Rulla åt sidan genom att mittenklicka och bli immun mot närstridsattacker under tiden du rullar.", + "hud.skill.roll_stamina_title": "Uthållighetskostnad för rullning", + "hud.skill.roll_stamina": "Rullning kostar 10% mindre uthållighet{SP}", + "hud.skill.roll_speed_title": "Rullningshastighet", + "hud.skill.roll_speed": "Ralla 10% fortare{SP}", + "hud.skill.roll_dur_title": "Rullningstid", + "hud.skill.roll_dur": "Rulla 10% längre{SP}", + "hud.skill.climbing_title": "Klättring", + "hud.skill.climbing": "Hoppa högre", + "hud.skill.climbing_cost_title": "Kostnad för klättring", + "hud.skill.climbing_cost": "Klättring kostar 20% mindre energi{SP}", + "hud.skill.climbing_speed_title": "Klättringshastighet", + "hud.skill.climbing_speed": "Klättra 20% fortare{SP}", + "hud.skill.swim_title": "Simning", + "hud.skill.swim": "Förflyttelse i blöta miljöer", + "hud.skill.swim_speed_title": "Simningshastighet", + "hud.skill.swim_speed": "Simma 40% fortare{SP}", + // Sceptre + "hud.skill.sc_lifesteal_title": "Livsstjälande stråle", + "hud.skill.sc_lifesteal": "Sug livet ur dina fiender", + "hud.skill.sc_lifesteal_damage_title": "Skada", + "hud.skill.sc_lifesteal_damage": "Orsaka 20% större skada{SP}", + "hud.skill.sc_lifesteal_range_title": "Räckvidd", + "hud.skill.sc_lifesteal_range": "Din stråle når 20% längre{SP}", + "hud.skill.sc_lifesteal_lifesteal_title": "Livsstjälande", + "hud.skill.sc_lifesteal_lifesteal": "Omvandlar ytterligare 15% av skadan till kroppspoäng{SP}", + "hud.skill.sc_lifesteal_regen_title": "Engergiåterhämtning", + "hud.skill.sc_lifesteal_regen": "Återhämta ytterligare 20% energi{SP}", + "hud.skill.sc_heal_title": "Helande stråle", + "hud.skill.sc_heal": "Hela dina alleirade med dina fienders blod", + "hud.skill.sc_heal_heal_title": "Helande", + "hud.skill.sc_heal_heal": "Ökar din förmåga att hela andra med 20%{SP}", + "hud.skill.sc_heal_cost_title": "Energikostnad", + "hud.skill.sc_heal_cost": "Helande av andra kräver 20% mindre energi{SP}", + "hud.skill.sc_heal_range_title": "Räckvidd", + "hud.skill.sc_heal_range": "Din stråle når 20% längre{SP}", + "hud.skill.sc_wardaura_unlock_title": "Låser upp beskyddande aura", + "hud.skill.sc_wardaura_unlock": "Låter dig skydda dina vänner mot fiendeattacker{SP}", + "hud.skill.sc_wardaura_strength_title": "Styrka", + "hud.skill.sc_wardaura_strength": "Ditt skydd blir 15% starkare{SP}", + "hud.skill.sc_wardaura_duration_title": "Varaktighet", + "hud.skill.sc_wardaura_duration": "Ditt beskydd varar 20% längre{SP}", + "hud.skill.sc_wardaura_range_title": "Räckvidd", + "hud.skill.sc_wardaura_range": "Ditt beskydd når 25% längre{SP}", + "hud.skill.sc_wardaura_cost_title": "Energikostnad", + "hud.skill.sc_wardaura_cost": "Ditt beskydd kräver 15% mindre energi att upprätta{SP}", + // Staff + "hud.skill.st_shockwave_range_title" : "Chockfrontens räckvidd", + "hud.skill.st_shockwave_range" : "Kasta saker som tidigre var utom räckhåll, räckvidden utökas med 20%{SP}", + "hud.skill.st_shockwave_cost_title" : "Chockfrontens kostnad", + "hud.skill.st_shockwave_cost" : "Minskar energikostnaden för stt kasta hjälplösa bybor med 20%{SP}", + "hud.skill.st_shockwave_knockback_title" : "Chockfrontens styrka", + "hud.skill.st_shockwave_knockback" : "Chockfronten blir 30% mer kraftfull{SP}", + "hud.skill.st_shockwave_damage_title" : "Chockfrontens skada", + "hud.skill.st_shockwave_damage" : "Ökar skadeverkan med 30%{SP}", + "hud.skill.st_shockwave_unlock_title" : "Lås upp chockfront", + "hud.skill.st_shockwave_unlock" : "Låser upp möjligheten att slå undan fiender med eld{SP}", + "hud.skill.st_flamethrower_title" : "Eldkastare", + "hud.skill.st_flamethrower" : "Slungar eld, för välgrillade fiender", + "hud.skill.st_flame_velocity_title" : "Flamhastighet", + "hud.skill.st_flame_velocity" : "Elden sprider sig snabbt, 25% snabbare{SP}", + "hud.skill.st_flamethrower_range_title" : "Eldkastares räckvidd", + "hud.skill.st_flamethrower_range" : "När flammorna inte når, räcker de 25% längre{SP}", + "hud.skill.st_energy_drain_title" : "Energikostnad", + "hud.skill.st_energy_drain" : "Minskar energikostnaden med 20%{SP}", + "hud.skill.st_flamethrower_damage_title" : "Eldkastarens skadeverkan", + "hud.skill.st_flamethrower_damage" : "Orsakar 30% mer skada{SP}", + "hud.skill.st_explosion_radius_title" : "Explosionsradie", + "hud.skill.st_explosion_radius" : "Större är bättre, explosionsradien ökar med 15%{SP}", + "hud.skill.st_stamina_regen_title" : "Engergiåterhämtning", + "hud.skill.st_stamina_regen" : "Återhämta ytterligare 20% energi{SP}", + "hud.skill.st_fireball_title" : "Eldklot", + "hud.skill.st_fireball" : "Skjuter ett eldklot som exploderar vid träff", + "hud.skill.st_damage_title" : "Skada", + "hud.skill.st_damage" : "Orsakar 20% mer skada{SP}", + // Bow + "hud.skill.bow_projectile_speed_title" : "Projektilhastighet", + "hud.skill.bow_projectile_speed" : "Låter dig skjuta pilar 30% längre och snabbare{SP}", + "hud.skill.bow_charged_title" : "Charged Shoot", // TODO + "hud.skill.bow_charged" : "Because you waited longer", // TODO + "hud.skill.bow_charged_damage_title" : "Charged Damage", // TODO + "hud.skill.bow_charged_damage" : "Ökar skadeverkan med 20%{SP}", + "hud.skill.bow_charged_energy_regen_title" : "Energiåterhämtning", + "hud.skill.bow_charged_energy_regen" : "Återhämta ytterligare 20% energi{SP}", + "hud.skill.bow_charged_knockback_title" : "Charged Knockback", // TODO + "hud.skill.bow_charged_knockback" : "Knock enemies further back by 20%{SP}", // TODO + "hud.skill.bow_charged_speed_title" : "Charged Speed", // TODO + "hud.skill.bow_charged_speed" : "Increases the rate that you charge the attack by 10%{SP}", // TODO + "hud.skill.bow_charged_move_title" : "Charged Move Speed", // TODO + "hud.skill.bow_charged_move" : "Increases how fast you can shuffle while charging the attack by 10%{SP}", // TODO + "hud.skill.bow_repeater_title" : "Repeater", // TODO + "hud.skill.bow_repeater" : "Shoots faster the longer you fire for", // TODO + "hud.skill.bow_repeater_damage_title" : "Repeater Damage", // TODO + "hud.skill.bow_repeater_damage" : "Increases the damage done by 20%{SP}", // TODO + "hud.skill.bow_repeater_cost_title" : "Repeater Cost", // TODO + "hud.skill.bow_repeater_cost" : "Decreases the energy cost to become a repeater by 20%{SP}", // TODO + "hud.skill.bow_repeater_speed_title" : "Repeater Speed", // TODO + "hud.skill.bow_repeater_speed" : "Increases the rate at which you fire arrows by 20%{SP}", // TODO + "hud.skill.bow_shotgun_unlock_title" : "Unlocks Shotgun", // TODO + "hud.skill.bow_shotgun_unlock" : "Låter dig skjuta flera pilar samtidigt{SP}", + "hud.skill.bow_shotgun_damage_title" : "Shotgun Damage", // TODO + "hud.skill.bow_shotgun_damage" : "Increases the damage done by 20%{SP}", // TODO + "hud.skill.bow_shotgun_cost_title" : "Shotgun Cost", // TODO + "hud.skill.bow_shotgun_cost" : "Decreases the cost of shotgun by 20%{SP}", // TODO + "hud.skill.bow_shotgun_arrow_count_title" : "Shotgun Arrows", // TODO + "hud.skill.bow_shotgun_arrow_count" : "Increases the number of arrows in the burst by 1{SP}", // TODO + "hud.skill.bow_shotgun_spread_title" : "Shotgun Spread", // TODO + "hud.skill.bow_shotgun_spread" : "Decreases the spread of the arrows by 20%{SP}", // TODO + // Hammer + "hud.skill.hmr_leap_radius_title" : "Leap Radius", //TODO + "hud.skill.hmr_leap_radius" : "Increases attack radius on ground slam by 1 meter{SP}", //TODO + "hud.skill.hmr_leap_distance_title" : "Leap Distance", //TODO + "hud.skill.hmr_leap_distance" : "Increases distance of leap by 25%{SP}", //TODO + "hud.skill.hmr_leap_cost_title" : "Leap Cost", //TODO + "hud.skill.hmr_leap_cost" : "Decreases cost of leap by 25%{SP}", //TODO + "hud.skill.hmr_leap_knockback_title" : "Leap Knockback", //TODO + "hud.skill.hmr_leap_knockback" : "Increases knockback from leap by 50%{SP}", //TODO + "hud.skill.hmr_leap_damage_title" : "Leap Damage", //TODO + "hud.skill.hmr_leap_damage" : "Increases damage of leap by 40%{SP}", //TODO + "hud.skill.hmr_unlock_leap_title" : "Unlock Leap", //TODO + "hud.skill.hmr_unlock_leap" : "Unlocks a leap{SP}", //TODO + "hud.skill.hmr_charged_melee_title" : "Charged Melee", //TODO + "hud.skill.hmr_charged_melee" : "Melee but with charge", //TODO + "hud.skill.hmr_charged_rate_title" : "Charge Rate", //TODO + "hud.skill.hmr_charged_rate" : "Increases the rate that you charge the swing by 25%{SP}", //TODO + "hud.skill.hmr_charged_melee_nrg_drain_title" : "Charged Melee Energy Drain", //TODO + "hud.skill.hmr_charged_melee_nrg_drain" : "Decreases the rate energy drains when charging by 25%{SP}", //TODO + "hud.skill.hmr_charged_melee_damage_title" : "Charged Melee Damage", //TODO + "hud.skill.hmr_charged_melee_damage" : "Increases the damage of the charged swing by 25%{SP}", //TODO + "hud.skill.hmr_charged_melee_knockback_title" : "Charged Melee Knockback", //TODO + "hud.skill.hmr_charged_melee_knockback" : "Massively increases throw potential of swing by 50%{SP}", //TODO + "hud.skill.hmr_single_strike_title" : "Single Strike", //TODO + "hud.skill.hmr_single_strike" : "As single as you are", //TODO + "hud.skill.hmr_single_strike_regen_title" : "Single Strike Regen", //TODO + "hud.skill.hmr_single_strike_regen" : "Increases stamina gain with each successive strike{SP}", //TODO + "hud.skill.hmr_single_strike_speed_title" : "Single Strike Speed", //TODO + "hud.skill.hmr_single_strike_speed" : "Increases the attack speed with each successive strike{SP}", //TODO + "hud.skill.hmr_single_strike_damage_title" : "Single Strike Damage", //TODO + "hud.skill.hmr_single_strike_damage" : "Increases the damage with each successive strike{SP}", //TODO + "hud.skill.hmr_single_strike_knockback_title" : "Single Strike Knockback", //TODO + "hud.skill.hmr_single_strike_knockback" : "Increase throw potential of swings by 50%{SP}", //TODO + "hud.skill." : "", + // Sword + "hud.skill.sw_trip_str_title": "Trippelstöt", + "hud.skill.sw_trip_str": "Gör upp till tre utfall", + "hud.skill.sw_trip_str_combo_title": "Triple Strike Combo", //TODO + "hud.skill.sw_trip_str_combo": "Unlocks combo scaling on triple strike{SP}", //TODO + "hud.skill.sw_trip_str_dmg_title": "Triple Strike Damage", //TODO + "hud.skill.sw_trip_str_dmg": "Increases the damage each successive strike does{SP}", //TODO + "hud.skill.sw_trip_str_sp_title": "Triple Strike Speed", //TODO + "hud.skill.sw_trip_str_sp": "Increases attack speed gained by each successive strike{SP}", //TODO + "hud.skill.sw_trip_str_reg_title": "Triple Strike Regen", //TODO + "hud.skill.sw_trip_str_reg": "Increases stamina gain on each successive strike{SP}", //TODO + "hud.skill.sw_dash_title": "Språng", + "hud.skill.sw_dash": "Spetsa dina fiender", + "hud.skill.sw_dash_dmg_title": "Dash Damage", //TODO + "hud.skill.sw_dash_dmg": "Increases initial damage of the dash by 20%{SP}", //TODO + "hud.skill.sw_dash_drain_title": "Dash Drain", //TODO + "hud.skill.sw_dash_drain": "Decreases the rate energy is drained while dashing by 25%{SP}", //TODO + "hud.skill.sw_dash_cost_title": "Dash Cost", //TODO + "hud.skill.sw_dash_cost": "Decreases the initial cost of the dash by 25%{SP}", //TODO + "hud.skill.sw_dash_speed_title": "Dash Speed", //TODO + "hud.skill.sw_dash_speed": "Increases how fast you go while dashing by 30%{SP}", //TODO + "hud.skill.sw_dash_charge_through_title": "Charge Through", //TODO + "hud.skill.sw_dash_charge_through": "Allows you to charge through the first enemies you hit{SP}", //TODO + "hud.skill.sw_dash_scale_title": "Dash Scaling Damage", //TODO + "hud.skill.sw_dash_scale": "Increases the damage scaling from the dash by 20%{SP}", //TODO + "hud.skill.sw_spin_title": "Spin Unlock", //TODO + "hud.skill.sw_spin": "Unlocks the sword spin{SP}", //TODO + "hud.skill.sw_spin_dmg_title": "Spin Damage", //TODO + "hud.skill.sw_spin_dmg": "Increases the damage done by 40%{SP}", //TODO + "hud.skill.sw_spin_spd_title": "Spin Speed", //TODO + "hud.skill.sw_spin_spd": "Increase the speed at which you spin by 25%{SP}", //TODO + "hud.skill.sw_spin_cost_title": "Spin Cost", //TODO + "hud.skill.sw_spin_cost": "Decreases the energy cost of each spin by 25%{SP}", //TODO + "hud.skill.sw_spin_spins_title": "Spin Spins", //TODO + "hud.skill.sw_spin_spins": "Increases the number of times you can spin{SP}", //TODO + "hud.skill.sw_interrupt_title": "Interrupting Attacks", //TODO + "hud.skill.sw_interrupt": "Allows you to immediately cancel an attack with another attack{SP}", //TODO + // Axe + "hud.skill.axe_double_strike_title": "Dubbelhugg", + "hud.skill.axe_double_strike": "Fäll skurkar likt furor", + "hud.skill.axe_double_strike_combo_title": "Dubbelhuggskombination", + "hud.skill.axe_double_strike_combo": "Unlocks a second strike{SP}", //TODO + "hud.skill.axe_double_strike_damage_title": "Double Strike Damage", //TODO + "hud.skill.axe_double_strike_damage": "Increases the damage dealt in each successive strike{SP}", //TODO + "hud.skill.axe_double_strike_speed_title": "Double Strike Speed", //TODO + "hud.skill.axe_double_strike_speed": "Increases the attack speed with each successive strike{SP}", //TODO + "hud.skill.axe_double_strike_regen_title": "Double Strike Regen", //TODO + "hud.skill.axe_double_strike_regen": "Increases stamina gain with each successive strike{SP}", //TODO + "hud.skill.axe_spin_title": "Axe Spin", //TODO + "hud.skill.axe_spin": "You spin it right round ...", //TODO + "hud.skill.axe_infinite_axe_spin_title": "Infinite Axe Spin", //TODO + "hud.skill.axe_infinite_axe_spin": "Spin for as long as you have energy{SP}", //TODO + "hud.skill.axe_spin_damage_title": "Spin Damage", //TODO + "hud.skill.axe_spin_damage": "Increases the damage each spin does by 30%{SP}", //TODO + "hud.skill.axe_spin_helicopter_title": "Spin Helicopter", //TODO + "hud.skill.axe_spin_helicopter": "You fall a little slower while spinning{SP}", //TODO + "hud.skill.axe_spin_speed_title": "Spin Speed", //TODO + "hud.skill.axe_spin_speed": "Increases your spin speed by 25%{SP}", //TODO + "hud.skill.axe_spin_cost_title": "Spin Cost", //TODO + "hud.skill.axe_spin_cost": "Decreases stamina cost of spinning by 25%{SP}", //TODO + "hud.skill.axe_unlock_leap_title": "Unlock Leap", //TODO + "hud.skill.axe_unlock_leap": "Unlocks a leap spin{SP}", //TODO + "hud.skill.axe_leap_damage_title": "Leap Damage", //TODO + "hud.skill.axe_leap_damage": "Increases damage of leap by 35%{SP}", //TODO + "hud.skill.axe_leap_knockback_title": "Leap Knockback", //TODO + "hud.skill.axe_leap_knockback": "Increases knockback from leap by 40%{SP}", //TODO + "hud.skill.axe_leap_cost_title": "Leap Cost", //TODO + "hud.skill.axe_leap_cost": "Decreases cost of leap by 25%{SP}", //TODO + "hud.skill.axe_leap_distance_title": "Leap Distance", //TODO + "hud.skill.axe_leap_distance": "Increases distance of leap by 20%{SP}", //TODO + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/i18n/sv/template.ron b/assets/voxygen/i18n/sv/template.ron new file mode 100644 index 0000000000..014f73c1cc --- /dev/null +++ b/assets/voxygen/i18n/sv/template.ron @@ -0,0 +1,12 @@ +/// WARNING: Localization files shall be saved in UTF-8 format without BOM + +/// Localization for "global" Swedish +( + string_map: { + + }, + + + vector_map: { + } +) diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index 561492b219..5bb8796f1c 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -18,7 +18,23 @@ Tool("CraftingBench"): VoxTrans( "voxel.sprite.crafting_bench.crafting_bench-0", (0.0, 0.0, 0.0), (-50.0, 40.0, 20.0), 1.0, - ), + ), + Tool("Forge"): VoxTrans( + "voxel.object.forge", + (0.0, 0.0, 0.0), (-80.0, 20.0, 0.0), 1.0, + ), + Tool("Loom"): VoxTrans( + "voxel.object.loom", + (0.0, 0.0, 0.0), (-100.0, 00.0, 0.0), 1.0, + ), + Tool("SpinningWheel"): VoxTrans( + "voxel.object.spinning_wheel", + (0.0, 0.0, 0.0), (-70.0, 10.0, 0.0), 1.0, + ), + Tool("TanningRack"): VoxTrans( + "voxel.object.tanning_rack", + (0.0, 0.0, 0.0), (-90.0, 20.0, 0.0), 1.0, + ), // Weapons // Diary Example Images Tool("example_utility"): VoxTrans( @@ -780,6 +796,10 @@ "voxel.weapon.hammer.cult_purp-0", (2.0, -1.0, 0.0), (-135.0, 90.0, 0.0), 1.1, ), + Tool("common.items.weapons.hammer.burnt_drumstick"): VoxTrans( + "voxel.weapon.hammer.burnt_drumstick", + (2.0, -1.0, 0.0), (-135.0, 90.0, 0.0), 1.1, + ), // 1h Hammers Tool("common.items.weapons.hammer_1h.bloodsteel-0"): VoxTrans( "voxel.weapon.hammer_1h.bloodsteel-0", @@ -1051,10 +1071,14 @@ (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.2, ), // Picks - Tool("common.items.tool.pick"): VoxTrans( + Tool("common.items.tool.pickaxe_stone"): VoxTrans( "voxel.weapon.tool.pickaxe_green-0", (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.0, ), + Tool("common.items.tool.pickaxe_steel"): VoxTrans( + "voxel.weapon.tool.pickaxe_green-1", + (0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.0, + ), // Other Utility(Coins): VoxTrans( "voxel.object.v-coin", @@ -1126,31 +1150,6 @@ "voxel.armor.cultist.shoulder", (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, ), - // Druid Set - Armor(Chest("Druid")): VoxTrans( - "voxel.armor.druid.chest", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, - ), - Armor(Pants("Druid")): VoxTrans( - "voxel.armor.druid.pants", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, - ), - Armor(Belt("Druid")): VoxTrans( - "voxel.armor.druid.belt", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, - ), - Armor(Foot("Druid")): VoxTrans( - "voxel.armor.druid.foot", - (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, - ), - Armor(Hand("Druid")): VoxTrans( - "voxel.armor.druid.hand", - (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, - ), - Armor(Shoulder("Druid")): VoxTrans( - "voxel.armor.druid.shoulder", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, - ), // Villager Clothing Armor(Pants("WorkerBlue")): VoxTrans( "voxel.armor.misc.pants.worker_blue", @@ -1250,56 +1249,6 @@ "voxel.armor.assassin.shoulder", (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, ), - // Starting Armor - Plate - Armor(Chest("Plate")): VoxTrans( - "voxel.armor.plate.chest", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, - ), - Armor(Pants("Plate")): VoxTrans( - "voxel.armor.plate.pants", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, - ), - Armor(Belt("Plate")): VoxTrans( - "voxel.armor.plate.belt", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.8, - ), - Armor(Foot("Plate")): VoxTrans( - "voxel.armor.plate.foot", - (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, - ), - Armor(Hand("Plate")): VoxTrans( - "voxel.armor.plate.hand", - (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, - ), - Armor(Shoulder("Plate")): VoxTrans( - "voxel.armor.plate.shoulder", - (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, - ), - //Steel0 Armor - Armor(Chest("Steel")): VoxTrans( - "voxel.armor.steel.chest", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, - ), - Armor(Pants("Steel")): VoxTrans( - "voxel.armor.steel.pants", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, - ), - Armor(Belt("Steel")): VoxTrans( - "voxel.armor.steel.belt", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.8, - ), - Armor(Foot("Steel")): VoxTrans( - "voxel.armor.steel.foot", - (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, - ), - Armor(Hand("Steel")): VoxTrans( - "voxel.armor.steel.hand", - (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, - ), - Armor(Shoulder("Steel")): VoxTrans( - "voxel.armor.steel.shoulder", - (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, - ), //PlateLeather Armor Armor(Chest("LeatherPlate")): VoxTrans( "voxel.armor.leather_plate.chest", @@ -1325,56 +1274,6 @@ "voxel.armor.leather_plate.shoulder", (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, ), - //Leather0 Armor - Armor(Chest("Swift")): VoxTrans( - "voxel.armor.swift.chest", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, - ), - Armor(Pants("Swift")): VoxTrans( - "voxel.armor.swift.pants", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, - ), - Armor(Belt("Swift")): VoxTrans( - "voxel.armor.swift.belt", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.8, - ), - Armor(Foot("Swift")): VoxTrans( - "voxel.armor.swift.foot", - (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, - ), - Armor(Hand("Swift")): VoxTrans( - "voxel.armor.swift.hand", - (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, - ), - Armor(Shoulder("Swift")): VoxTrans( - "voxel.armor.swift.shoulder", - (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, - ), - //Agile Armor - Armor(Chest("Agile")): VoxTrans( - "voxel.armor.agile.chest", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, - ), - Armor(Pants("Agile")): VoxTrans( - "voxel.armor.agile.pants", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, - ), - Armor(Belt("Agile")): VoxTrans( - "voxel.armor.agile.belt", - (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.8, - ), - Armor(Foot("Agile")): VoxTrans( - "voxel.armor.agile.foot", - (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, - ), - Armor(Hand("Agile")): VoxTrans( - "voxel.armor.agile.hand", - (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, - ), - Armor(Shoulder("Agile")): VoxTrans( - "voxel.armor.agile.shoulder", - (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, - ), //Ferocious Armor Armor(Chest("Ferocious")): VoxTrans( "voxel.armor.ferocious.chest", @@ -1695,6 +1594,557 @@ "voxel.armor.warlock.shoulder", (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, ), + //Rawhide Set + Armor(Chest("Rawhide")): VoxTrans( + "voxel.armor.hide.rawhide.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Rawhide")): VoxTrans( + "voxel.armor.hide.rawhide.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Rawhide")): VoxTrans( + "voxel.armor.hide.rawhide.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.8, + ), + Armor(Foot("Rawhide")): VoxTrans( + "voxel.armor.hide.rawhide.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Rawhide")): VoxTrans( + "voxel.armor.hide.rawhide.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Rawhide")): VoxTrans( + "voxel.armor.hide.rawhide.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Rawhide")): VoxTrans( + "voxel.armor.hide.rawhide.back", + (0.0, -2.0, 0.0), (-90.0, 180.0, 0.0), 1.0, + ), + //Leather set + Armor(Chest("Leather")): VoxTrans( + "voxel.armor.hide.leather.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Leather")): VoxTrans( + "voxel.armor.hide.leather.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Leather")): VoxTrans( + "voxel.armor.hide.leather.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.8, + ), + Armor(Foot("Leather")): VoxTrans( + "voxel.armor.hide.leather.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Leather")): VoxTrans( + "voxel.armor.hide.leather.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Leather")): VoxTrans( + "voxel.armor.hide.leather.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Leather")): VoxTrans( + "voxel.armor.hide.leather.back", + (0.0, -2.0, 0.0), (-90.0, 180.0, 0.0), 1.0, + ), + //Scale Set + Armor(Chest("Scale")): VoxTrans( + "voxel.armor.hide.scale.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Scale")): VoxTrans( + "voxel.armor.hide.scale.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Scale")): VoxTrans( + "voxel.armor.hide.scale.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Scale")): VoxTrans( + "voxel.armor.hide.scale.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Scale")): VoxTrans( + "voxel.armor.hide.scale.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Scale")): VoxTrans( + "voxel.armor.hide.scale.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Scale")): VoxTrans( + "voxel.armor.hide.scale.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Carapace Set + Armor(Chest("Carapace")): VoxTrans( + "voxel.armor.hide.carapace.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Carapace")): VoxTrans( + "voxel.armor.hide.carapace.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Carapace")): VoxTrans( + "voxel.armor.hide.carapace.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Carapace")): VoxTrans( + "voxel.armor.hide.carapace.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Carapace")): VoxTrans( + "voxel.armor.hide.carapace.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Carapace")): VoxTrans( + "voxel.armor.hide.carapace.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Carapace")): VoxTrans( + "voxel.armor.hide.carapace.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Primal Set + Armor(Chest("Primal")): VoxTrans( + "voxel.armor.hide.primal.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Primal")): VoxTrans( + "voxel.armor.hide.primal.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Primal")): VoxTrans( + "voxel.armor.hide.primal.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Primal")): VoxTrans( + "voxel.armor.hide.primal.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Primal")): VoxTrans( + "voxel.armor.hide.primal.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Primal")): VoxTrans( + "voxel.armor.hide.primal.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Primal")): VoxTrans( + "voxel.armor.hide.primal.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Dragonscale Set + Armor(Chest("Dragonscale")): VoxTrans( + "voxel.armor.hide.dragonscale.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Dragonscale")): VoxTrans( + "voxel.armor.hide.dragonscale.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Dragonscale")): VoxTrans( + "voxel.armor.hide.dragonscale.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Dragonscale")): VoxTrans( + "voxel.armor.hide.dragonscale.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Dragonscale")): VoxTrans( + "voxel.armor.hide.dragonscale.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Dragonscale")): VoxTrans( + "voxel.armor.hide.dragonscale.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Dragonscale")): VoxTrans( + "voxel.armor.hide.dragonscale.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Savage Set + Armor(Chest("Savage")): VoxTrans( + "voxel.armor.savage.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Savage")): VoxTrans( + "voxel.armor.savage.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Savage")): VoxTrans( + "voxel.armor.savage.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Savage")): VoxTrans( + "voxel.armor.savage.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Savage")): VoxTrans( + "voxel.armor.savage.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Savage")): VoxTrans( + "voxel.armor.savage.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Savage")): VoxTrans( + "voxel.armor.savage.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Linen Set + Armor(Chest("Linen")): VoxTrans( + "voxel.armor.cloth.linen.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Linen")): VoxTrans( + "voxel.armor.cloth.linen.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Linen")): VoxTrans( + "voxel.armor.cloth.linen.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Linen")): VoxTrans( + "voxel.armor.cloth.linen.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Linen")): VoxTrans( + "voxel.armor.cloth.linen.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Linen")): VoxTrans( + "voxel.armor.cloth.linen.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Linen")): VoxTrans( + "voxel.armor.cloth.linen.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Woolen Set + Armor(Chest("Woolen")): VoxTrans( + "voxel.armor.cloth.woolen.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Woolen")): VoxTrans( + "voxel.armor.cloth.woolen.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Woolen")): VoxTrans( + "voxel.armor.cloth.woolen.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Woolen")): VoxTrans( + "voxel.armor.cloth.woolen.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Woolen")): VoxTrans( + "voxel.armor.cloth.woolen.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Woolen")): VoxTrans( + "voxel.armor.cloth.woolen.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Woolen")): VoxTrans( + "voxel.armor.cloth.woolen.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Silken Set + Armor(Chest("Silken")): VoxTrans( + "voxel.armor.cloth.silken.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Silken")): VoxTrans( + "voxel.armor.cloth.silken.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Silken")): VoxTrans( + "voxel.armor.cloth.silken.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Silken")): VoxTrans( + "voxel.armor.cloth.silken.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Silken")): VoxTrans( + "voxel.armor.cloth.silken.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Silken")): VoxTrans( + "voxel.armor.cloth.silken.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Silken")): VoxTrans( + "voxel.armor.cloth.silken.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Druid Set + Armor(Chest("Druid")): VoxTrans( + "voxel.armor.cloth.druid.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Druid")): VoxTrans( + "voxel.armor.cloth.druid.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Druid")): VoxTrans( + "voxel.armor.cloth.druid.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Druid")): VoxTrans( + "voxel.armor.cloth.druid.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Druid")): VoxTrans( + "voxel.armor.cloth.druid.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Druid")): VoxTrans( + "voxel.armor.cloth.druid.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Druid")): VoxTrans( + "voxel.armor.cloth.druid.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Moonweave Set + Armor(Chest("Moonweave")): VoxTrans( + "voxel.armor.cloth.moonweave.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Moonweave")): VoxTrans( + "voxel.armor.cloth.moonweave.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Moonweave")): VoxTrans( + "voxel.armor.cloth.moonweave.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Moonweave")): VoxTrans( + "voxel.armor.cloth.moonweave.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Moonweave")): VoxTrans( + "voxel.armor.cloth.moonweave.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Moonweave")): VoxTrans( + "voxel.armor.cloth.moonweave.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Moonweave")): VoxTrans( + "voxel.armor.cloth.moonweave.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Sunsilk Set + Armor(Chest("Sunsilk")): VoxTrans( + "voxel.armor.cloth.sunsilk.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Sunsilk")): VoxTrans( + "voxel.armor.cloth.sunsilk.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Sunsilk")): VoxTrans( + "voxel.armor.cloth.sunsilk.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Sunsilk")): VoxTrans( + "voxel.armor.cloth.sunsilk.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Sunsilk")): VoxTrans( + "voxel.armor.cloth.sunsilk.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Sunsilk")): VoxTrans( + "voxel.armor.cloth.sunsilk.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Sunsilk")): VoxTrans( + "voxel.armor.cloth.sunsilk.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Bronze Set + Armor(Chest("Bronze")): VoxTrans( + "voxel.armor.mail.bronze.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Bronze")): VoxTrans( + "voxel.armor.mail.bronze.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Bronze")): VoxTrans( + "voxel.armor.mail.bronze.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Bronze")): VoxTrans( + "voxel.armor.mail.bronze.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Bronze")): VoxTrans( + "voxel.armor.mail.bronze.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Bronze")): VoxTrans( + "voxel.armor.mail.bronze.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Bronze")): VoxTrans( + "voxel.armor.mail.bronze.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Iron Set + Armor(Chest("Iron")): VoxTrans( + "voxel.armor.mail.iron.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Iron")): VoxTrans( + "voxel.armor.mail.iron.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Iron")): VoxTrans( + "voxel.armor.mail.iron.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Iron")): VoxTrans( + "voxel.armor.mail.iron.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Iron")): VoxTrans( + "voxel.armor.mail.iron.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Iron")): VoxTrans( + "voxel.armor.mail.iron.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Iron")): VoxTrans( + "voxel.armor.mail.iron.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Steel Set + Armor(Chest("Steel")): VoxTrans( + "voxel.armor.mail.steel.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Steel")): VoxTrans( + "voxel.armor.mail.steel.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Steel")): VoxTrans( + "voxel.armor.mail.steel.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Steel")): VoxTrans( + "voxel.armor.mail.steel.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Steel")): VoxTrans( + "voxel.armor.mail.steel.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Steel")): VoxTrans( + "voxel.armor.mail.steel.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Steel")): VoxTrans( + "voxel.armor.mail.steel.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Cobalt Set + Armor(Chest("Cobalt")): VoxTrans( + "voxel.armor.mail.cobalt.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Cobalt")): VoxTrans( + "voxel.armor.mail.cobalt.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Cobalt")): VoxTrans( + "voxel.armor.mail.cobalt.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Cobalt")): VoxTrans( + "voxel.armor.mail.cobalt.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Cobalt")): VoxTrans( + "voxel.armor.mail.cobalt.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Cobalt")): VoxTrans( + "voxel.armor.mail.cobalt.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Cobalt")): VoxTrans( + "voxel.armor.mail.cobalt.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Bloodsteel Set + Armor(Chest("Bloodsteel")): VoxTrans( + "voxel.armor.mail.bloodsteel.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Bloodsteel")): VoxTrans( + "voxel.armor.mail.bloodsteel.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Bloodsteel")): VoxTrans( + "voxel.armor.mail.bloodsteel.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Bloodsteel")): VoxTrans( + "voxel.armor.mail.bloodsteel.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Bloodsteel")): VoxTrans( + "voxel.armor.mail.bloodsteel.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Bloodsteel")): VoxTrans( + "voxel.armor.mail.bloodsteel.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Bloodsteel")): VoxTrans( + "voxel.armor.mail.bloodsteel.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), + //Orichalcum Set + Armor(Chest("Orichalcum")): VoxTrans( + "voxel.armor.mail.orichalcum.chest", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Pants("Orichalcum")): VoxTrans( + "voxel.armor.mail.orichalcum.pants", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.2, + ), + Armor(Belt("Orichalcum")): VoxTrans( + "voxel.armor.mail.orichalcum.belt", + (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.4, + ), + Armor(Foot("Orichalcum")): VoxTrans( + "voxel.armor.mail.orichalcum.foot", + (0.0, 0.0, 0.0), (-95.0, 140.0, 0.0), 1.1, + ), + Armor(Hand("Orichalcum")): VoxTrans( + "voxel.armor.mail.orichalcum.hand", + (0.0, -1.0, 0.0), (-90.0, 135.0, 0.0), 1.0, + ), + Armor(Shoulder("Orichalcum")): VoxTrans( + "voxel.armor.mail.orichalcum.shoulder", + (0.0, 0.0, 0.0), (-90.0, 130.0, 0.0), 1.2, + ), + Armor(Back("Orichalcum")): VoxTrans( + "voxel.armor.mail.orichalcum.back", + (0.0, 0.0, 0.0), (-90.0, 0.0, 0.0), 1.0, + ), //misc Armor(Pants("Hunting")): VoxTrans( "voxel.armor.misc.pants.grayscale", @@ -1717,10 +2167,6 @@ "voxel.armor.misc.back.dungeon_purple", (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.0, ), - Armor(Back("Agile")): VoxTrans( - "voxel.armor.agile.back", - (0.0, -2.0, 0.0), (-90.0, 180.0, 0.0), 1.0, - ), Armor(Back("LeatherBlue")): VoxTrans( "voxel.armor.leather_blue.back", (0.0, -2.0, 0.0), (-90.0, 180.0, 0.0), 1.0, @@ -1771,7 +2217,7 @@ "element.items.tabard_admin", ), // Heads - Armor(Head("Swift")): VoxTrans( + Armor(Head("Leather")): VoxTrans( "voxel.armor.misc.head.leather-0", (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.0, ), @@ -1885,10 +2331,54 @@ "voxel.sprite.cabbage.cabbage", (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, ), - Consumable("Fish"): VoxTrans( - "voxel.sprite.food.meat_fish", + Consumable("FishRaw"): VoxTrans( + "voxel.sprite.food.meat.fish_raw", (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, ), + Consumable("FishCooked"): VoxTrans( + "voxel.sprite.food.meat.fish_cooked", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Consumable("BirdRaw"): VoxTrans( + "voxel.sprite.food.meat.bird_raw", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Consumable("BirdCooked"): VoxTrans( + "voxel.sprite.food.meat.bird_cooked", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Consumable("BirdLargeRaw"): VoxTrans( + "voxel.sprite.food.meat.bird_large_raw", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Consumable("BirdLargeCooked"): VoxTrans( + "voxel.sprite.food.meat.bird_large_cooked", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Consumable("BeastSmallRaw"): VoxTrans( + "voxel.sprite.food.meat.beast_small_raw", + (0.0, 0.0, 0.0), (-50.0, 10.0, 0.0), 1.0, + ), + Consumable("BeastSmallCooked"): VoxTrans( + "voxel.sprite.food.meat.beast_small_cooked", + (0.0, 0.0, 0.0), (-50.0, 20.0, 0.0), 1.0, + ), + Consumable("ToughRaw"): VoxTrans( + "voxel.sprite.food.meat.tough_raw", + (0.0, 0.0, 0.0), (-50.0, 10.0, 0.0), 1.0, + ), + Consumable("ToughCooked"): VoxTrans( + "voxel.sprite.food.meat.tough_cooked", + (0.0, 0.0, 0.0), (-50.0, 20.0, 0.0), 1.0, + ), + Consumable("BeastLargeRaw"): VoxTrans( + "voxel.sprite.food.meat.beast_large_raw", + (-1.0, 0.0, 0.0), (-80.0, 40.0, 0.0), 0.8, + ), + Consumable("BeastLargeCooked"): VoxTrans( + "voxel.sprite.food.meat.beast_large_cooked", + (-1.0, 0.0, 0.0), (-80.0, 40.0, 0.0), 0.8, + ), Consumable("PlainSalad"): VoxTrans( "voxel.sprite.food.salad_plain", (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, @@ -1930,11 +2420,11 @@ "voxel.object.training_dummy", (0.0, -1.0, 0.0), (-50.0, 40.0, 20.0), 0.8, ), - // Ingredients - Tool("common.items.tool.craftsman_hammer"): VoxTrans( + // Ingredients + Tool("common.items.tool.craftsman_hammer"): VoxTrans( "voxel.weapon.hammer.craftsman", (1.0, -1.0, 0.0), (-135.0, 90.0, 0.0), 0.9, - ), + ), Ingredient("SewingSet"): Png( "element.items.sewing_set", ), @@ -1975,65 +2465,213 @@ "voxel.sprite.twigs.twigs-0", (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, ), - Ingredient("AnimalPelt"): VoxTrans( - "voxel.sprite.crafting_ing.pelt", + Ingredient("AnimalHide"): VoxTrans( + "voxel.sprite.crafting_ing.hide.animal_hide", (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, ), - Ingredient("Claw"): VoxTrans( - "voxel.sprite.crafting_ing.claw", + Ingredient("ToughHide"): VoxTrans( + "voxel.sprite.crafting_ing.hide.tough_hide", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Ingredient("RuggedHide"): VoxTrans( + "voxel.sprite.crafting_ing.hide.rugged_hide", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Ingredient("SimpleLeather"): VoxTrans( + "voxel.sprite.crafting_ing.leather.simple_leather", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Ingredient("ThickLeather"): VoxTrans( + "voxel.sprite.crafting_ing.leather.thick_leather", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Ingredient("RigidLeather"): VoxTrans( + "voxel.sprite.crafting_ing.leather.rigid_leather", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Ingredient("TrollLeather"): VoxTrans( + "voxel.sprite.crafting_ing.hide.troll_hide", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Ingredient("LeatherStrips"): VoxTrans( + "voxel.sprite.crafting_ing.leather.leather_strips", (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, ), Ingredient("Plate"): VoxTrans( - "voxel.sprite.crafting_ing.plate", + "voxel.sprite.crafting_ing.hide.plate", (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 1.0, ), - Ingredient("Leather"): VoxTrans( - "voxel.sprite.crafting_ing.leather", - (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, - ), - Ingredient("DragonScale"): VoxTrans( - "voxel.sprite.crafting_ing.dragon_scale", - (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, - ), - Ingredient("SilverIngot"): VoxTrans( - "voxel.sprite.crafting_ing.silver_ingot", - (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, - ), - Ingredient("GoldIngot"): VoxTrans( - "voxel.sprite.crafting_ing.gold_ingot", - (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, - ), - Ingredient("GoldOre"): VoxTrans( - "voxel.sprite.crafting_ing.gold_ore_drop", - (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, - ), - Ingredient("SilverOre"): VoxTrans( - "voxel.sprite.crafting_ing.silver_ore_drop", - (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.8, - ), - Ingredient("OrichalcumIngot"): VoxTrans( - "voxel.sprite.crafting_ing.orichalcum_ingot", + Ingredient("Carapace"): VoxTrans( + "voxel.sprite.crafting_ing.hide.carapace", (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, ), Ingredient("Scale"): VoxTrans( - "voxel.sprite.crafting_ing.scale", + "voxel.sprite.crafting_ing.hide.scale", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.8, + ), + Ingredient("DragonScale"): VoxTrans( + "voxel.sprite.crafting_ing.hide.dragon_scale", (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, ), + Ingredient("Claw"): VoxTrans( + "voxel.sprite.crafting_ing.animal_misc.claw", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Ingredient("VenomSac"): VoxTrans( + "voxel.sprite.crafting_ing.animal_misc.venom_sac", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Ingredient("LivelyVine"): VoxTrans( + "voxel.sprite.crafting_ing.animal_misc.lively_vine", + (0.0, 0.0, 0.0), (-40.0, -40.0, 20.0), 1.2, + ), + Ingredient("SharpFang"): VoxTrans( + "voxel.sprite.crafting_ing.animal_misc.sharp_fang", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 1.0, + ), + Ingredient("Fur"): VoxTrans( + "voxel.sprite.crafting_ing.animal_misc.fur", + (0.0, 0.0, 0.0), (-40.0, -10.0, 10.0), 1.0, + ), + Ingredient("LargeHorn"): VoxTrans( + "voxel.sprite.crafting_ing.animal_misc.large_horn", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Ingredient("GrimEyeball"): VoxTrans( + "voxel.sprite.crafting_ing.animal_misc.grim_eyeball", + (0.0, 0.0, 0.0), (-60.0, 30.0, 20.0), 0.8, + ), + Ingredient("PlantFiber"): VoxTrans( + "voxel.sprite.crafting_ing.plant_fiber", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Ingredient("Moonbell"): VoxTrans( + "voxel.sprite.flowers.moonbell", + (0.0, 0.0, 0.0), (-65.0, 40.0, 20.0), 0.9, + ), + Ingredient("Pyrebloom"): VoxTrans( + "voxel.sprite.flowers.pyrebloom", + (0.0, 0.0, 0.0), (-75.0, 0.0, 20.0), 0.9, + ), + Ingredient("WildFlax"): VoxTrans( + "voxel.sprite.flowers.flax", + (0.0, 0.0, 0.0), (-75.0, 0.0, 20.0), 0.8, + ), + Ingredient("CottonBoll"): VoxTrans( + "voxel.sprite.crafting_ing.cotton_boll", + (0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9, + ), + Ingredient("Cotton"): VoxTrans( + "voxel.sprite.crafting_ing.cloth.cotton", + (0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9, + ), + Ingredient("Linen"): VoxTrans( + "voxel.sprite.crafting_ing.cloth.linen", + (0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9, + ), + Ingredient("Wool"): VoxTrans( + "voxel.sprite.crafting_ing.cloth.wool", + (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, + ), + Ingredient("Silk"): VoxTrans( + "voxel.sprite.crafting_ing.cloth.silk", + (0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9, + ), + Ingredient("Lifecloth"): VoxTrans( + "voxel.sprite.crafting_ing.cloth.lifecloth", + (0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9, + ), + Ingredient("Moonweave"): VoxTrans( + "voxel.sprite.crafting_ing.cloth.moonweave", + (0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9, + ), + Ingredient("Sunsilk"): VoxTrans( + "voxel.sprite.crafting_ing.cloth.sunsilk", + (0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9, + ), + Ingredient("LinenRed"): VoxTrans( + "voxel.sprite.crafting_ing.cloth.linen_red", + (0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9, + ), + Ingredient("StickyThread"): VoxTrans( + "voxel.sprite.crafting_ing.sticky_thread", + (0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9, + ), + Ingredient("SilverIngot"): VoxTrans( + "voxel.sprite.mineral.ingot.silver", + (0.0, 0.0, 0.0), (70.0, 30.0, 170.0), 0.85, + ), + Ingredient("GoldIngot"): VoxTrans( + "voxel.sprite.mineral.ingot.gold", + (0.0, 0.0, 0.0), (70.0, 30.0, 170.0), 0.85, + ), + Ingredient("OrichalcumIngot"): VoxTrans( + "voxel.sprite.mineral.ingot.orichalcum", + (0.0, 0.0, 0.0), (70.0, 30.0, 170.0), 0.85, + ), + Ingredient("BloodsteelIngot"): VoxTrans( + "voxel.sprite.mineral.ingot.bloodsteel", + (0.0, 0.0, 0.0), (70.0, 30.0, 170.0), 0.85, + ), + Ingredient("BronzeIngot"): VoxTrans( + "voxel.sprite.mineral.ingot.bronze", + (0.0, 0.0, 0.0), (70.0, 30.0, 170.0), 0.85, + ), + Ingredient("CobaltIngot"): VoxTrans( + "voxel.sprite.mineral.ingot.cobalt", + (0.0, 0.0, 0.0), (70.0, 30.0, 170.0), 0.85, + ), + Ingredient("CopperIngot"): VoxTrans( + "voxel.sprite.mineral.ingot.copper", + (0.0, 0.0, 0.0), (70.0, 30.0, 170.0), 0.85, + ), + Ingredient("IronIngot"): VoxTrans( + "voxel.sprite.mineral.ingot.iron", + (0.0, 0.0, 0.0), (70.0, 30.0, 170.0), 0.85, + ), + Ingredient("SteelIngot"): VoxTrans( + "voxel.sprite.mineral.ingot.steel", + (0.0, 0.0, 0.0), (70.0, 30.0, 170.0), 0.85, + ), + Ingredient("TinIngot"): VoxTrans( + "voxel.sprite.mineral.ingot.tin", + (0.0, 0.0, 0.0), (70.0, 30.0, 170.0), 0.85, + ), + Ingredient("GoldOre"): VoxTrans( + "voxel.sprite.mineral.ore.gold", + (0.0, 0.0, 0.0), (-60.0, 30.0, 20.0), 0.8, + ), + Ingredient("SilverOre"): VoxTrans( + "voxel.sprite.mineral.ore.silver", + (0.0, 0.0, 0.0), (-60.0, 30.0, 20.0), 0.8, + ), + Ingredient("BloodstoneOre"): VoxTrans( + "voxel.sprite.mineral.ore.bloodstone", + (0.0, 0.0, 0.0), (-60.0, 30.0, 20.0), 0.8, + ), + Ingredient("CobaltOre"): VoxTrans( + "voxel.sprite.mineral.ore.cobalt", + (0.0, 0.0, 0.0), (-60.0, 30.0, 20.0), 0.8, + ), + Ingredient("CopperOre"): VoxTrans( + "voxel.sprite.mineral.ore.copper", + (0.0, 0.0, 0.0), (-60.0, 30.0, 20.0), 0.8, + ), + Ingredient("IronOre"): VoxTrans( + "voxel.sprite.mineral.ore.iron", + (0.0, 0.0, 0.0), (-60.0, 30.0, 20.0), 0.8, + ), + Ingredient("TinOre"): VoxTrans( + "voxel.sprite.mineral.ore.tin", + (0.0, 0.0, 0.0), (-60.0, 30.0, 20.0), 0.8, + ), + Ingredient("Coal"): VoxTrans( + "voxel.sprite.mineral.ore.coal", + (0.0, 0.0, 0.0), (-60.0, 30.0, 20.0), 0.8, + ), Ingredient("Honey"): Png( "element.items.item_honey", ), - Ingredient("LeatherScraps"): Png( - "element.items.item_leather0", - ), - Ingredient("TrollLeather"): Png( - "element.items.item_leather_green", - ), - Ingredient("ClothScraps"): Png( - "element.items.item_cloth0", - ), - Ingredient("ClothScrapsRed"): Png( - "element.items.item_cloth_red", - ), Ingredient("MortarPestle"): Png( "element.items.item_mortarpestlecoco", ), @@ -2050,7 +2688,11 @@ (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, ), Ingredient("ViscousOoze"): VoxTrans( - "voxel.sprite.crafting_ing.ooze", + "voxel.sprite.crafting_ing.animal_misc.viscous_ooze", + (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, + ), + Ingredient("PhoenixFeather"): VoxTrans( + "voxel.sprite.crafting_ing.animal_misc.phoenix_feather", (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, ), // Gliders @@ -2109,27 +2751,27 @@ ), // Gems Ingredient("Amethyst"): VoxTrans( - "voxel.sprite.gem.amethystgem", + "voxel.sprite.mineral.gem.amethystgem", (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.7, ), Ingredient("Topaz"): VoxTrans( - "voxel.sprite.gem.topazgem", + "voxel.sprite.mineral.gem.topazgem", (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.7, ), Ingredient("Sapphire"): VoxTrans( - "voxel.sprite.gem.sapphiregem", + "voxel.sprite.mineral.gem.sapphiregem", (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.6, ), Ingredient("Emerald"): VoxTrans( - "voxel.sprite.gem.emeraldgem", + "voxel.sprite.mineral.gem.emeraldgem", (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.7, ), Ingredient("Ruby"): VoxTrans( - "voxel.sprite.gem.rubygem", + "voxel.sprite.mineral.gem.rubygem", (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.7, ), Ingredient("Diamond"): VoxTrans( - "voxel.sprite.gem.diamondgem", + "voxel.sprite.mineral.gem.diamondgem", (0.0, 0.0, 0.0), (-55.0, 30.0, 20.0), 0.6, ), ModularComponent("common.items.crafting_ing.modular.damage.sword.tier5"): VoxTrans( diff --git a/assets/voxygen/shaders/include/sky.glsl b/assets/voxygen/shaders/include/sky.glsl index b44c95d522..f6587037ab 100644 --- a/assets/voxygen/shaders/include/sky.glsl +++ b/assets/voxygen/shaders/include/sky.glsl @@ -49,7 +49,7 @@ const float PERSISTENT_AMBIANCE = 1.0 / 32.0;// 1.0 / 80; // 1.0 / 512; // 0.001 // Glow from static light sources // Allowed to be > 1 due to HDR -const vec3 GLOW_COLOR = vec3(3.0, 0.9, 0.05); +const vec3 GLOW_COLOR = vec3(0.89, 0.95, 0.52); // Calculate glow from static light sources, + some noise for flickering. // TODO: Optionally disable the flickering for performance? diff --git a/assets/voxygen/shaders/particle-vert.glsl b/assets/voxygen/shaders/particle-vert.glsl index a74f714892..a97e1bdffe 100644 --- a/assets/voxygen/shaders/particle-vert.glsl +++ b/assets/voxygen/shaders/particle-vert.glsl @@ -69,6 +69,8 @@ const int BIG_SHRAPNEL = 27; const int LASER = 28; const int BUBBLES = 29; const int WATER = 30; +const int ICE_SPIKES = 31; +const int DRIP = 32; // meters per second squared (acceleration) const float earth_gravity = 9.807; @@ -144,6 +146,12 @@ vec3 perp_axis2(vec3 axis1, vec3 axis2) { return normalize(vec3(axis1.y * axis2.z - axis1.z * axis2.y, axis1.z * axis2.x - axis1.x * axis2.z, axis1.x * axis2.y - axis1.y * axis2.x)); } +// Line is the axis of the spiral, it goes from the start position to the end position +// Radius is the distance from the axis the particle is +// Time function is some value that ideally goes from 0 to 1. When it is 0, it is as +// the point (0, 0, 0), when it is 1, it is at the point provided by the coordinates of line +// Frequency increases the frequency of rotation +// Offset is an offset to the angle of the rotation vec3 spiral_motion(vec3 line, float radius, float time_function, float frequency, float offset) { vec3 axis2 = perp_axis1(line); vec3 axis3 = perp_axis2(line, axis2); @@ -420,10 +428,11 @@ void main() { break; case ICE: f_reflect = 0.0; // Ice doesn't reflect to look like magic + float ice_color = 1.9 + rand5 * 0.3; attr = Attr( inst_dir * ((rand0+1.0)/2 + 0.4) * slow_end(2.0) + 0.3 * grav_vel(earth_gravity), - vec3((3 * (1 - slow_start(0.1)))), - vec4(0.2, 1.6 + rand5 * 0.3 - 0.4 * percent(), 3, 1), + vec3((5 * (1 - slow_start(.1)))), + vec4(0.8 * ice_color, 0.9 * ice_color, ice_color, 1), spin_in_axis(vec3(rand6, rand7, rand8), percent() * 10 + 3 * rand9) ); break; @@ -513,6 +522,27 @@ void main() { spin_in_axis(vec3(rand6, rand7, rand8), percent() * 5 + 3 * rand9) ); break; + case ICE_SPIKES: + f_reflect = 0.0; // Ice doesn't reflect to look like magic + ice_color = 1.7 + rand5 * 0.2; + attr = Attr( + vec3(0.0), + vec3(11.0, 11.0, 11.0 * length(inst_dir) * 2.0 * (0.5 - abs(0.5 - slow_end(0.5)))) / 3, + vec4(0.8 * ice_color, 0.9 * ice_color, ice_color, 1), + spin_in_axis(vec3(1,0,0),0) + ); + break; + case DRIP: + attr = Attr( + linear_motion( + vec3(0), + normalize(vec3(rand4, rand5, rand6)) + grav_vel(earth_gravity) + ), + vec3((2.0 * (1 - slow_start(0.2)))), + vec4(1, 1, 0, 1), + spin_in_axis(vec3(1,0,0),0) + ); + break; default: attr = Attr( linear_motion( diff --git a/assets/voxygen/voxel/armor/cloth/druid/back.vox b/assets/voxygen/voxel/armor/cloth/druid/back.vox new file mode 100644 index 0000000000..bf5f932e09 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/druid/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:406c37263e69dbe19767f1944b11f0c99a44ef7c1fb7384a9188ac73355d7b85 +size 1448 diff --git a/assets/voxygen/voxel/armor/cloth/druid/belt.vox b/assets/voxygen/voxel/armor/cloth/druid/belt.vox new file mode 100644 index 0000000000..318335b1f2 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/druid/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ddf5ccccc71b94ea659da7163c83da84707ac2034781be4ff44a7f557c6056a +size 1488 diff --git a/assets/voxygen/voxel/armor/cloth/druid/chest.vox b/assets/voxygen/voxel/armor/cloth/druid/chest.vox new file mode 100644 index 0000000000..cf8279a11f --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/druid/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:912d91f11f7e651fe0350cd5ed92aa11e7f1eb587ee16dd7cd8336c9b3df9b4f +size 2648 diff --git a/assets/voxygen/voxel/armor/cloth/druid/foot.vox b/assets/voxygen/voxel/armor/cloth/druid/foot.vox new file mode 100644 index 0000000000..c072c4cdb8 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/druid/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46b27b04d92a0899f7913bf000c9a904d36c30be1714cb9cff46eea0572b3a64 +size 1468 diff --git a/assets/voxygen/voxel/armor/cloth/druid/hand.vox b/assets/voxygen/voxel/armor/cloth/druid/hand.vox new file mode 100644 index 0000000000..10d0b31207 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/druid/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cb9e9e7e3d87372fde8de8a716526c0b0066d5a5b6f0c99a1b138281085c7c1 +size 1240 diff --git a/assets/voxygen/voxel/armor/cloth/druid/pants.vox b/assets/voxygen/voxel/armor/cloth/druid/pants.vox new file mode 100644 index 0000000000..4fdfb198c9 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/druid/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebdf2dc3ac3f63ba7dba1625237fc9e9530110b375b284aa2153094b1aec5fc3 +size 2248 diff --git a/assets/voxygen/voxel/armor/cloth/druid/shoulder.vox b/assets/voxygen/voxel/armor/cloth/druid/shoulder.vox new file mode 100644 index 0000000000..12794d2670 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/druid/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c73c6a91d8deda7a1f7b31f660e18c9a455a4b026962233aee1ea9e60c07e518 +size 1612 diff --git a/assets/voxygen/voxel/armor/cloth/linen/back.vox b/assets/voxygen/voxel/armor/cloth/linen/back.vox new file mode 100644 index 0000000000..151847d776 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/linen/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca58373554044bde37dcaf8184b28f6893482441225dc2b0a5c59a830382350c +size 1336 diff --git a/assets/voxygen/voxel/armor/cloth/linen/belt.vox b/assets/voxygen/voxel/armor/cloth/linen/belt.vox new file mode 100644 index 0000000000..cd00be6c7e --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/linen/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4975044fe227709902f1fd63359758354972f6614499a00719684578050c5f51 +size 1508 diff --git a/assets/voxygen/voxel/armor/cloth/linen/chest.vox b/assets/voxygen/voxel/armor/cloth/linen/chest.vox new file mode 100644 index 0000000000..e8708b5118 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/linen/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16ab069a51874d1519446e8ba2731edd4af4b79fbbe6e8783254186bec6603ab +size 2688 diff --git a/assets/voxygen/voxel/armor/cloth/linen/foot.vox b/assets/voxygen/voxel/armor/cloth/linen/foot.vox new file mode 100644 index 0000000000..186815f2ae --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/linen/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da895889e58d49d09a2ec0cd60c8c4190049b7e59fd4bd3c5f1f1b67bf2f2f18 +size 1480 diff --git a/assets/voxygen/voxel/armor/cloth/linen/hand.vox b/assets/voxygen/voxel/armor/cloth/linen/hand.vox new file mode 100644 index 0000000000..9d30402cc7 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/linen/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7648b2c8daefc2b0b84e5ad02a0e7f8793c6259c6ce790afd54bdf1f7db3200e +size 1240 diff --git a/assets/voxygen/voxel/armor/cloth/linen/pants.vox b/assets/voxygen/voxel/armor/cloth/linen/pants.vox new file mode 100644 index 0000000000..1a77d1da8d --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/linen/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca8d695cc4494d2a1d459be9a05f7d9127cb2eab1d5f4ac9a868e2d1bbb7bda1 +size 2328 diff --git a/assets/voxygen/voxel/armor/cloth/linen/shoulder.vox b/assets/voxygen/voxel/armor/cloth/linen/shoulder.vox new file mode 100644 index 0000000000..37f95887f2 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/linen/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:667635c21a45aad11142611e521f77e36ea06b0b4b30f4ed879063cb71fe9529 +size 1320 diff --git a/assets/voxygen/voxel/armor/cloth/moonweave/back.vox b/assets/voxygen/voxel/armor/cloth/moonweave/back.vox new file mode 100644 index 0000000000..140f7b26a0 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/moonweave/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab961421f5cc2fb06f873d43faff1272aec64e343075807064fa611e24b56aa0 +size 1460 diff --git a/assets/voxygen/voxel/armor/cloth/moonweave/belt.vox b/assets/voxygen/voxel/armor/cloth/moonweave/belt.vox new file mode 100644 index 0000000000..42a6396dd1 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/moonweave/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a55d66a942e4708698a94ca8e30223eacc0fd4385cd882fabb8be14c5a888eab +size 1480 diff --git a/assets/voxygen/voxel/armor/cloth/moonweave/chest.vox b/assets/voxygen/voxel/armor/cloth/moonweave/chest.vox new file mode 100644 index 0000000000..d7ff0eac10 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/moonweave/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc2157c33b98575debdcf7b106cec800f4fefef4fca027fa0f77c39598bb8d5f +size 2960 diff --git a/assets/voxygen/voxel/armor/cloth/moonweave/foot.vox b/assets/voxygen/voxel/armor/cloth/moonweave/foot.vox new file mode 100644 index 0000000000..53f0e15c0d --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/moonweave/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:924c1c1b3d0a1fef7856871b866008e2040bd07630affe16d3ebab59319af1cb +size 1484 diff --git a/assets/voxygen/voxel/armor/cloth/moonweave/hand.vox b/assets/voxygen/voxel/armor/cloth/moonweave/hand.vox new file mode 100644 index 0000000000..744ba2944a --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/moonweave/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d4b45eaead470c816adc0d2837747060a29d834a549c8fd693dbedd5ca9fc53 +size 1248 diff --git a/assets/voxygen/voxel/armor/cloth/moonweave/pants.vox b/assets/voxygen/voxel/armor/cloth/moonweave/pants.vox new file mode 100644 index 0000000000..a474ea403c --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/moonweave/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad8ef8e76f3e4b32e6c5c9853bfe85eba872a9eeb39f2028152926ce5c03d9b2 +size 2536 diff --git a/assets/voxygen/voxel/armor/cloth/moonweave/shoulder.vox b/assets/voxygen/voxel/armor/cloth/moonweave/shoulder.vox new file mode 100644 index 0000000000..9d21e4ebdc --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/moonweave/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f4dec8a85023e49cb4287aeeaa2f087fdd48f7a868a6d1cccad871a70b2e9e0 +size 1452 diff --git a/assets/voxygen/voxel/armor/cloth/silken/back.vox b/assets/voxygen/voxel/armor/cloth/silken/back.vox new file mode 100644 index 0000000000..70f1bb1001 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/silken/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36ad9bb5ecad817a1d516ff75e6727987cb80b224da9597bfedd44090047ede6 +size 1440 diff --git a/assets/voxygen/voxel/armor/cloth/silken/belt.vox b/assets/voxygen/voxel/armor/cloth/silken/belt.vox new file mode 100644 index 0000000000..9c7f263e60 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/silken/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5f679cc534f3afd1c369774e0c7213c56a910589886137cc770cb8f0b1d8dca +size 1524 diff --git a/assets/voxygen/voxel/armor/cloth/silken/chest.vox b/assets/voxygen/voxel/armor/cloth/silken/chest.vox new file mode 100644 index 0000000000..55e1beeee9 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/silken/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cdb91a1c2793cbe4c45e997c7b09c2a1c63dcd2e34e3e537936ce44cc5fae96 +size 2816 diff --git a/assets/voxygen/voxel/armor/cloth/silken/foot.vox b/assets/voxygen/voxel/armor/cloth/silken/foot.vox new file mode 100644 index 0000000000..4899126f8a --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/silken/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff88d275e6ff5d098e773650618af8532e8e21d4b8b78ee3483feb3a080a21fc +size 1480 diff --git a/assets/voxygen/voxel/armor/cloth/silken/hand.vox b/assets/voxygen/voxel/armor/cloth/silken/hand.vox new file mode 100644 index 0000000000..e21d3494e8 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/silken/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e8665688079999bdd9e35d4f4d52ba5454310777fc05834d9abdeb657f77092 +size 1392 diff --git a/assets/voxygen/voxel/armor/cloth/silken/pants.vox b/assets/voxygen/voxel/armor/cloth/silken/pants.vox new file mode 100644 index 0000000000..8e80a97681 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/silken/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:530bcaf07b9633f725e8a9a1a8869e53ef24affd4116f212410a6279615d140a +size 2256 diff --git a/assets/voxygen/voxel/armor/cloth/silken/shoulder.vox b/assets/voxygen/voxel/armor/cloth/silken/shoulder.vox new file mode 100644 index 0000000000..b5fd4bb8c7 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/silken/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fc586be06ae884b1aa6aabbc36c3eaffe43c851ef73b5cc05721ebf99560327 +size 1368 diff --git a/assets/voxygen/voxel/armor/cloth/sunsilk/back.vox b/assets/voxygen/voxel/armor/cloth/sunsilk/back.vox new file mode 100644 index 0000000000..59bbea570f --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/sunsilk/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e39db2db30b5c9565aabc1594754a08e06aaecd94319c9adfede165bba39ae87 +size 1520 diff --git a/assets/voxygen/voxel/armor/cloth/sunsilk/belt.vox b/assets/voxygen/voxel/armor/cloth/sunsilk/belt.vox new file mode 100644 index 0000000000..11049fe34c --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/sunsilk/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e0db090e6df2805ed6d02374a01945290190b113112198d01463fcf4e70ff3e +size 1524 diff --git a/assets/voxygen/voxel/armor/cloth/sunsilk/chest.vox b/assets/voxygen/voxel/armor/cloth/sunsilk/chest.vox new file mode 100644 index 0000000000..eed8334866 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/sunsilk/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7f4bda31e8ca11b2f40e416e9fcff1f454ae38a6c74835a536b0b9ed3a6ee85 +size 2976 diff --git a/assets/voxygen/voxel/armor/cloth/sunsilk/foot.vox b/assets/voxygen/voxel/armor/cloth/sunsilk/foot.vox new file mode 100644 index 0000000000..8cf23b3e0e --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/sunsilk/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da8087c4a4c13b6a03c32b94cee08c04b2fd5b69d5cae1a536ce135ada1d3b6c +size 1492 diff --git a/assets/voxygen/voxel/armor/cloth/sunsilk/hand.vox b/assets/voxygen/voxel/armor/cloth/sunsilk/hand.vox new file mode 100644 index 0000000000..b51236dc67 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/sunsilk/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49b3eca2b303d9e4973327e735f7f70562b93a86b27a1965dbf48489349e0b3e +size 1396 diff --git a/assets/voxygen/voxel/armor/cloth/sunsilk/pants.vox b/assets/voxygen/voxel/armor/cloth/sunsilk/pants.vox new file mode 100644 index 0000000000..b38d3f69e2 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/sunsilk/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c57010cd77347446d5c60ef65e4b27153fbe8453affd34576659a56f8526282 +size 2436 diff --git a/assets/voxygen/voxel/armor/cloth/sunsilk/shoulder.vox b/assets/voxygen/voxel/armor/cloth/sunsilk/shoulder.vox new file mode 100644 index 0000000000..6c9f2005a3 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/sunsilk/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f46525c315fd01350ff9d584dbcb0c5adf545c127a8c9b5a641ade78fdbf62d +size 1420 diff --git a/assets/voxygen/voxel/armor/cloth/woolen/back.vox b/assets/voxygen/voxel/armor/cloth/woolen/back.vox new file mode 100644 index 0000000000..a2e51ad9ef --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/woolen/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1564f766341150d92a14b548a3c294f3b6e0bed7f0835c1f99d93a5fe246f7cd +size 1608 diff --git a/assets/voxygen/voxel/armor/cloth/woolen/belt.vox b/assets/voxygen/voxel/armor/cloth/woolen/belt.vox new file mode 100644 index 0000000000..966fc864b5 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/woolen/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9548b477af8df18b95d8d3f44a59ee1793fe231cfb2c4a0300cce2d30b5991b9 +size 1480 diff --git a/assets/voxygen/voxel/armor/cloth/woolen/chest.vox b/assets/voxygen/voxel/armor/cloth/woolen/chest.vox new file mode 100644 index 0000000000..09543b0c5a --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/woolen/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:910a1508425c40bc8ad1a676032705360ee39b0fb0160a3de13f38262608f588 +size 2920 diff --git a/assets/voxygen/voxel/armor/cloth/woolen/foot.vox b/assets/voxygen/voxel/armor/cloth/woolen/foot.vox new file mode 100644 index 0000000000..b04909e540 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/woolen/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e25027a6adf844896b69013a98887468f7b5f90e61ea44b006290f5792678ada +size 1608 diff --git a/assets/voxygen/voxel/armor/cloth/woolen/hand.vox b/assets/voxygen/voxel/armor/cloth/woolen/hand.vox new file mode 100644 index 0000000000..c8f8cedd91 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/woolen/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1451ae4ecc11a819d767bec6dd4c37a4dc661e461cb6095cbe32fa56f86b8639 +size 1336 diff --git a/assets/voxygen/voxel/armor/cloth/woolen/pants.vox b/assets/voxygen/voxel/armor/cloth/woolen/pants.vox new file mode 100644 index 0000000000..4204042e59 --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/woolen/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5624f1d988db1a9891bccda6255350cc5d26e74e355cd6ecde67f39f5dcd0238 +size 2216 diff --git a/assets/voxygen/voxel/armor/cloth/woolen/shoulder.vox b/assets/voxygen/voxel/armor/cloth/woolen/shoulder.vox new file mode 100644 index 0000000000..6cdc7b358c --- /dev/null +++ b/assets/voxygen/voxel/armor/cloth/woolen/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3140989e5eed2a73aa801bca3a1063d1ddd3ceba94e81c9b37c8d9c0bab373a4 +size 1464 diff --git a/assets/voxygen/voxel/armor/druid/belt.vox b/assets/voxygen/voxel/armor/druid/belt.vox deleted file mode 100644 index cf5791c77a..0000000000 --- a/assets/voxygen/voxel/armor/druid/belt.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e17f7b042a132bbff59c3a53f17ebbb99b1737d40ff15a61ceeb9830bee378ed -size 1504 diff --git a/assets/voxygen/voxel/armor/druid/chest.vox b/assets/voxygen/voxel/armor/druid/chest.vox deleted file mode 100644 index 238780228c..0000000000 --- a/assets/voxygen/voxel/armor/druid/chest.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3be924d0ad4456fdc7b5693e55abff6ba458c4f4370395658ae7e0213f212e93 -size 2624 diff --git a/assets/voxygen/voxel/armor/druid/foot.vox b/assets/voxygen/voxel/armor/druid/foot.vox deleted file mode 100644 index ef2caf7d11..0000000000 --- a/assets/voxygen/voxel/armor/druid/foot.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dd8e717593c9b5778c851d7749377f32f21fd2903b8ed6b94d4308f937aa3049 -size 1376 diff --git a/assets/voxygen/voxel/armor/druid/hand.vox b/assets/voxygen/voxel/armor/druid/hand.vox deleted file mode 100644 index 4ec34cb6f8..0000000000 --- a/assets/voxygen/voxel/armor/druid/hand.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eef70a6f6cf51aec6d767a75a00defc0b060d2d3c285068ba70eb7f938cc5603 -size 1240 diff --git a/assets/voxygen/voxel/armor/druid/pants.vox b/assets/voxygen/voxel/armor/druid/pants.vox deleted file mode 100644 index 1243714d0a..0000000000 --- a/assets/voxygen/voxel/armor/druid/pants.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7efa079e94cf18cea9e54e0c683b64b8743e8111bb5555119cb0064d36d6c7e7 -size 2272 diff --git a/assets/voxygen/voxel/armor/druid/shoulder.vox b/assets/voxygen/voxel/armor/druid/shoulder.vox deleted file mode 100644 index 0313e87587..0000000000 --- a/assets/voxygen/voxel/armor/druid/shoulder.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:129b8fe8ed4c0019e1ad15dfe2461476e771e567c6e7628e0164a2f6dc1df9ff -size 1628 diff --git a/assets/voxygen/voxel/armor/hide/carapace/back.vox b/assets/voxygen/voxel/armor/hide/carapace/back.vox new file mode 100644 index 0000000000..e95ae0ee2f --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/carapace/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d411865028aa84e757d78bcc6f41fb52db33fa95693d8f18ae0d35e7c72262e8 +size 1472 diff --git a/assets/voxygen/voxel/armor/hide/carapace/belt.vox b/assets/voxygen/voxel/armor/hide/carapace/belt.vox new file mode 100644 index 0000000000..7a73d9e232 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/carapace/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37f6c85ed50dd5c52975b1b741acd5880c2ea099b341d8ae769b03be91fb5c45 +size 1480 diff --git a/assets/voxygen/voxel/armor/hide/carapace/chest.vox b/assets/voxygen/voxel/armor/hide/carapace/chest.vox new file mode 100644 index 0000000000..20960e791b --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/carapace/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9d722fd72f51d05e93f0f1a2c7711bd5cbf30fe851e2abb4acc2fceed56ef22 +size 2840 diff --git a/assets/voxygen/voxel/armor/hide/carapace/foot.vox b/assets/voxygen/voxel/armor/hide/carapace/foot.vox new file mode 100644 index 0000000000..ee29a76f96 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/carapace/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfd39fa812e875b4d48788edaaf3370607c27e686175cffc4cf6c4afcf9e8607 +size 1508 diff --git a/assets/voxygen/voxel/armor/hide/carapace/hand.vox b/assets/voxygen/voxel/armor/hide/carapace/hand.vox new file mode 100644 index 0000000000..6ecf6b6332 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/carapace/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e614b81a59d316a0872d1ebb863ef33d5ca3dea208dd9f635520e2332f6b467 +size 1380 diff --git a/assets/voxygen/voxel/armor/hide/carapace/pants.vox b/assets/voxygen/voxel/armor/hide/carapace/pants.vox new file mode 100644 index 0000000000..16d548117a --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/carapace/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ed5af001458b6390a8ad8bc5cb2fcb614b307b45fbe1ca108eca63a3d370d55 +size 1984 diff --git a/assets/voxygen/voxel/armor/hide/carapace/shoulder.vox b/assets/voxygen/voxel/armor/hide/carapace/shoulder.vox new file mode 100644 index 0000000000..9b55180b59 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/carapace/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:857597d3474153cac0e01dbfb3d527c4291b26d7f89b8202137f497104425a18 +size 1528 diff --git a/assets/voxygen/voxel/armor/hide/dragonscale/back.vox b/assets/voxygen/voxel/armor/hide/dragonscale/back.vox new file mode 100644 index 0000000000..e75e3912f0 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/dragonscale/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79a2761fbff168276dd6faa4c8e7a5c59cd8ae17926dc6c81dbf5632ebdd7189 +size 1696 diff --git a/assets/voxygen/voxel/armor/hide/dragonscale/belt.vox b/assets/voxygen/voxel/armor/hide/dragonscale/belt.vox new file mode 100644 index 0000000000..d986e56a1d --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/dragonscale/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a0da6ff5c33c5c277a4137102cae947409d8c81147332e127cd28662ba30cda +size 1488 diff --git a/assets/voxygen/voxel/armor/hide/dragonscale/chest.vox b/assets/voxygen/voxel/armor/hide/dragonscale/chest.vox new file mode 100644 index 0000000000..d0bbaec79b --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/dragonscale/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:000f8cb3de015be226aba567d4a818630f688206a899907b6744b5ee6dd6d5d2 +size 2960 diff --git a/assets/voxygen/voxel/armor/hide/dragonscale/foot.vox b/assets/voxygen/voxel/armor/hide/dragonscale/foot.vox new file mode 100644 index 0000000000..8d449df6a8 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/dragonscale/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38043ebf3e1abc75d57dd9978c1b2ad6aef466ae21d8c4d173406c24b341f772 +size 1580 diff --git a/assets/voxygen/voxel/armor/hide/dragonscale/hand.vox b/assets/voxygen/voxel/armor/hide/dragonscale/hand.vox new file mode 100644 index 0000000000..c2edb62e61 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/dragonscale/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79f51b7f43df61869b3b471031a333946b300db1179e63b97db5485f7539ebea +size 1376 diff --git a/assets/voxygen/voxel/armor/hide/dragonscale/pants.vox b/assets/voxygen/voxel/armor/hide/dragonscale/pants.vox new file mode 100644 index 0000000000..1e69c997e3 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/dragonscale/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6adfdfa7a066474c3ccd12e9eac39dae17f0770e83e40a5d3bea0da47ebe41a3 +size 1944 diff --git a/assets/voxygen/voxel/armor/hide/dragonscale/shoulder.vox b/assets/voxygen/voxel/armor/hide/dragonscale/shoulder.vox new file mode 100644 index 0000000000..2a750217fd --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/dragonscale/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dd1172be992783d105cd96083ba38c9b650d8a7d401b6f5ef8d599561cac8e8 +size 1608 diff --git a/assets/voxygen/voxel/armor/agile/back.vox b/assets/voxygen/voxel/armor/hide/leather/back.vox similarity index 100% rename from assets/voxygen/voxel/armor/agile/back.vox rename to assets/voxygen/voxel/armor/hide/leather/back.vox diff --git a/assets/voxygen/voxel/armor/agile/belt.vox b/assets/voxygen/voxel/armor/hide/leather/belt.vox similarity index 100% rename from assets/voxygen/voxel/armor/agile/belt.vox rename to assets/voxygen/voxel/armor/hide/leather/belt.vox diff --git a/assets/voxygen/voxel/armor/agile/chest.vox b/assets/voxygen/voxel/armor/hide/leather/chest.vox similarity index 100% rename from assets/voxygen/voxel/armor/agile/chest.vox rename to assets/voxygen/voxel/armor/hide/leather/chest.vox diff --git a/assets/voxygen/voxel/armor/hide/leather/foot.vox b/assets/voxygen/voxel/armor/hide/leather/foot.vox new file mode 100644 index 0000000000..e8d3593b9b --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/leather/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dacfb0c50476109f4ccc64b3fdb6b499400d44a94517bc9cbb01135f6367cc09 +size 1480 diff --git a/assets/voxygen/voxel/armor/hide/leather/hand.vox b/assets/voxygen/voxel/armor/hide/leather/hand.vox new file mode 100644 index 0000000000..b6d5dcd8b8 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/leather/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:338e8f01e518ce9cd6c7e26e811d9b31ceadc2a9c43c412541af3acec06a7f22 +size 1240 diff --git a/assets/voxygen/voxel/armor/hide/leather/pants.vox b/assets/voxygen/voxel/armor/hide/leather/pants.vox new file mode 100644 index 0000000000..939a2443b0 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/leather/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e68651c1c958769f99708998149571815fb1178a2e826845308a5c192988c6a0 +size 1912 diff --git a/assets/voxygen/voxel/armor/agile/shoulder.vox b/assets/voxygen/voxel/armor/hide/leather/shoulder.vox similarity index 100% rename from assets/voxygen/voxel/armor/agile/shoulder.vox rename to assets/voxygen/voxel/armor/hide/leather/shoulder.vox diff --git a/assets/voxygen/voxel/armor/hide/primal/back.vox b/assets/voxygen/voxel/armor/hide/primal/back.vox new file mode 100644 index 0000000000..2e934e099d --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/primal/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd0c2cf5b6697fc34a9c367686c5081028f74c23fcfd2b1e243a5d2bea51eb55 +size 1584 diff --git a/assets/voxygen/voxel/armor/hide/primal/belt.vox b/assets/voxygen/voxel/armor/hide/primal/belt.vox new file mode 100644 index 0000000000..b484cd2f6d --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/primal/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dd0c4a7c42fba0254496a09ae1c8ae8083faba18f474fef988a884d429edcb2 +size 1480 diff --git a/assets/voxygen/voxel/armor/hide/primal/chest.vox b/assets/voxygen/voxel/armor/hide/primal/chest.vox new file mode 100644 index 0000000000..821ac79e99 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/primal/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a9131e1985dd5d1693bdbf5d5c05f515fb8ad608a01f53347734b1e4d638cee +size 2936 diff --git a/assets/voxygen/voxel/armor/hide/primal/foot.vox b/assets/voxygen/voxel/armor/hide/primal/foot.vox new file mode 100644 index 0000000000..ccebc98bbb --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/primal/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2abc4d3ad8ae90861cc23d16456c84c3da079e321b99d4e6c864b127822a30f8 +size 1492 diff --git a/assets/voxygen/voxel/armor/hide/primal/hand.vox b/assets/voxygen/voxel/armor/hide/primal/hand.vox new file mode 100644 index 0000000000..8c785ac9e8 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/primal/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d42d631705e51e2994cbf3759dae87839088cc26b37c5c255cca547c3c9d268e +size 1424 diff --git a/assets/voxygen/voxel/armor/hide/primal/pants.vox b/assets/voxygen/voxel/armor/hide/primal/pants.vox new file mode 100644 index 0000000000..1b766c8ed0 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/primal/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87d75205a9ad21c1321fbb0a653f0e8b4ddd841195a7918bd2c7499e5c4e2be5 +size 2040 diff --git a/assets/voxygen/voxel/armor/hide/primal/shoulder.vox b/assets/voxygen/voxel/armor/hide/primal/shoulder.vox new file mode 100644 index 0000000000..caa928d973 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/primal/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a672ebf24e880763fe44bc54eb74e8624da274db9d044d5c386fea9430496a1 +size 1568 diff --git a/assets/voxygen/voxel/armor/hide/rawhide/back.vox b/assets/voxygen/voxel/armor/hide/rawhide/back.vox new file mode 100644 index 0000000000..f841d70c86 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/rawhide/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cacd06cc23021bdb37be190e675f6992eb5040a75bf60ddb561cce828cd491d +size 1280 diff --git a/assets/voxygen/voxel/armor/hide/rawhide/belt.vox b/assets/voxygen/voxel/armor/hide/rawhide/belt.vox new file mode 100644 index 0000000000..a62a246494 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/rawhide/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf202737189743e6abf8f2cd0e3b315b92636d8d7782c45823decc1b8ed47b36 +size 1480 diff --git a/assets/voxygen/voxel/armor/hide/rawhide/chest.vox b/assets/voxygen/voxel/armor/hide/rawhide/chest.vox new file mode 100644 index 0000000000..09b5e3ea03 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/rawhide/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0541da6ef072f269bb07604816efcaca871f77b3cf3d4d8af8d36d2bff790a86 +size 2728 diff --git a/assets/voxygen/voxel/armor/agile/foot.vox b/assets/voxygen/voxel/armor/hide/rawhide/foot.vox similarity index 100% rename from assets/voxygen/voxel/armor/agile/foot.vox rename to assets/voxygen/voxel/armor/hide/rawhide/foot.vox diff --git a/assets/voxygen/voxel/armor/agile/hand.vox b/assets/voxygen/voxel/armor/hide/rawhide/hand.vox similarity index 100% rename from assets/voxygen/voxel/armor/agile/hand.vox rename to assets/voxygen/voxel/armor/hide/rawhide/hand.vox diff --git a/assets/voxygen/voxel/armor/agile/pants.vox b/assets/voxygen/voxel/armor/hide/rawhide/pants.vox similarity index 100% rename from assets/voxygen/voxel/armor/agile/pants.vox rename to assets/voxygen/voxel/armor/hide/rawhide/pants.vox diff --git a/assets/voxygen/voxel/armor/hide/rawhide/shoulder.vox b/assets/voxygen/voxel/armor/hide/rawhide/shoulder.vox new file mode 100644 index 0000000000..ee9c8b25d9 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/rawhide/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:056bf099767535580de3e6550f88e0805b28992aafab360d3d4f7917ccc6a3cc +size 1416 diff --git a/assets/voxygen/voxel/armor/hide/scale/back.vox b/assets/voxygen/voxel/armor/hide/scale/back.vox new file mode 100644 index 0000000000..f00f2d54de --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/scale/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:611da6e1ffaaad7ce5e181ae696d51893d9511eef66be5aa13f9f21b6a1d5e00 +size 1440 diff --git a/assets/voxygen/voxel/armor/hide/scale/belt.vox b/assets/voxygen/voxel/armor/hide/scale/belt.vox new file mode 100644 index 0000000000..e7fd5cf735 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/scale/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90feab3cf89bda7940aecadab11dbe2d8c2c58be6fbec50245fbbb2ba1365562 +size 1488 diff --git a/assets/voxygen/voxel/armor/hide/scale/chest.vox b/assets/voxygen/voxel/armor/hide/scale/chest.vox new file mode 100644 index 0000000000..11163fb8e7 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/scale/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aacaa93084497ddaba876a5e192889524163410424c5e933e97bf6864599773a +size 2800 diff --git a/assets/voxygen/voxel/armor/hide/scale/foot.vox b/assets/voxygen/voxel/armor/hide/scale/foot.vox new file mode 100644 index 0000000000..fa95061a50 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/scale/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab19d326d4c83def251e493d830ba34954964fc50fe28f376419da8bd7130e50 +size 1476 diff --git a/assets/voxygen/voxel/armor/hide/scale/hand.vox b/assets/voxygen/voxel/armor/hide/scale/hand.vox new file mode 100644 index 0000000000..5f9d2b7eb2 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/scale/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dbe573477e67ab30858b72992319b7de1ab794adf2f5f596c6ad2e59c385762 +size 1260 diff --git a/assets/voxygen/voxel/armor/hide/scale/pants.vox b/assets/voxygen/voxel/armor/hide/scale/pants.vox new file mode 100644 index 0000000000..b0e3fd5b46 --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/scale/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92a3d12636f016c8a12953a3be7b095c4f7e2ca3656cc4f5db42101ab4f1aeca +size 1896 diff --git a/assets/voxygen/voxel/armor/hide/scale/shoulder.vox b/assets/voxygen/voxel/armor/hide/scale/shoulder.vox new file mode 100644 index 0000000000..91d855da8d --- /dev/null +++ b/assets/voxygen/voxel/armor/hide/scale/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28293eb61e35070858db4c284d93b022800b74547ea6bc8eb11d21453f1c6cd1 +size 1456 diff --git a/assets/voxygen/voxel/armor/mail/bloodsteel/back.vox b/assets/voxygen/voxel/armor/mail/bloodsteel/back.vox new file mode 100644 index 0000000000..768d54914b --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bloodsteel/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa9b66e0b0c6bbe8d03ebac1149ef3195b7a24d921deed611d50bf0bf5a2470f +size 1572 diff --git a/assets/voxygen/voxel/armor/mail/bloodsteel/belt.vox b/assets/voxygen/voxel/armor/mail/bloodsteel/belt.vox new file mode 100644 index 0000000000..7d82524b5b --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bloodsteel/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:185bb624e844c8f48caa212c84cf553cc8b8f403397584b2ff738bc683fc6f56 +size 1608 diff --git a/assets/voxygen/voxel/armor/mail/bloodsteel/chest.vox b/assets/voxygen/voxel/armor/mail/bloodsteel/chest.vox new file mode 100644 index 0000000000..f5604b20e6 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bloodsteel/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9ab7e1bbbdda2544ac7ce26a9395ad674a81978ac035e9c0169b857c10df1e9 +size 3480 diff --git a/assets/voxygen/voxel/armor/mail/bloodsteel/foot.vox b/assets/voxygen/voxel/armor/mail/bloodsteel/foot.vox new file mode 100644 index 0000000000..cbd2f31121 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bloodsteel/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85613676c8ada1ed146e5ef7e96ba1ebb3ecc3e13bb272d880be9c77c6c4a207 +size 1608 diff --git a/assets/voxygen/voxel/armor/mail/bloodsteel/hand.vox b/assets/voxygen/voxel/armor/mail/bloodsteel/hand.vox new file mode 100644 index 0000000000..174ef2493d --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bloodsteel/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5debd62d0be182c0da0113ad91a4d433eeb9e80dca5ce7bd46b5ef3ed31248b6 +size 1368 diff --git a/assets/voxygen/voxel/armor/mail/bloodsteel/pants.vox b/assets/voxygen/voxel/armor/mail/bloodsteel/pants.vox new file mode 100644 index 0000000000..790cae5a48 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bloodsteel/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92874b8255b65701b9f77e6683f934aa878089af4be5e93327131b340c315730 +size 2312 diff --git a/assets/voxygen/voxel/armor/mail/bloodsteel/shoulder.vox b/assets/voxygen/voxel/armor/mail/bloodsteel/shoulder.vox new file mode 100644 index 0000000000..130901c6b0 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bloodsteel/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53c204d64e7002def85e6b51a48d944bc94b2dea5a980f290c3b6429399b506b +size 1940 diff --git a/assets/voxygen/voxel/armor/mail/bronze/back.vox b/assets/voxygen/voxel/armor/mail/bronze/back.vox new file mode 100644 index 0000000000..63811ea60b --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bronze/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4678c49f8ddb9f5d483ea119c703f1ceb51c8d6122ccf9c419bbacb0edd050db +size 1272 diff --git a/assets/voxygen/voxel/armor/mail/bronze/belt.vox b/assets/voxygen/voxel/armor/mail/bronze/belt.vox new file mode 100644 index 0000000000..2a2054586e --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bronze/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c773f5b8d34601d242e88cd5531f9901ed53436074438bbcb75ae184c83df9e8 +size 1480 diff --git a/assets/voxygen/voxel/armor/mail/bronze/chest.vox b/assets/voxygen/voxel/armor/mail/bronze/chest.vox new file mode 100644 index 0000000000..0845f6a122 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bronze/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9a646f50eabf1da0448ffffec8cb88af1f3e10fe366f9b49ad083e8096bf990 +size 2752 diff --git a/assets/voxygen/voxel/armor/mail/bronze/foot.vox b/assets/voxygen/voxel/armor/mail/bronze/foot.vox new file mode 100644 index 0000000000..b3fd7f853f --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bronze/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16033c2b7cc6e5416dc3f1b2d88504cabe003ab5cc374bb4df3e9bd0942cf59a +size 1480 diff --git a/assets/voxygen/voxel/armor/mail/bronze/hand.vox b/assets/voxygen/voxel/armor/mail/bronze/hand.vox new file mode 100644 index 0000000000..5c1fe48b1f --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bronze/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d07b532ab9569f5262b8d492bc090d1dc8d56eed13253e5a35c5ad57cc78a87f +size 1240 diff --git a/assets/voxygen/voxel/armor/mail/bronze/pants.vox b/assets/voxygen/voxel/armor/mail/bronze/pants.vox new file mode 100644 index 0000000000..052b697718 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bronze/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53d69d2ccf2796f9b1718c10bfc00ec35f50b4b4522699b602063e83e05eebaa +size 1912 diff --git a/assets/voxygen/voxel/armor/mail/bronze/shoulder.vox b/assets/voxygen/voxel/armor/mail/bronze/shoulder.vox new file mode 100644 index 0000000000..b639f375dd --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/bronze/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:503017a2361b54711b437a756cc786f8af9267a671455fe6edc4855e672e66df +size 1460 diff --git a/assets/voxygen/voxel/armor/mail/cobalt/back.vox b/assets/voxygen/voxel/armor/mail/cobalt/back.vox new file mode 100644 index 0000000000..9c344d6508 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/cobalt/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c470d2fa7544c346fe7dfc76e743a984205ee64f751771bc7041d9d3866b349a +size 1464 diff --git a/assets/voxygen/voxel/armor/mail/cobalt/belt.vox b/assets/voxygen/voxel/armor/mail/cobalt/belt.vox new file mode 100644 index 0000000000..b1d8748edd --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/cobalt/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52e94616150910ef3a6604cf6e1edb32a1bf0f57b7befe09da7b782d2dca3ea0 +size 1608 diff --git a/assets/voxygen/voxel/armor/mail/cobalt/chest.vox b/assets/voxygen/voxel/armor/mail/cobalt/chest.vox new file mode 100644 index 0000000000..b05dc5b12a --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/cobalt/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73a45c8adec83499f62c6aff0a060741487665ac666b74b1ae63b67a45ce6c2c +size 3320 diff --git a/assets/voxygen/voxel/armor/mail/cobalt/foot.vox b/assets/voxygen/voxel/armor/mail/cobalt/foot.vox new file mode 100644 index 0000000000..4fc61c3409 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/cobalt/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0ec65c14b41dc42a1fb16f6f541bad64bd001037a16eabd7b5f89580ecbab33 +size 1600 diff --git a/assets/voxygen/voxel/armor/mail/cobalt/hand.vox b/assets/voxygen/voxel/armor/mail/cobalt/hand.vox new file mode 100644 index 0000000000..c49f394261 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/cobalt/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38eea119f649f10359c9f1c33e6dacdb5651989f8d1b13ce19cdd48fc14b22a6 +size 1356 diff --git a/assets/voxygen/voxel/armor/mail/cobalt/pants.vox b/assets/voxygen/voxel/armor/mail/cobalt/pants.vox new file mode 100644 index 0000000000..976818b2e0 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/cobalt/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:925d939a3c071726b0633dabf483bc46dfe45dc1e2cdf9708b07c04463fee68b +size 2200 diff --git a/assets/voxygen/voxel/armor/mail/cobalt/shoulder.vox b/assets/voxygen/voxel/armor/mail/cobalt/shoulder.vox new file mode 100644 index 0000000000..d8056bdd24 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/cobalt/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ff10caeeb619c968bf94190d366b80897a1e1a66106a5b05b2b2e67e3b23e2f +size 1724 diff --git a/assets/voxygen/voxel/armor/mail/iron/back.vox b/assets/voxygen/voxel/armor/mail/iron/back.vox new file mode 100644 index 0000000000..689bfcc9de --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/iron/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46270a23a8d5156bf11f9ee669a264e4b403f2127f7a18b48a39eda67e0ce4b7 +size 1360 diff --git a/assets/voxygen/voxel/armor/mail/iron/belt.vox b/assets/voxygen/voxel/armor/mail/iron/belt.vox new file mode 100644 index 0000000000..6a8a893336 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/iron/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06c7141a303f5cde3d31e9ba4c438db650fe6293451971d215a2323045f9020a +size 1480 diff --git a/assets/voxygen/voxel/armor/mail/iron/chest.vox b/assets/voxygen/voxel/armor/mail/iron/chest.vox new file mode 100644 index 0000000000..0d27ea38d5 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/iron/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8c7681ec27876c8da213689cf3cd416e78e5b7c5835dfd82a7b694de8170563 +size 2752 diff --git a/assets/voxygen/voxel/armor/mail/iron/foot.vox b/assets/voxygen/voxel/armor/mail/iron/foot.vox new file mode 100644 index 0000000000..6ae7e4f325 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/iron/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf379937575cf7603e79896666df27fe6969aafd28aebf2888a59dfef3a5170f +size 1480 diff --git a/assets/voxygen/voxel/armor/mail/iron/hand.vox b/assets/voxygen/voxel/armor/mail/iron/hand.vox new file mode 100644 index 0000000000..d73c0f345d --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/iron/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a5ceb7947db32ffffd0e38e285456ff2d0de08586b6b60dcb741633b4a53734 +size 1240 diff --git a/assets/voxygen/voxel/armor/mail/iron/pants.vox b/assets/voxygen/voxel/armor/mail/iron/pants.vox new file mode 100644 index 0000000000..232a95f8e0 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/iron/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d20b96594bdf981c0c789f99c89401a16f0fb209f5df0e2b15d46a01c096de8 +size 1936 diff --git a/assets/voxygen/voxel/armor/mail/iron/shoulder.vox b/assets/voxygen/voxel/armor/mail/iron/shoulder.vox new file mode 100644 index 0000000000..bfa6fc3113 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/iron/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:581a50a426212e7f669c4188beddb684f7ffb876ef5e7609c3ad3575f8deeaa4 +size 1488 diff --git a/assets/voxygen/voxel/armor/mail/orichalcum/back.vox b/assets/voxygen/voxel/armor/mail/orichalcum/back.vox new file mode 100644 index 0000000000..1751a92237 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/orichalcum/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86238f991646428c1b2344c6a7788bd54b4fdb30a1d970c627d5cd686e32a87a +size 1760 diff --git a/assets/voxygen/voxel/armor/mail/orichalcum/belt.vox b/assets/voxygen/voxel/armor/mail/orichalcum/belt.vox new file mode 100644 index 0000000000..39ff83bc5c --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/orichalcum/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f74ef4ba012cbabbdb802dbe390d5bfa3f3a68b71e7f3f52290279e1e269440d +size 1560 diff --git a/assets/voxygen/voxel/armor/mail/orichalcum/chest.vox b/assets/voxygen/voxel/armor/mail/orichalcum/chest.vox new file mode 100644 index 0000000000..407f8c5961 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/orichalcum/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:316b7bd34c42ce5270f491d60a348a7e31db877a6d9f8db60768b576d0a955fd +size 3264 diff --git a/assets/voxygen/voxel/armor/mail/orichalcum/foot.vox b/assets/voxygen/voxel/armor/mail/orichalcum/foot.vox new file mode 100644 index 0000000000..c9942e7093 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/orichalcum/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbc9281e5a4fe28f8b0c83091883007351b5e1d3a2877513c67d1cdc4e8dcb20 +size 1596 diff --git a/assets/voxygen/voxel/armor/mail/orichalcum/hand.vox b/assets/voxygen/voxel/armor/mail/orichalcum/hand.vox new file mode 100644 index 0000000000..4cda474d0a --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/orichalcum/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70c20303577860ab575ad038bff56ce0273d453a4fd06ca9013dc99e6b0962dd +size 1380 diff --git a/assets/voxygen/voxel/armor/mail/orichalcum/pants.vox b/assets/voxygen/voxel/armor/mail/orichalcum/pants.vox new file mode 100644 index 0000000000..ade90e2210 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/orichalcum/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f761b4d3f4b8698901cbd92f064a9128ac773983c48ce43dd70bb7b65f1cd8f +size 2320 diff --git a/assets/voxygen/voxel/armor/mail/orichalcum/shoulder.vox b/assets/voxygen/voxel/armor/mail/orichalcum/shoulder.vox new file mode 100644 index 0000000000..9a548c9db9 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/orichalcum/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:452ebc799789c21b39a64ef21ae066cf1bde02ace722cc8ee44a53b37746406a +size 1936 diff --git a/assets/voxygen/voxel/armor/mail/steel/back.vox b/assets/voxygen/voxel/armor/mail/steel/back.vox new file mode 100644 index 0000000000..246497c659 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/steel/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d88dbb39ac3cb21fc9776a627d60f8107ef4487dbea29f8b0f1692a6d02e610 +size 1456 diff --git a/assets/voxygen/voxel/armor/mail/steel/belt.vox b/assets/voxygen/voxel/armor/mail/steel/belt.vox new file mode 100644 index 0000000000..3952f3e4f2 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/steel/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ec499b9ad628d48050a34a7b5bfca4d54deb924b5f270a89649940abdd5bf7c +size 1592 diff --git a/assets/voxygen/voxel/armor/mail/steel/chest.vox b/assets/voxygen/voxel/armor/mail/steel/chest.vox new file mode 100644 index 0000000000..dea606f8a5 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/steel/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0340f96956f35aa385fc86e6805a872e72e61e3cd185dbec5ca2e247bcff969 +size 3072 diff --git a/assets/voxygen/voxel/armor/mail/steel/foot.vox b/assets/voxygen/voxel/armor/mail/steel/foot.vox new file mode 100644 index 0000000000..1c29c5f8c5 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/steel/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df27688d21a31061d41a5c0f632e3fcf16bdd9166129fc0d70a07eead655531a +size 1500 diff --git a/assets/voxygen/voxel/armor/mail/steel/hand.vox b/assets/voxygen/voxel/armor/mail/steel/hand.vox new file mode 100644 index 0000000000..aa52d0b064 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/steel/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d22f9eb7456d259468231a8154e362ca46555e63d55350a5b4dc90dcdf59d449 +size 1240 diff --git a/assets/voxygen/voxel/armor/mail/steel/pants.vox b/assets/voxygen/voxel/armor/mail/steel/pants.vox new file mode 100644 index 0000000000..3014fe622f --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/steel/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30ba623c7cb8c8347d35d40a78db66ca4cb6387d2acabdc5b42a79cb28ced610 +size 2008 diff --git a/assets/voxygen/voxel/armor/mail/steel/shoulder.vox b/assets/voxygen/voxel/armor/mail/steel/shoulder.vox new file mode 100644 index 0000000000..b36337bae8 --- /dev/null +++ b/assets/voxygen/voxel/armor/mail/steel/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad2ee6b2b3c1772727e3dcd675a00d73ed7fa19aba687eef53ad08a3ddb42340 +size 1492 diff --git a/assets/voxygen/voxel/armor/plate/belt.vox b/assets/voxygen/voxel/armor/plate/belt.vox deleted file mode 100644 index 274d084e72..0000000000 --- a/assets/voxygen/voxel/armor/plate/belt.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a080bd77583d9ecefbf1d0f22d83a9d30f3594ee6254af961643cf4ed2bf1b7a -size 1472 diff --git a/assets/voxygen/voxel/armor/plate/chest.vox b/assets/voxygen/voxel/armor/plate/chest.vox deleted file mode 100644 index 25d6545f45..0000000000 --- a/assets/voxygen/voxel/armor/plate/chest.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d49f753a562f0e0879609685afa3134eddcb72cf54861e56aade904caf48d159 -size 2744 diff --git a/assets/voxygen/voxel/armor/plate/foot.vox b/assets/voxygen/voxel/armor/plate/foot.vox deleted file mode 100644 index 50d3eae09b..0000000000 --- a/assets/voxygen/voxel/armor/plate/foot.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:610e5b351d62943f88893791bfe8ca20838fd3c3635219886033dba6032170f2 -size 1480 diff --git a/assets/voxygen/voxel/armor/plate/hand.vox b/assets/voxygen/voxel/armor/plate/hand.vox deleted file mode 100644 index 8f462e46a6..0000000000 --- a/assets/voxygen/voxel/armor/plate/hand.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a73c4a4a86d5c1535923d3b59ad9ad2c94738dc3c9729805cc55f7c0e462480 -size 1240 diff --git a/assets/voxygen/voxel/armor/plate/pants.vox b/assets/voxygen/voxel/armor/plate/pants.vox deleted file mode 100644 index 6520bd653a..0000000000 --- a/assets/voxygen/voxel/armor/plate/pants.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:70f97c30c4f7a4e0602ebcaccb1b248f618def4cf2a2d81b8d5d480813659d44 -size 1912 diff --git a/assets/voxygen/voxel/armor/plate/shoulder.vox b/assets/voxygen/voxel/armor/plate/shoulder.vox deleted file mode 100644 index 133f46b364..0000000000 --- a/assets/voxygen/voxel/armor/plate/shoulder.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1ac70c920c336afa85a06ee839b94cb715ad2bac8927d95560a5b7ccf68a5882 -size 1460 diff --git a/assets/voxygen/voxel/armor/savage/back.vox b/assets/voxygen/voxel/armor/savage/back.vox new file mode 100644 index 0000000000..3f2851cd74 --- /dev/null +++ b/assets/voxygen/voxel/armor/savage/back.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9dc8e38b7e054edb8d1c93a250ba30bf71c53c20378a7ddb0a1c8de26f42aaa +size 1856 diff --git a/assets/voxygen/voxel/armor/savage/belt.vox b/assets/voxygen/voxel/armor/savage/belt.vox new file mode 100644 index 0000000000..6a81c07cfb --- /dev/null +++ b/assets/voxygen/voxel/armor/savage/belt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfb5b7998da787a313913ca76dcabcd01ce58b56bc58f949212f7b8144e6d35d +size 1520 diff --git a/assets/voxygen/voxel/armor/savage/chest.vox b/assets/voxygen/voxel/armor/savage/chest.vox new file mode 100644 index 0000000000..6bc06bc1cc --- /dev/null +++ b/assets/voxygen/voxel/armor/savage/chest.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e17ef2c041933dfe4d7c58ed1284d763578e2bfda85ab16b8939c2f4c7443b12 +size 3192 diff --git a/assets/voxygen/voxel/armor/savage/foot.vox b/assets/voxygen/voxel/armor/savage/foot.vox new file mode 100644 index 0000000000..34df7c07af --- /dev/null +++ b/assets/voxygen/voxel/armor/savage/foot.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85e4032fc5434e70c896d97d3d2eb25e6dbfd3a2839e51ce4de701ea311f0102 +size 1552 diff --git a/assets/voxygen/voxel/armor/savage/hand.vox b/assets/voxygen/voxel/armor/savage/hand.vox new file mode 100644 index 0000000000..d6ab95b347 --- /dev/null +++ b/assets/voxygen/voxel/armor/savage/hand.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:523a6f221481c2e02aa6746dd64e82b433edfbc197385b9ebfb6eeff61bd981e +size 1308 diff --git a/assets/voxygen/voxel/armor/savage/pants.vox b/assets/voxygen/voxel/armor/savage/pants.vox new file mode 100644 index 0000000000..fa90cadb59 --- /dev/null +++ b/assets/voxygen/voxel/armor/savage/pants.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dec363847ab083715757bd8a50483e273f2eb72b7b5df22fe6e7b44b18522244 +size 1888 diff --git a/assets/voxygen/voxel/armor/savage/shoulder.vox b/assets/voxygen/voxel/armor/savage/shoulder.vox new file mode 100644 index 0000000000..1c2f635c26 --- /dev/null +++ b/assets/voxygen/voxel/armor/savage/shoulder.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:698de49a0c39ec5f7eafb35473e78179de36a2553233a937163023da4e01bdec +size 1420 diff --git a/assets/voxygen/voxel/armor/steel/belt.vox b/assets/voxygen/voxel/armor/steel/belt.vox deleted file mode 100644 index fffb30b516..0000000000 --- a/assets/voxygen/voxel/armor/steel/belt.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6a654d17105f55dd3e724debf04af2648f0e0982547324f3cf7ffb07f7b0431f -size 1592 diff --git a/assets/voxygen/voxel/armor/steel/chest.vox b/assets/voxygen/voxel/armor/steel/chest.vox deleted file mode 100644 index 583da4e421..0000000000 --- a/assets/voxygen/voxel/armor/steel/chest.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8f5b962ee21300a5af938dacd05db71ed56e13b23ad7fe260948b6c70cfca4f3 -size 3072 diff --git a/assets/voxygen/voxel/armor/steel/foot.vox b/assets/voxygen/voxel/armor/steel/foot.vox deleted file mode 100644 index 842a60e6de..0000000000 --- a/assets/voxygen/voxel/armor/steel/foot.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fd9adcc7c8379698a557b73577b4527366d41f7b8a708b10effab32ed131a9f8 -size 1500 diff --git a/assets/voxygen/voxel/armor/steel/hand.vox b/assets/voxygen/voxel/armor/steel/hand.vox deleted file mode 100644 index f0177fb3cf..0000000000 --- a/assets/voxygen/voxel/armor/steel/hand.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:01a0ed8429ae186bf73b046f4c0d0879a12b290c174c840c1686be04c7a2f5fa -size 1240 diff --git a/assets/voxygen/voxel/armor/steel/pants.vox b/assets/voxygen/voxel/armor/steel/pants.vox deleted file mode 100644 index d03cd7434e..0000000000 --- a/assets/voxygen/voxel/armor/steel/pants.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3fef33973b667475e12d0f09fd3da9a82cafe0b1784470a45e47e491a6a85d2f -size 2008 diff --git a/assets/voxygen/voxel/armor/steel/shoulder.vox b/assets/voxygen/voxel/armor/steel/shoulder.vox deleted file mode 100644 index 49a6d045ac..0000000000 --- a/assets/voxygen/voxel/armor/steel/shoulder.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:509f22fe2e35cc54381d6ec6ca874d372eeb02f98f0e058190028e9276dc0297 -size 1488 diff --git a/assets/voxygen/voxel/armor/swift/belt.vox b/assets/voxygen/voxel/armor/swift/belt.vox deleted file mode 100644 index e9a2e55758..0000000000 --- a/assets/voxygen/voxel/armor/swift/belt.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9b2e1e7b2dc1fbf34d262567d38aa55a4e71c690516d4d895a240b47786c709e -size 1472 diff --git a/assets/voxygen/voxel/armor/swift/chest.vox b/assets/voxygen/voxel/armor/swift/chest.vox deleted file mode 100644 index fc3a7153e0..0000000000 --- a/assets/voxygen/voxel/armor/swift/chest.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f26e9bf035c95beecd5e66a38c3e10d60e4a1c54656cb885c164d2728599c1b3 -size 2728 diff --git a/assets/voxygen/voxel/armor/swift/foot.vox b/assets/voxygen/voxel/armor/swift/foot.vox deleted file mode 100644 index 1fc89ddb1b..0000000000 --- a/assets/voxygen/voxel/armor/swift/foot.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:85f32ee87cade27c5f8fe1ad748462f3f13559371bc4bd3cc0c47abbe7756cd1 -size 1480 diff --git a/assets/voxygen/voxel/armor/swift/hand.vox b/assets/voxygen/voxel/armor/swift/hand.vox deleted file mode 100644 index e6c476e7f9..0000000000 --- a/assets/voxygen/voxel/armor/swift/hand.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2d4b55a00aa74cecb123bfacfd4a47047eb1bd321bea2c7d599226a67ca4e2f4 -size 1240 diff --git a/assets/voxygen/voxel/armor/swift/pants.vox b/assets/voxygen/voxel/armor/swift/pants.vox deleted file mode 100644 index 330bfe513f..0000000000 --- a/assets/voxygen/voxel/armor/swift/pants.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:218415ec556f4b15387ee3000291696de792a0393b037c8347a610810448e3e5 -size 1912 diff --git a/assets/voxygen/voxel/armor/swift/shoulder.vox b/assets/voxygen/voxel/armor/swift/shoulder.vox deleted file mode 100644 index 6feffbc034..0000000000 --- a/assets/voxygen/voxel/armor/swift/shoulder.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:599981717f9721276d1277a0153f99a5e93c852ac10598cbc711850a259b15de -size 1416 diff --git a/assets/voxygen/voxel/biped_large_central_manifest.ron b/assets/voxygen/voxel/biped_large_central_manifest.ron index 534151f37c..e002711ae2 100644 --- a/assets/voxygen/voxel/biped_large_central_manifest.ron +++ b/assets/voxygen/voxel/biped_large_central_manifest.ron @@ -54,20 +54,20 @@ ), (Cyclops, Male): ( head: ( - offset: (-7.0, -7.0, -6.5), + offset: (-7.0, -7.5, -7.0), central: ("npc.cyclops.male.head"), ), torso_upper: ( - offset: (-8.0, -6.0, -6.0), + offset: (-9.0, -10.0, -10.5), central: ("npc.cyclops.male.torso_upper"), ), torso_lower: ( - offset: (-6.0, -5.5, -12.0), + offset: (-8.0, -6.0, -10.0), central: ("npc.cyclops.male.torso_lower"), ), jaw: ( - offset: (0.0, 0.0, 0.0), - central: ("armor.empty"), + offset: (-4.0, 0.0, -2.0), + central: ("npc.cyclops.male.jaw"), ), tail: ( offset: (0.0, 0.0, 0.0), @@ -80,20 +80,20 @@ ), (Cyclops, Female): ( head: ( - offset: (-7.0, -7.0, -6.5), + offset: (-7.0, -7.5, -7.0), central: ("npc.cyclops.male.head"), ), torso_upper: ( - offset: (-8.0, -6.0, -6.0), + offset: (-9.0, -10.0, -10.5), central: ("npc.cyclops.male.torso_upper"), ), torso_lower: ( - offset: (-6.0, -5.5, -12.0), + offset: (-8.0, -6.0, -10.0), central: ("npc.cyclops.male.torso_lower"), ), jaw: ( - offset: (0.0, 0.0, 0.0), - central: ("armor.empty"), + offset: (-4.0, 0.0, -2.0), + central: ("npc.cyclops.male.jaw"), ), tail: ( offset: (0.0, 0.0, 0.0), @@ -832,4 +832,4 @@ central: ("armor.empty"), ) ), -}) \ No newline at end of file +}) diff --git a/assets/voxygen/voxel/biped_large_lateral_manifest.ron b/assets/voxygen/voxel/biped_large_lateral_manifest.ron index ff75e8d3a1..0ba3855037 100644 --- a/assets/voxygen/voxel/biped_large_lateral_manifest.ron +++ b/assets/voxygen/voxel/biped_large_lateral_manifest.ron @@ -69,69 +69,69 @@ ), (Cyclops, Male): ( shoulder_l: ( - offset: (-3.0, -4.0, -7.0), + offset: (-6.5, -7.5, -7.0), lateral: ("npc.cyclops.male.shoulder_l"), ), shoulder_r: ( - offset: (-3.0, -4.0, -7.0), + offset: (-6.5, -7.5, -7.0), lateral: ("npc.cyclops.male.shoulder_r"), ), hand_l: ( - offset: (-3.5, -3.5, -12.0), + offset: (-10.5, -5.5, -15.0), lateral: ("npc.cyclops.male.hand_l"), ), hand_r: ( - offset: (-3.5, -3.5, -12.0), + offset: (-3.5, -5.5, -15.0), lateral: ("npc.cyclops.male.hand_r"), ), leg_l: ( - offset: (-6.0, -3.5, -7.0), + offset: (-3.0, -3.5, -3.5), lateral: ("npc.cyclops.male.leg_l"), ), leg_r: ( - offset: (0.0, -3.5, -7.0), + offset: (-3.0, -3.5, -3.5), lateral: ("npc.cyclops.male.leg_r"), ), foot_l: ( - offset: (-3.0, -5.0, -5.0), + offset: (-3.0, -5.5, -6.0), lateral: ("npc.cyclops.male.foot_l"), ), foot_r: ( - offset: (-3.0, -5.0, -5.0), + offset: (-3.0, -5.5, -6.0), lateral: ("npc.cyclops.male.foot_r"), ), ), (Cyclops, Female): ( shoulder_l: ( - offset: (-3.0, -4.0, -7.0), + offset: (-6.5, -7.5, -7.0), lateral: ("npc.cyclops.male.shoulder_l"), ), shoulder_r: ( - offset: (-3.0, -4.0, -7.0), + offset: (-6.5, -7.5, -7.0), lateral: ("npc.cyclops.male.shoulder_r"), ), hand_l: ( - offset: (-3.5, -3.5, -12.0), + offset: (-10.5, -5.5, -15.0), lateral: ("npc.cyclops.male.hand_l"), ), hand_r: ( - offset: (-3.5, -3.5, -12.0), + offset: (-3.5, -5.5, -15.0), lateral: ("npc.cyclops.male.hand_r"), ), leg_l: ( - offset: (-6.0, -3.5, -7.0), + offset: (-3.0, -3.5, -3.5), lateral: ("npc.cyclops.male.leg_l"), ), leg_r: ( - offset: (0.0, -3.5, -7.0), + offset: (-3.0, -3.5, -3.5), lateral: ("npc.cyclops.male.leg_r"), ), foot_l: ( - offset: (-3.0, -5.0, -5.0), + offset: (-3.0, -5.5, -6.0), lateral: ("npc.cyclops.male.foot_l"), ), foot_r: ( - offset: (-3.0, -5.0, -5.0), + offset: (-3.0, -5.5, -6.0), lateral: ("npc.cyclops.male.foot_r"), ), ), diff --git a/assets/voxygen/voxel/biped_weapon_manifest.ron b/assets/voxygen/voxel/biped_weapon_manifest.ron index 70e4fe635f..4cf216a2b6 100644 --- a/assets/voxygen/voxel/biped_weapon_manifest.ron +++ b/assets/voxygen/voxel/biped_weapon_manifest.ron @@ -369,7 +369,7 @@ vox_spec: ("weapon.axe.parashu", (-1.5, -12.0, -6.0)), color: None ), - // 1h Axes + // 1h Axes "common.items.weapons.axe_1h.bloodsteel-0": ( vox_spec: ("weapon.axe_1h.bloodsteel-0", (-1.5, -2.0, -3.0)), color: None @@ -442,7 +442,7 @@ vox_spec: ("weapon.axe_1h.wood-1", (-1.5, -2.0, -3.0)), color: None ), - // Hammers + // Hammers "common.items.tool.craftsman_hammer": ( vox_spec: ("weapon.hammer.craftsman", (-2.5, -5.5, -4.5)), color: None @@ -571,6 +571,10 @@ vox_spec: ("weapon.hammer.cult_purp-0", (-3.5, -4.5, -5.0)), color: None ), + "common.items.weapons.hammer.burnt_drumstick": ( + vox_spec: ("weapon.hammer.burnt_drumstick", (-3.0, -6.0, -5.0)), + color: None + ), /*"Craftsman": ( //TODO This should be a 1h hammer! vox_spec: ("weapon.hammer.craftsman", (-2.0, -5.0, -5.5)), color: None @@ -971,10 +975,14 @@ color: None ), // Picks - "common.items.tool.pick": ( + "common.items.tool.pickaxe_stone": ( vox_spec: ("weapon.tool.pickaxe_green-0", (-1.5, -7.5, -4.0)), color: None ), + "common.items.tool.pickaxe_steel": ( + vox_spec: ("weapon.tool.pickaxe_green-1", (-1.5, -9.5, -4.0)), + color: None + ), // Misc "common.items.debug.admin_stick": ( vox_spec: ("weapon.tool.broom_belzeshrub_purple", (-3.0, -4.0, -4.0)), @@ -1003,7 +1011,7 @@ color: None ), "common.items.npc_weapons.hammer.cyclops_hammer": ( - vox_spec: ("weapon.hammer.2hhammer_cyclops-0", (-5.0, -6.5, -7.0)), + vox_spec: ("weapon.hammer.2hhammer_cyclops-0", (-5.0, -6.5, -10.0)), color: None ), "common.items.npc_weapons.hammer.troll_hammer": ( diff --git a/assets/voxygen/voxel/humanoid_armor_back_manifest.ron b/assets/voxygen/voxel/humanoid_armor_back_manifest.ron index 2b242dbaae..61f2a8225d 100644 --- a/assets/voxygen/voxel/humanoid_armor_back_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_back_manifest.ron @@ -20,10 +20,6 @@ vox_spec: ("armor.misc.back.short-1", (-5.0, -1.0, -11.0)), color: None ), - "Agile": ( - vox_spec: ("armor.agile.back", (-5.0, -1.0, -11.0)), - color: None - ), "Ferocious": ( vox_spec: ("armor.ferocious.back", (-5.0, -1.5, -14.0)), color: None @@ -52,5 +48,81 @@ vox_spec: ("armor.warlock.back", (-5.0, -1.5, -15.5)), color: None ), + "Rawhide": ( + vox_spec: ("armor.hide.rawhide.back", (-4.0, -1.0, -6.0)), + color: None + ), + "Leather": ( + vox_spec: ("armor.hide.leather.back", (-5.0, -1.0, -11.0)), + color: None + ), + "Scale": ( + vox_spec: ("armor.hide.scale.back", (-5.0, -2.0, -10.5)), + color: None + ), + "Carapace": ( + vox_spec: ("armor.hide.carapace.back", (-5.0, -1.5, -10.5)), + color: None + ), + "Primal": ( + vox_spec: ("armor.hide.primal.back", (-5.0, -4.5, -10.5)), + color: None + ), + "Dragonscale": ( + vox_spec: ("armor.hide.dragonscale.back", (-7.0, -2.5, -12.0)), + color: None + ), + "Savage": ( + vox_spec: ("armor.savage.back", (-5.0, -2.5, -11.0)), + color: None + ), + "Linen": ( + vox_spec: ("armor.cloth.linen.back", (-4.0, -2.5, -8.5)), + color: None + ), + "Woolen": ( + vox_spec: ("armor.cloth.woolen.back", (-5.0, -2.5, -8.5)), + color: None + ), + "Silken": ( + vox_spec: ("armor.cloth.silken.back", (-4.0, -2.5, -11.5)), + color: None + ), + "Druid": ( + vox_spec: ("armor.cloth.druid.back", (-5.0, -2.5, -11.0)), + color: None + ), + "Moonweave": ( + vox_spec: ("armor.cloth.moonweave.back", (-4.0, -2.0, -12.5)), + color: None + ), + "Sunsilk": ( + vox_spec: ("armor.cloth.sunsilk.back", (-5.0, -1.5, -12.5)), + color: None + ), + "Bronze": ( + vox_spec: ("armor.mail.bronze.back", (-4.0, -2.5, -7.0)), + color: None + ), + "Iron": ( + vox_spec: ("armor.mail.iron.back", (-4.0, -2.5, -10.0)), + color: None + ), + "Steel": ( + vox_spec: ("armor.mail.steel.back", (-4.0, -2.5, -12.0)), + color: None + ), + "Cobalt": ( + vox_spec: ("armor.mail.cobalt.back", (-4.0, -2.5, -12.0)), + color: None + ), + "Bloodsteel": ( + vox_spec: ("armor.mail.bloodsteel.back", (-3.5, -2.5, -12.0)), + color: None + ), + "Orichalcum": ( + vox_spec: ("armor.mail.orichalcum.back", (-5.0, -4.5, -12.0)), + color: None + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron b/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron index b16a29bee0..3678edd514 100644 --- a/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_belt_manifest.ron @@ -28,14 +28,6 @@ vox_spec: ("armor.ferocious.belt", (-4.0, -3.5, -1.0)), color: None ), - "Plate": ( - vox_spec: ("armor.plate.belt", (-5.0, -3.5, 2.0)), - color: None - ), - "Swift": ( - vox_spec: ("armor.swift.belt", (-5.0, -3.5, 2.0)), - color: None - ), "ClothPurple": ( vox_spec: ("armor.cloth_purple.belt", (-5.0, -3.5, 2.0)), color: None @@ -52,22 +44,10 @@ vox_spec: ("armor.cultist.belt", (-5.0, -3.5, 1.0)), color: None ), - "Agile": ( - vox_spec: ("armor.agile.belt", (-5.0, -3.5, 2.0)), - color: None - ), - "Steel": ( - vox_spec: ("armor.steel.belt", (-5.0, -4.5, 2.0)), - color: None - ), "LeatherPlate": ( vox_spec: ("armor.leather_plate.belt", (-4.0, -4.5, 2.0)), color: None ), - "Druid": ( - vox_spec: ("armor.druid.belt", (-4.0, -3.5, -1.0)), - color: None - ), "Twigs": ( vox_spec: ("armor.twigs.belt", (-4.0, -3.5, -1.0)), color: None @@ -100,5 +80,81 @@ vox_spec: ("armor.warlock.belt", (-4.0, -3.0, 2.0)), color: None ), + "Rawhide": ( + vox_spec: ("armor.hide.rawhide.belt", (-4.0, -3.5, 2.0)), + color: None + ), + "Leather": ( + vox_spec: ("armor.hide.leather.belt", (-5.0, -3.5, 2.0)), + color: None + ), + "Scale":( + vox_spec: ("armor.hide.scale.belt", (-4.0, -3.5, 2.0)), + color: None + ), + "Carapace":( + vox_spec: ("armor.hide.carapace.belt", (-4.0, -4.0, 1.5)), + color: None + ), + "Primal":( + vox_spec: ("armor.hide.primal.belt", (-4.0, -4.0, 1.0)), + color: None + ), + "Dragonscale":( + vox_spec: ("armor.hide.dragonscale.belt", (-4.0, -3.5, 1.5)), + color: None + ), + "Savage":( + vox_spec: ("armor.savage.belt", (-4.0, -4.0, 1.0)), + color: None + ), + "Linen":( + vox_spec: ("armor.cloth.linen.belt", (-4.0, -4.0, 0.0)), + color: None + ), + "Woolen":( + vox_spec: ("armor.cloth.woolen.belt", (-4.0, -4.0, 1.0)), + color: None + ), + "Silken":( + vox_spec: ("armor.cloth.silken.belt", (-4.0, -3.5, -3.0)), + color: None + ), + "Druid":( + vox_spec: ("armor.cloth.druid.belt", (-4.0, -4.0, -0.5)), + color: None + ), + "Moonweave":( + vox_spec: ("armor.cloth.moonweave.belt", (-4.0, -3.5, 1.0)), + color: None + ), + "Sunsilk":( + vox_spec: ("armor.cloth.sunsilk.belt", (-4.0, -3.5, -2.5)), + color: None + ), + "Bronze":( + vox_spec: ("armor.mail.bronze.belt", (-4.0, -4.0, 2.0)), + color: None + ), + "Iron":( + vox_spec: ("armor.mail.iron.belt", (-4.0, -4.0, 2.0)), + color: None + ), + "Steel":( + vox_spec: ("armor.mail.steel.belt", (-5.0, -4.0, 1.0)), + color: None + ), + "Cobalt":( + vox_spec: ("armor.mail.cobalt.belt", (-5.0, -4.0, 1.0)), + color: None + ), + "Bloodsteel":( + vox_spec: ("armor.mail.bloodsteel.belt", (-5.0, -3.5, 1.0)), + color: None + ), + "Orichalcum":( + vox_spec: ("armor.mail.orichalcum.belt", (-4.0, -3.5, 1.0)), + color: None + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron b/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron index 8b624b319f..cbe2304567 100644 --- a/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_chest_manifest.ron @@ -40,18 +40,10 @@ vox_spec: ("armor.misc.chest.cloth_red_kimono", (-7.0, -3.5, 2.0)), color: None ), - "Plate": ( - vox_spec: ("armor.plate.chest", (-7.0, -3.5, 2.0)), - color: None - ), "PlateRed": ( vox_spec: ("armor.misc.chest.plate_grey", (-7.0, -3.5, 2.0)), color: Some((124, 38, 46)) ), - "Swift": ( - vox_spec: ("armor.swift.chest", (-7.0, -3.5, 2.0)), - color: None - ), "LeatherBlue": ( vox_spec: ("armor.leather_blue.chest", (-7.0, -3.5, 2.0)), color: None @@ -117,10 +109,6 @@ vox_spec: ("armor.misc.chest.shirt_white", (-7.0, -3.5, 2.0)), color: Some((135, 82, 67)) ), - "Druid": ( - vox_spec: ("armor.druid.chest", (-7.0, -3.5, 2.0)), - color: None - ), "Twigs": ( vox_spec: ("armor.twigs.chest", (-7.0, -3.5, 2.0)), color: None @@ -138,18 +126,10 @@ vox_spec: ("armor.cultist.chest", (-7.0, -3.5, 2.0)), color: Some((30, 0, 64)) ), - "Steel": ( - vox_spec: ("armor.steel.chest", (-8.0, -4.5, 2.0)), - color: None - ), "LeatherPlate": ( vox_spec: ("armor.leather_plate.chest", (-8.0, -5.5, 2.0)), color: None ), - "Agile": ( - vox_spec: ("armor.agile.chest", (-7.0, -3.5, 2.0)), - color: None - ), "Tarasque":( vox_spec: ("armor.tarasque.chest", (-8.0, -4.5, 2.0)), color: None @@ -170,5 +150,81 @@ vox_spec: ("armor.warlock.chest", (-7.0, -3.5, 0.5)), color: None ), + "Rawhide": ( + vox_spec: ("armor.hide.rawhide.chest", (-7.0, -3.5, 2.0)), + color: None + ), + "Leather": ( + vox_spec: ("armor.hide.leather.chest", (-7.0, -3.5, 2.0)), + color: None + ), + "Scale": ( + vox_spec: ("armor.hide.scale.chest", (-7.0, -3.5, 2.0)), + color: None + ), + "Carapace": ( + vox_spec: ("armor.hide.carapace.chest", (-7.0, -3.5, 1.5)), + color: None + ), + "Primal": ( + vox_spec: ("armor.hide.primal.chest", (-7.0, -3.5, 0.5)), + color: None + ), + "Dragonscale": ( + vox_spec: ("armor.hide.dragonscale.chest", (-7.0, -3.5, 1.5)), + color: None + ), + "Savage": ( + vox_spec: ("armor.hide.savage.chest", (-7.0, -4.0, 1.0)), + color: None + ), + "Linen": ( + vox_spec: ("armor.cloth.linen.chest", (-7.0, -4.0, 2.0)), + color: None + ), + "Woolen": ( + vox_spec: ("armor.cloth.woolen.chest", (-7.0, -4.0, 1.0)), + color: None + ), + "Silken": ( + vox_spec: ("armor.cloth.silken.chest", (-7.0, -4.0, 1.0)), + color: None + ), + "Druid": ( + vox_spec: ("armor.cloth.druid.chest", (-7.0, -4.0, 2.0)), + color: None + ), + "Moonweave": ( + vox_spec: ("armor.cloth.moonweave.chest", (-7.0, -4.0, 1.0)), + color: None + ), + "Sunsilk": ( + vox_spec: ("armor.cloth.sunsilk.chest", (-7.0, -4.0, 1.0)), + color: None + ), + "Bronze": ( + vox_spec: ("armor.mail.bronze.chest", (-7.0, -4.0, 2.0)), + color: None + ), + "Iron": ( + vox_spec: ("armor.mail.iron.chest", (-7.0, -4.0, 2.0)), + color: None + ), + "Steel": ( + vox_spec: ("armor.mail.steel.chest", (-8.0, -4.0, 1.0)), + color: None + ), + "Cobalt": ( + vox_spec: ("armor.mail.cobalt.chest", (-8.0, -4.0, 1.0)), + color: None + ), + "Bloodsteel": ( + vox_spec: ("armor.mail.bloodsteel.chest", (-8.0, -4.0, 1.0)), + color: None + ), + "Orichalcum": ( + vox_spec: ("armor.mail.orichalcum.chest", (-7.0, -4.0, 1.0)), + color: None + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron b/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron index f41ee92a53..5895fd0204 100644 --- a/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_foot_manifest.ron @@ -16,14 +16,6 @@ vox_spec: ("armor.misc.foot.dark_jester_elf", (-2.5, -3.0, -2.0)), color: None ), - "Plate": ( - vox_spec: ("armor.plate.foot", (-2.5, -3.5, -2.0)), - color: None - ), - "Swift": ( - vox_spec: ("armor.swift.foot", (-2.5, -3.5, -2.0)), - color: None - ), "ClothPurple": ( vox_spec: ("armor.cloth_purple.foot", (-2.5, -3.5, -2.0)), color: None @@ -48,26 +40,14 @@ vox_spec: ("armor.cultist.foot", (-2.5, -3.5, -2.0)), color: None ), - "Steel": ( - vox_spec: ("armor.steel.foot", (-2.5, -3.5, -2.0)), - color: None - ), "LeatherPlate": ( vox_spec: ("armor.leather_plate.foot", (-2.5, -3.5, -2.0)), color: None ), - "Agile": ( - vox_spec: ("armor.agile.foot", (-2.5, -3.5, -2.0)), - color: None - ), "Jackalope": ( vox_spec: ("armor.misc.foot.jackalope", (-2.5, -3.5, -2.0)), color: None ), - "Druid": ( - vox_spec: ("armor.druid.foot", (-2.5, -3.5, -2.0)), - color: None - ), "Twigs": ( vox_spec: ("armor.twigs.foot", (-2.5, -3.5, -2.0)), color: None @@ -100,5 +80,81 @@ vox_spec: ("armor.warlock.foot", (-2.5, -3.5, -2.0)), color: None ), + "Rawhide": ( + vox_spec: ("armor.hide.rawhide.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Leather": ( + vox_spec: ("armor.hide.leather.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Scale": ( + vox_spec: ("armor.hide.scale.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Carapace": ( + vox_spec: ("armor.hide.carapace.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Primal": ( + vox_spec: ("armor.hide.primal.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Dragonscale": ( + vox_spec: ("armor.hide.dragonscale.foot", (-2.5, -5.5, -2.0)), + color: None + ), + "Savage": ( + vox_spec: ("armor.savage.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Linen": ( + vox_spec: ("armor.cloth.linen.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Woolen": ( + vox_spec: ("armor.cloth.woolen.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Silken": ( + vox_spec: ("armor.cloth.silken.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Druid": ( + vox_spec: ("armor.cloth.druid.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Moonweave": ( + vox_spec: ("armor.cloth.moonweave.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Sunsilk": ( + vox_spec: ("armor.cloth.sunsilk.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Bronze": ( + vox_spec: ("armor.mail.bronze.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Iron": ( + vox_spec: ("armor.mail.iron.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Steel": ( + vox_spec: ("armor.mail.steel.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Cobalt": ( + vox_spec: ("armor.mail.cobalt.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Bloodsteel": ( + vox_spec: ("armor.mail.bloodsteel.foot", (-2.5, -3.5, -2.0)), + color: None + ), + "Orichalcum": ( + vox_spec: ("armor.mail.orichalcum.foot", (-2.5, -3.5, -2.0)), + color: None + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron b/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron index a95bd554a6..de569659e1 100644 --- a/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_hand_manifest.ron @@ -40,26 +40,6 @@ color: None ) ), - "Plate": ( - left: ( - vox_spec: ("armor.plate.hand", (-1.5, -1.5, -2.5)), - color: None - ), - right: ( - vox_spec: ("armor.plate.hand", (-1.5, -1.5, -2.5)), - color: None - ) - ), - "Swift": ( - left: ( - vox_spec: ("armor.swift.hand", (-1.5, -1.5, -2.5)), - color: None - ), - right: ( - vox_spec: ("armor.swift.hand", (-1.5, -1.5, -2.5)), - color: None - ) - ), "ClothPurple": ( left: ( vox_spec: ("armor.cloth_purple.hand", (-1.5, -1.5, -2.5)), @@ -100,16 +80,6 @@ color: Some((30, 0, 64)) ) ), - "Steel": ( - left: ( - vox_spec: ("armor.steel.hand", (-1.5, -1.5, -2.5)), - color: None - ), - right: ( - vox_spec: ("armor.steel.hand", (-1.5, -1.5, -2.5)), - color: None - ) - ), "LeatherPlate": ( left: ( vox_spec: ("armor.leather_plate.hand", (-1.5, -1.5, -2.5)), @@ -120,26 +90,6 @@ color: None ) ), - "Agile": ( - left: ( - vox_spec: ("armor.agile.hand", (-1.5, -1.5, -2.5)), - color: None - ), - right: ( - vox_spec: ("armor.agile.hand", (-1.5, -1.5, -2.5)), - color: None - ) - ), - "Druid": ( - left: ( - vox_spec: ("armor.druid.hand", (-1.5, -1.5, -2.5)), - color: None - ), - right: ( - vox_spec: ("armor.druid.hand", (-1.5, -1.5, -2.5)), - color: None - ) - ), "Twigs": ( left: ( vox_spec: ("armor.twigs.hand", (-1.5, -1.5, -2.5)), @@ -220,5 +170,195 @@ color: None ) ), + "Rawhide": ( + left: ( + vox_spec: ("armor.hide.rawhide.hand", (-1.5, -1.5, -2.5)), + color: None + ), + right: ( + vox_spec: ("armor.hide.rawhide.hand", (-1.5, -1.5, -2.5)), + color: None + ) + ), + "Leather": ( + left: ( + vox_spec: ("armor.hide.leather.hand", (-1.5, -1.5, -2.5)), + color: None + ), + right: ( + vox_spec: ("armor.hide.leather.hand", (-1.5, -1.5, -2.5)), + color: None + ) + ), + "Scale": ( + left: ( + vox_spec: ("armor.hide.scale.hand", (-3.5, -1.5, -2.5)), + color: None + ), + right: ( + vox_spec: ("armor.hide.scale.hand", (-1.5, -1.5, -2.5)), + color: None + ) + ), + "Carapace": ( + left: ( + vox_spec: ("armor.hide.carapace.hand", (-3.5, -2.5, -3.0)), + color: None + ), + right: ( + vox_spec: ("armor.hide.carapace.hand", (-1.5, -2.5, -3.0)), + color: None + ) + ), + "Primal": ( + left: ( + vox_spec: ("armor.hide.primal.hand", (-3.5, -3.5, -4.0)), + color: None + ), + right: ( + vox_spec: ("armor.hide.primal.hand", (-1.5, -3.5, -4.0)), + color: None + ) + ), + "Dragonscale": ( + left: ( + vox_spec: ("armor.hide.dragonscale.hand", (-5.0, -1.5, -3.5)), + color: None + ), + right: ( + vox_spec: ("armor.hide.dragonscale.hand", (-2.0, -1.5, -3.5)), + color: None + ) + ), + "Savage": ( + left: ( + vox_spec: ("armor.savage.hand", (-2.5, -3.0, -4.0)), + color: None + ), + right: ( + vox_spec: ("armor.savage.hand", (-1.5, -3.0, -4.0)), + color: None + ) + ), + "Linen": ( + left: ( + vox_spec: ("armor.cloth.linen.hand", (-1.5, -2.0, -3.0)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.linen.hand", (-1.5, -2.0, -3.0)), + color: None + ) + ), + "Woolen": ( + left: ( + vox_spec: ("armor.cloth.woolen.hand", (-2.5, -2.5, -3.5)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.woolen.hand", (-2.5, -2.5, -3.5)), + color: None + ) + ), + "Silken": ( + left: ( + vox_spec: ("armor.cloth.silken.hand", (-2.5, -2.5, -4.0)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.silken.hand", (-1.5, -2.5, -4.0)), + color: None + ) + ), + "Druid": ( + left: ( + vox_spec: ("armor.cloth.druid.hand", (-2.5, -1.0, -3.0)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.druid.hand", (-1.5, -1.0, -3.0)), + color: None + ) + ), + "Moonweave": ( + left: ( + vox_spec: ("armor.cloth.moonweave.hand", (-2.5, -2.0, -4.0)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.moonweave.hand", (-1.5, -2.0, -4.0)), + color: None + ) + ), + "Sunsilk": ( + left: ( + vox_spec: ("armor.cloth.sunsilk.hand", (-2.5, -2.5, -4.0)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.sunsilk.hand", (-1.5, -2.5, -4.0)), + color: None + ) + ), + "Bronze": ( + left: ( + vox_spec: ("armor.mail.bronze.hand", (-2.5, -2.0, -3.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.bronze.hand", (-1.5, -2.0, -3.0)), + color: None + ) + ), + "Iron": ( + left: ( + vox_spec: ("armor.mail.iron.hand", (-2.5, -1.0, -3.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.iron.hand", (-1.5, -1.0, -3.0)), + color: None + ) + ), + "Steel": ( + left: ( + vox_spec: ("armor.mail.steel.hand", (-2.5, -1.0, -4.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.steel.hand", (-1.5, -1.0, -4.0)), + color: None + ) + ), + "Cobalt": ( + left: ( + vox_spec: ("armor.mail.cobalt.hand", (-2.5, -2.0, -4.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.cobalt.hand", (-1.5, -2.0, -4.0)), + color: None + ) + ), + "Bloodsteel": ( + left: ( + vox_spec: ("armor.mail.bloodsteel.hand", (-5.0, -1.0, -4.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.bloodsteel.hand", (-1.0, -1.0, -4.0)), + color: None + ) + ), + "Orichalcum": ( + left: ( + vox_spec: ("armor.mail.orichalcum.hand", (-4.5, -2.0, -4.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.orichalcum.hand", (-1.5, -2.0, -4.0)), + color: None + ) + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron b/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron index fde3b5b2cb..c92c63f592 100644 --- a/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_pants_manifest.ron @@ -36,18 +36,10 @@ vox_spec: ("armor.ferocious.pants", (-5.0, -3.5, 1.0)), color: None ), - "Plate": ( - vox_spec: ("armor.plate.pants", (-5.0, -3.5, 1.0)), - color: None - ), "PlateRed": ( vox_spec: ("armor.misc.pants.plate_grey", (-5.0, -3.5, 1.0)), color: Some((124, 38, 46)) ), - "Swift": ( - vox_spec: ("armor.swift.pants", (-5.0, -3.5, 1.0)), - color: None - ), "ClothPurple": ( vox_spec: ("armor.cloth_purple.pants", (-5.0, -3.5, 0.0)), color: None @@ -76,22 +68,10 @@ vox_spec: ("armor.cultist.pants", (-5.0, -3.5, 1.0)), color: Some((30, 0, 64)) ), - "Steel": ( - vox_spec: ("armor.steel.pants", (-6.0, -4.5, 1.0)), - color: None - ), "LeatherPlate": ( vox_spec: ("armor.leather_plate.pants", (-5.0, -4.5, 1.0)), color: None ), - "Agile": ( - vox_spec: ("armor.agile.pants", (-5.0, -3.5, 1.0)), - color: None - ), - "Druid": ( - vox_spec: ("armor.druid.pants", (-5.0, -3.5, -1.0)), - color: None - ), "Twigs": ( vox_spec: ("armor.twigs.pants", (-5.0, -3.5, 0.0)), color: None @@ -128,5 +108,81 @@ vox_spec: ("armor.warlock.pants", (-5.0, -4.0, -2.0)), color: None ), + "Rawhide": ( + vox_spec: ("armor.hide.rawhide.pants", (-5.0, -3.5, 1.0)), + color: None + ), + "Leather": ( + vox_spec: ("armor.hide.leather.pants", (-5.0, -3.5, 1.0)), + color: None + ), + "Scale": ( + vox_spec: ("armor.hide.scale.pants", (-5.0, -4.0, 0.0)), + color: None + ), + "Carapace": ( + vox_spec: ("armor.hide.carapace.pants", (-6.0, -4.0, 0.5)), + color: None + ), + "Primal": ( + vox_spec: ("armor.hide.primal.pants", (-6.0, -4.0, 0.0)), + color: None + ), + "Dragonscale": ( + vox_spec: ("armor.hide.dragonscale.pants", (-5.0, -3.5, -1.5)), + color: None + ), + "Savage": ( + vox_spec: ("armor.savage.pants", (-5.0, -4.0, 0.5)), + color: None + ), + "Linen": ( + vox_spec: ("armor.cloth.linen.pants", (-5.0, -4.0, 0.5)), + color: None + ), + "Woolen": ( + vox_spec: ("armor.cloth.woolen.pants", (-6.0, -5.0, 0.5)), + color: None + ), + "Silken": ( + vox_spec: ("armor.cloth.silken.pants", (-5.0, -4.0, 0.5)), + color: None + ), + "Druid": ( + vox_spec: ("armor.cloth.druid.pants", (-5.0, -4.0, 0.5)), + color: None + ), + "Moonweave": ( + vox_spec: ("armor.cloth.moonweave.pants", (-6.0, -5.5, 0.5)), + color: None + ), + "Sunsilk": ( + vox_spec: ("armor.cloth.sunsilk.pants", (-6.0, -5.0, 0.5)), + color: None + ), + "Bronze": ( + vox_spec: ("armor.mail.bronze.pants", (-5.0, -4.0, 1.0)), + color: None + ), + "Iron": ( + vox_spec: ("armor.mail.iron.pants", (-5.0, -4.0, 1.5)), + color: None + ), + "Steel": ( + vox_spec: ("armor.mail.steel.pants", (-6.0, -4.0, 0.0)), + color: None + ), + "Cobalt": ( + vox_spec: ("armor.mail.cobalt.pants", (-6.0, -5.0, 0.5)), + color: None + ), + "Bloodsteel": ( + vox_spec: ("armor.mail.bloodsteel.pants", (-7.0, -4.0, 0.5)), + color: None + ), + "Orichalcum": ( + vox_spec: ("armor.mail.orichalcum.pants", (-6.0, -4.0, 0.5)), + color: None + ), }, )) diff --git a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron index 2c25cce062..5203c3c5d8 100644 --- a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron @@ -51,26 +51,6 @@ color: None ) ), - "Plate": ( - left: ( - vox_spec: ("armor.plate.shoulder", (-3.6, -3.5, -0.0)), - color: None - ), - right: ( - vox_spec: ("armor.plate.shoulder", (-2.6, -3.5, 0.0)), - color: None - ) - ), - "Swift": ( - left: ( - vox_spec: ("armor.swift.shoulder", (-3.2, -3.5, 0.0)), - color: None - ), - right: ( - vox_spec: ("armor.swift.shoulder", (-1.4, -3.5, 0.0)), - color: None - ) - ), "ClothPurple": ( left: ( vox_spec: ("armor.cloth_purple.shoulder", (-3.2, -3.5, 0.0)), @@ -111,16 +91,6 @@ color: Some((30, 0, 64)) ) ), - "Steel": ( - left: ( - vox_spec: ("armor.steel.shoulder", (-5.0, -4.5 , 0.0)), - color: None - ), - right: ( - vox_spec: ("armor.steel.shoulder", (-1.0, -4.5, 0.0)), - color: None - ) - ), "LeatherPlate": ( left: ( vox_spec: ("armor.leather_plate.shoulder", (-4.0, -4.5 , 0.0)), @@ -131,16 +101,6 @@ color: None ) ), - "Agile": ( - left: ( - vox_spec: ("armor.agile.shoulder", (-5.0, -3.8, -0.9)), - color: None - ), - right: ( - vox_spec: ("armor.agile.shoulder", (-1.0, -3.8, -0.9)), - color: None - ) - ), "Twigs": ( left: ( vox_spec: ("armor.twigs.shoulder", (-5.0, -4.5 , -1.0)), @@ -241,16 +201,6 @@ color: None ) ), - "Druid": ( - left: ( - vox_spec: ("armor.druid.shoulder", (-4.0, -4.5 , -3.0)), - color: None - ), - right: ( - vox_spec: ("armor.druid.shoulder", (-2.0, -4.5, -3.0)), - color: None - ) - ), "Tarasque": ( left: ( vox_spec: ("armor.tarasque.shoulder", (-5.0, -3.5 , 0.0)), @@ -301,5 +251,195 @@ color: None ) ), + "Rawhide": ( + left: ( + vox_spec: ("armor.hide.rawhide.shoulder", (-4.0, -3.2, -0.5)), + color: None + ), + right: ( + vox_spec: ("armor.hide.rawhide.shoulder", (-1.0, -3.2, -0.5)), + color: None + ) + ), + "Leather": ( + left: ( + vox_spec: ("armor.hide.leather.shoulder", (-5.5, -3.2, -1.8)), + color: None + ), + right: ( + vox_spec: ("armor.hide.leather.shoulder", (-0.5, -3.2, -1.8)), + color: None + ) + ), + "Scale": ( + left: ( + vox_spec: ("armor.hide.scale.shoulder", (-3.2, -3.5 , 0.0)), + color: None + ), + right: ( + vox_spec: ("armor.hide.scale.shoulder", (-1.4, -3.5, -0.5)), + color: None + ) + ), + "Carapace": ( + left: ( + vox_spec: ("armor.hide.carapace.shoulder", (-6.0, -4.0 , -2.0)), + color: None + ), + right: ( + vox_spec: ("armor.hide.carapace.shoulder", (-1.0, -4.0, -2.0)), + color: None + ) + ), + "Primal": ( + left: ( + vox_spec: ("armor.hide.primal.shoulder", (-6.0, -4.0 , -3.0)), + color: None + ), + right: ( + vox_spec: ("armor.hide.primal.shoulder", (-1.0, -4.0, -3.0)), + color: None + ) + ), + "Dragonscale": ( + left: ( + vox_spec: ("armor.hide.dragonscale.shoulder", (-9.0, -3.5 , -1.0)), + color: None + ), + right: ( + vox_spec: ("armor.hide.dragonscale.shoulder", (0.0, -3.5, -1.0)), + color: None + ) + ), + "Savage": ( + left: ( + vox_spec: ("armor.savage.shoulder", (-5.5, -4.0 , -2.0)), + color: None + ), + right: ( + vox_spec: ("armor.savage.shoulder", (-0.5, -4.0, -2.0)), + color: None + ) + ), + "Linen": ( + left: ( + vox_spec: ("armor.cloth.linen.shoulder", (-3.5, -4.0 , -1.0)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.linen.shoulder", (-0.5, -4.0, -1.0)), + color: None + ) + ), + "Woolen": ( + left: ( + vox_spec: ("armor.cloth.woolen.shoulder", (-5.5, -4.0 , -3.0)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.woolen.shoulder", (-0.5, -4.0, -3.0)), + color: None + ) + ), + "Silken": ( + left: ( + vox_spec: ("armor.cloth.silken.shoulder", (-5.0, -4.0 , -2.0)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.silken.shoulder", (-1.0, -4.0, -2.0)), + color: None + ) + ), + "Druid": ( + left: ( + vox_spec: ("armor.cloth.druid.shoulder", (-4.5, -4.0 , -3.5)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.druid.shoulder", (-1.5, -4.0, -3.5)), + color: None + ) + ), + "Moonweave": ( + left: ( + vox_spec: ("armor.cloth.moonweave.shoulder", (-4.5, -4.0 , -3.0)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.moonweave.shoulder", (-1.5, -4.0, -3.0)), + color: None + ) + ), + "Sunsilk": ( + left: ( + vox_spec: ("armor.cloth.sunsilk.shoulder", (-6.5, -4.0 , -2.0)), + color: None + ), + right: ( + vox_spec: ("armor.cloth.sunsilk.shoulder", (-0.5, -4.0, -2.0)), + color: None + ) + ), + "Bronze": ( + left: ( + vox_spec: ("armor.mail.bronze.shoulder", (-4.5, -4.0 , 0.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.bronze.shoulder", (-1.5, -4.0, 0.0)), + color: None + ) + ), + "Iron": ( + left: ( + vox_spec: ("armor.mail.iron.shoulder", (-5.5, -4.0 , -1.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.iron.shoulder", (-0.5, -4.0, -1.0)), + color: None + ) + ), + "Steel": ( + left: ( + vox_spec: ("armor.mail.steel.shoulder", (-5.5, -3.0 , -2.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.steel.shoulder", (-1.5, -3.0, -2.0)), + color: None + ) + ), + "Cobalt": ( + left: ( + vox_spec: ("armor.mail.cobalt.shoulder", (-5.5, -4.0 , -1.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.cobalt.shoulder", (-1.5, -4.0, -1.0)), + color: None + ) + ), + "Bloodsteel": ( + left: ( + vox_spec: ("armor.mail.bloodsteel.shoulder", (-6.5, -5.0 , -3.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.bloodsteel.shoulder", (-2.5, -5.0, -3.0)), + color: None + ) + ), + "Orichalcum": ( + left: ( + vox_spec: ("armor.mail.orichalcum.shoulder", (-7.5, -3.0 , -2.0)), + color: None + ), + right: ( + vox_spec: ("armor.mail.orichalcum.shoulder", (-1.5, -3.0, -2.0)), + color: None + ) + ), }, )) diff --git a/assets/voxygen/voxel/npc/basilisk/male/chest.vox b/assets/voxygen/voxel/npc/basilisk/male/chest.vox index bf9db901ec..43ea16b948 100644 --- a/assets/voxygen/voxel/npc/basilisk/male/chest.vox +++ b/assets/voxygen/voxel/npc/basilisk/male/chest.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:052e1f43f55fd46abe5d00d7f55edd0d1d3c16e6f593267a2f1e9e55084c1bee -size 10876 +oid sha256:f8f1c0b69b16799bec8fa111a6ab5e828b3abd3fcacafc3b526776017367e794 +size 16620 diff --git a/assets/voxygen/voxel/npc/basilisk/male/foot_br.vox b/assets/voxygen/voxel/npc/basilisk/male/foot_br.vox index e9461a2bb5..2a024b876d 100644 --- a/assets/voxygen/voxel/npc/basilisk/male/foot_br.vox +++ b/assets/voxygen/voxel/npc/basilisk/male/foot_br.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b9d4c2c39ec3b08cebee105c24edf9cc5b11b0b3f156860a5cbb0960ff59817a -size 2920 +oid sha256:a2a43eec288677e009e963ae2a05c2f5ca712068ab3d9783b3410122db115faf +size 2468 diff --git a/assets/voxygen/voxel/npc/basilisk/male/foot_fr.vox b/assets/voxygen/voxel/npc/basilisk/male/foot_fr.vox index 3002f165c1..c34af8f895 100644 --- a/assets/voxygen/voxel/npc/basilisk/male/foot_fr.vox +++ b/assets/voxygen/voxel/npc/basilisk/male/foot_fr.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:885bd8acd9ad061d3bcbdd37f21075bc54f2138387e25caf95e4cedf4123f184 -size 3088 +oid sha256:cd1cad4d5637cfe7e7d1fb2ed3fff10d0a4137a37ae94e57e0b52aa07e2d3a4c +size 3224 diff --git a/assets/voxygen/voxel/npc/basilisk/male/head_lower.vox b/assets/voxygen/voxel/npc/basilisk/male/head_lower.vox index f030250eca..ebe47e9701 100644 --- a/assets/voxygen/voxel/npc/basilisk/male/head_lower.vox +++ b/assets/voxygen/voxel/npc/basilisk/male/head_lower.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5dcbdb071a465648417cdb0a3bb7c332347f5a7803f96b6e74bce181cd53b807 -size 7576 +oid sha256:60899a518a8e22b1bf7765c502031cf3cc9c2f523934289ca5c9ba23f3989f26 +size 8260 diff --git a/assets/voxygen/voxel/npc/basilisk/male/head_upper.vox b/assets/voxygen/voxel/npc/basilisk/male/head_upper.vox index 4a64783e9d..0dbc990660 100644 --- a/assets/voxygen/voxel/npc/basilisk/male/head_upper.vox +++ b/assets/voxygen/voxel/npc/basilisk/male/head_upper.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8dc95681a5e78dbbd5cbca2d4e6763c7b677e3e011bc97f3b79337c32519fda6 -size 3756 +oid sha256:b2eae44dfa0bb3a9636a18bf5f3e7695a1296a956acc6d55866bc5a4c66505a4 +size 2716 diff --git a/assets/voxygen/voxel/npc/basilisk/male/jaw.vox b/assets/voxygen/voxel/npc/basilisk/male/jaw.vox index 6966ed9c1f..57a221b8f8 100644 --- a/assets/voxygen/voxel/npc/basilisk/male/jaw.vox +++ b/assets/voxygen/voxel/npc/basilisk/male/jaw.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b35a9d21875eea4afb5a018d436523e16d00c880e24502cef440cc37780f8f58 -size 1552 +oid sha256:281bd89f8a2f5ea7cba991838a7b3da88fc26f7914c483758cec34946c442394 +size 2460 diff --git a/assets/voxygen/voxel/npc/basilisk/male/tail_front.vox b/assets/voxygen/voxel/npc/basilisk/male/tail_front.vox index 439e72d002..5cedf144fb 100644 --- a/assets/voxygen/voxel/npc/basilisk/male/tail_front.vox +++ b/assets/voxygen/voxel/npc/basilisk/male/tail_front.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb65b35605d1eb968ec2f45bceeaee2e02d90c18304bbe99b383fff3633c72f4 -size 4564 +oid sha256:97bce3bceec9f9eca91e78f3f9577eec0f86b9c6675020d235e0071687e71788 +size 3856 diff --git a/assets/voxygen/voxel/npc/basilisk/male/tail_rear.vox b/assets/voxygen/voxel/npc/basilisk/male/tail_rear.vox index 88d41f14a2..3b3896df16 100644 --- a/assets/voxygen/voxel/npc/basilisk/male/tail_rear.vox +++ b/assets/voxygen/voxel/npc/basilisk/male/tail_rear.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b01b1e3e492edd539f3af4469bed8f44df2afa4eaec04222fb790a8edcfd2e8 -size 2772 +oid sha256:4126426072cb5bf690cca20ef897fc0f83f78b319204cfa9da06f5dca352076d +size 2784 diff --git a/assets/voxygen/voxel/npc/cyclops/male/foot_l.vox b/assets/voxygen/voxel/npc/cyclops/male/foot_l.vox index 2f146c7c31..0f1bcfca7d 100644 --- a/assets/voxygen/voxel/npc/cyclops/male/foot_l.vox +++ b/assets/voxygen/voxel/npc/cyclops/male/foot_l.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81cff203047e32c79688437f1836cf1a6dc5885e68fe9accae81cca9054aa4ea -size 2196 +oid sha256:c5421f89546e4a9df6f7462de418b7b9059b6dc17f5893a936d8e1f22f282a82 +size 2608 diff --git a/assets/voxygen/voxel/npc/cyclops/male/foot_r.vox b/assets/voxygen/voxel/npc/cyclops/male/foot_r.vox index 60b9653790..df795db705 100644 --- a/assets/voxygen/voxel/npc/cyclops/male/foot_r.vox +++ b/assets/voxygen/voxel/npc/cyclops/male/foot_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3d7a5a5bc8f2e594f59d79ad17476b9cbeec85e57d43a3532ad00ad8ede8729e -size 2196 +oid sha256:1c24795e605da26ce87db91991b99ebe290fbc4422e08eb80b2fc9e97c748e13 +size 2608 diff --git a/assets/voxygen/voxel/npc/cyclops/male/hand_l.vox b/assets/voxygen/voxel/npc/cyclops/male/hand_l.vox index b20ab78ca0..c062379ade 100644 --- a/assets/voxygen/voxel/npc/cyclops/male/hand_l.vox +++ b/assets/voxygen/voxel/npc/cyclops/male/hand_l.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1b5226d3ecaed0fb73234f9f3d3affcc59dcbd8706779200b63b28e87edb8f02 -size 2112 +oid sha256:5452e51012bc041273a05a6489fdf9d1ee86b002fc46cbbd3c2761aa6796b461 +size 4876 diff --git a/assets/voxygen/voxel/npc/cyclops/male/hand_r.vox b/assets/voxygen/voxel/npc/cyclops/male/hand_r.vox index ecea029887..7ad217204f 100644 --- a/assets/voxygen/voxel/npc/cyclops/male/hand_r.vox +++ b/assets/voxygen/voxel/npc/cyclops/male/hand_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:00d0ac3627f8d6771015034f587c427c7a8aa4871f7e07acafdd784d7d40cbe5 -size 2112 +oid sha256:dba85af684bbf1a8c0482bf47261a659f81087480e0fd46b9e4aa7e853ec6c83 +size 4876 diff --git a/assets/voxygen/voxel/npc/cyclops/male/head.vox b/assets/voxygen/voxel/npc/cyclops/male/head.vox index 1fc6a36741..9d7adf4eca 100644 --- a/assets/voxygen/voxel/npc/cyclops/male/head.vox +++ b/assets/voxygen/voxel/npc/cyclops/male/head.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:62d3880cc06063cfe4e39916bc68242825d7af906b87c8c11d89eaec114cb8b9 -size 4812 +oid sha256:2d87d90f58dcc00fe7466da1d6df035681ce956309f05fa74b6d8ce35f3e153f +size 5376 diff --git a/assets/voxygen/voxel/npc/cyclops/male/jaw.vox b/assets/voxygen/voxel/npc/cyclops/male/jaw.vox new file mode 100644 index 0000000000..1417fee6f6 --- /dev/null +++ b/assets/voxygen/voxel/npc/cyclops/male/jaw.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da59fa2ad49a56bc17e053d8e35ecf5a186e8749e4d0ebd020e910cbd198fbdf +size 1584 diff --git a/assets/voxygen/voxel/npc/cyclops/male/leg_l.vox b/assets/voxygen/voxel/npc/cyclops/male/leg_l.vox index 80a44d9c98..3382959ed8 100644 --- a/assets/voxygen/voxel/npc/cyclops/male/leg_l.vox +++ b/assets/voxygen/voxel/npc/cyclops/male/leg_l.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99f371b580f7c5887be8178306d3939c9cffec94dcc8f997f74f4b1b42bf26a2 -size 1932 +oid sha256:983d225dadb0462583fb3820e5117926d459fa271bc481d55324de4f69e29d44 +size 1928 diff --git a/assets/voxygen/voxel/npc/cyclops/male/leg_r.vox b/assets/voxygen/voxel/npc/cyclops/male/leg_r.vox index e91ad51fa9..e09a0bcd71 100644 --- a/assets/voxygen/voxel/npc/cyclops/male/leg_r.vox +++ b/assets/voxygen/voxel/npc/cyclops/male/leg_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42bfae287134f49887a345180df8dcc534335c5f55dc90e24bd99f3b5c9cd815 -size 1932 +oid sha256:e72d877a2139cf993419e5027d496d91331fbe6167512c4e10a4d782c5293618 +size 1928 diff --git a/assets/voxygen/voxel/npc/cyclops/male/shoulder_l.vox b/assets/voxygen/voxel/npc/cyclops/male/shoulder_l.vox index fa43b91ac4..e33218f798 100644 --- a/assets/voxygen/voxel/npc/cyclops/male/shoulder_l.vox +++ b/assets/voxygen/voxel/npc/cyclops/male/shoulder_l.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:315d56efea48853303cf38969c28fef54263acd39557c6a445e72ff7a8c5ce9c -size 2024 +oid sha256:86a4c083928349989d57be700ed9a41ae061b227890c064f5c126b9dd607b5cf +size 4308 diff --git a/assets/voxygen/voxel/npc/cyclops/male/shoulder_r.vox b/assets/voxygen/voxel/npc/cyclops/male/shoulder_r.vox index c220338abf..2c45bce196 100644 --- a/assets/voxygen/voxel/npc/cyclops/male/shoulder_r.vox +++ b/assets/voxygen/voxel/npc/cyclops/male/shoulder_r.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:456850b7812bda2a23fbf7786782718d5ebb924c7d9247da30ef9300dcf26094 -size 2024 +oid sha256:44b251419b5513ec0abbb1a02cc80a1bb9d046fcc0f1ef967e4c6f98884d3b36 +size 4308 diff --git a/assets/voxygen/voxel/npc/cyclops/male/torso_lower.vox b/assets/voxygen/voxel/npc/cyclops/male/torso_lower.vox index 5d46d791e2..20480df3af 100644 --- a/assets/voxygen/voxel/npc/cyclops/male/torso_lower.vox +++ b/assets/voxygen/voxel/npc/cyclops/male/torso_lower.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a8acb22930276c38f00e84b14a7f13e4e7e7d8321faba8f5a2970222923183c -size 2996 +oid sha256:869020e350e4a9902978b5865e6065c38c58050aca9a2b93f410a69f9d459195 +size 3436 diff --git a/assets/voxygen/voxel/npc/cyclops/male/torso_upper.vox b/assets/voxygen/voxel/npc/cyclops/male/torso_upper.vox index c28355c0f4..d411bd3a1d 100644 --- a/assets/voxygen/voxel/npc/cyclops/male/torso_upper.vox +++ b/assets/voxygen/voxel/npc/cyclops/male/torso_upper.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:21918d8c3dc0978e96b3b213bc00e58a3421e29069670eb58f36975c4f07c575 -size 6272 +oid sha256:66d7d52a0a8f2b368bbe9d04256e7e8913ec379da7d43753f928f8ea334f0258 +size 12112 diff --git a/assets/voxygen/voxel/object/forge.vox b/assets/voxygen/voxel/object/forge.vox new file mode 100644 index 0000000000..195bbfcf9e --- /dev/null +++ b/assets/voxygen/voxel/object/forge.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfa2e90a535f4c1e3639681f9bd0d2cc29d497f853de708b74f8573ef6ecb345 +size 3944 diff --git a/assets/voxygen/voxel/object/loom.vox b/assets/voxygen/voxel/object/loom.vox new file mode 100644 index 0000000000..424bc4b918 --- /dev/null +++ b/assets/voxygen/voxel/object/loom.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90d38d6742493c07a02ee5e5e8db2f2af9d48610e4885b9495330d399491e17c +size 2072 diff --git a/assets/voxygen/voxel/object/meat_drop.vox b/assets/voxygen/voxel/object/meat_drop.vox deleted file mode 100644 index d3ce8c7549..0000000000 --- a/assets/voxygen/voxel/object/meat_drop.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cefa4b9fef1b67ecdc03aaacb9777f60788c17efdfc08f110729c7638928d9dd -size 3312 diff --git a/assets/voxygen/voxel/object/spinning_wheel.vox b/assets/voxygen/voxel/object/spinning_wheel.vox new file mode 100644 index 0000000000..82f4e344e3 --- /dev/null +++ b/assets/voxygen/voxel/object/spinning_wheel.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acd0f4701ba86053a93d3c6743ce1ac460da2c45cd71c46d020a699ed38c05f3 +size 2448 diff --git a/assets/voxygen/voxel/object/steak.vox b/assets/voxygen/voxel/object/steak.vox deleted file mode 100644 index f41a2c6cd4..0000000000 --- a/assets/voxygen/voxel/object/steak.vox +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f36a31d9d728796a753f2803fcf8bdbb4c5c77117e2a77728cac20fe18b7466b -size 27338 diff --git a/assets/voxygen/voxel/object/tanning_rack.vox b/assets/voxygen/voxel/object/tanning_rack.vox new file mode 100644 index 0000000000..d5ef422428 --- /dev/null +++ b/assets/voxygen/voxel/object/tanning_rack.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce5dc46fd29daf46769e367a6fb944dece6ee63ca55d3375697968a7334f5867 +size 1904 diff --git a/assets/voxygen/voxel/object_manifest.ron b/assets/voxygen/voxel/object_manifest.ron index 00f99e525c..54f85607bb 100644 --- a/assets/voxygen/voxel/object_manifest.ron +++ b/assets/voxygen/voxel/object_manifest.ron @@ -629,20 +629,20 @@ central: ("armor.empty"), ) ), - MeatDrop: ( + ToughMeat: ( bone0: ( - offset: (-3.5, -8.0, 0.0), - central: ("object.meat_drop"), + offset: (-4.5, -4.0, 0.0), + central: ("sprite.food.meat.tough_raw"), ), bone1: ( offset: (0.0, 0.0, 0.0), central: ("armor.empty"), ) ), - Steak: ( + BeastMeat: ( bone0: ( - offset: (-3.5, -6.0, 0.0), - central: ("object.steak"), + offset: (-6.5, -4.5, 0.0), + central: ("sprite.food.meat.beast_large_raw"), ), bone1: ( offset: (0.0, 0.0, 0.0), @@ -719,4 +719,44 @@ central: ("armor.empty"), ) ), + BirdMeat: ( + bone0: ( + offset: (-5.5, -3.0, 0.0), + central: ("sprite.food.meat.bird_raw"), + ), + bone1: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ) + ), + FishMeat: ( + bone0: ( + offset: (-5.5, -5.5, 0.0), + central: ("sprite.food.meat.fish_raw"), + ), + bone1: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ) + ), + SmallMeat: ( + bone0: ( + offset: (-6.5, -3.5, 0.0), + central: ("sprite.food.meat.beast_small_raw"), + ), + bone1: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ) + ), + Snowball: ( + bone0: ( + offset: (-12.5, -12.5, 0.0), + central: ("weapon.projectile.snowball"), + ), + bone1: ( + offset: (0.0, 0.0, 0.0), + central: ("armor.empty"), + ) + ), }) diff --git a/assets/voxygen/voxel/quadruped_low_central_manifest.ron b/assets/voxygen/voxel/quadruped_low_central_manifest.ron index 1ba0cb245e..5d7d4b376b 100644 --- a/assets/voxygen/voxel/quadruped_low_central_manifest.ron +++ b/assets/voxygen/voxel/quadruped_low_central_manifest.ron @@ -626,53 +626,53 @@ ), (Basilisk, Male): ( upper: ( - offset: (-5.5, 0.0, -11.0), + offset: (-5.5, 0.0, -5.0), central: ("npc.basilisk.male.head_upper"), ), lower: ( - offset: (-8.5, 0.0, -4.0), + offset: (-12.5, -6.5, -6.0), central: ("npc.basilisk.male.head_lower"), ), jaw: ( - offset: (-2.5, 0.0, -15.0), + offset: (-5.5, 0.0, -3.0), central: ("npc.basilisk.male.jaw"), ), chest: ( - offset: (-6.5, -13.0, -12.5), + offset: (-12.5, -11.0, -12.0), central: ("npc.basilisk.male.chest"), ), tail_rear: ( - offset: (-3.5, -20.0, -4.0), + offset: (-3.5, -19.0, -5.0), central: ("npc.basilisk.male.tail_rear"), ), tail_front: ( - offset: (-4.5, -24.0, -7.0), + offset: (-5.5, -12.0, -7.5), central: ("npc.basilisk.male.tail_front"), ), ), (Basilisk, Female): ( upper: ( - offset: (-5.5, 0.0, -11.0), + offset: (-5.5, 0.0, -5.0), central: ("npc.basilisk.male.head_upper"), ), lower: ( - offset: (-8.5, 0.0, -4.0), + offset: (-12.5, -6.5, -6.0), central: ("npc.basilisk.male.head_lower"), ), jaw: ( - offset: (-2.5, 0.0, -15.0), + offset: (-5.5, 0.0, -3.0), central: ("npc.basilisk.male.jaw"), ), chest: ( - offset: (-6.5, -13.0, -12.5), + offset: (-12.5, -11.0, -12.0), central: ("npc.basilisk.male.chest"), ), tail_rear: ( - offset: (-3.5, -20.0, -4.0), + offset: (-3.5, -19.0, -5.0), central: ("npc.basilisk.male.tail_rear"), ), tail_front: ( - offset: (-4.5, -24.0, -7.0), + offset: (-5.5, -12.0, -7.5), central: ("npc.basilisk.male.tail_front"), ), ), diff --git a/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron b/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron index 8ea1f198f9..bff3549ecd 100644 --- a/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron +++ b/assets/voxygen/voxel/quadruped_low_lateral_manifest.ron @@ -2,505 +2,505 @@ (Crocodile, Male): ( front_left: ( offset: (-7.0, -0.0, -4.0),//full x dimension, 0 y dimension, full z dimension - lateral: ("npc.crocodile.male.foot_fr"), + lateral: ("npc.crocodile.male.foot_fr", false), ), front_right: ( offset: (0.0, -0.0, -4.0),//0 x dimension, 0 y dimension, full z dimension - lateral: ("npc.crocodile.male.foot_fr"), + lateral: ("npc.crocodile.male.foot_fr", false), ), back_left: ( offset: (-8.0, -0.0, -4.0),//full x dimension, 0 y dimension, full z dimension - lateral: ("npc.crocodile.male.foot_br"), + lateral: ("npc.crocodile.male.foot_br", false), ), back_right: ( offset: (0.0, -0.0, -4.0),//0 x dimension, 0 y dimension, full z dimension - lateral: ("npc.crocodile.male.foot_br"), + lateral: ("npc.crocodile.male.foot_br", false), ), ), (Crocodile, Female): ( front_left: ( offset: (-7.0, -0.0, -4.0), - lateral: ("npc.crocodile.male.foot_fr"), + lateral: ("npc.crocodile.male.foot_fr", false), ), front_right: ( offset: (0.0, -0.0, -4.0), - lateral: ("npc.crocodile.male.foot_fr"), + lateral: ("npc.crocodile.male.foot_fr", false), ), back_left: ( offset: (-8.0, -0.0, -4.0), - lateral: ("npc.crocodile.male.foot_br"), + lateral: ("npc.crocodile.male.foot_br", false), ), back_right: ( offset: (0.0, -0.0, -4.0), - lateral: ("npc.crocodile.male.foot_br"), + lateral: ("npc.crocodile.male.foot_br", false), ), ), (Alligator, Male): ( front_left: ( offset: (-7.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_fr"), + lateral: ("npc.alligator.male.foot_fr", false), ), front_right: ( offset: (-0.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_fr"), + lateral: ("npc.alligator.male.foot_fr", false), ), back_left: ( offset: (-8.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_br"), + lateral: ("npc.alligator.male.foot_br", false), ), back_right: ( offset: (-0.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_br"), + lateral: ("npc.alligator.male.foot_br", false), ), ), (Alligator, Female): ( front_left: ( offset: (-7.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_fr"), + lateral: ("npc.alligator.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_fr"), + lateral: ("npc.alligator.male.foot_fr", false), ), back_left: ( offset: (-8.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_br"), + lateral: ("npc.alligator.male.foot_br", false), ), back_right: ( offset: (0.0, 0.0, -4.0), - lateral: ("npc.alligator.male.foot_br"), + lateral: ("npc.alligator.male.foot_br", false), ), ), (Salamander, Male): ( front_left: ( offset: (-6.0, 0.0, -3.0), - lateral: ("npc.salamander.male.foot_fr"), + lateral: ("npc.salamander.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -3.0), - lateral: ("npc.salamander.male.foot_fr"), + lateral: ("npc.salamander.male.foot_fr", false), ), back_left: ( offset: (-7.0, 0.0, -3.0), - lateral: ("npc.salamander.male.foot_br"), + lateral: ("npc.salamander.male.foot_br", false), ), back_right: ( offset: (-0.0, 0.0, -3.0), - lateral: ("npc.salamander.male.foot_br"), + lateral: ("npc.salamander.male.foot_br", false), ), ), (Salamander, Female): ( front_left: ( offset: (-6.0, 0.0, -3.0), - lateral: ("npc.salamander.female.foot_fr"), + lateral: ("npc.salamander.female.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -3.0), - lateral: ("npc.salamander.female.foot_fr"), + lateral: ("npc.salamander.female.foot_fr", false), ), back_left: ( offset: (-8.0, 0.0, -3.0), - lateral: ("npc.salamander.female.foot_br"), + lateral: ("npc.salamander.female.foot_br", false), ), back_right: ( offset: (0.0, 0.0, -3.0), - lateral: ("npc.salamander.female.foot_br"), + lateral: ("npc.salamander.female.foot_br", false), ), ), (Monitor, Male): ( front_left: ( offset: (-8.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_fr"), + lateral: ("npc.monitor.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_fr"), + lateral: ("npc.monitor.male.foot_fr", false), ), back_left: ( offset: (-7.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_br"), + lateral: ("npc.monitor.male.foot_br", false), ), back_right: ( offset: (0.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_br"), + lateral: ("npc.monitor.male.foot_br", false), ), ), (Monitor, Female): ( front_left: ( offset: (-8.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_fr"), + lateral: ("npc.monitor.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_fr"), + lateral: ("npc.monitor.male.foot_fr", false), ), back_left: ( offset: (-7.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_br"), + lateral: ("npc.monitor.male.foot_br", false), ), back_right: ( offset: (0.0, 0.0, -5.0), - lateral: ("npc.monitor.male.foot_br"), + lateral: ("npc.monitor.male.foot_br", false), ), ), (Asp, Male): ( front_left: ( offset: (-10.0, 0.0, -6.5), - lateral: ("npc.asp.male.foot_fr"), + lateral: ("npc.asp.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -6.5), - lateral: ("npc.asp.male.foot_fr"), + lateral: ("npc.asp.male.foot_fr", false), ), back_left: ( offset: (-7.5, 0.0, -6.5), - lateral: ("npc.asp.male.foot_br"), + lateral: ("npc.asp.male.foot_br", false), ), back_right: ( offset: (0.0, 0.0, -6.5), - lateral: ("npc.asp.male.foot_br"), + lateral: ("npc.asp.male.foot_br", false), ), ), (Asp, Female): ( front_left: ( offset: (-10.0, 0.0, -6.5), - lateral: ("npc.asp.male.foot_fr"), + lateral: ("npc.asp.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -6.5), - lateral: ("npc.asp.male.foot_fr"), + lateral: ("npc.asp.male.foot_fr", false), ), back_left: ( offset: (-7.5, 0.0, -6.5), - lateral: ("npc.asp.male.foot_br"), + lateral: ("npc.asp.male.foot_br", false), ), back_right: ( offset: (0.0, 0.0, -6.5), - lateral: ("npc.asp.male.foot_br"), + lateral: ("npc.asp.male.foot_br", false), ), ), (Tortoise, Male): ( front_left: ( offset: (-7.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_fr"), + lateral: ("npc.tortoise.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_fr"), + lateral: ("npc.tortoise.male.foot_fr", false), ), back_left: ( offset: (-7.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_br"), + lateral: ("npc.tortoise.male.foot_br", false), ), back_right: ( offset: (0.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_br"), + lateral: ("npc.tortoise.male.foot_br", false), ), ), (Tortoise, Female): ( front_left: ( offset: (-7.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_fr"), + lateral: ("npc.tortoise.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_fr"), + lateral: ("npc.tortoise.male.foot_fr", false), ), back_left: ( offset: (-7.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_br"), + lateral: ("npc.tortoise.male.foot_br", false), ), back_right: ( offset: (0.0, 0.0, -8.0), - lateral: ("npc.tortoise.male.foot_br"), + lateral: ("npc.tortoise.male.foot_br", false), ), ), (Rocksnapper, Male): ( front_left: ( offset: (-12.0, 0.0, -10.0), - lateral: ("npc.rocksnapper.male.foot_fr"), + lateral: ("npc.rocksnapper.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -10.0), - lateral: ("npc.rocksnapper.male.foot_fr"), + lateral: ("npc.rocksnapper.male.foot_fr", false), ), back_left: ( offset: (-11.0, -6.0, -9.0), - lateral: ("npc.rocksnapper.male.foot_br"), + lateral: ("npc.rocksnapper.male.foot_br", false), ), back_right: ( offset: (0.0, -6.0, -9.0), - lateral: ("npc.rocksnapper.male.foot_br"), + lateral: ("npc.rocksnapper.male.foot_br", false), ), ), (Rocksnapper, Female): ( front_left: ( offset: (-12.0, 0.0, -10.0), - lateral: ("npc.rocksnapper.male.foot_fr"), + lateral: ("npc.rocksnapper.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -10.0), - lateral: ("npc.rocksnapper.male.foot_fr"), + lateral: ("npc.rocksnapper.male.foot_fr", false), ), back_left: ( offset: (-11.0, -6.0, -9.0),//special case - lateral: ("npc.rocksnapper.male.foot_br"), + lateral: ("npc.rocksnapper.male.foot_br", false), ), back_right: ( offset: (0.0, -6.0, -9.0), - lateral: ("npc.rocksnapper.male.foot_br"), + lateral: ("npc.rocksnapper.male.foot_br", false), ), ), (Pangolin, Male): ( front_left: ( offset: (-1.5, 0.0, -6.0),//unique - lateral: ("npc.pangolin.male.foot_fr"), + lateral: ("npc.pangolin.male.foot_fr", false), ), front_right: ( offset: (-1.5, 0.0, -6.0), - lateral: ("npc.pangolin.male.foot_fr"), + lateral: ("npc.pangolin.male.foot_fr", false), ), back_left: ( offset: (-1.5, 0.0, -6.0), - lateral: ("npc.pangolin.male.foot_br"), + lateral: ("npc.pangolin.male.foot_br", false), ), back_right: ( offset: (-1.5, 0.0, -6.0), - lateral: ("npc.pangolin.male.foot_br"), + lateral: ("npc.pangolin.male.foot_br", false), ), ), (Pangolin, Female): ( front_left: ( offset: (-1.5, 0.0, -6.0), - lateral: ("npc.pangolin.male.foot_fr"), + lateral: ("npc.pangolin.male.foot_fr", false), ), front_right: ( offset: (-1.5, 0.0, -6.0), - lateral: ("npc.pangolin.male.foot_fr"), + lateral: ("npc.pangolin.male.foot_fr", false), ), back_left: ( offset: (-1.5, 0.0, -6.0),//special case - lateral: ("npc.pangolin.male.foot_br"), + lateral: ("npc.pangolin.male.foot_br", false), ), back_right: ( offset: (-1.5, 0.0, -6.0), - lateral: ("npc.pangolin.male.foot_br"), + lateral: ("npc.pangolin.male.foot_br", false), ), ), (Maneater, Male): ( front_left: ( offset: (-6.0, 0.0, -6.5), - lateral: ("npc.maneater.male.foot_fr"), + lateral: ("npc.maneater.male.foot_fr", false), ), front_right: ( offset: (-2.0, 0.0, -6.5), - lateral: ("npc.maneater.male.foot_fr"), + lateral: ("npc.maneater.male.foot_fr", false), ), back_left: ( offset: (-6.0, -8.0, -9.0), - lateral: ("npc.maneater.male.foot_br"), + lateral: ("npc.maneater.male.foot_br", false), ), back_right: ( offset: (-2.0, -8.0, -9.0), - lateral: ("npc.maneater.male.foot_br"), + lateral: ("npc.maneater.male.foot_br", false), ), ), (Maneater, Female): ( front_left: ( offset: (-6.0, 0.0, -6.5), - lateral: ("npc.maneater.male.foot_fr"), + lateral: ("npc.maneater.male.foot_fr", false), ), front_right: ( offset: (-2.0, 0.0, -6.5), - lateral: ("npc.maneater.male.foot_fr"), + lateral: ("npc.maneater.male.foot_fr", false), ), back_left: ( offset: (-6.0, -8.0, -9.0), - lateral: ("npc.maneater.male.foot_br"), + lateral: ("npc.maneater.male.foot_br", false), ), back_right: ( offset: (-2.0, -8.0, -9.0), - lateral: ("npc.maneater.male.foot_br"), + lateral: ("npc.maneater.male.foot_br", false), ), ), (Hakulaq, Male): ( front_left: ( offset: (-10.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_fr"), + lateral: ("npc.hakulaq.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_fr"), + lateral: ("npc.hakulaq.male.foot_fr", false), ), back_left: ( offset: (-10.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_br"), + lateral: ("npc.hakulaq.male.foot_br", false), ), back_right: ( offset: (0.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_br"), + lateral: ("npc.hakulaq.male.foot_br", false), ), ), (Hakulaq, Female): ( front_left: ( offset: (-10.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_fr"), + lateral: ("npc.hakulaq.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_fr"), + lateral: ("npc.hakulaq.male.foot_fr", false), ), back_left: ( offset: (-10.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_br"), + lateral: ("npc.hakulaq.male.foot_br", false), ), back_right: ( offset: (0.0, 0.0, -9.0), - lateral: ("npc.hakulaq.male.foot_br"), + lateral: ("npc.hakulaq.male.foot_br", false), ), ), (Sandshark, Male): ( front_left: ( offset: (-17.0, 0.0, -12.0), - lateral: ("npc.sandshark.male.foot_fr"), + lateral: ("npc.sandshark.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -12.0), - lateral: ("npc.sandshark.male.foot_fr"), + lateral: ("npc.sandshark.male.foot_fr", false), ), back_left: ( offset: (-9.0, 0.0, -6.0), - lateral: ("npc.sandshark.male.foot_br"), + lateral: ("npc.sandshark.male.foot_br", false), ), back_right: ( offset: (-2.0, 0.0, -6.0), - lateral: ("npc.sandshark.male.foot_br"), + lateral: ("npc.sandshark.male.foot_br", false), ), ), (Sandshark, Female): ( front_left: ( offset: (-17.0, 0.0, -12.0), - lateral: ("npc.sandshark.male.foot_fr"), + lateral: ("npc.sandshark.male.foot_fr", false), ), front_right: ( offset: (0.0, 0.0, -12.0), - lateral: ("npc.sandshark.male.foot_fr"), + lateral: ("npc.sandshark.male.foot_fr", false), ), back_left: ( offset: (-9.0, 0.0, -6.0), - lateral: ("npc.sandshark.male.foot_br"), + lateral: ("npc.sandshark.male.foot_br", false), ), back_right: ( offset: (-2.0, 0.0, -6.0), - lateral: ("npc.sandshark.male.foot_br"), + lateral: ("npc.sandshark.male.foot_br", false), ), ), (Lavadrake, Male): ( front_left: ( offset: (-14.0, -4.0, -10.0), - lateral: ("npc.lavadrake.male.foot_fr"), + lateral: ("npc.lavadrake.male.foot_fr", false), ), front_right: ( offset: (0.0, -4.0, -10.0), - lateral: ("npc.lavadrake.male.foot_fr"), + lateral: ("npc.lavadrake.male.foot_fr", false), ), back_left: ( offset: (-14.0, -7.5, -10.0), - lateral: ("npc.lavadrake.male.foot_br"), + lateral: ("npc.lavadrake.male.foot_br", false), ), back_right: ( offset: (0.0, -7.5, -10.0), - lateral: ("npc.lavadrake.male.foot_br"), + lateral: ("npc.lavadrake.male.foot_br", false), ), ), (Lavadrake, Female): ( front_left: ( offset: (-14.0, -4.0, -10.0), - lateral: ("npc.lavadrake.male.foot_fr"), + lateral: ("npc.lavadrake.male.foot_fr", false), ), front_right: ( offset: (0.0, -4.0, -10.0), - lateral: ("npc.lavadrake.male.foot_fr"), + lateral: ("npc.lavadrake.male.foot_fr", false), ), back_left: ( offset: (-14.0, -7.5, -10.0), - lateral: ("npc.lavadrake.male.foot_br"), + lateral: ("npc.lavadrake.male.foot_br", false), ), back_right: ( offset: (0.0, -7.5, -10.0), - lateral: ("npc.lavadrake.male.foot_br"), + lateral: ("npc.lavadrake.male.foot_br", false), ), ), (Basilisk, Male): ( front_left: ( - offset: (-17.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_fr"), + offset: (-13.0, 0.0, -13.0), + lateral: ("npc.basilisk.male.foot_fr", false), ), front_right: ( - offset: (0.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_fr"), + offset: (0.0, 0.0, -13.0), + lateral: ("npc.basilisk.male.foot_fr", false), ), back_left: ( - offset: (-15.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_br"), + offset: (-11.0, -6.5, -13.0), + lateral: ("npc.basilisk.male.foot_br", false), ), back_right: ( - offset: (0.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_br"), + offset: (0.0, -6.5, -13.0), + lateral: ("npc.basilisk.male.foot_br", false), ), ), (Basilisk, Female): ( front_left: ( - offset: (-17.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_fr"), + offset: (-13.0, 0.0, -13.0), + lateral: ("npc.basilisk.male.foot_fr", false), ), front_right: ( - offset: (0.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_fr"), + offset: (0.0, 0.0, -13.0), + lateral: ("npc.basilisk.male.foot_fr", false), ), back_left: ( - offset: (-15.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_br"), + offset: (-12.0, -6.5, -13.0), + lateral: ("npc.basilisk.male.foot_br", false), ), back_right: ( - offset: (0.0, 0.0, -9.0), - lateral: ("npc.basilisk.male.foot_br"), + offset: (0.0, -6.5, -13.0), + lateral: ("npc.basilisk.male.foot_br", false), ), ), (Deadwood, Male): ( front_left: ( offset: (-5.0, -2.0, -7.0), - lateral: ("npc.deadwood.male.foot_fr"), + lateral: ("npc.deadwood.male.foot_fr", false), ), front_right: ( offset: (0.0, -2.0, -7.0), - lateral: ("npc.deadwood.male.foot_fr"), + lateral: ("npc.deadwood.male.foot_fr", false), ), back_left: ( offset: (-5.0, -1.0, -7.0), - lateral: ("npc.deadwood.male.foot_br"), + lateral: ("npc.deadwood.male.foot_br", false), ), back_right: ( offset: (0.0, -1.0, -7.0), - lateral: ("npc.deadwood.male.foot_br"), + lateral: ("npc.deadwood.male.foot_br", false), ), ), (Deadwood, Female): ( front_left: ( offset: (-5.0, -2.0, -7.0), - lateral: ("npc.deadwood.male.foot_fr"), + lateral: ("npc.deadwood.male.foot_fr", false), ), front_right: ( offset: (0.0, -2.0, -7.0), - lateral: ("npc.deadwood.male.foot_fr"), + lateral: ("npc.deadwood.male.foot_fr", false), ), back_left: ( offset: (-5.0, -1.0, -7.0), - lateral: ("npc.deadwood.male.foot_br"), + lateral: ("npc.deadwood.male.foot_br", false), ), back_right: ( offset: (0.0, -1.0, -7.0), - lateral: ("npc.deadwood.male.foot_br"), + lateral: ("npc.deadwood.male.foot_br", false), ), ), }) diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/mold-0.vox b/assets/voxygen/voxel/sprite/cave/ceiling/mold-0.vox new file mode 100644 index 0000000000..95c8b37275 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/mold-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c3c4a12e14333c1c7157ad2f164f62eddb508ded65f013f5c5a5b6e556eefe4 +size 1752 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/mold-1.vox b/assets/voxygen/voxel/sprite/cave/ceiling/mold-1.vox new file mode 100644 index 0000000000..bc52786f41 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/mold-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81c3c6186b6ad7d2e5b4b6580d4344c58ab1ee442064b965ef4c22e9b75b9f14 +size 1952 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/mold-2.vox b/assets/voxygen/voxel/sprite/cave/ceiling/mold-2.vox new file mode 100644 index 0000000000..bfed9a28fb --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/mold-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:518edd56e055055a33ff25455ac37ea4e649642158fb3206d1be877696f0216d +size 1932 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/mold-3.vox b/assets/voxygen/voxel/sprite/cave/ceiling/mold-3.vox new file mode 100644 index 0000000000..7574a3a04c --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/mold-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bf644d6af1473e2343fe597dfec018267598168d9457da8f6d84184051a5a65 +size 1812 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/mold-4.vox b/assets/voxygen/voxel/sprite/cave/ceiling/mold-4.vox new file mode 100644 index 0000000000..3e27f7226e --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/mold-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80117ff139a0b28ddc8b00e26f3005abe25444abd8e61fe2179941d2dd060abe +size 2140 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/mold-5.vox b/assets/voxygen/voxel/sprite/cave/ceiling/mold-5.vox new file mode 100644 index 0000000000..bd1f28ddf7 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/mold-5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:549d7ddb44c1a935fb72e9cdc089b381d8420b7e8635fe95d5dacc05f47d27e4 +size 2792 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/mold-6.vox b/assets/voxygen/voxel/sprite/cave/ceiling/mold-6.vox new file mode 100644 index 0000000000..8bab3a127b --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/mold-6.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:174071a1a2492ec08915df237cf6e02abe3f298485f772441133792d5ab49732 +size 2784 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-0.vox b/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-0.vox new file mode 100644 index 0000000000..e1cbdd049b --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09fefe153aa7fc9e996be1b6faccc7ba942f086d37c58dc1e4ee6f767d25a810 +size 2172 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-1.vox b/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-1.vox new file mode 100644 index 0000000000..97f3e54f01 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:125e71df27473d844020b9227bfc51c81613977a06d35e8026f83b6f9135c94a +size 4228 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-2.vox b/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-2.vox new file mode 100644 index 0000000000..a6cc79b5df --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a07467149a609213a94c6f4c24d48ac5c96631ba32f18498df7bad5ed08bb3dc +size 9560 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-3.vox b/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-3.vox new file mode 100644 index 0000000000..aff4ae412b --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/mushroom-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12766fc2f200d5c7167e246018bf52c7f62f46cf5dc881b67fd18e5b37db3553 +size 13808 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/orb-0.vox b/assets/voxygen/voxel/sprite/cave/ceiling/orb-0.vox new file mode 100644 index 0000000000..542b95acf8 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/orb-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d64d3a80633a4566d4d60875cf0f6ac2090085d8bc290bb139de2fc78b21bcb6 +size 9076 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/orb-1.vox b/assets/voxygen/voxel/sprite/cave/ceiling/orb-1.vox new file mode 100644 index 0000000000..d42d16f62a --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/orb-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6115ebcae7d7b54d84e3e6c30fde6fd2f800cb57f7206451236d8ed7dfaf5ee4 +size 7656 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/orb-2.vox b/assets/voxygen/voxel/sprite/cave/ceiling/orb-2.vox new file mode 100644 index 0000000000..fa5560f2c8 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/orb-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1774233cbd637dba79996a9cac0172244e7d339d13ed3ccef235f73865a4718b +size 8920 diff --git a/assets/voxygen/voxel/sprite/cave/ceiling/orb-3.vox b/assets/voxygen/voxel/sprite/cave/ceiling/orb-3.vox new file mode 100644 index 0000000000..1e7e6da8e6 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/ceiling/orb-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e9d89159ba14a386fb68da3ae97ff33d90ce736968356cf4719898164828925 +size 2448 diff --git a/assets/voxygen/voxel/sprite/mushrooms/mushroom-11.vox b/assets/voxygen/voxel/sprite/cave/mushroom-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/mushrooms/mushroom-11.vox rename to assets/voxygen/voxel/sprite/cave/mushroom-0.vox diff --git a/assets/voxygen/voxel/sprite/mushrooms/mushroom-12.vox b/assets/voxygen/voxel/sprite/cave/mushroom-1.vox similarity index 100% rename from assets/voxygen/voxel/sprite/mushrooms/mushroom-12.vox rename to assets/voxygen/voxel/sprite/cave/mushroom-1.vox diff --git a/assets/voxygen/voxel/sprite/mushrooms/mushroom-13.vox b/assets/voxygen/voxel/sprite/cave/mushroom-2.vox similarity index 100% rename from assets/voxygen/voxel/sprite/mushrooms/mushroom-13.vox rename to assets/voxygen/voxel/sprite/cave/mushroom-2.vox diff --git a/assets/voxygen/voxel/sprite/mushrooms/mushroom-14.vox b/assets/voxygen/voxel/sprite/cave/mushroom-3.vox similarity index 100% rename from assets/voxygen/voxel/sprite/mushrooms/mushroom-14.vox rename to assets/voxygen/voxel/sprite/cave/mushroom-3.vox diff --git a/assets/voxygen/voxel/sprite/mushrooms/mushroom-15.vox b/assets/voxygen/voxel/sprite/cave/mushroom-4.vox similarity index 100% rename from assets/voxygen/voxel/sprite/mushrooms/mushroom-15.vox rename to assets/voxygen/voxel/sprite/cave/mushroom-4.vox diff --git a/assets/voxygen/voxel/sprite/mushrooms/mushroom-16.vox b/assets/voxygen/voxel/sprite/cave/mushroom-5.vox similarity index 100% rename from assets/voxygen/voxel/sprite/mushrooms/mushroom-16.vox rename to assets/voxygen/voxel/sprite/cave/mushroom-5.vox diff --git a/assets/voxygen/voxel/sprite/cave/mushroom-6.vox b/assets/voxygen/voxel/sprite/cave/mushroom-6.vox new file mode 100644 index 0000000000..669131a8c0 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/mushroom-6.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42414a18fd0c1a82d0464dbd20fec8fd29ac9922b50c2adf5c6528521d690fc4 +size 4192 diff --git a/assets/voxygen/voxel/sprite/cave/mushroom-7.vox b/assets/voxygen/voxel/sprite/cave/mushroom-7.vox new file mode 100644 index 0000000000..4b729613a6 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/mushroom-7.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd12c935fdf4d34ec4f1139541b5456aef319da1f43c4f8a0498f8c3ed7db4b6 +size 9444 diff --git a/assets/voxygen/voxel/sprite/cave/mushroom-8.vox b/assets/voxygen/voxel/sprite/cave/mushroom-8.vox new file mode 100644 index 0000000000..a774338eaa --- /dev/null +++ b/assets/voxygen/voxel/sprite/cave/mushroom-8.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c6030ca22542cedcf177e3314b66545d39ebdab377a62844801101d901b8c9b +size 13772 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/claw.vox b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/claw.vox similarity index 100% rename from assets/voxygen/voxel/sprite/crafting_ing/claw.vox rename to assets/voxygen/voxel/sprite/crafting_ing/animal_misc/claw.vox diff --git a/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/fur.vox b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/fur.vox new file mode 100644 index 0000000000..cbfe7e29ef --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/fur.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7235059619f726a7c462dfe457978c78f548a98247c192bb72fdc2d8410bee6 +size 1580 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/grim_eyeball.vox b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/grim_eyeball.vox new file mode 100644 index 0000000000..21dd363cc8 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/grim_eyeball.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64367c752f08e479b9735ac5566304c3a5c57584f3695fc2be468cfb34db495f +size 1860 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/large_horn.vox b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/large_horn.vox new file mode 100644 index 0000000000..fa090cef89 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/large_horn.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5ed0cf35706481db968548affddaf272501cc5ccad30969e26431cd7e9ed06d +size 1652 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/lively_vine.vox b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/lively_vine.vox new file mode 100644 index 0000000000..73d2824834 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/lively_vine.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab254fae30f1970f11026b5c545081a146bd85b82fd530eb2af3095e6ff37813 +size 1436 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/phoenix_feather.vox b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/phoenix_feather.vox new file mode 100644 index 0000000000..4a7108527d --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/phoenix_feather.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99fed9a0ffb2ad95cf394a4d97cf2aa8a3b1b956637c43d5c0ea0633060d08e8 +size 1652 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/sharp_fang.vox b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/sharp_fang.vox new file mode 100644 index 0000000000..e7aa2f3a4f --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/sharp_fang.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23bfff03e4ed721ffda835dcc9ab53205873c70266e4d8ac961ffae76a7b468b +size 1444 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/venom_sac.vox b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/venom_sac.vox new file mode 100644 index 0000000000..565a05e8c3 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/venom_sac.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73430c8eb53e76802366faf8ca21a1a1b77a986f40764fecb9dabe8498b4f8db +size 1472 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/ooze.vox b/assets/voxygen/voxel/sprite/crafting_ing/animal_misc/viscous_ooze.vox similarity index 100% rename from assets/voxygen/voxel/sprite/crafting_ing/ooze.vox rename to assets/voxygen/voxel/sprite/crafting_ing/animal_misc/viscous_ooze.vox diff --git a/assets/voxygen/voxel/sprite/crafting_ing/cloth/cotton.vox b/assets/voxygen/voxel/sprite/crafting_ing/cloth/cotton.vox new file mode 100644 index 0000000000..b770e25568 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/cloth/cotton.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2f959c471d8826a325aaf663194aca0bd70a3793602c586093fab76303f97ce +size 1672 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/cloth/lifecloth.vox b/assets/voxygen/voxel/sprite/crafting_ing/cloth/lifecloth.vox new file mode 100644 index 0000000000..50a3aa66fb --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/cloth/lifecloth.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e96af0d3260adfa882201b3b21c05fb503eb2c1ca2e033ca395bb908418c0a58 +size 1660 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/cloth/linen.vox b/assets/voxygen/voxel/sprite/crafting_ing/cloth/linen.vox new file mode 100644 index 0000000000..fe76d000e0 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/cloth/linen.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e0266cd9e34b6fe03cd2bef398da2cd811c1d2b48d81277aaadcaa3648a691c +size 1660 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/cloth/linen_red.vox b/assets/voxygen/voxel/sprite/crafting_ing/cloth/linen_red.vox new file mode 100644 index 0000000000..e0b6191def --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/cloth/linen_red.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68e1bd9a8187420099bc80288b14da1f4843645e5a94f1a42f2226b3e3cfd9c2 +size 1660 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/cloth/moonweave.vox b/assets/voxygen/voxel/sprite/crafting_ing/cloth/moonweave.vox new file mode 100644 index 0000000000..48d02f3aac --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/cloth/moonweave.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db14c7c922df2e38092da830763fe53ffc877eb8c99d96ad29f9cf722b1bc3cc +size 1672 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/cloth/silk.vox b/assets/voxygen/voxel/sprite/crafting_ing/cloth/silk.vox new file mode 100644 index 0000000000..61cce659cc --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/cloth/silk.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82a5d5fa08cd1264fc41708e9c9ce08e70ec0c0b2d478d91aefe00848fb9db3d +size 1672 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/cloth/sunsilk.vox b/assets/voxygen/voxel/sprite/crafting_ing/cloth/sunsilk.vox new file mode 100644 index 0000000000..1a83551d93 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/cloth/sunsilk.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5e235de49413bea5826870c05c269ede571ba1dcccd41dec3633d7e319cc96b +size 1672 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/cloth/wool.vox b/assets/voxygen/voxel/sprite/crafting_ing/cloth/wool.vox new file mode 100644 index 0000000000..9b5beb80ac --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/cloth/wool.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:557ae779035b131f117510f8a2ed2448aa13b23a01e2aadf4d591cfb69f9f96e +size 2040 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/cotton_boll.vox b/assets/voxygen/voxel/sprite/crafting_ing/cotton_boll.vox new file mode 100644 index 0000000000..971907c728 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/cotton_boll.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b2ba7aab868bfce31658fd9e0cac992daabee540fc89fcdcfab1c39214faa1e +size 1724 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/pelt.vox b/assets/voxygen/voxel/sprite/crafting_ing/hide/animal_hide.vox similarity index 100% rename from assets/voxygen/voxel/sprite/crafting_ing/pelt.vox rename to assets/voxygen/voxel/sprite/crafting_ing/hide/animal_hide.vox diff --git a/assets/voxygen/voxel/sprite/crafting_ing/hide/carapace.vox b/assets/voxygen/voxel/sprite/crafting_ing/hide/carapace.vox new file mode 100644 index 0000000000..114cee75db --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/hide/carapace.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c97130d54f374739f8aa182eb10f7aa20d2583525f09f595b561c5035125b37 +size 1352 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/dragon_scale.vox b/assets/voxygen/voxel/sprite/crafting_ing/hide/dragon_scale.vox similarity index 100% rename from assets/voxygen/voxel/sprite/crafting_ing/dragon_scale.vox rename to assets/voxygen/voxel/sprite/crafting_ing/hide/dragon_scale.vox diff --git a/assets/voxygen/voxel/sprite/crafting_ing/plate.vox b/assets/voxygen/voxel/sprite/crafting_ing/hide/plate.vox similarity index 100% rename from assets/voxygen/voxel/sprite/crafting_ing/plate.vox rename to assets/voxygen/voxel/sprite/crafting_ing/hide/plate.vox diff --git a/assets/voxygen/voxel/sprite/crafting_ing/hide/rugged.vox b/assets/voxygen/voxel/sprite/crafting_ing/hide/rugged.vox new file mode 100644 index 0000000000..5d5f37ab09 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/hide/rugged.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38c4592c4df8d7555a82a36740300255690cd7f326e2f7ebe275520730fb0a3c +size 2024 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/hide/rugged_hide.vox b/assets/voxygen/voxel/sprite/crafting_ing/hide/rugged_hide.vox new file mode 100644 index 0000000000..16683c1c58 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/hide/rugged_hide.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a27f4ffd19f3fc06290ac6a960c526254fd36e1f0fa3a977f84c32fc23fcb700 +size 56508 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/scale.vox b/assets/voxygen/voxel/sprite/crafting_ing/hide/scale.vox similarity index 100% rename from assets/voxygen/voxel/sprite/crafting_ing/scale.vox rename to assets/voxygen/voxel/sprite/crafting_ing/hide/scale.vox diff --git a/assets/voxygen/voxel/sprite/crafting_ing/hide/tough_hide.vox b/assets/voxygen/voxel/sprite/crafting_ing/hide/tough_hide.vox new file mode 100644 index 0000000000..f8a7fe8a9f --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/hide/tough_hide.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00cf96424deb37bc40fc3c0fdefd90ef2647f12d56eec10afb377cc99ab3383f +size 2000 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/hide/troll_hide.vox b/assets/voxygen/voxel/sprite/crafting_ing/hide/troll_hide.vox new file mode 100644 index 0000000000..31a3c6ab58 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/hide/troll_hide.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd6a6e42e51b8a6cbd0905e5f3a01dbfbceeb2dbae60f4e0c32732fc5839492b +size 1756 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/leather/leather_strips.vox b/assets/voxygen/voxel/sprite/crafting_ing/leather/leather_strips.vox new file mode 100644 index 0000000000..e30b36727d --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/leather/leather_strips.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f0a2696c648d3be7c63f523ed727390d6349d301203026b0e1d53cebdb332c7 +size 1300 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/leather/rigid.vox b/assets/voxygen/voxel/sprite/crafting_ing/leather/rigid.vox new file mode 100644 index 0000000000..82b0463774 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/leather/rigid.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53bf98bbcd26e39203c11ffb61f0f8ab94fd75d2e88a55973a140bb7036ee54f +size 1768 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/leather/rigid_leather.vox b/assets/voxygen/voxel/sprite/crafting_ing/leather/rigid_leather.vox new file mode 100644 index 0000000000..eb5cac1923 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/leather/rigid_leather.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f371ca2d5d2d72e6a4739ff9534bd55081b6caafc914ab535c21a975eb602c4 +size 56252 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/leather/simple_leather.vox b/assets/voxygen/voxel/sprite/crafting_ing/leather/simple_leather.vox new file mode 100644 index 0000000000..a7c88b0747 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/leather/simple_leather.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f1954e414f0323f2c15da646a90783a080e75049872a86edf2831ea3f40f764 +size 1956 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/leather/thick_leather.vox b/assets/voxygen/voxel/sprite/crafting_ing/leather/thick_leather.vox new file mode 100644 index 0000000000..1938df9ea7 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/leather/thick_leather.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9257d6c37297d51194a7056af7c53ece49caad15fa6c17b26056c6a657c51f45 +size 2536 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/plant_fiber.vox b/assets/voxygen/voxel/sprite/crafting_ing/plant_fiber.vox new file mode 100644 index 0000000000..17ae17bd58 --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/plant_fiber.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee511c732c60ca51fae16bda6c774c3dbbfe9e991deb54f9924e0476ef9138ed +size 1356 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/sticky_thread.vox b/assets/voxygen/voxel/sprite/crafting_ing/sticky_thread.vox new file mode 100644 index 0000000000..619510de8b --- /dev/null +++ b/assets/voxygen/voxel/sprite/crafting_ing/sticky_thread.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cfeba16a51680ad538d40e29358ad47731d8bf0520f144a1902b6914982cfc1 +size 1652 diff --git a/assets/voxygen/voxel/sprite/flowers/cotton.vox b/assets/voxygen/voxel/sprite/flowers/cotton.vox new file mode 100644 index 0000000000..1eb6022384 --- /dev/null +++ b/assets/voxygen/voxel/sprite/flowers/cotton.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d60a7258b7a1e90edef70ad74a0979668730e128db45d4f4da9a94e6eb71a05a +size 1704 diff --git a/assets/voxygen/voxel/sprite/flowers/flax.vox b/assets/voxygen/voxel/sprite/flowers/flax.vox new file mode 100644 index 0000000000..8b80f1044d --- /dev/null +++ b/assets/voxygen/voxel/sprite/flowers/flax.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c437f66903aafe0a54697ca38ba0081211156440e6f6d76d86a353041c7d6089 +size 1280 diff --git a/assets/voxygen/voxel/sprite/flowers/moonbell.vox b/assets/voxygen/voxel/sprite/flowers/moonbell.vox new file mode 100644 index 0000000000..a3fe9882ea --- /dev/null +++ b/assets/voxygen/voxel/sprite/flowers/moonbell.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4b08ab894efb7a7cdb354a63dcf25ce15507040f47fbfd931299d9a9e4089f2 +size 1976 diff --git a/assets/voxygen/voxel/sprite/flowers/pyrebloom.vox b/assets/voxygen/voxel/sprite/flowers/pyrebloom.vox new file mode 100644 index 0000000000..c722d46051 --- /dev/null +++ b/assets/voxygen/voxel/sprite/flowers/pyrebloom.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9c91d796f2845dff17364e59bdf9111ac1e5218228c7fa6343356af3cc4a081 +size 2216 diff --git a/assets/voxygen/voxel/sprite/food/meat/beast_large_cooked.vox b/assets/voxygen/voxel/sprite/food/meat/beast_large_cooked.vox new file mode 100644 index 0000000000..012358136f --- /dev/null +++ b/assets/voxygen/voxel/sprite/food/meat/beast_large_cooked.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2890a4916f30ec18880ee3e69a0815651e8567727ca8e7975541296c903aeec7 +size 2988 diff --git a/assets/voxygen/voxel/sprite/food/meat/beast_large_raw.vox b/assets/voxygen/voxel/sprite/food/meat/beast_large_raw.vox new file mode 100644 index 0000000000..768d7d8560 --- /dev/null +++ b/assets/voxygen/voxel/sprite/food/meat/beast_large_raw.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c23f880c88e22373ba67b337c9c962fba85df192095981ad8cd18fd20e9f841 +size 2988 diff --git a/assets/voxygen/voxel/sprite/food/meat/beast_small_cooked.vox b/assets/voxygen/voxel/sprite/food/meat/beast_small_cooked.vox new file mode 100644 index 0000000000..4d90fe552f --- /dev/null +++ b/assets/voxygen/voxel/sprite/food/meat/beast_small_cooked.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d60806aebbb549d0dc5033ac866d0a82121fdb908663921029b509b99b9e4406 +size 2224 diff --git a/assets/voxygen/voxel/sprite/food/meat/beast_small_raw.vox b/assets/voxygen/voxel/sprite/food/meat/beast_small_raw.vox new file mode 100644 index 0000000000..7c872bcc8c --- /dev/null +++ b/assets/voxygen/voxel/sprite/food/meat/beast_small_raw.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28ed3f2a0851c2a23d08fbae29540834eadce853018e113c85aabcf6a8e2aeee +size 2224 diff --git a/assets/voxygen/voxel/sprite/food/meat/bird_cooked.vox b/assets/voxygen/voxel/sprite/food/meat/bird_cooked.vox new file mode 100644 index 0000000000..7e4a7874de --- /dev/null +++ b/assets/voxygen/voxel/sprite/food/meat/bird_cooked.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7febdd31f6934727fe5fc589b8fee9a013a8ee166688990ab30bc2babc159a4 +size 1696 diff --git a/assets/voxygen/voxel/sprite/food/meat/bird_large_cooked.vox b/assets/voxygen/voxel/sprite/food/meat/bird_large_cooked.vox new file mode 100644 index 0000000000..d15d3e3bd6 --- /dev/null +++ b/assets/voxygen/voxel/sprite/food/meat/bird_large_cooked.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01af9135fe8f5fd0fd021844bce8be96255680c466338d519c52ebef8cd5ed71 +size 4980 diff --git a/assets/voxygen/voxel/sprite/food/meat/bird_large_raw.vox b/assets/voxygen/voxel/sprite/food/meat/bird_large_raw.vox new file mode 100644 index 0000000000..0cd51ab9d9 --- /dev/null +++ b/assets/voxygen/voxel/sprite/food/meat/bird_large_raw.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa265eff64b3152d40138672b4cee54c9341f508e5a82a668aca24c963bac82c +size 4980 diff --git a/assets/voxygen/voxel/sprite/food/meat/bird_raw.vox b/assets/voxygen/voxel/sprite/food/meat/bird_raw.vox new file mode 100644 index 0000000000..b8690b066a --- /dev/null +++ b/assets/voxygen/voxel/sprite/food/meat/bird_raw.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aee563fdbb3dad20383146ba4890e8796d98247bfbdf529856a1120cb0790f63 +size 1696 diff --git a/assets/voxygen/voxel/sprite/food/meat/fish_cooked.vox b/assets/voxygen/voxel/sprite/food/meat/fish_cooked.vox new file mode 100644 index 0000000000..20fb7bd8c9 --- /dev/null +++ b/assets/voxygen/voxel/sprite/food/meat/fish_cooked.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25e81b97aff3c863936e6d3c661ffe6ad321328d8286a5fc4a02cb4bfb3fe4aa +size 1720 diff --git a/assets/voxygen/voxel/sprite/food/meat_fish.vox b/assets/voxygen/voxel/sprite/food/meat/fish_raw.vox similarity index 100% rename from assets/voxygen/voxel/sprite/food/meat_fish.vox rename to assets/voxygen/voxel/sprite/food/meat/fish_raw.vox diff --git a/assets/voxygen/voxel/sprite/food/meat/tough_cooked.vox b/assets/voxygen/voxel/sprite/food/meat/tough_cooked.vox new file mode 100644 index 0000000000..4860dde913 --- /dev/null +++ b/assets/voxygen/voxel/sprite/food/meat/tough_cooked.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edf7416e28df9fc3eb4e7f6341d6b1841db0e4fc802ea72c92c31db4335d534a +size 1836 diff --git a/assets/voxygen/voxel/sprite/food/meat/tough_raw.vox b/assets/voxygen/voxel/sprite/food/meat/tough_raw.vox new file mode 100644 index 0000000000..503d39e3c5 --- /dev/null +++ b/assets/voxygen/voxel/sprite/food/meat/tough_raw.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a83b8a9b35adcccf5d9ed694b7b9c8a198ca4c44c5d451b844bdce72500f192 +size 1836 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/bloodstone.vox b/assets/voxygen/voxel/sprite/mineral/deposit/bloodstone.vox new file mode 100644 index 0000000000..7ec4dfe872 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/bloodstone.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8272af67384202ecc9fb0ff0e7dfc7fa1f93105c7da2f1ecf2edb4f46044c096 +size 2228 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/coal.vox b/assets/voxygen/voxel/sprite/mineral/deposit/coal.vox new file mode 100644 index 0000000000..8036bd718c --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/coal.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0818816670a55f46edf0cfd730add93e157045102b8928874114657bb70e6f4 +size 2372 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/cobalt.vox b/assets/voxygen/voxel/sprite/mineral/deposit/cobalt.vox new file mode 100644 index 0000000000..9a66eea5dd --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/cobalt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ed9188532a2c2dbcf46dc4dce8f977cff8635e504d94fda918c82cd99702364 +size 2372 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/copper.vox b/assets/voxygen/voxel/sprite/mineral/deposit/copper.vox new file mode 100644 index 0000000000..61a8056232 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/copper.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d737c3d77bd8a0b89243aeb9bf569496038e4d41a5a247b01499f89eda5fdfc4 +size 2372 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/blue-0.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/blue-0.vox new file mode 100644 index 0000000000..43bec2f0ee --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/blue-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05897d073c7d3a04e943c1459431be73ed325ee1a83154d9710a1bde1aad657e +size 4556 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/blue-1.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/blue-1.vox new file mode 100644 index 0000000000..baa05ad81f --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/blue-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4099ec836eb24ecc33db5e71b2859f10bc24581884e8e855ce79acac2129e260 +size 4888 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/blue-2.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/blue-2.vox new file mode 100644 index 0000000000..969f280ae7 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/blue-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d1d11541ee4f8982605247354cb09d564620719fff8bdb213f4643b7337839f +size 8660 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/green-0.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/green-0.vox new file mode 100644 index 0000000000..51656c1d9e --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/green-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54a605ba96c9241dc88793cbe2c7ae87b7e51a1b25fdfed10c0501a87596170c +size 4556 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/green-1.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/green-1.vox new file mode 100644 index 0000000000..acbcc423e9 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/green-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15188752e9e5256fc2ab95b7c0e4346e976e2301fc7f0d2e1df688257be819c9 +size 4888 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/green-2.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/green-2.vox new file mode 100644 index 0000000000..7911b02e7b --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/green-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94c059f8cd7634f35b3c4e49028bfef3c29fb4760cbd151be36b7d8237b732f3 +size 8660 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-0.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-0.vox new file mode 100644 index 0000000000..f8c23de68b --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4cfb8491b6e6c1442674756731ff10f279ad2a898705cf5bd919939d841477e +size 4556 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-1.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-1.vox new file mode 100644 index 0000000000..677d2e71c1 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fedd42c1fab05bdb56a4c0ac8e7cb5925fdadb8f2a159b23519e51a34818655 +size 4888 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-2.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-2.vox new file mode 100644 index 0000000000..8d0222e6df --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa9a72da5335eb48f3f5c5f8369157d802468852323fd05c42625b3217028588 +size 8660 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-3.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-3.vox new file mode 100644 index 0000000000..ef27e5d565 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/ceiling/purple-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e2f029cd9927734e163bcf64108f56f20025e9e136aafe7a5ed28fd47135daa +size 19644 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/blue-0.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/blue-0.vox new file mode 100644 index 0000000000..b89a9e30e7 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/blue-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ce071a8dd109c2d17c8b3f1ad15050c0603ebb4adec1315bb2ae8ebaccfa107 +size 4556 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/blue-1.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/blue-1.vox new file mode 100644 index 0000000000..e096712b8e --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/blue-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7406abb14304566bbc6b98b57b937c9adc50e07d284d874d870d3681a41067cb +size 4888 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/blue-2.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/blue-2.vox new file mode 100644 index 0000000000..ef3bb37450 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/blue-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:242f66c616dbe59aa80cdfc6c9c50823201d60640aa66e5b8c3325d03940e703 +size 8660 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/green-0.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/green-0.vox new file mode 100644 index 0000000000..30abc3a9c2 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/green-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2732fcd871a9ec088fe3473d5c467ee8fdd92dec93fd83fdc12062456fa875b +size 4556 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/green-1.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/green-1.vox new file mode 100644 index 0000000000..9869bd9471 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/green-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcfaafc68779903adc6aa8065fcdbdf7fb721a5b9e38012af65414c8a27597f5 +size 4888 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/green-2.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/green-2.vox new file mode 100644 index 0000000000..bf73e43669 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/green-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63b7cff3d2afbd6c5e549073b9f7a30085a58bed0166c2a01f1a069c75a379d1 +size 8660 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/purple-0.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/purple-0.vox new file mode 100644 index 0000000000..4fb3b4ba89 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/purple-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21e099721b921b51a3e3e29f450d6f523fcd0bb647e0c8d15d6df63bbfa43ca4 +size 4556 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/purple-1.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/purple-1.vox new file mode 100644 index 0000000000..f5e7aa5d3f --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/purple-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed8bba05993b064d070273fd09ce1591710b9c80c70b9d304140b669a989e911 +size 4888 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/purple-2.vox b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/purple-2.vox new file mode 100644 index 0000000000..eb8e9554a8 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/crystal/floor/purple-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff85f0c94b72efba0c5eca2ef910b10ca0bb91da5b0eed25592c539dbac23f5b +size 8660 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/gold.vox b/assets/voxygen/voxel/sprite/mineral/deposit/gold.vox new file mode 100644 index 0000000000..6506b300ab --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/gold.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a70efb5e148605b7c212acf35b2626a442f9b101d2cd3d1286426049b5dadaa +size 1948 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/iron.vox b/assets/voxygen/voxel/sprite/mineral/deposit/iron.vox new file mode 100644 index 0000000000..36be977765 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/iron.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55d608a594955b6b2ddddea605d323450b8daa5eed264b8b4afe413d695ce2aa +size 2372 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/silver.vox b/assets/voxygen/voxel/sprite/mineral/deposit/silver.vox new file mode 100644 index 0000000000..caaf379f89 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/silver.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88dee6d9cfd7dddecd8832773d2ae070385663ecffd022d732fe0e9e48c71122 +size 1964 diff --git a/assets/voxygen/voxel/sprite/mineral/deposit/tin.vox b/assets/voxygen/voxel/sprite/mineral/deposit/tin.vox new file mode 100644 index 0000000000..8cfe3fda7a --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/deposit/tin.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:313c16d8b76353ca559140668a209a0c58d47fc4806642979cf810cc508d72a6 +size 2372 diff --git a/assets/voxygen/voxel/sprite/gem/amethyst-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/amethyst-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/amethyst-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/amethyst-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/amethyst_S-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/amethyst_S-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/amethyst_S-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/amethyst_S-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/amethystgem.vox b/assets/voxygen/voxel/sprite/mineral/gem/amethystgem.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/amethystgem.vox rename to assets/voxygen/voxel/sprite/mineral/gem/amethystgem.vox diff --git a/assets/voxygen/voxel/sprite/gem/diamond-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/diamond-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/diamond-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/diamond-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/diamond_S-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/diamond_S-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/diamond_S-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/diamond_S-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/diamondgem.vox b/assets/voxygen/voxel/sprite/mineral/gem/diamondgem.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/diamondgem.vox rename to assets/voxygen/voxel/sprite/mineral/gem/diamondgem.vox diff --git a/assets/voxygen/voxel/sprite/gem/emerald-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/emerald-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/emerald-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/emerald-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/emerald_S-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/emerald_S-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/emerald_S-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/emerald_S-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/emeraldgem.vox b/assets/voxygen/voxel/sprite/mineral/gem/emeraldgem.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/emeraldgem.vox rename to assets/voxygen/voxel/sprite/mineral/gem/emeraldgem.vox diff --git a/assets/voxygen/voxel/sprite/gem/gem_blue.vox b/assets/voxygen/voxel/sprite/mineral/gem/gem_blue.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/gem_blue.vox rename to assets/voxygen/voxel/sprite/mineral/gem/gem_blue.vox diff --git a/assets/voxygen/voxel/sprite/gem/gem_green.vox b/assets/voxygen/voxel/sprite/mineral/gem/gem_green.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/gem_green.vox rename to assets/voxygen/voxel/sprite/mineral/gem/gem_green.vox diff --git a/assets/voxygen/voxel/sprite/gem/gem_red.vox b/assets/voxygen/voxel/sprite/mineral/gem/gem_red.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/gem_red.vox rename to assets/voxygen/voxel/sprite/mineral/gem/gem_red.vox diff --git a/assets/voxygen/voxel/sprite/gem/ruby-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/ruby-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/ruby-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/ruby-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/ruby_S-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/ruby_S-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/ruby_S-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/ruby_S-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/rubygem.vox b/assets/voxygen/voxel/sprite/mineral/gem/rubygem.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/rubygem.vox rename to assets/voxygen/voxel/sprite/mineral/gem/rubygem.vox diff --git a/assets/voxygen/voxel/sprite/gem/sapphire-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/sapphire-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/sapphire-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/sapphire-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/sapphire_S-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/sapphire_S-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/sapphire_S-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/sapphire_S-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/sapphiregem.vox b/assets/voxygen/voxel/sprite/mineral/gem/sapphiregem.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/sapphiregem.vox rename to assets/voxygen/voxel/sprite/mineral/gem/sapphiregem.vox diff --git a/assets/voxygen/voxel/sprite/gem/topaz-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/topaz-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/topaz-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/topaz-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/topaz_S-0.vox b/assets/voxygen/voxel/sprite/mineral/gem/topaz_S-0.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/topaz_S-0.vox rename to assets/voxygen/voxel/sprite/mineral/gem/topaz_S-0.vox diff --git a/assets/voxygen/voxel/sprite/gem/topazgem.vox b/assets/voxygen/voxel/sprite/mineral/gem/topazgem.vox similarity index 100% rename from assets/voxygen/voxel/sprite/gem/topazgem.vox rename to assets/voxygen/voxel/sprite/mineral/gem/topazgem.vox diff --git a/assets/voxygen/voxel/sprite/mineral/ingot/bloodsteel.vox b/assets/voxygen/voxel/sprite/mineral/ingot/bloodsteel.vox new file mode 100644 index 0000000000..751c105d1f --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ingot/bloodsteel.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97459a86e998c7e1008f02ad01565b282631d125a162ba941878d2fa714c2b2d +size 1280 diff --git a/assets/voxygen/voxel/sprite/mineral/ingot/bronze.vox b/assets/voxygen/voxel/sprite/mineral/ingot/bronze.vox new file mode 100644 index 0000000000..e43312096e --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ingot/bronze.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eaae5bf5f0ee3deca24e4c8c189a65027586486652bfc65fd20c9eab32b1ede +size 1232 diff --git a/assets/voxygen/voxel/sprite/mineral/ingot/cobalt.vox b/assets/voxygen/voxel/sprite/mineral/ingot/cobalt.vox new file mode 100644 index 0000000000..b8c94e74e9 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ingot/cobalt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d0cf2cceb261911764c4834744a294e4016ca24cf4ebb70620729fc694869f4 +size 1272 diff --git a/assets/voxygen/voxel/sprite/mineral/ingot/copper.vox b/assets/voxygen/voxel/sprite/mineral/ingot/copper.vox new file mode 100644 index 0000000000..400003936d --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ingot/copper.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c02b7fa651cba4fb6267c101849347e49471b2c281db5e49b14986c85738c6f4 +size 1192 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/gold_ingot.vox b/assets/voxygen/voxel/sprite/mineral/ingot/gold.vox similarity index 100% rename from assets/voxygen/voxel/sprite/crafting_ing/gold_ingot.vox rename to assets/voxygen/voxel/sprite/mineral/ingot/gold.vox diff --git a/assets/voxygen/voxel/sprite/mineral/ingot/iron.vox b/assets/voxygen/voxel/sprite/mineral/ingot/iron.vox new file mode 100644 index 0000000000..5f87df0628 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ingot/iron.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5a6354364caf3d8cc7a2822e8cf08c37ec2bdb0fdbf2c1573d9a722d4cc18f5 +size 1240 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/orichalcum_ingot.vox b/assets/voxygen/voxel/sprite/mineral/ingot/orichalcum.vox similarity index 100% rename from assets/voxygen/voxel/sprite/crafting_ing/orichalcum_ingot.vox rename to assets/voxygen/voxel/sprite/mineral/ingot/orichalcum.vox diff --git a/assets/voxygen/voxel/sprite/crafting_ing/silver_ingot.vox b/assets/voxygen/voxel/sprite/mineral/ingot/silver.vox similarity index 100% rename from assets/voxygen/voxel/sprite/crafting_ing/silver_ingot.vox rename to assets/voxygen/voxel/sprite/mineral/ingot/silver.vox diff --git a/assets/voxygen/voxel/sprite/mineral/ingot/steel.vox b/assets/voxygen/voxel/sprite/mineral/ingot/steel.vox new file mode 100644 index 0000000000..5c43b442e4 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ingot/steel.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4f72831ad0ff2115b733b2a0e66f55725973fae7b508f3e1bd70d5c8418d296 +size 1272 diff --git a/assets/voxygen/voxel/sprite/mineral/ingot/tin.vox b/assets/voxygen/voxel/sprite/mineral/ingot/tin.vox new file mode 100644 index 0000000000..714debbb6c --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ingot/tin.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae13071c619b041fd57ddaceaede341e184c123e2a477dcc397aa233ec86dfdc +size 1200 diff --git a/assets/voxygen/voxel/sprite/mineral/ore/bloodstone.vox b/assets/voxygen/voxel/sprite/mineral/ore/bloodstone.vox new file mode 100644 index 0000000000..438ebf0444 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ore/bloodstone.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51e1a4f5513ef80b810ed76f7b01f8ff58bb5f19eb7a98fb6a7fde3436273440 +size 1384 diff --git a/assets/voxygen/voxel/sprite/mineral/ore/coal.vox b/assets/voxygen/voxel/sprite/mineral/ore/coal.vox new file mode 100644 index 0000000000..839abed9c7 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ore/coal.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bc17b941ab277aae3559764789546a15fa8d56e82a9b849f9310e70fd17f62e +size 1408 diff --git a/assets/voxygen/voxel/sprite/mineral/ore/cobalt.vox b/assets/voxygen/voxel/sprite/mineral/ore/cobalt.vox new file mode 100644 index 0000000000..b92c5aa0a8 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ore/cobalt.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a70804b95cb066dd3e46cfd47b27a02958b50e02a67f348d0da39abe5d31c5f +size 1288 diff --git a/assets/voxygen/voxel/sprite/mineral/ore/copper.vox b/assets/voxygen/voxel/sprite/mineral/ore/copper.vox new file mode 100644 index 0000000000..1ae7493f23 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ore/copper.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a02a7d874be3e5cf61a84024206650e39aa7f5a90cefb5c133cdd8caa151caf +size 1364 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/gold_ore_drop.vox b/assets/voxygen/voxel/sprite/mineral/ore/gold.vox similarity index 100% rename from assets/voxygen/voxel/sprite/crafting_ing/gold_ore_drop.vox rename to assets/voxygen/voxel/sprite/mineral/ore/gold.vox diff --git a/assets/voxygen/voxel/sprite/mineral/ore/iron.vox b/assets/voxygen/voxel/sprite/mineral/ore/iron.vox new file mode 100644 index 0000000000..5a465f9379 --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ore/iron.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a15e355bdaeba7d25a731a994588161d15ef2370cb4b084a89d54752bff3e704 +size 1304 diff --git a/assets/voxygen/voxel/sprite/crafting_ing/silver_ore_drop.vox b/assets/voxygen/voxel/sprite/mineral/ore/silver.vox similarity index 100% rename from assets/voxygen/voxel/sprite/crafting_ing/silver_ore_drop.vox rename to assets/voxygen/voxel/sprite/mineral/ore/silver.vox diff --git a/assets/voxygen/voxel/sprite/mineral/ore/tin.vox b/assets/voxygen/voxel/sprite/mineral/ore/tin.vox new file mode 100644 index 0000000000..c265bc6bcc --- /dev/null +++ b/assets/voxygen/voxel/sprite/mineral/ore/tin.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2306340c1a7a0e2b7b9d9b57c4ef7c56f27e136d626e39cc43073a0f13d2af8e +size 1316 diff --git a/assets/voxygen/voxel/sprite_manifest.ron b/assets/voxygen/voxel/sprite_manifest.ron index 0e997614ec..8ca8d3bbb2 100644 --- a/assets/voxygen/voxel/sprite_manifest.ron +++ b/assets/voxygen/voxel/sprite_manifest.ron @@ -41,7 +41,6 @@ Window4: Some(( ], wind_sway: 0.0, )), - // Cacti LargeCactus: Some(( variations: [ @@ -108,7 +107,6 @@ ShortFlatCactus: Some(( ], wind_sway: 0.0, )), - // Flowers BlueFlower: Some(( variations: [ @@ -325,8 +323,6 @@ Sunflower: Some(( ], wind_sway: 0.1, )), - - // Grass LongGrass: Some(( variations: [ @@ -448,7 +444,6 @@ LargeGrass: Some(( ], wind_sway: 0.5, )), - // Fruit Apple: Some(( variations: [ @@ -460,7 +455,6 @@ Apple: Some(( ], wind_sway: 0.0, )), - // Mushrooms Mushroom: Some(( variations: [ @@ -522,44 +516,138 @@ Mushroom: Some(( ], wind_sway: 0.1, )), - // Cave Mushrooms CaveMushroom: Some(( variations: [ ( - model: "voxygen.voxel.sprite.mushrooms.mushroom-11", + model: "voxygen.voxel.sprite.cave.mushroom-0", offset: (-8.0, -8.0, 0.0), lod_axes: (1.0, 1.0, 1.0), ), ( - model: "voxygen.voxel.sprite.mushrooms.mushroom-12", + model: "voxygen.voxel.sprite.cave.mushroom-1", offset: (-5.0, -5.5, 0.0), lod_axes: (1.0, 1.0, 1.0), ), ( - model: "voxygen.voxel.sprite.mushrooms.mushroom-13", + model: "voxygen.voxel.sprite.cave.mushroom-2", offset: (-5.5, -5.5, 0.0), lod_axes: (1.0, 1.0, 1.0), ), ( - model: "voxygen.voxel.sprite.mushrooms.mushroom-14", + model: "voxygen.voxel.sprite.cave.mushroom-3", offset: (-2.5, -2.5, 0.0), lod_axes: (1.0, 1.0, 1.0), ), ( - model: "voxygen.voxel.sprite.mushrooms.mushroom-15", + model: "voxygen.voxel.sprite.cave.mushroom-4", offset: (-1.5, -1.5, 0.0), lod_axes: (1.0, 1.0, 1.0), ), ( - model: "voxygen.voxel.sprite.mushrooms.mushroom-16", + model: "voxygen.voxel.sprite.cave.mushroom-5", offset: (-5.5, -5.5, 0.0), lod_axes: (1.0, 1.0, 1.0), ), + ( + model: "voxygen.voxel.sprite.cave.mushroom-6", + offset: (-8.5, -8.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.mushroom-7", + offset: (-11.5, -11.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.mushroom-8", + offset: (-12.5, -15.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ], + wind_sway: 0.0, +)), +// Ceiling Mushrooms +CeilingMushroom: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cave.ceiling.mushroom-0", + offset: (-8.0, -8.0, -22.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.mushroom-1", + offset: (-8.5, -8.5, -9.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.mushroom-2", + offset: (-11.5, -11.5, -17.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.mold-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.mold-1", + offset: (-5.5, -5.5, -7.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.mold-2", + offset: (-5.5, -5.5, -7.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.mold-3", + offset: (-5.5, -5.5, 2.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.mold-4", + offset: (-2.0, -2.0, -49.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.mold-5", + offset: (-2.0, -2.0, -79.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.mold-6", + offset: (-2.0, -2.0, -79.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ], + wind_sway: 0.0, +)), +Orb: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cave.ceiling.orb-0", + offset: (-8.0, -8.0, -79.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.orb-1", + offset: (-8.0, -8.0, -20.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.orb-2", + offset: (-8.0, -8.0, -65.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.cave.ceiling.orb-3", + offset: (-8.0, -8.0, -44.0), + lod_axes: (1.0, 1.0, 1.0), + ), ], wind_sway: 0.0, )), - // Lianas, Liana: Some(( variations: [ @@ -574,9 +662,8 @@ Liana: Some(( lod_axes: (0.0, 0.0, 0.5), ), ], - wind_sway: 0.05, + wind_sway: 0.0, )), - // Velorite Velorite: Some(( variations: [ @@ -643,7 +730,6 @@ VeloriteFrag: Some(( ], wind_sway: 0.0, )), - // Chests Chest: Some(( variations: [ @@ -670,7 +756,6 @@ Chest: Some(( ], wind_sway: 0.0, )), - // Dungeon Chests DungeonChest0: Some(( variations: [ @@ -732,7 +817,6 @@ DungeonChest5: Some(( ], wind_sway: 0.0, )), - // Welwitch Welwitch: Some(( variations: [ @@ -744,7 +828,6 @@ Welwitch: Some(( ], wind_sway: 0.1, )), - // Pumpkins Pumpkin: Some(( variations: [ @@ -786,7 +869,6 @@ Pumpkin: Some(( ], wind_sway: 0.0, )), - // Lingonberries LingonBerry: Some(( variations: [ @@ -808,7 +890,6 @@ LingonBerry: Some(( ], wind_sway: 0.0, )), - // Leafy Plants LeafyPlant: Some(( variations: [ @@ -865,7 +946,6 @@ LeafyPlant: Some(( ], wind_sway: 0.4, )), - // Ferns Fern: Some(( variations: [ @@ -937,7 +1017,6 @@ Fern: Some(( ], wind_sway: 0.4, )), - // Savanna Flora SavannaGrass: Some(( variations: [ @@ -1079,7 +1158,6 @@ SavannaBush: Some(( ], wind_sway: 0.1, )), - // Dead Bush DeadBush: Some(( variations: [ @@ -1106,7 +1184,6 @@ DeadBush: Some(( ], wind_sway: 0.1, )), - // Blueberries // NOTE: Why are these commented out? Blueberry: None/* ( @@ -1159,7 +1236,6 @@ Blueberry: None/* ( ], wind_sway: 0.0, )*/, - // Ember Ember: Some(( variations: [ @@ -1171,7 +1247,6 @@ Ember: Some(( ], wind_sway: 0.8, )), - // Corn Corn: Some(( variations: [ @@ -1208,7 +1283,6 @@ Corn: Some(( ], wind_sway: 0.4, )), - // Yellow Wheat WheatYellow: Some(( variations: [ @@ -1265,7 +1339,6 @@ WheatYellow: Some(( ], wind_sway: 0.4, )), - // Green Wheat WheatGreen: Some(( variations: [ @@ -1322,7 +1395,6 @@ WheatGreen: Some(( ], wind_sway: 0.4, )), - // Cabbage Cabbage: Some(( variations: [ @@ -1344,7 +1416,6 @@ Cabbage: Some(( ], wind_sway: 0.0, )), - // Flax Flax: Some(( variations: [ @@ -1381,7 +1452,6 @@ Flax: Some(( ], wind_sway: 0.4, )), - // Carrot Carrot: Some(( variations: [ @@ -1418,7 +1488,6 @@ Carrot: Some(( ], wind_sway: 0.1, )), - // Tomato Tomato: Some(( variations: [ @@ -1450,7 +1519,6 @@ Tomato: Some(( ], wind_sway: 0.0, )), - // Radish Radish: Some(( variations: [ @@ -1482,7 +1550,6 @@ Radish: Some(( ], wind_sway: 0.1, )), - // Turnip Turnip: Some(( variations: [ @@ -1519,7 +1586,6 @@ Turnip: Some(( ], wind_sway: 0.1, )), - // Coconut Coconut: Some(( variations: [ @@ -1531,7 +1597,6 @@ Coconut: Some(( ], wind_sway: 0.0, )), - // Scarecrow Scarecrow: Some(( variations: [ @@ -1543,7 +1608,6 @@ Scarecrow: Some(( ], wind_sway: 0.0, )), - // Street Light StreetLamp: Some(( variations: [ @@ -1566,7 +1630,6 @@ StreetLampTall: Some(( ], wind_sway: 0.0, )), - // Door Door: Some(( variations: [ @@ -1578,7 +1641,6 @@ Door: Some(( ], wind_sway: 0.0, )), - // Bed Bed: Some(( variations: [ @@ -1590,7 +1652,6 @@ Bed: Some(( ], wind_sway: 0.0, )), - // Bench Bench: Some(( variations: [ @@ -1602,7 +1663,6 @@ Bench: Some(( ], wind_sway: 0.0, )), - // Chair ChairSingle: Some(( variations: [ @@ -1634,7 +1694,6 @@ ChairDouble: Some(( ], wind_sway: 0.0, )), - // CoatRack CoatRack: Some(( variations: [ @@ -1651,7 +1710,6 @@ CoatRack: Some(( ], wind_sway: 0.0, )), - // Crate Crate: Some(( variations: [ @@ -1693,7 +1751,6 @@ Crate: Some(( ], wind_sway: 0.0, )), - // DrawerLarge DrawerLarge: Some(( variations: [ @@ -1710,7 +1767,6 @@ DrawerLarge: Some(( ], wind_sway: 0.0, )), - // DrawerMedium DrawerMedium: Some(( variations: [ @@ -1727,7 +1783,6 @@ DrawerMedium: Some(( ], wind_sway: 0.0, )), - // DrawerSmall DrawerSmall: Some(( variations: [ @@ -1744,7 +1799,6 @@ DrawerSmall: Some(( ], wind_sway: 0.0, )), - // DungeonWallDecor DungeonWallDecor: Some(( variations: [ @@ -1801,7 +1855,6 @@ DungeonWallDecor: Some(( ], wind_sway: 0.0, )), - // HangingBasket HangingBasket: Some(( variations: [ @@ -1818,7 +1871,6 @@ HangingBasket: Some(( ], wind_sway: 0.0, )), - // HangingSign HangingSign: Some(( variations: [ @@ -1830,7 +1882,6 @@ HangingSign: Some(( ], wind_sway: 0.0, )), - // WallLamp WallLamp: Some(( variations: [ @@ -1842,7 +1893,6 @@ WallLamp: Some(( ], wind_sway: 0.0, )), - // WallLampSmall WallLampSmall: Some(( variations: [ @@ -1854,7 +1904,6 @@ WallLampSmall: Some(( ], wind_sway: 0.0, )), - // WallSconce WallSconce: Some(( variations: [ @@ -1866,7 +1915,6 @@ WallSconce: Some(( ], wind_sway: 0.0, )), - // Planter Planter: Some(( variations: [ @@ -1908,7 +1956,6 @@ Planter: Some(( ], wind_sway: 0.0, )), - // Shelf Shelf: Some(( variations: [ @@ -1925,7 +1972,6 @@ Shelf: Some(( ], wind_sway: 0.0, )), - // TableSide TableSide: Some(( variations: [ @@ -1942,7 +1988,6 @@ TableSide: Some(( ], wind_sway: 0.0, )), - // TableDining TableDining: Some(( variations: [ @@ -1959,7 +2004,6 @@ TableDining: Some(( ], wind_sway: 0.0, )), - // TableDouble TableDouble: Some(( variations: [ @@ -1972,7 +2016,6 @@ TableDouble: Some(( ], wind_sway: 0.0, )), - // WardrobeDouble WardrobeDouble: Some(( variations: [ @@ -1989,7 +2032,6 @@ WardrobeDouble: Some(( ], wind_sway: 0.0, )), - // WardrobeSingle WardrobeSingle: Some(( variations: [ @@ -2006,8 +2048,6 @@ WardrobeSingle: Some(( ], wind_sway: 0.0, )), - - // Pot Pot: Some(( variations: [ @@ -2024,7 +2064,6 @@ Pot: Some(( ], wind_sway: 0.0, )), - // Stones Stones: Some(( variations: [ @@ -2046,7 +2085,6 @@ Stones: Some(( ], wind_sway: 0.0, )), - // Twigs Twigs: Some(( variations: [ @@ -2068,7 +2106,6 @@ Twigs: Some(( ], wind_sway: 0.0, )), - // Drop Gate Parts DropGate: Some(( variations: [ @@ -2090,7 +2127,6 @@ DropGateBottom: Some(( ], wind_sway: 0.0, )), - // Snow covered Grass GrassSnow: Some(( variations: [ @@ -2147,7 +2183,6 @@ GrassSnow: Some(( ], wind_sway: 0.2, )), - // Reed Reed: Some(( variations: [ @@ -2179,7 +2214,6 @@ Reed: Some(( ], wind_sway: 0.3, )), - // Beehive Beehive: Some(( variations: [ @@ -2774,7 +2808,7 @@ Mud: Some(( Amethyst: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.amethyst-0", + model: "voxygen.voxel.sprite.mineral.gem.amethyst-0", offset: (-5.5, -5.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), @@ -2785,7 +2819,7 @@ Amethyst: Some(( Ruby: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.ruby-0", + model: "voxygen.voxel.sprite.mineral.gem.ruby-0", offset: (-5.5, -5.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), @@ -2796,7 +2830,7 @@ Ruby: Some(( Diamond: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.diamond-0", + model: "voxygen.voxel.sprite.mineral.gem.diamond-0", offset: (-5.5, -5.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), @@ -2807,7 +2841,7 @@ Diamond: Some(( Sapphire: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.sapphire-0", + model: "voxygen.voxel.sprite.mineral.gem.sapphire-0", offset: (-5.5, -5.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), @@ -2818,7 +2852,7 @@ Sapphire: Some(( Emerald: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.emerald-0", + model: "voxygen.voxel.sprite.mineral.gem.emerald-0", offset: (-5.5, -5.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), @@ -2829,7 +2863,7 @@ Emerald: Some(( Topaz: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.topaz-0", + model: "voxygen.voxel.sprite.mineral.gem.topaz-0", offset: (-5.5, -5.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), @@ -2840,7 +2874,7 @@ Topaz: Some(( AmethystSmall: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.amethyst_S-0", + model: "voxygen.voxel.sprite.mineral.gem.amethyst_S-0", offset: (-3.5, -3.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), @@ -2851,7 +2885,7 @@ AmethystSmall: Some(( TopazSmall: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.topaz_S-0", + model: "voxygen.voxel.sprite.mineral.gem.topaz_S-0", offset: (-3.5, -3.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), @@ -2862,7 +2896,7 @@ TopazSmall: Some(( RubySmall: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.ruby_S-0", + model: "voxygen.voxel.sprite.mineral.gem.ruby_S-0", offset: (-3.5, -3.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), @@ -2873,7 +2907,7 @@ RubySmall: Some(( EmeraldSmall: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.emerald_S-0", + model: "voxygen.voxel.sprite.mineral.gem.emerald_S-0", offset: (-5.5, -5.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), @@ -2884,7 +2918,7 @@ EmeraldSmall: Some(( DiamondSmall: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.diamond_S-0", + model: "voxygen.voxel.sprite.mineral.gem.diamond_S-0", offset: (-3.5, -3.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), @@ -2895,14 +2929,228 @@ DiamondSmall: Some(( SapphireSmall: Some(( variations: [ ( - model: "voxygen.voxel.sprite.gem.sapphire_S-0", + model: "voxygen.voxel.sprite.mineral.gem.sapphire_S-0", offset: (-3.5, -3.5, 0.0), lod_axes: (0.0, 0.0, 0.0), ), ], wind_sway: 0.0, )), - +Bloodstone: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.mineral.deposit.bloodstone", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +Coal: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.mineral.deposit.coal", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +Cobalt: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.mineral.deposit.cobalt", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +Copper: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.mineral.deposit.copper", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +Iron: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.mineral.deposit.iron", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +Tin: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.mineral.deposit.tin", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +Silver: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.mineral.deposit.silver", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +Gold: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.mineral.deposit.gold", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +CrystalHigh: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.ceiling.green-0", + offset: (-8.5, -9.0, -7.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.ceiling.green-1", + offset: (-8.0, -8.0, -10.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.ceiling.green-2", + offset: (-11.5, -12.5, -9.0), + lod_axes: (1.0, 1.0, 1.0), + ) +], +wind_sway: 0.0, +)), +CrystalLow: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.floor.blue-0", + offset: (-8.5, -9.0, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.floor.blue-1", + offset: (-8.0, -8.0, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.floor.blue-2", + offset: (-11.5, -12.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.floor.purple-0", + offset: (-8.5, -9.0, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.floor.purple-1", + offset: (-8.0, -8.0, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.floor.purple-2", + offset: (-11.5, -12.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.floor.green-0", + offset: (-8.5, -9.0, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.floor.green-1", + offset: (-8.0, -8.0, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ), + ( + model: "voxygen.voxel.sprite.mineral.deposit.crystal.floor.green-2", + offset: (-11.5, -12.5, 0.0), + lod_axes: (1.0, 1.0, 1.0), + ) +], +wind_sway: 0.0, +)), +Cotton: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.flowers.cotton", + offset: (-4.5, -4.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.4, +)), +Moonbell: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.flowers.moonbell", + offset: (-3.5, -6.0, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +Pyrebloom: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.flowers.pyrebloom", + offset: (-5.5, -6.0, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +WildFlax: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.flax.flax-0", + offset: (-6.0, -6.0, 0.0), + lod_axes: (0.0, 0.0, 0.7), + ), + ( + model: "voxygen.voxel.sprite.flax.flax-1", + offset: (-6.0, -6.0, 0.0), + lod_axes: (0.0, 0.0, 0.7), + ), + ( + model: "voxygen.voxel.sprite.flax.flax-2", + offset: (-6.0, -6.0, 0.0), + lod_axes: (0.0, 0.0, 0.7), + ), + ( + model: "voxygen.voxel.sprite.flax.flax-3", + offset: (-6.0, -6.0, 0.0), + lod_axes: (0.0, 0.0, 0.7), + ), + ( + model: "voxygen.voxel.sprite.flax.flax-4", + offset: (-6.0, -6.0, 0.0), + lod_axes: (0.0, 0.0, 0.7), + ), + ( + model: "voxygen.voxel.sprite.flax.flax-5", + offset: (-6.0, -6.0, 0.0), + lod_axes: (0.0, 0.0, 0.7), + ), + ], + wind_sway: 0.4, +)), // Lantern Lantern: Some(( variations: [ @@ -2940,8 +3188,38 @@ Cauldron: Some(( Forge: Some(( variations: [ ( - model: "voxygen.voxel.sprite.forge.forge-0", - offset: (-20.0, -20.0, 0.0), + model: "voxygen.voxel.object.forge", + offset: (-6.5, -6.0, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +Loom: Some(( + variations: [ + ( + model: "voxygen.voxel.object.loom", + offset: (-6.0, -4.0, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +SpinningWheel: Some(( + variations: [ + ( + model: "voxygen.voxel.object.spinning_wheel", + offset: (-7.5, -5.0, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +TanningRack: Some(( + variations: [ + ( + model: "voxygen.voxel.object.tanning_rack", + offset: (-7.5, -4.0, 0.0), lod_axes: (0.0, 0.0, 0.0), ), ], diff --git a/assets/voxygen/voxel/weapon/hammer/2hhammer_cyclops-0.vox b/assets/voxygen/voxel/weapon/hammer/2hhammer_cyclops-0.vox index 9fe5f1434d..2eaf702de0 100644 --- a/assets/voxygen/voxel/weapon/hammer/2hhammer_cyclops-0.vox +++ b/assets/voxygen/voxel/weapon/hammer/2hhammer_cyclops-0.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b2de23d8745cfc5e94954dce2be87fa16b6920551e7320ee0332d2d6b55f2550 -size 3112 +oid sha256:24792b23c2b16dfc6d36a773feca22200e9b53fdd1d401ef631f420622d70770 +size 7496 diff --git a/assets/voxygen/voxel/weapon/hammer/burnt_drumstick.vox b/assets/voxygen/voxel/weapon/hammer/burnt_drumstick.vox new file mode 100644 index 0000000000..5526b6ae0a --- /dev/null +++ b/assets/voxygen/voxel/weapon/hammer/burnt_drumstick.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2f0082554bd24263cbdc39b5f06b74699e015bf7c01857f9412b9b596246340 +size 4980 diff --git a/assets/voxygen/voxel/weapon/projectile/snowball.vox b/assets/voxygen/voxel/weapon/projectile/snowball.vox new file mode 100644 index 0000000000..a1f2a3b875 --- /dev/null +++ b/assets/voxygen/voxel/weapon/projectile/snowball.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6de3e25adcf704d7024d358642ce8e37ef01fe88577ff06c886cf8836067300 +size 33964 diff --git a/assets/voxygen/voxel/weapon/tool/pickaxe_green-1.vox b/assets/voxygen/voxel/weapon/tool/pickaxe_green-1.vox new file mode 100644 index 0000000000..34580a326e --- /dev/null +++ b/assets/voxygen/voxel/weapon/tool/pickaxe_green-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07d60dff7d837abfd5d4408105071447b4c7e7fdbacd0518b710095cce366c2b +size 1716 diff --git a/assets/world/style/colors.ron b/assets/world/style/colors.ron index 3f56568c85..b46018a8c7 100644 --- a/assets/world/style/colors.ron +++ b/assets/world/style/colors.ron @@ -59,7 +59,12 @@ deep_stone_color: (125, 120, 130), layer: ( bridge: (80, 80, 100), - stalagtite: (140, 150, 200), + stalagtite: (90, 71, 112), + cave_floor: (42, 39, 82), + cave_roof: (38, 21, 79), + dirt: (69, 48, 15), + scaffold: (195, 190, 212), + vein: (222, 140, 39), ), site: ( castle: (), diff --git a/client/Cargo.toml b/client/Cargo.toml index 02861fba46..449b18ba21 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-client" -version = "0.9.0" +version = "0.10.0" authors = ["Joshua Barretto "] edition = "2018" @@ -28,9 +28,9 @@ image = { version = "0.23.12", default-features = false, features = ["png"] } num = "0.4" tracing = { version = "0.1", default-features = false } rayon = "1.5" -specs = { git = "https://github.com/amethyst/specs.git", rev = "5a9b71035007be0e3574f35184acac1cd4530496" } +specs = { git = "https://github.com/amethyst/specs.git", rev = "f985bec5d456f7b0dd8aae99848f9473c2cd9d46" } vek = { version = "=0.14.1", features = ["serde"] } -hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] } +hashbrown = { version = "0.11", features = ["rayon", "serde", "nightly"] } authc = { git = "https://gitlab.com/veloren/auth.git", rev = "fb3dcbc4962b367253f8f2f92760ef44d2679c9a" } #TODO: put bot in a different crate diff --git a/client/examples/chat-cli/main.rs b/client/examples/chat-cli/main.rs index 2d7f7f210e..e23f1bb8c5 100644 --- a/client/examples/chat-cli/main.rs +++ b/client/examples/chat-cli/main.rs @@ -45,15 +45,14 @@ fn main() { let runtime = Arc::new(Runtime::new().unwrap()); let runtime2 = Arc::clone(&runtime); + let addr = ConnectionArgs::Tcp { + prefer_ipv6: false, + hostname: server_addr, + }; // Create a client. let mut client = runtime - .block_on(async { - let addr = ConnectionArgs::resolve(&server_addr, false) - .await - .expect("dns resolve failed"); - Client::new(addr, None, runtime2, &mut None).await - }) + .block_on(Client::new(addr, runtime2, &mut None)) .expect("Failed to create client instance"); println!("Server info: {:?}", client.server_info()); diff --git a/client/src/bin/bot/main.rs b/client/src/bin/bot/main.rs index 7cb0aaab38..162de7658f 100644 --- a/client/src/bin/bot/main.rs +++ b/client/src/bin/bot/main.rs @@ -1,5 +1,3 @@ -#![feature(str_split_once)] - #[macro_use] extern crate serde; use authc::AuthClient; @@ -54,15 +52,13 @@ pub struct BotClient { pub fn make_client(runtime: &Arc, server: &str) -> Client { let runtime2 = Arc::clone(&runtime); - let view_distance: Option = None; - runtime.block_on(async { - let connection_args = ConnectionArgs::resolve(server, false) - .await - .expect("DNS resolution failed"); - Client::new(connection_args, view_distance, runtime2, &mut None) - .await - .expect("Failed to connect to server") - }) + let addr = ConnectionArgs::Tcp { + prefer_ipv6: false, + hostname: server.to_owned(), + }; + runtime + .block_on(Client::new(addr, runtime2, &mut None)) + .expect("Failed to connect to server") } impl BotClient { @@ -84,7 +80,7 @@ impl BotClient { for (username, client) in self.bot_clients.iter_mut() { //trace!("cl {:?}: {:?}", username, client.character_list()); trace!(?username, "tick"); - let msgs: Result, veloren_client::Error> = + let _msgs: Result, veloren_client::Error> = client.tick(comp::ControllerInputs::default(), self.clock.dt(), |_| {}); /*trace!( "msgs {:?}: {:?} {:?}", @@ -131,7 +127,7 @@ impl BotClient { .settings .bot_logins .iter() - .any(|x| &*x.username == &*username) + .any(|x| *x.username == *username) { continue; } @@ -216,9 +212,6 @@ impl BotClient { .cloned() .collect(); for cred in creds.iter() { - let runtime = Arc::clone(&self.runtime); - - let server = self.settings.server.clone(); let client = match self.bot_clients.get_mut(&cred.username) { Some(c) => c, None => { diff --git a/client/src/bin/bot/tui.rs b/client/src/bin/bot/tui.rs index bb55168930..af3014da96 100644 --- a/client/src/bin/bot/tui.rs +++ b/client/src/bin/bot/tui.rs @@ -27,16 +27,11 @@ impl Tui { let handle = thread::spawn(move || { thread::sleep(Duration::from_millis(20)); let mut readline = rustyline::Editor::<()>::new(); - loop { - match readline.readline("\n\nbotclient> ") { - Ok(cmd) => { - let keep_going = Self::process_command(&cmd, &mut commands_s); - readline.add_history_entry(cmd); - if !keep_going { - break; - } - }, - Err(_) => break, + while let Ok(cmd) = readline.readline("\n\nbotclient> ") { + let keep_going = Self::process_command(&cmd, &mut commands_s); + readline.add_history_entry(cmd); + if !keep_going { + break; } } }); @@ -69,7 +64,7 @@ impl Tui { .about("Join the world with some random character") .args(&[Arg::with_name("prefix").required(true)]), ) - .get_matches_from_safe(cmd.split(" ")); + .get_matches_from_safe(cmd.split(' ')); use clap::ErrorKind::*; match matches { Ok(matches) => { diff --git a/client/src/cmd.rs b/client/src/cmd.rs index 7c5502ba8b..aafacd4347 100644 --- a/client/src/cmd.rs +++ b/client/src/cmd.rs @@ -52,12 +52,12 @@ fn complete_player(part: &str, client: &Client) -> Vec { } fn complete_command(part: &str) -> Vec { - CHAT_SHORTCUTS - .keys() - .map(ToString::to_string) - .chain(CHAT_COMMANDS.iter().map(ToString::to_string)) - .filter(|kwd| kwd.starts_with(part) || format!("/{}", kwd).starts_with(part)) - .map(|c| format!("/{}", c)) + let part = part.strip_prefix('/').unwrap_or(part); + + ChatCommand::iter_with_keywords() + .map(|(kwd, _)| kwd) + .filter(|kwd| kwd.starts_with(part)) + .map(|kwd| format!("/{}", kwd)) .collect() } diff --git a/client/src/lib.rs b/client/src/lib.rs index 75380a6c86..ee76d05767 100644 --- a/client/src/lib.rs +++ b/client/src/lib.rs @@ -1712,8 +1712,12 @@ impl Client { // Instead of removing players, mark them as offline because we need to // remember the names of disconnected players in chat. // - // TODO the server should re-use uids of players that log out and log back - // in. + // TODO: consider alternatives since this leads to an ever growing list as + // players log out and in. Keep in mind we might only want to + // keep only so many messages in chat the history. We could + // potentially use an ID that's more persistent than the Uid. + // One of the reasons we don't just store the string of the player name + // into the message is to make alias changes reflected in older messages. if let Some(player_info) = self.player_list.get_mut(&uid) { if player_info.is_online { diff --git a/common/Cargo.toml b/common/Cargo.toml index aaee090b99..ebc46b92bd 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-common" -version = "0.9.0" +version = "0.10.0" authors = ["Joshua Barretto ", "Maciej Ćwięka ", "Imbris "] edition = "2018" @@ -8,7 +8,8 @@ edition = "2018" no-assets = [] tracy = ["common-base/tracy"] simd = ["vek/platform_intrinsics"] -bin_csv = ["csv", "structopt"] +bin_csv = ["ron", "csv", "structopt"] +bin_graphviz = ["petgraph"] default = ["simd"] @@ -20,13 +21,20 @@ common-base = { package = "veloren-common-base", path = "base" } # Serde serde = { version = "1.0.110", features = ["derive", "rc"] } +# Util +enum-iterator = "0.6" +vek = { version = "=0.14.1", features = ["serde"] } + +# Strum +strum = "0.20" +strum_macros = "0.20" + [target.'cfg(not(target_arch = "wasm32"))'.dependencies] approx = "0.4.0" clap = "2.33" crossbeam-utils = "0.8.1" bitflags = "1.2" crossbeam-channel = "0.5" -enum-iterator = "0.6" lazy_static = "1.4.0" num-derive = "0.3" num-traits = "0.2" @@ -35,7 +43,6 @@ rayon = "1.5" roots = "0.0.6" spin_sleep = "1.0" tracing = { version = "0.1", default-features = false } -vek = { version = "=0.14.1", features = ["serde"] } uuid = { version = "0.8.1", default-features = false, features = ["serde", "v4"] } rand = "0.8" @@ -46,23 +53,23 @@ dot_vox = "4.0" # Assets serde_repr = "0.1.6" +# csv import +ron = { version = "0.6", default-features = false, optional = true } # csv export csv = { version = "1.1.3", optional = true } structopt = { version = "0.3.13", optional = true } +# graphviz exporters +petgraph = { version = "0.5.1", optional = true } # Data structures -hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] } +hashbrown = { version = "0.11", features = ["rayon", "serde", "nightly"] } slotmap = { version = "1.0", features = ["serde"] } indexmap = "1.3.0" slab = "0.4.2" -# Strum -strum = "0.20" -strum_macros = "0.20" - # ECS -specs = { git = "https://github.com/amethyst/specs.git", features = ["serde", "storage-event-control", "nightly"], rev = "5a9b71035007be0e3574f35184acac1cd4530496" } -specs-idvs = { git = "https://gitlab.com/veloren/specs-idvs.git", rev = "b65fb220e94f5d3c9bc30074a076149763795556" } +specs = { git = "https://github.com/amethyst/specs.git", features = ["serde", "storage-event-control", "nightly"], rev = "f985bec5d456f7b0dd8aae99848f9473c2cd9d46" } +specs-idvs = { git = "https://gitlab.com/veloren/specs-idvs.git", rev = "8be2abcddf8f524cb5876e8dd20a7e47cfaf7573" } [dev-dependencies] #bench @@ -86,3 +93,7 @@ required-features = ["bin_csv"] [[bin]] name = "csv_import" required-features = ["bin_csv"] + +[[bin]] +name = "recipe_graphviz" +required-features = ["bin_graphviz"] diff --git a/common/assets/Cargo.toml b/common/assets/Cargo.toml index 6da6273516..e4e67aed29 100644 --- a/common/assets/Cargo.toml +++ b/common/assets/Cargo.toml @@ -3,7 +3,7 @@ authors = ["juliancoffee ", "Marcel Märtens Option { + std::env::current_dir().map_or(None, |path| { + // If we are in the root, push path + if path.join(".git").exists() { + return Some(path); + } + // Search .git directory in parent directries + for ancestor in path.ancestors().take(10) { + if ancestor.join(".git").exists() { + return Some(ancestor.to_path_buf()); + } + } + None + }) +} + lazy_static! { /// Lazy static to find and cache where the asset directory is. /// Cases we need to account for: @@ -154,19 +171,8 @@ lazy_static! { } // 3. Root of the repository - if let Ok(path) = std::env::current_dir() { - // If we are in the root, push path - if path.join(".git").is_dir() { - paths.push(path); - } else { - // Search .git directory in parent directries - for ancestor in path.ancestors().take(10) { - if ancestor.join(".git").is_dir() { - paths.push(ancestor.to_path_buf()); - break; - } - } - } + if let Some(path) = find_root() { + paths.push(path); } // 4. System paths @@ -254,3 +260,257 @@ impl Compound for Directory { Ok(Directory(files)) } } + +#[warn(clippy::pedantic)] +#[cfg(feature = "asset_tweak")] +pub mod asset_tweak { + // Return path to repository by searching 10 directories back + use super::{find_root, fs, Asset, AssetExt, Path, RonLoader}; + use ron::ser::{to_writer_pretty, PrettyConfig}; + use serde::{de::DeserializeOwned, Deserialize, Serialize}; + + #[derive(Clone, Deserialize, Serialize)] + struct AssetTweakWrapper(T); + + impl Asset for AssetTweakWrapper + where + T: Clone + Sized + Send + Sync + 'static + DeserializeOwned, + { + type Loader = RonLoader; + + const EXTENSION: &'static str = "ron"; + } + + #[must_use] + /// # Usage + /// Create file with content which represent tweaked value + /// + /// Example if you want to tweak integer value + /// ```no_run + /// use veloren_common_assets::asset_tweak; + /// let x: i32 = asset_tweak::tweak_expect("x"); + /// ``` + /// File needs to look like that + /// ```text + /// assets/tweak/x.ron + /// (5) + /// ``` + /// Note the parentheses. + /// + /// # Panics + /// 1) If given `asset_specifier` does not exists + /// 2) If asseet is broken + pub fn tweak_expect(specifier: &str) -> T + where + T: Clone + Sized + Send + Sync + 'static + DeserializeOwned, + { + let asset_specifier: &str = &format!("tweak.{}", specifier); + let handle = as AssetExt>::load_expect(asset_specifier); + let AssetTweakWrapper(value) = handle.read().clone(); + value + } + + #[must_use] + /// # Usage + /// Will create file "assets/tweak/{specifier}.ron" if not exists + /// and return passed `value`. + /// If file exists will read a value from such file. + /// + /// In release builds (if `debug_assertions` == false) just returns passed + /// `value` + /// + /// Example if you want to tweak integer value + /// ```no_run + /// use veloren_common_assets::asset_tweak; + /// let x: i32 = asset_tweak::tweak_expect_or_create("x", 5); + /// ``` + /// File needs to look like that + /// ```text + /// assets/tweak/x.ron + /// (5) + /// ``` + /// Note the parentheses. + /// + /// # Panics + /// 1) If asset is broken + /// 2) filesystem errors + pub fn tweak_expect_or_create(specifier: &str, value: T) -> T + where + T: Clone + Sized + Send + Sync + 'static + DeserializeOwned + Serialize, + { + if cfg!(not(debug_assertions)) { + return value; + } + + let root = find_root().expect("failed to discover repository_root"); + let tweak_dir = root.join("assets/tweak/"); + let filename = format!("{}.ron", specifier); + + if Path::new(&tweak_dir.join(&filename)).is_file() { + let asset_specifier: &str = &format!("tweak.{}", specifier); + let handle = as AssetExt>::load_expect(asset_specifier); + let AssetTweakWrapper(new_value) = handle.read().clone(); + + new_value + } else { + fs::create_dir_all(&tweak_dir).expect("failed to create directory for tweak files"); + let f = fs::File::create(tweak_dir.join(&filename)).unwrap_or_else(|err| { + panic!("failed to create file {:?}. Error: {:?}", &filename, err) + }); + to_writer_pretty(f, &AssetTweakWrapper(value.clone()), PrettyConfig::new()) + .unwrap_or_else(|err| { + panic!("failed to write to file {:?}. Error: {:?}", &filename, err) + }); + + value + } + } + + #[cfg(test)] + mod tests { + use super::{find_root, tweak_expect, tweak_expect_or_create}; + use serial_test::serial; + use std::{ + convert::AsRef, + fmt::Debug, + fs::{self, File}, + io::Write, + path::Path, + }; + + struct DirectoryGuard

+ where + P: AsRef, + { + dir: P, + } + + impl

DirectoryGuard

+ where + P: AsRef, + { + fn create(dir: P) -> Self { + fs::create_dir_all(&dir).expect("failed to create directory"); + Self { dir } + } + } + + impl

Drop for DirectoryGuard

+ where + P: AsRef, + { + fn drop(&mut self) { fs::remove_dir(&self.dir).expect("failed to remove directory"); } + } + + struct FileGuard

+ where + P: AsRef + Debug, + { + file: P, + } + + impl

FileGuard

+ where + P: AsRef + Debug, + { + fn create(file: P) -> (Self, File) { + let f = File::create(&file) + .unwrap_or_else(|_| panic!("failed to create file {:?}", &file)); + (Self { file }, f) + } + + fn hold(file: P) -> Self { Self { file } } + } + + impl

Drop for FileGuard

+ where + P: AsRef + Debug, + { + fn drop(&mut self) { + fs::remove_file(&self.file) + .unwrap_or_else(|_| panic!("failed to create file {:?}", &self.file)); + } + } + + #[test] + #[serial] + fn test_tweaked_string() { + let root = find_root().expect("failed to discover repository_root"); + let tweak_dir = root.join("assets/tweak/"); + let _dir_guard = DirectoryGuard::create(tweak_dir.clone()); + + // define test files + let from_int = tweak_dir.join("__test_int_tweak.ron"); + let from_string = tweak_dir.join("__test_string_tweak.ron"); + let from_map = tweak_dir.join("__test_map_tweak.ron"); + + // setup fs guards + let (_file_guard1, mut file1) = FileGuard::create(from_int); + let (_file_guard2, mut file2) = FileGuard::create(from_string); + let (_file_guard3, mut file3) = FileGuard::create(from_map); + + // write to file and check result + file1 + .write_all(b"(5)") + .expect("failed to write to the file"); + let x = tweak_expect::("__test_int_tweak"); + assert_eq!(x, 5); + + // write to file and check result + file2 + .write_all(br#"("Hello Zest")"#) + .expect("failed to write to the file"); + let x = tweak_expect::("__test_string_tweak"); + assert_eq!(x, "Hello Zest".to_owned()); + + // write to file and check result + file3 + .write_all( + br#" + ({ + "wow": 4, + "such": 5, + }) + "#, + ) + .expect("failed to write to the file"); + let x: std::collections::HashMap = tweak_expect("__test_map_tweak"); + let mut map = std::collections::HashMap::new(); + map.insert("wow".to_owned(), 4); + map.insert("such".to_owned(), 5); + assert_eq!(x, map); + } + + #[test] + #[serial] + fn test_tweaked_create() { + let root = find_root().expect("failed to discover repository_root"); + let tweak_dir = root.join("assets/tweak/"); + + let test_path1 = tweak_dir.join("__test_int_create.ron"); + let _file_guard1 = FileGuard::hold(&test_path1); + let x = tweak_expect_or_create("__test_int_create", 5); + assert_eq!(x, 5); + assert!(test_path1.is_file()); + // Recheck it loads back correctly + let x = tweak_expect_or_create("__test_int_create", 5); + assert_eq!(x, 5); + + let test_path2 = tweak_dir.join("__test_tuple_create.ron"); + let _file_guard2 = FileGuard::hold(&test_path2); + let (x, y, z) = tweak_expect_or_create("__test_tuple_create", (5.0, 6.0, 7.0)); + assert_eq!((x, y, z), (5.0, 6.0, 7.0)); + // Recheck it loads back correctly + let (x, y, z) = tweak_expect_or_create("__test_tuple_create", (5.0, 6.0, 7.0)); + assert_eq!((x, y, z), (5.0, 6.0, 7.0)); + + // Test that file has stronger priority + let test_path3 = tweak_dir.join("__test_priority.ron"); + let (_file_guard3, mut file) = FileGuard::create(&test_path3); + file.write_all(b"(10)") + .expect("failed to write to the file"); + let x = tweak_expect_or_create("__test_priority", 6); + assert_eq!(x, 10); + } + } +} diff --git a/common/base/Cargo.toml b/common/base/Cargo.toml index 79b7af6fbd..718426679d 100644 --- a/common/base/Cargo.toml +++ b/common/base/Cargo.toml @@ -3,7 +3,7 @@ authors = ["Marcel Märtens "] edition = "2018" name = "veloren-common-base" description = "minimal dependency for crates to now depend on whole common" -version = "0.9.0" +version = "0.10.0" [features] tracy = ["tracy-client"] diff --git a/common/ecs/Cargo.toml b/common/ecs/Cargo.toml index 800d8fe12d..687949a9df 100644 --- a/common/ecs/Cargo.toml +++ b/common/ecs/Cargo.toml @@ -2,7 +2,7 @@ authors = ["Marcel Märtens "] edition = "2018" name = "veloren-common-ecs" -version = "0.9.0" +version = "0.10.0" [features] tracy = ["common-base/tracy"] @@ -13,7 +13,7 @@ tracing = { version = "0.1", default-features = false } common-base = { package = "veloren-common-base", path = "../base" } # ECS -specs = { git = "https://github.com/amethyst/specs.git", features = ["serde", "storage-event-control"], rev = "5a9b71035007be0e3574f35184acac1cd4530496" } +specs = { git = "https://github.com/amethyst/specs.git", features = ["serde", "storage-event-control"], rev = "f985bec5d456f7b0dd8aae99848f9473c2cd9d46" } [dev-dependencies] #bench diff --git a/common/frontend/Cargo.toml b/common/frontend/Cargo.toml index 83c06a72b4..fcde12a404 100644 --- a/common/frontend/Cargo.toml +++ b/common/frontend/Cargo.toml @@ -3,7 +3,7 @@ authors = ["Marcel Märtens ", "Imbris "] edition = "2018" name = "veloren-common-net" -version = "0.9.0" +version = "0.10.0" [features] tracy = ["common/tracy"] @@ -23,11 +23,11 @@ vek = { version = "=0.14.1", features = ["serde"] } tracing = { version = "0.1", default-features = false } # Data structures -hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] } +hashbrown = { version = "0.11", features = ["rayon", "serde", "nightly"] } # ECS -specs = { git = "https://github.com/amethyst/specs.git", features = ["serde", "storage-event-control"], rev = "5a9b71035007be0e3574f35184acac1cd4530496" } -specs-idvs = { git = "https://gitlab.com/veloren/specs-idvs.git", rev = "b65fb220e94f5d3c9bc30074a076149763795556" } +specs = { git = "https://github.com/amethyst/specs.git", features = ["serde", "storage-event-control"], rev = "f985bec5d456f7b0dd8aae99848f9473c2cd9d46" } +specs-idvs = { git = "https://gitlab.com/veloren/specs-idvs.git", rev = "8be2abcddf8f524cb5876e8dd20a7e47cfaf7573" } # Serde serde = { version = "1.0.110", features = ["derive"] } diff --git a/common/src/bin/csv_export/main.rs b/common/src/bin/csv_export/main.rs index 8ed25823cf..c21beba187 100644 --- a/common/src/bin/csv_export/main.rs +++ b/common/src/bin/csv_export/main.rs @@ -36,6 +36,10 @@ fn armor_stats() -> Result<(), Box> { "Quality", "Protection", "Poise Resilience", + "Max Energy", + "Energy Reward", + "Crit Power", + "Stealth", "Description", ])?; @@ -49,14 +53,18 @@ fn armor_stats() -> Result<(), Box> { continue; } - let protection = match armor.get_protection() { + let protection = match armor.protection() { Protection::Invincible => "Invincible".to_string(), Protection::Normal(value) => value.to_string(), }; - let poise_resilience = match armor.get_poise_resilience() { + let poise_resilience = match armor.poise_resilience() { Protection::Invincible => "Invincible".to_string(), Protection::Normal(value) => value.to_string(), }; + let max_energy = armor.energy_max().to_string(); + let energy_reward = armor.energy_reward().to_string(); + let crit_power = armor.crit_power().to_string(); + let stealth = armor.stealth().to_string(); wtr.write_record(&[ item.item_definition_id(), @@ -65,6 +73,10 @@ fn armor_stats() -> Result<(), Box> { &format!("{:?}", item.quality()), &protection, &poise_resilience, + &max_energy, + &energy_reward, + &crit_power, + &stealth, item.description(), ])?; }, @@ -109,7 +121,6 @@ fn weapon_stats() -> Result<(), Box> { let poise_strength = tool.base_poise_strength(&msm, &[]).to_string(); let speed = tool.base_speed(&msm, &[]).to_string(); let crit_chance = tool.base_crit_chance(&msm, &[]).to_string(); - let crit_mult = tool.base_crit_mult(&msm, &[]).to_string(); let equip_time = tool.equip_time(&msm, &[]).as_secs_f32().to_string(); let kind = get_tool_kind(&tool.kind); let hands = get_tool_hands(&tool); @@ -124,7 +135,6 @@ fn weapon_stats() -> Result<(), Box> { &poise_strength, &speed, &crit_chance, - &crit_mult, &equip_time, item.description(), ])?; @@ -139,19 +149,19 @@ fn weapon_stats() -> Result<(), Box> { fn get_tool_kind(kind: &ToolKind) -> String { match kind { - ToolKind::Sword | ToolKind::SwordSimple => "Sword".to_string(), - ToolKind::Axe | ToolKind::AxeSimple => "Axe".to_string(), - ToolKind::Hammer | ToolKind::HammerSimple => "Hammer".to_string(), - ToolKind::Bow | ToolKind::BowSimple => "Bow".to_string(), + ToolKind::Sword => "Sword".to_string(), + ToolKind::Axe => "Axe".to_string(), + ToolKind::Hammer => "Hammer".to_string(), + ToolKind::Bow => "Bow".to_string(), ToolKind::Dagger => "Dagger".to_string(), - ToolKind::Staff | ToolKind::StaffSimple => "Staff".to_string(), + ToolKind::Staff => "Staff".to_string(), ToolKind::Sceptre => "Sceptre".to_string(), ToolKind::Shield => "Shield".to_string(), ToolKind::Spear => "Spear".to_string(), ToolKind::Debug => "Debug".to_string(), ToolKind::Farming => "Farming".to_string(), ToolKind::Pick => "Pick".to_string(), - ToolKind::Unique(_) => "Unique".to_string(), + ToolKind::Natural => "Natural".to_string(), ToolKind::Empty => "Empty".to_string(), } } diff --git a/common/src/bin/csv_import/main.rs b/common/src/bin/csv_import/main.rs index 7755dd2ed6..8d9271d6e2 100644 --- a/common/src/bin/csv_import/main.rs +++ b/common/src/bin/csv_import/main.rs @@ -1,4 +1,5 @@ #![deny(clippy::clone_on_ref_ptr)] +#![allow(clippy::expect_fun_call)] //TODO: evaluate to remove this and use `unwrap_or_else(panic!(...))` instead use hashbrown::HashMap; use ron::ser::{to_string_pretty, PrettyConfig}; @@ -68,11 +69,8 @@ fn armor_stats() -> Result<(), Box> { { match item.kind() { comp::item::ItemKind::Armor(armor) => { - match armor.kind { - ArmorKind::Bag(_) => { - continue; - }, - _ => {}, + if let ArmorKind::Bag(_) = armor.kind { + continue; } if let Ok(ref record) = record { @@ -112,9 +110,61 @@ fn armor_stats() -> Result<(), Box> { Protection::Normal(0.0) }; + let max_energy = + if let Some(max_energy_raw) = record.get(headers["Max Energy"]) { + max_energy_raw.parse().unwrap() + } else { + eprintln!( + "Could not unwrap max energy value for {:?}", + item.item_definition_id() + ); + 0 + }; + + let energy_reward = if let Some(energy_reward_raw) = + record.get(headers["Energy Reward"]) + { + energy_reward_raw.parse().unwrap() + } else { + eprintln!( + "Could not unwrap energy recovery value for {:?}", + item.item_definition_id() + ); + 0.0 + }; + + let crit_power = + if let Some(crit_power_raw) = record.get(headers["Crit Power"]) { + crit_power_raw.parse().unwrap() + } else { + eprintln!( + "Could not unwrap crit power value for {:?}", + item.item_definition_id() + ); + 0.0 + }; + + let stealth = if let Some(stealth_raw) = record.get(headers["Stealth"]) + { + stealth_raw.parse().unwrap() + } else { + eprintln!( + "Could not unwrap stealth value for {:?}", + item.item_definition_id() + ); + 0.0 + }; + let kind = armor.kind.clone(); - let armor = - comp::item::armor::Armor::new(kind, protection, poise_resilience); + let armor_stats = comp::item::armor::Stats::new( + protection, + poise_resilience, + max_energy, + energy_reward, + crit_power, + stealth, + ); + let armor = comp::item::armor::Armor::new(kind, armor_stats); let quality = if let Some(quality_raw) = record.get(headers["Quality"]) { match quality_raw { @@ -165,7 +215,7 @@ fn armor_stats() -> Result<(), Box> { .with_enumerate_arrays(true); let mut path = ASSETS_PATH.clone(); - for part in item.item_definition_id().split(".") { + for part in item.item_definition_id().split('.') { path.push(part); } path.set_extension("ron"); @@ -277,15 +327,6 @@ fn weapon_stats() -> Result<(), Box> { .parse() .expect(&format!("Not a f32? {:?}", item.item_definition_id())); - let crit_mult: f32 = record - .get(headers["Crit Mult"]) - .expect(&format!( - "Error unwrapping crit_mult for {:?}", - item.item_definition_id() - )) - .parse() - .expect(&format!("Not a f32? {:?}", item.item_definition_id())); - let tool = comp::item::tool::Tool::new( kind, hands, @@ -294,7 +335,6 @@ fn weapon_stats() -> Result<(), Box> { poise_strength, speed, crit_chance, - crit_mult, ); let quality = if let Some(quality_raw) = record.get(headers["Quality"]) @@ -344,7 +384,7 @@ fn weapon_stats() -> Result<(), Box> { .with_enumerate_arrays(true); let mut path = ASSETS_PATH.clone(); - for part in item.item_definition_id().split(".") { + for part in item.item_definition_id().split('.') { path.push(part); } path.set_extension("ron"); @@ -380,41 +420,39 @@ fn loot_table(loot_table: &str) -> Result<(), Box> { let mut items = Vec::<(f32, LootSpec)>::new(); - for record in rdr.records() { - if let Ok(ref record) = record { - let item = match record.get(headers["Kind"]).expect("No loot specifier") { - "Item" => { - if let (Some(Ok(lower)), Some(Ok(upper))) = ( - record.get(headers["Lower Amount"]).map(|a| a.parse()), - record.get(headers["Upper Amount"]).map(|a| a.parse()), - ) { - LootSpec::ItemQuantity( - record.get(headers["Item"]).expect("No item").to_string(), - lower, - upper, - ) - } else { - LootSpec::Item(record.get(headers["Item"]).expect("No item").to_string()) - } - }, - "LootTable" => LootSpec::LootTable( - record - .get(headers["Item"]) - .expect("No loot table") - .to_string(), - ), - a => panic!( - "Loot specifier kind must be either \"Item\" or \"LootTable\"\n{}", - a - ), - }; - let chance: f32 = record - .get(headers["Relative Chance"]) - .expect("No chance for item in entry") - .parse() - .expect("Not an f32 for chance in entry"); - items.push((chance, item)); - } + for ref record in rdr.records().flatten() { + let item = match record.get(headers["Kind"]).expect("No loot specifier") { + "Item" => { + if let (Some(Ok(lower)), Some(Ok(upper))) = ( + record.get(headers["Lower Amount"]).map(|a| a.parse()), + record.get(headers["Upper Amount"]).map(|a| a.parse()), + ) { + LootSpec::ItemQuantity( + record.get(headers["Item"]).expect("No item").to_string(), + lower, + upper, + ) + } else { + LootSpec::Item(record.get(headers["Item"]).expect("No item").to_string()) + } + }, + "LootTable" => LootSpec::LootTable( + record + .get(headers["Item"]) + .expect("No loot table") + .to_string(), + ), + a => panic!( + "Loot specifier kind must be either \"Item\" or \"LootTable\"\n{}", + a + ), + }; + let chance: f32 = record + .get(headers["Relative Chance"]) + .expect("No chance for item in entry") + .parse() + .expect("Not an f32 for chance in entry"); + items.push((chance, item)); } let pretty_config = PrettyConfig::new() @@ -424,7 +462,7 @@ fn loot_table(loot_table: &str) -> Result<(), Box> { let mut path = ASSETS_PATH.clone(); path.push("common"); path.push("loot_tables"); - for part in loot_table.split(".") { + for part in loot_table.split('.') { path.push(part); } path.set_extension("ron"); @@ -462,7 +500,7 @@ Would you like to continue? (y/n) > ", ) .to_lowercase() - == "y".to_string() + == *"y" { if let Err(e) = armor_stats() { println!("Error: {}\n", e) @@ -492,7 +530,7 @@ Would you like to continue? (y/n) > ", ) .to_lowercase() - == "y".to_string() + == *"y" { if let Err(e) = weapon_stats() { println!("Error: {}\n", e) @@ -526,7 +564,7 @@ Would you like to continue? (y/n) > ", ) .to_lowercase() - == "y".to_string() + == *"y" { if let Err(e) = loot_table(&loot_table_name) { println!("Error: {}\n", e) diff --git a/common/src/bin/recipe_graphviz.rs b/common/src/bin/recipe_graphviz.rs new file mode 100644 index 0000000000..b7fb176207 --- /dev/null +++ b/common/src/bin/recipe_graphviz.rs @@ -0,0 +1,59 @@ +use hashbrown::HashMap; +use petgraph::{ + dot::{Config, Dot}, + Graph, +}; +use std::{fs::File, io::Write}; +use veloren_common::{ + assets::AssetExt, + comp::item::ItemDesc, + recipe::{RecipeBook, RecipeInput}, +}; + +fn main() { + let recipes = RecipeBook::load_expect_cloned("common.recipe_book"); + let mut graph = Graph::new(); + let mut nodes = HashMap::new(); + let mut add_node = |graph: &mut Graph<_, _>, node: &str| { + *nodes + .entry(node.to_owned()) + .or_insert_with(|| graph.add_node(node.to_owned())) + }; + for (_, recipe) in recipes.iter() { + let output = recipe.output.0.item_definition_id(); + let inputs = recipe + .inputs + .iter() + .map(|(i, _)| i) + .filter_map(|input| { + if let RecipeInput::Item(item) = input { + Some(item.item_definition_id()) + } else { + None + } + }) + .collect::>(); + let out_node = add_node(&mut graph, output); + for input in inputs.iter() { + let in_node = add_node(&mut graph, input); + graph.add_edge(in_node, out_node, ()); + } + } + // you can render the dot file as a png with `dot -Tpng recipe_graph.dot > + // recipe_graph.png` or interactively view it with `xdot recipe_graph.dot` + let mut f = File::create("recipe_graph.dot").unwrap(); + writeln!(f, "digraph {{").unwrap(); + writeln!(f, "rankdir = \"LR\"").unwrap(); + writeln!( + f, + "{:#?}", + Dot::with_attr_getters( + &graph, + &[Config::EdgeNoLabel, Config::GraphContentOnly], + &|_, _| "".to_owned(), + &|_, _| { "constraint=false".to_owned() } + ) + ) + .unwrap(); + writeln!(f, "}}").unwrap(); +} diff --git a/common/src/cmd.rs b/common/src/cmd.rs index 5ec88c379d..e8f9054605 100644 --- a/common/src/cmd.rs +++ b/common/src/cmd.rs @@ -40,7 +40,7 @@ impl ChatCommandData { } // Please keep this sorted alphabetically :-) -#[derive(Copy, Clone)] +#[derive(Copy, Clone, strum_macros::EnumIter)] pub enum ChatCommand { Adminify, Airship, @@ -106,72 +106,6 @@ pub enum ChatCommand { World, } -// Thank you for keeping this sorted alphabetically :-) -pub static CHAT_COMMANDS: &[ChatCommand] = &[ - ChatCommand::Adminify, - ChatCommand::Airship, - ChatCommand::Alias, - ChatCommand::ApplyBuff, - ChatCommand::Ban, - ChatCommand::Build, - ChatCommand::BuildAreaAdd, - ChatCommand::BuildAreaList, - ChatCommand::BuildAreaRemove, - ChatCommand::Campfire, - ChatCommand::DebugColumn, - ChatCommand::DisconnectAllPlayers, - ChatCommand::DropAll, - ChatCommand::Dummy, - ChatCommand::Explosion, - ChatCommand::Faction, - ChatCommand::GiveItem, - ChatCommand::Goto, - ChatCommand::Group, - ChatCommand::GroupInvite, - ChatCommand::GroupKick, - ChatCommand::GroupLeave, - ChatCommand::GroupPromote, - ChatCommand::Health, - ChatCommand::Help, - ChatCommand::Home, - ChatCommand::JoinFaction, - ChatCommand::Jump, - ChatCommand::Kick, - ChatCommand::Kill, - ChatCommand::KillNpcs, - ChatCommand::Kit, - ChatCommand::Lantern, - ChatCommand::Light, - ChatCommand::MakeBlock, - ChatCommand::MakeSprite, - ChatCommand::Motd, - ChatCommand::Object, - ChatCommand::PermitBuild, - ChatCommand::Players, - ChatCommand::Region, - ChatCommand::RemoveLights, - ChatCommand::RevokeBuild, - ChatCommand::RevokeBuildAll, - ChatCommand::Safezone, - ChatCommand::Say, - ChatCommand::ServerPhysics, - ChatCommand::SetMotd, - ChatCommand::Site, - ChatCommand::SkillPoint, - ChatCommand::SkillPreset, - ChatCommand::Spawn, - ChatCommand::Sudo, - ChatCommand::Tell, - ChatCommand::Time, - ChatCommand::Tp, - ChatCommand::Unban, - ChatCommand::Version, - ChatCommand::Waypoint, - ChatCommand::Whitelist, - ChatCommand::Wiring, - ChatCommand::World, -]; - #[derive(Debug, PartialEq, Serialize, Deserialize, Clone)] pub struct KitManifest(pub HashMap>); impl assets::Asset for KitManifest { @@ -189,15 +123,6 @@ impl assets::Asset for SkillPresetManifest { } lazy_static! { - pub static ref CHAT_SHORTCUTS: HashMap = [ - ('f', ChatCommand::Faction), - ('g', ChatCommand::Group), - ('r', ChatCommand::Region), - ('s', ChatCommand::Say), - ('t', ChatCommand::Tell), - ('w', ChatCommand::World), - ].iter().cloned().collect(); - static ref ALIGNMENTS: Vec = vec!["wild", "enemy", "npc", "pet"] .iter() .map(|s| s.to_string()) @@ -740,6 +665,20 @@ impl ChatCommand { } } + /// The short keyword used to invoke the command, omitting the leading '/'. + /// Returns None if the command doesn't have a short keyword + pub fn short_keyword(&self) -> Option<&'static str> { + Some(match self { + ChatCommand::Faction => "f", + ChatCommand::Group => "g", + ChatCommand::Region => "r", + ChatCommand::Say => "s", + ChatCommand::Tell => "t", + ChatCommand::World => "w", + _ => return None, + }) + } + /// A message that explains what the command does pub fn help_string(&self) -> String { let data = self.data(); @@ -773,6 +712,19 @@ impl ChatCommand { .collect::>() .join(" ") } + + /// Produce an iterator over all the available commands + pub fn iter() -> impl Iterator { ::iter() } + + /// Produce an iterator that first goes over all the short keywords + /// and their associated commands and then iterates over all the normal + /// keywords with their associated commands + pub fn iter_with_keywords() -> impl Iterator { + Self::iter() + // Go through all the shortcuts first + .filter_map(|c| c.short_keyword().map(|s| (s, c))) + .chain(Self::iter().map(|c| (c.keyword(), c))) + } } impl Display for ChatCommand { @@ -785,28 +737,13 @@ impl FromStr for ChatCommand { type Err = (); fn from_str(keyword: &str) -> Result { - let kwd = if let Some(stripped) = keyword.strip_prefix('/') { - stripped - } else { - &keyword - }; - if keyword.len() == 1 { - if let Some(c) = keyword - .chars() - .next() - .as_ref() - .and_then(|k| CHAT_SHORTCUTS.get(k)) - { - return Ok(*c); - } - } else { - for c in CHAT_COMMANDS { - if kwd == c.keyword() { - return Ok(*c); - } - } - } - Err(()) + let keyword = keyword.strip_prefix('/').unwrap_or(keyword); + + Self::iter_with_keywords() + // Find command with matching string as keyword + .find_map(|(kwd, command)| (kwd == keyword).then(|| command)) + // Return error if not found + .ok_or(()) } } diff --git a/common/src/combat.rs b/common/src/combat.rs index 4755f3d170..66e2116411 100644 --- a/common/src/combat.rs +++ b/common/src/combat.rs @@ -1,7 +1,7 @@ +use crate::comp::buff::{Buff, BuffChange, BuffData, BuffKind, BuffSource}; #[cfg(not(target_arch = "wasm32"))] use crate::{ comp::{ - buff::{Buff, BuffChange, BuffData, BuffKind, BuffSource}, inventory::{ item::{ armor::Protection, @@ -56,6 +56,7 @@ pub struct AttackerInfo<'a> { pub uid: Uid, pub energy: Option<&'a Energy>, pub combo: Option<&'a Combo>, + pub inventory: Option<&'a Inventory>, } #[cfg(not(target_arch = "wasm32"))] @@ -213,11 +214,13 @@ impl Attack { } }, CombatEffect::EnergyReward(ec) => { - if let Some(attacker_entity) = attacker.map(|a| a.entity) { + if let Some(attacker) = attacker { emit(ServerEvent::EnergyChange { - entity: attacker_entity, + entity: attacker.entity, change: EnergyChange { - amount: *ec as i32, + amount: (*ec + * compute_energy_reward_mod(attacker.inventory)) + as i32, source: EnergySource::HitEnemy, }, }); @@ -348,11 +351,12 @@ impl Attack { } }, CombatEffect::EnergyReward(ec) => { - if let Some(attacker_entity) = attacker.map(|a| a.entity) { + if let Some(attacker) = attacker { emit(ServerEvent::EnergyChange { - entity: attacker_entity, + entity: attacker.entity, change: EnergyChange { - amount: ec as i32, + amount: (ec * compute_energy_reward_mod(attacker.inventory)) + as i32, source: EnergySource::HitEnemy, }, }); @@ -539,7 +543,7 @@ impl Damage { .equipped_items() .filter_map(|item| { if let ItemKind::Armor(armor) = &item.kind() { - Some(armor.get_protection()) + Some(armor.protection()) } else { None } @@ -810,6 +814,7 @@ pub fn get_weapons(inv: &Inventory) -> (Option, Option) { ) } +#[cfg(not(target_arch = "wasm32"))] pub fn weapon_rating(item: &T, msm: &MaterialStatManifest) -> f32 { const DAMAGE_WEIGHT: f32 = 2.0; const POISE_WEIGHT: f32 = 1.0; @@ -817,8 +822,10 @@ pub fn weapon_rating(item: &T, msm: &MaterialStatManifest) -> f32 { if let ItemKind::Tool(tool) = item.kind() { let stats = tool::Stats::from((msm, item.components(), tool)); - let damage_rating = - stats.power * stats.speed * (1.0 + stats.crit_chance * (stats.crit_mult - 1.0)); + // TODO: Look into changing the 0.5 to reflect armor later maybe? + // Since it is only for weapon though, it probably makes sense to leave + // independent for now + let damage_rating = stats.power * stats.speed * (1.0 + stats.crit_chance * 0.5); let poise_rating = stats.poise_strength * stats.speed; (damage_rating * DAMAGE_WEIGHT + poise_rating * POISE_WEIGHT) @@ -828,6 +835,7 @@ pub fn weapon_rating(item: &T, msm: &MaterialStatManifest) -> f32 { } } +#[cfg(not(target_arch = "wasm32"))] fn weapon_skills(inventory: &Inventory, skill_set: &SkillSet) -> f32 { let (mainhand, offhand) = get_weapons(inventory); let mainhand_skills = if let Some(tool) = mainhand { @@ -843,6 +851,7 @@ fn weapon_skills(inventory: &Inventory, skill_set: &SkillSet) -> f32 { mainhand_skills.max(offhand_skills) } +#[cfg(not(target_arch = "wasm32"))] fn get_weapon_rating(inventory: &Inventory, msm: &MaterialStatManifest) -> f32 { let mainhand_rating = if let Some((item, _)) = equipped_item_and_tool(inventory, EquipSlot::ActiveMainhand) { @@ -894,3 +903,61 @@ pub fn combat_rating( // skills would account for. It should only not be 1.0 for non-humanoids combined_rating * body.combat_multiplier() } + +#[cfg(not(target_arch = "wasm32"))] +pub fn compute_crit_mult(inventory: Option<&Inventory>) -> f32 { + // Starts with a value of 1.25 when summing the stats from each armor piece, and + // defaults to a value of 1.25 if no inventory is equipped + inventory.map_or(1.25, |inv| { + inv.equipped_items() + .filter_map(|item| { + if let ItemKind::Armor(armor) = &item.kind() { + Some(armor.crit_power()) + } else { + None + } + }) + .fold(1.25, |a, b| a + b) + }) +} + +/// Computes the energy reward modifer from worn armor +#[cfg(not(target_arch = "wasm32"))] +pub fn compute_energy_reward_mod(inventory: Option<&Inventory>) -> f32 { + // Starts with a value of 1.0 when summing the stats from each armor piece, and + // defaults to a value of 1.0 if no inventory is present + inventory.map_or(1.0, |inv| { + inv.equipped_items() + .filter_map(|item| { + if let ItemKind::Armor(armor) = &item.kind() { + Some(armor.energy_reward()) + } else { + None + } + }) + .fold(1.0, |a, b| a + b) + }) +} + +/// Computes the modifier that should be applied to max energy from the +/// currently equipped items +#[cfg(not(target_arch = "wasm32"))] +pub fn compute_max_energy_mod(energy: &Energy, inventory: Option<&Inventory>) -> f32 { + // Defaults to a value of 0 if no inventory is present + let energy_increase = inventory.map_or(0, |inv| { + inv.equipped_items() + .filter_map(|item| { + if let ItemKind::Armor(armor) = &item.kind() { + Some(armor.energy_max()) + } else { + None + } + }) + .sum() + }); + // Returns the energy increase divided by base max of energy. + // This value is then added to the max_energy_modifier field on stats component. + // Adding is important here, as it ensures that a flat modifier is applied + // correctly. + energy_increase as f32 / energy.base_max() as f32 +} diff --git a/common/src/comp/beam.rs b/common/src/comp/beam.rs index 50e056ad1b..9111c35453 100644 --- a/common/src/comp/beam.rs +++ b/common/src/comp/beam.rs @@ -54,4 +54,5 @@ pub enum FrontendSpecifier { Cultist, ClayGolem, Bubbles, + Frost, } diff --git a/common/src/comp/body.rs b/common/src/comp/body.rs index 92ce8ca450..34831fdf9c 100644 --- a/common/src/comp/body.rs +++ b/common/src/comp/body.rs @@ -309,25 +309,34 @@ impl Body { _ => Vec3::new(4.6, 3.0, 6.0), }, - Body::BipedSmall(_) => Vec3::new(1.0, 0.75, 1.4), - Body::BirdMedium(_) => Vec3::new(2.0, 1.0, 1.1), - Body::BirdLarge(_) => Vec3::new(2.0, 5.0, 2.4), + Body::BipedSmall(body) => match body.species { + biped_small::Species::Gnarling => Vec3::new(1.0, 0.75, 1.4), + biped_small::Species::Haniwa => Vec3::new(1.0, 0.75, 2.2), + biped_small::Species::Adlet => Vec3::new(1.0, 0.75, 2.0), + biped_small::Species::Sahagin => Vec3::new(1.0, 1.2, 1.7), + biped_small::Species::Myrmidon => Vec3::new(1.0, 0.75, 2.2), + biped_small::Species::Husk => Vec3::new(1.0, 0.75, 1.7), + + _ => Vec3::new(1.0, 0.75, 1.4), + }, + Body::BirdMedium(_) => Vec3::new(2.0, 1.0, 1.5), + Body::BirdLarge(_) => Vec3::new(2.0, 6.0, 3.5), Body::Dragon(_) => Vec3::new(16.0, 10.0, 16.0), Body::FishMedium(_) => Vec3::new(0.5, 2.0, 0.8), Body::FishSmall(_) => Vec3::new(0.3, 1.2, 0.6), Body::Golem(_) => Vec3::new(5.0, 5.0, 7.5), Body::Humanoid(humanoid) => { let height = match (humanoid.species, humanoid.body_type) { - (humanoid::Species::Orc, humanoid::BodyType::Male) => 2.3, - (humanoid::Species::Orc, humanoid::BodyType::Female) => 2.2, - (humanoid::Species::Human, humanoid::BodyType::Male) => 2.3, - (humanoid::Species::Human, humanoid::BodyType::Female) => 2.2, - (humanoid::Species::Elf, humanoid::BodyType::Male) => 2.3, - (humanoid::Species::Elf, humanoid::BodyType::Female) => 2.2, - (humanoid::Species::Dwarf, humanoid::BodyType::Male) => 1.9, - (humanoid::Species::Dwarf, humanoid::BodyType::Female) => 1.8, - (humanoid::Species::Undead, humanoid::BodyType::Male) => 2.2, - (humanoid::Species::Undead, humanoid::BodyType::Female) => 2.1, + (humanoid::Species::Orc, humanoid::BodyType::Male) => 2.0, + (humanoid::Species::Orc, humanoid::BodyType::Female) => 1.9, + (humanoid::Species::Human, humanoid::BodyType::Male) => 1.8, + (humanoid::Species::Human, humanoid::BodyType::Female) => 1.7, + (humanoid::Species::Elf, humanoid::BodyType::Male) => 1.9, + (humanoid::Species::Elf, humanoid::BodyType::Female) => 1.8, + (humanoid::Species::Dwarf, humanoid::BodyType::Male) => 1.6, + (humanoid::Species::Dwarf, humanoid::BodyType::Female) => 1.5, + (humanoid::Species::Undead, humanoid::BodyType::Male) => 1.9, + (humanoid::Species::Undead, humanoid::BodyType::Female) => 1.8, (humanoid::Species::Danari, humanoid::BodyType::Male) => 1.5, (humanoid::Species::Danari, humanoid::BodyType::Female) => 1.4, }; @@ -335,51 +344,52 @@ impl Body { }, Body::Object(object) => object.dimensions(), Body::QuadrupedMedium(body) => match body.species { - quadruped_medium::Species::Barghest => Vec3::new(2.0, 3.6, 2.5), - quadruped_medium::Species::Bear => Vec3::new(2.0, 3.6, 2.0), + quadruped_medium::Species::Barghest => Vec3::new(2.0, 4.4, 2.7), + quadruped_medium::Species::Bear => Vec3::new(2.0, 3.8, 3.0), quadruped_medium::Species::Catoblepas => Vec3::new(2.0, 4.0, 2.9), - quadruped_medium::Species::Cattle => Vec3::new(2.0, 3.6, 2.0), - quadruped_medium::Species::Deer => Vec3::new(2.0, 3.0, 2.0), - quadruped_medium::Species::Dreadhorn => Vec3::new(2.0, 3.0, 2.5), + quadruped_medium::Species::Cattle => Vec3::new(2.0, 3.6, 2.4), + quadruped_medium::Species::Deer => Vec3::new(2.0, 3.0, 2.2), + quadruped_medium::Species::Dreadhorn => Vec3::new(2.0, 5.0, 4.0), quadruped_medium::Species::Grolgar => Vec3::new(2.0, 4.0, 2.0), - quadruped_medium::Species::Highland => Vec3::new(2.0, 3.6, 2.0), - quadruped_medium::Species::Horse => Vec3::new(2.0, 3.0, 2.0), - quadruped_medium::Species::Lion => Vec3::new(2.0, 3.0, 2.0), + quadruped_medium::Species::Highland => Vec3::new(2.0, 3.6, 2.4), + quadruped_medium::Species::Horse => Vec3::new(2.0, 3.0, 2.4), + quadruped_medium::Species::Lion => Vec3::new(2.0, 3.3, 2.0), quadruped_medium::Species::Moose => Vec3::new(2.0, 4.0, 2.5), - quadruped_medium::Species::Saber => Vec3::new(2.0, 4.0, 2.0), + quadruped_medium::Species::Saber => Vec3::new(2.0, 3.0, 2.0), quadruped_medium::Species::Tarasque => Vec3::new(2.0, 4.0, 2.6), - quadruped_medium::Species::Yak => Vec3::new(2.0, 3.6, 2.0), + quadruped_medium::Species::Yak => Vec3::new(2.0, 3.6, 3.0), _ => Vec3::new(2.0, 3.0, 2.0), }, Body::QuadrupedSmall(body) => match body.species { - quadruped_small::Species::Dodarock => Vec3::new(1.2, 1.2, 1.5), - quadruped_small::Species::Holladon => Vec3::new(1.2, 1.2, 1.5), - quadruped_small::Species::Truffler => Vec3::new(1.2, 1.2, 2.0), + quadruped_small::Species::Dodarock => Vec3::new(1.2, 1.8, 1.5), + quadruped_small::Species::Holladon => Vec3::new(1.2, 1.6, 1.5), + quadruped_small::Species::Truffler => Vec3::new(1.2, 1.8, 2.2), _ => Vec3::new(1.2, 1.2, 1.0), }, Body::QuadrupedLow(body) => match body.species { - quadruped_low::Species::Asp => Vec3::new(1.0, 2.5, 1.3), - quadruped_low::Species::Crocodile => Vec3::new(1.0, 2.4, 1.3), - quadruped_low::Species::Deadwood => Vec3::new(1.0, 0.5, 1.3), - quadruped_low::Species::Lavadrake => Vec3::new(1.0, 2.5, 1.3), - quadruped_low::Species::Maneater => Vec3::new(1.0, 1.6, 4.0), + quadruped_low::Species::Asp => Vec3::new(1.0, 3.0, 1.8), + quadruped_low::Species::Crocodile => Vec3::new(1.0, 2.8, 1.3), + quadruped_low::Species::Deadwood => Vec3::new(1.0, 1.4, 1.3), + quadruped_low::Species::Lavadrake => Vec3::new(1.0, 3.0, 2.5), + quadruped_low::Species::Maneater => Vec3::new(1.0, 2.2, 4.0), quadruped_low::Species::Monitor => Vec3::new(1.0, 2.3, 1.5), - quadruped_low::Species::Pangolin => Vec3::new(1.0, 2.0, 1.3), - quadruped_low::Species::Rocksnapper => Vec3::new(1.0, 1.6, 2.9), + quadruped_low::Species::Pangolin => Vec3::new(1.0, 2.6, 1.1), + quadruped_low::Species::Rocksnapper => Vec3::new(1.0, 3.0, 2.9), + quadruped_low::Species::Basilisk => Vec3::new(1.8, 3.4, 2.9), quadruped_low::Species::Salamander => Vec3::new(1.0, 2.4, 1.3), - quadruped_low::Species::Tortoise => Vec3::new(1.0, 1.6, 2.0), + quadruped_low::Species::Tortoise => Vec3::new(1.0, 1.8, 1.6), _ => Vec3::new(1.0, 1.6, 1.3), }, Body::Ship(ship) => ship.dimensions(), Body::Theropod(body) => match body.species { - theropod::Species::Archaeos => Vec3::new(4.0, 7.0, 8.0), - theropod::Species::Ntouka => Vec3::new(4.0, 6.0, 8.0), - theropod::Species::Odonto => Vec3::new(4.0, 6.5, 8.0), + theropod::Species::Archaeos => Vec3::new(4.0, 8.5, 8.0), + theropod::Species::Ntouka => Vec3::new(4.0, 7.0, 8.0), + theropod::Species::Odonto => Vec3::new(4.0, 7.0, 8.0), theropod::Species::Sandraptor => Vec3::new(2.0, 3.0, 2.6), theropod::Species::Snowraptor => Vec3::new(2.0, 3.0, 2.6), theropod::Species::Sunlizard => Vec3::new(2.0, 3.6, 2.5), theropod::Species::Woodraptor => Vec3::new(2.0, 3.0, 2.6), - theropod::Species::Yale => Vec3::new(1.5, 3.2, 6.0), + theropod::Species::Yale => Vec3::new(1.5, 3.2, 4.0), }, } } @@ -472,7 +482,7 @@ impl Body { biped_large::Species::Dullahan => 3000, biped_large::Species::Mindflayer => 12500, biped_large::Species::Tidalwarrior => 16000, - biped_large::Species::Yeti => 4000, + biped_large::Species::Yeti => 12000, biped_large::Species::Minotaur => 30000, biped_large::Species::Harvester => 3000, biped_large::Species::Blueoni => 2400, @@ -510,13 +520,13 @@ impl Body { quadruped_low::Species::Monitor => 600, quadruped_low::Species::Asp => 750, quadruped_low::Species::Tortoise => 900, - quadruped_low::Species::Rocksnapper => 1200, + quadruped_low::Species::Rocksnapper => 1400, quadruped_low::Species::Pangolin => 400, quadruped_low::Species::Maneater => 700, quadruped_low::Species::Sandshark => 900, quadruped_low::Species::Hakulaq => 500, - quadruped_low::Species::Lavadrake => 1000, - quadruped_low::Species::Basilisk => 1000, + quadruped_low::Species::Lavadrake => 1600, + quadruped_low::Species::Basilisk => 2000, quadruped_low::Species::Deadwood => 700, _ => 700, }, @@ -587,7 +597,7 @@ impl Body { biped_large::Species::Wendigo => 80, biped_large::Species::Troll => 60, biped_large::Species::Dullahan => 120, - biped_large::Species::Yeti => 80, + biped_large::Species::Yeti => 0, biped_large::Species::Harvester => 80, // Boss enemies have their health set, not adjusted by level. biped_large::Species::Mindflayer => 0, @@ -623,7 +633,7 @@ impl Body { Body::BirdLarge(_) => 50.0, Body::BirdMedium(_) => 40.0, Body::Dragon(_) => 60.0, - Body::Ship(ship::Body::DefaultAirship) => 60.0, + Body::Ship(ship) if ship.can_fly() => 60.0, _ => 0.0, } } @@ -651,6 +661,7 @@ impl Body { biped_large::Species::Mindflayer => 4.8, biped_large::Species::Minotaur => 3.2, biped_large::Species::Tidalwarrior => 2.25, + biped_large::Species::Yeti => 2.0, _ => 1.0, }, Body::Golem(g) => match g.species { @@ -691,6 +702,7 @@ impl Body { pub fn mounting_offset(&self) -> Vec3 { match self { Body::Ship(ship::Body::DefaultAirship) => Vec3::from([0.0, 0.0, 10.0]), + Body::Ship(ship::Body::AirBalloon) => Vec3::from([0.0, 0.0, 5.0]), _ => Vec3::unit_z(), } } diff --git a/common/src/comp/body/object.rs b/common/src/comp/body/object.rs index cf509fdc1c..95d8978b9d 100644 --- a/common/src/comp/body/object.rs +++ b/common/src/comp/body/object.rs @@ -74,8 +74,8 @@ make_case_elim!( FireworkYellow = 59, MultiArrow = 60, BoltNature = 61, - MeatDrop = 62, - Steak = 63, + ToughMeat = 62, + BeastMeat = 63, Crossbow = 64, ArrowTurret = 65, Coins = 66, @@ -84,6 +84,10 @@ make_case_elim!( ClayRocket = 69, HaniwaSentry = 70, SeaLantern = 71, + Snowball = 72, + BirdMeat = 73, + FishMeat = 74, + SmallMeat = 75, } ); @@ -94,7 +98,7 @@ impl Body { } } -pub const ALL_OBJECTS: [Body; 72] = [ +pub const ALL_OBJECTS: [Body; 76] = [ Body::Arrow, Body::Bomb, Body::Scarecrow, @@ -157,8 +161,8 @@ pub const ALL_OBJECTS: [Body; 72] = [ Body::FireworkYellow, Body::MultiArrow, Body::BoltNature, - Body::MeatDrop, - Body::Steak, + Body::ToughMeat, + Body::BeastMeat, Body::Crossbow, Body::ArrowTurret, Body::Coins, @@ -167,6 +171,10 @@ pub const ALL_OBJECTS: [Body; 72] = [ Body::ClayRocket, Body::HaniwaSentry, Body::SeaLantern, + Body::Snowball, + Body::BirdMeat, + Body::FishMeat, + Body::SmallMeat, ]; impl From for super::Body { @@ -238,8 +246,8 @@ impl Body { Body::FireworkYellow => "firework_yellow", Body::MultiArrow => "multi_arrow", Body::BoltNature => "bolt_nature", - Body::MeatDrop => "meat_drop", - Body::Steak => "steak", + Body::ToughMeat => "tough_meat", + Body::BeastMeat => "beast_meat", Body::Crossbow => "crossbow", Body::ArrowTurret => "arrow_turret", Body::Coins => "coins", @@ -248,6 +256,10 @@ impl Body { Body::ClayRocket => "clay_rocket", Body::HaniwaSentry => "haniwa_sentry", Body::SeaLantern => "sea_lantern", + Body::Snowball => "snowball", + Body::BirdMeat => "bird_meat", + Body::FishMeat => "fish_meat", + Body::SmallMeat => "small_meat", } } @@ -270,6 +282,7 @@ impl Body { Body::Crate => 300.0, // let's say it's a lot of wood and maybe some contents Body::Scarecrow => 900.0, Body::TrainingDummy => 2000.0, + Body::Snowball => 0.9 * WATER_DENSITY, // let them sink _ => 1.1 * WATER_DENSITY, }; @@ -323,14 +336,14 @@ impl Body { | Body::LanternGroundOpen | Body::LanternStanding | Body::LanternStanding2 => 3.0, - Body::MeatDrop => 5.0, + Body::ToughMeat => 50.0, + Body::BeastMeat => 50.0, Body::PotionBlue | Body::PotionGreen | Body::PotionRed => 5.0, Body::Pouch => 1.0, Body::Pumpkin | Body::Pumpkin2 | Body::Pumpkin3 | Body::Pumpkin4 | Body::Pumpkin5 => { 10.0 }, Body::Scarecrow => 50.0, - Body::Steak => 2.0, Body::Table | Body::Table2 | Body::Table3 => 50.0, Body::Tent => 50.0, Body::TrainingDummy => 60.0, @@ -340,6 +353,10 @@ impl Body { Body::ClayRocket => 50.0, Body::HaniwaSentry => 300.0, Body::SeaLantern => 1000.0, + Body::Snowball => 7360.0, // 2.5 m diamter + Body::FishMeat => 10.0, + Body::BirdMeat => 10.0, + Body::SmallMeat => 10.0, }; Mass(m) @@ -354,6 +371,7 @@ impl Body { Body::Crossbow => Vec3::new(3.0, 3.0, 1.5), Body::HaniwaSentry => Vec3::new(0.8, 0.8, 1.4), Body::SeaLantern => Vec3::new(0.5, 0.5, 1.0), + Body::Snowball => Vec3::broadcast(2.5), _ => Vec3::broadcast(0.5), } } diff --git a/common/src/comp/body/ship.rs b/common/src/comp/body/ship.rs index f880683d47..09bae038e0 100644 --- a/common/src/comp/body/ship.rs +++ b/common/src/comp/body/ship.rs @@ -3,15 +3,19 @@ use crate::{ consts::AIR_DENSITY, make_case_elim, }; +use rand::prelude::SliceRandom; use serde::{Deserialize, Serialize}; use vek::Vec3; +pub const ALL_BODIES: [Body; 2] = [Body::DefaultAirship, Body::AirBalloon]; + make_case_elim!( body, #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] #[repr(u32)] pub enum Body { DefaultAirship = 0, + AirBalloon = 1, } ); @@ -20,13 +24,26 @@ impl From for super::Body { } impl Body { + pub fn random() -> Self { + let mut rng = rand::thread_rng(); + Self::random_with(&mut rng) + } + + pub fn random_with(rng: &mut impl rand::Rng) -> Self { *(&ALL_BODIES).choose(rng).unwrap() } + pub fn manifest_entry(&self) -> &'static str { match self { - Body::DefaultAirship => "Human_Airship", + Body::DefaultAirship => "airship_human.structure", + Body::AirBalloon => "air_balloon.structure", } } - pub fn dimensions(&self) -> Vec3 { Vec3::new(25.0, 50.0, 40.0) } + pub fn dimensions(&self) -> Vec3 { + match self { + Body::DefaultAirship => Vec3::new(25.0, 50.0, 40.0), + Body::AirBalloon => Vec3::new(25.0, 50.0, 40.0), + } + } fn balloon_vol(&self) -> f32 { let spheroid_vol = |equat_d: f32, polar_d: f32| -> f32 { @@ -52,6 +69,12 @@ impl Body { pub fn density(&self) -> Density { Density(AIR_DENSITY) } pub fn mass(&self) -> Mass { Mass((self.hull_vol() + self.balloon_vol()) * self.density().0) } + + pub fn can_fly(&self) -> bool { + match self { + Body::DefaultAirship | Body::AirBalloon => true, + } + } } /// Terrain is 11.0 scale relative to small-scale voxels, @@ -153,4 +176,17 @@ pub mod figuredata { // like a hard problem if they're not the same manifest) pub static ref VOXEL_COLLIDER_MANIFEST: AssetHandle = AssetExt::load_expect("server.manifests.ship_manifest"); } + + #[test] + fn test_ship_manifest_entries() { + for body in super::ALL_BODIES { + assert!( + VOXEL_COLLIDER_MANIFEST + .read() + .colliders + .get(body.manifest_entry()) + .is_some() + ); + } + } } diff --git a/common/src/comp/buff.rs b/common/src/comp/buff.rs index f76965898d..412ab0affa 100644 --- a/common/src/comp/buff.rs +++ b/common/src/comp/buff.rs @@ -1,5 +1,5 @@ -#[cfg(not(target_arch = "wasm32"))] use crate::uid::Uid; +use core::{cmp::Ordering, time::Duration}; #[cfg(not(target_arch = "wasm32"))] use hashbrown::HashMap; use serde::{Deserialize, Serialize}; @@ -7,8 +7,6 @@ use serde::{Deserialize, Serialize}; use specs::{Component, DerefFlaggedStorage}; #[cfg(not(target_arch = "wasm32"))] use specs_idvs::IdvStorage; -#[cfg(not(target_arch = "wasm32"))] -use std::{cmp::Ordering, time::Duration}; use strum_macros::EnumIter; /// De/buff Kind. @@ -101,7 +99,6 @@ impl BuffKind { } // Struct used to store data relevant to a buff -#[cfg(not(target_arch = "wasm32"))] #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] pub struct BuffData { pub strength: f32, @@ -116,7 +113,6 @@ impl BuffData { /// De/buff category ID. /// Similar to `BuffKind`, but to mark a category (for more generic usage, like /// positive/negative buffs). -#[cfg(not(target_arch = "wasm32"))] #[derive(Clone, Copy, Eq, PartialEq, Debug, Serialize, Deserialize)] pub enum BuffCategory { Natural, @@ -127,7 +123,6 @@ pub enum BuffCategory { FromAura(bool), // bool used to check if buff recently set by aura } -#[cfg(not(target_arch = "wasm32"))] #[derive(Clone, Debug, Serialize, Deserialize)] pub enum ModifierKind { Additive, @@ -135,7 +130,6 @@ pub enum ModifierKind { } /// Data indicating and configuring behaviour of a de/buff. -#[cfg(not(target_arch = "wasm32"))] #[derive(Clone, Debug, Serialize, Deserialize)] pub enum BuffEffect { /// Periodically damages or heals entity @@ -175,7 +169,6 @@ pub enum BuffEffect { /// /// To provide more classification info when needed, /// buff can be in one or more buff category. -#[cfg(not(target_arch = "wasm32"))] #[derive(Clone, Debug, Serialize, Deserialize)] pub struct Buff { pub kind: BuffKind, @@ -188,7 +181,6 @@ pub struct Buff { /// Information about whether buff addition or removal was requested. /// This to implement "on_add" and "on_remove" hooks for constant buffs. -#[cfg(not(target_arch = "wasm32"))] #[derive(Clone, Debug)] pub enum BuffChange { /// Adds this buff. @@ -371,7 +363,6 @@ impl PartialEq for Buff { } /// Source of the de/buff -#[cfg(not(target_arch = "wasm32"))] #[derive(Clone, Copy, PartialEq, Debug, Serialize, Deserialize)] pub enum BuffSource { /// Applied by a character @@ -485,7 +476,6 @@ impl Buffs { } } -#[cfg(not(target_arch = "wasm32"))] pub type BuffId = u64; #[cfg(not(target_arch = "wasm32"))] diff --git a/common/src/comp/energy.rs b/common/src/comp/energy.rs index e540cb6ad5..c469952fa0 100644 --- a/common/src/comp/energy.rs +++ b/common/src/comp/energy.rs @@ -6,9 +6,8 @@ use specs_idvs::IdvStorage; #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] pub struct Energy { current: u32, - maximum: u32, base_max: u32, - last_max: u32, + maximum: u32, pub regen_rate: f32, pub last_change: Option<(i32, f64, EnergySource)>, } @@ -45,7 +44,6 @@ impl Energy { current: 0, maximum: 0, base_max: 0, - last_max: 0, regen_rate: 0.0, last_change: None, } @@ -53,6 +51,8 @@ impl Energy { pub fn current(&self) -> u32 { self.current } + pub fn base_max(&self) -> u32 { self.base_max } + pub fn maximum(&self) -> u32 { self.maximum } pub fn set_to(&mut self, amount: u32, cause: EnergySource) { @@ -66,14 +66,20 @@ impl Energy { self.last_change = Some((change.amount, 0.0, change.source)); } - // This function changes the modified max energy value, not the base energy - // value. The modified energy value takes into account buffs and other temporary - // changes to max energy. + /// This function changes the modified max energy value, not the base energy + /// value. The modified energy value takes into account buffs and other + /// temporary changes to max energy. pub fn set_maximum(&mut self, amount: u32) { self.maximum = amount; self.current = self.current.min(self.maximum); } + /// Scales the temporary max energy by a modifier. + pub fn scale_maximum(&mut self, scaled: f32) { + let scaled_max = (self.base_max as f32 * scaled) as u32; + self.set_maximum(scaled_max); + } + pub fn try_change_by( &mut self, amount: i32, @@ -92,34 +98,24 @@ impl Energy { } } - //sets last_max to base HP, then if the current is more than your base_max - // it'll set it to base max - pub fn last_set(&mut self) { self.last_max = self.maximum } - pub fn update_max_energy(&mut self, body: Option, level: u16) { + const ENERGY_PER_LEVEL: u32 = 50; if let Some(body) = body { - self.set_base_max(body.base_energy() + 50 * level as u32); - self.set_maximum(body.base_energy() + 50 * level as u32); + // Checks the current difference between maximum and base max + let current_difference = self.maximum as i32 - self.base_max as i32; + // Sets base max to new value based off of new level provided + self.base_max = body.base_energy() + ENERGY_PER_LEVEL * level as u32; + // Calculates new maximum by adding difference to new base max + let new_maximum = (self.base_max as i32 + current_difference).max(0) as u32; + // Sets maximum to calculated value + self.set_maximum(new_maximum); + // Awards energy self.change_by(EnergyChange { - amount: 50, + amount: ENERGY_PER_LEVEL as i32, source: EnergySource::LevelUp, }); } } - - pub fn reset_max(&mut self) { - self.maximum = self.base_max; - if self.current > self.last_max { - self.current = self.last_max; - self.last_max = self.base_max; - } - } - - // This is private because max energy is based on the level - fn set_base_max(&mut self, amount: u32) { - self.base_max = amount; - self.current = self.current.min(self.maximum); - } } pub struct EnergyChange { diff --git a/common/src/comp/fluid_dynamics.rs b/common/src/comp/fluid_dynamics.rs index 4ec07d51aa..6529efc82c 100644 --- a/common/src/comp/fluid_dynamics.rs +++ b/common/src/comp/fluid_dynamics.rs @@ -1,7 +1,6 @@ -use super::{ - body::{object, Body}, - Density, Ori, Vel, -}; +#[cfg(not(target_arch = "wasm32"))] +use super::body::{object, Body}; +use super::{Density, Ori, Vel}; use crate::{ consts::{AIR_DENSITY, WATER_DENSITY}, util::{Dir, Plane, Projection}, @@ -93,6 +92,7 @@ pub struct Wings { pub ori: Ori, } +#[cfg(not(target_arch = "wasm32"))] impl Body { pub fn aerodynamic_forces( &self, diff --git a/common/src/comp/inventory/item/armor.rs b/common/src/comp/inventory/item/armor.rs index 19b0f42fd4..13b7b9cced 100644 --- a/common/src/comp/inventory/item/armor.rs +++ b/common/src/comp/inventory/item/armor.rs @@ -28,23 +28,58 @@ impl Armor { #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] pub struct Stats { + /// Protection is non-linearly transformed (following summation) to a damage + /// reduction using (prot / (60 + prot)) protection: Protection, + /// Poise protection is non-linearly transformed (following summation) to a + /// poise damage reduction using (prot / (60 + prot)) poise_resilience: Protection, + /// Energy max is summed, and then applied directly to the max energy stat + /// (multiply values by 10 for expected results, as energy internally is 10x + /// larger to allow smaller changes to occur with an integer) + energy_max: i32, + /// Energy recovery is summed, and then added to 1.0. When attacks reward + /// energy, it is then multiplied by this value before the energy is + /// rewarded. + energy_reward: f32, + /// Crit power is summed, and then added to the default crit multiplier of + /// 1.25. Damage is multiplied by this value when an attack crits. + crit_power: f32, + stealth: f32, } impl Stats { // DO NOT USE UNLESS YOU KNOW WHAT YOU ARE DOING // Added for csv import of stats - pub fn new(protection: Protection, poise_resilience: Protection) -> Self { + pub fn new( + protection: Protection, + poise_resilience: Protection, + energy_max: i32, + energy_reward: f32, + crit_power: f32, + stealth: f32, + ) -> Self { Self { protection, poise_resilience, + energy_max, + energy_reward, + crit_power, + stealth, } } - pub fn get_protection(&self) -> Protection { self.protection } + pub fn protection(&self) -> Protection { self.protection } - pub fn get_poise_resilience(&self) -> Protection { self.poise_resilience } + pub fn poise_resilience(&self) -> Protection { self.poise_resilience } + + pub fn energy_max(&self) -> i32 { self.energy_max } + + pub fn energy_reward(&self) -> f32 { self.energy_reward } + + pub fn crit_power(&self) -> f32 { self.crit_power } + + pub fn stealth(&self) -> f32 { self.stealth } } impl Sub for Stats { @@ -54,6 +89,10 @@ impl Sub for Stats { Self { protection: self.protection - other.protection, poise_resilience: self.poise_resilience - other.poise_resilience, + energy_max: self.energy_max - other.energy_max, + energy_reward: self.energy_reward - other.energy_reward, + crit_power: self.crit_power - other.crit_power, + stealth: self.stealth - other.stealth, } } } @@ -64,6 +103,10 @@ pub enum Protection { Normal(f32), } +impl Default for Protection { + fn default() -> Self { Self::Normal(0.0) } +} + impl Sub for Protection { type Output = Self; @@ -96,19 +139,19 @@ pub struct Armor { } impl Armor { - pub fn new(kind: ArmorKind, protection: Protection, poise_resilience: Protection) -> Self { - Self { - kind, - stats: Stats { - protection, - poise_resilience, - }, - } - } + pub fn new(kind: ArmorKind, stats: Stats) -> Self { Self { kind, stats } } - pub fn get_protection(&self) -> Protection { self.stats.protection } + pub fn protection(&self) -> Protection { self.stats.protection } - pub fn get_poise_resilience(&self) -> Protection { self.stats.poise_resilience } + pub fn poise_resilience(&self) -> Protection { self.stats.poise_resilience } + + pub fn energy_max(&self) -> i32 { self.stats.energy_max } + + pub fn energy_reward(&self) -> f32 { self.stats.energy_reward } + + pub fn crit_power(&self) -> f32 { self.stats.crit_power } + + pub fn stealth(&self) -> f32 { self.stats.stealth } #[cfg(test)] pub fn test_armor( @@ -121,6 +164,10 @@ impl Armor { stats: Stats { protection, poise_resilience, + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, }, } } diff --git a/common/src/comp/inventory/item/mod.rs b/common/src/comp/inventory/item/mod.rs index 9e33c3e66f..a67e2cc868 100644 --- a/common/src/comp/inventory/item/mod.rs +++ b/common/src/comp/inventory/item/mod.rs @@ -28,6 +28,7 @@ use serde::{de, Deserialize, Serialize, Serializer}; use specs::{Component, DerefFlaggedStorage}; use specs_idvs::IdvStorage; use std::{fmt, sync::Arc}; +use strum_macros::IntoStaticStr; use tracing::error; use vek::Rgb; @@ -91,12 +92,110 @@ pub trait TagExampleInfo { fn exemplar_identifier(&self) -> &'static str; } +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] +pub enum MaterialKind { + Metal, + Wood, + Stone, + Cloth, + Hide, +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize, IntoStaticStr)] +#[strum(serialize_all = "snake_case")] +pub enum Material { + Bronze, + Iron, + Steel, + Cobalt, + Bloodsteel, + Orichalcum, + Wood, + Bamboo, + Hardwood, + Ironwood, + Frostwood, + Eldwood, + Rock, + Granite, + Bone, + Basalt, + Obsidian, + Velorite, + Linen, + Wool, + Silk, + Lifecloth, + Moonweave, + Sunsilk, + Rawhide, + Leather, + Scale, + Carapace, + Plate, + Dragonscale, +} + +impl Material { + pub fn material_kind(&self) -> MaterialKind { + match self { + Material::Bronze + | Material::Iron + | Material::Steel + | Material::Cobalt + | Material::Bloodsteel + | Material::Orichalcum => MaterialKind::Metal, + Material::Wood + | Material::Bamboo + | Material::Hardwood + | Material::Ironwood + | Material::Frostwood + | Material::Eldwood => MaterialKind::Wood, + Material::Rock + | Material::Granite + | Material::Bone + | Material::Basalt + | Material::Obsidian + | Material::Velorite => MaterialKind::Stone, + Material::Linen + | Material::Wool + | Material::Silk + | Material::Lifecloth + | Material::Moonweave + | Material::Sunsilk => MaterialKind::Cloth, + Material::Rawhide + | Material::Leather + | Material::Scale + | Material::Carapace + | Material::Plate + | Material::Dragonscale => MaterialKind::Hide, + } + } +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] +#[serde(transparent)] +pub struct MaterialTag { + material: Material, +} + +impl MaterialTag { + pub fn material(&self) -> &Material { &self.material } +} + +impl TagExampleInfo for MaterialTag { + fn name(&self) -> &'static str { self.material.into() } + + fn exemplar_identifier(&self) -> &'static str { "common.items.tag_examples.placeholder" } +} + #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] pub enum ItemTag { - ClothItem, - LeatherItem, - ModularComponent(ModularComponentTag), MetalIngot, + Textile, + Leather, + Material(MaterialTag), + ModularComponent(ModularComponentTag), Cultist, Potion, Food, @@ -109,10 +208,11 @@ pub enum ItemTag { impl TagExampleInfo for ItemTag { fn name(&self) -> &'static str { match self { - ItemTag::ClothItem => "cloth item", - ItemTag::LeatherItem => "leather item", + ItemTag::Material(material) => material.name(), ItemTag::ModularComponent(kind) => kind.name(), ItemTag::MetalIngot => "metal ingot", + ItemTag::Textile => "textile", + ItemTag::Leather => "leather", ItemTag::Cultist => "cultist", ItemTag::Potion => "potion", ItemTag::Food => "food", @@ -126,10 +226,11 @@ impl TagExampleInfo for ItemTag { // TODO: Autogenerate these? fn exemplar_identifier(&self) -> &'static str { match self { - ItemTag::ClothItem => "common.items.tag_examples.cloth_item", - ItemTag::LeatherItem => "common.items.tag_examples.leather_item", + ItemTag::Material(_) => "common.items.tag_examples.placeholder", ItemTag::ModularComponent(tag) => tag.exemplar_identifier(), ItemTag::MetalIngot => "common.items.tag_examples.metal_ingot", + ItemTag::Textile => "common.items.tag_examples.textile", + ItemTag::Leather => "common.items.tag_examples.leather", ItemTag::Cultist => "common.items.tag_examples.cultist", ItemTag::Potion => "common.items.tag_examples.placeholder", ItemTag::Food => "common.items.tag_examples.placeholder", @@ -707,9 +808,8 @@ impl Item { Some(Item::new_from_asset_expect(match block.get_sprite()? { SpriteKind::Apple => "common.items.food.apple", SpriteKind::Mushroom => "common.items.food.mushroom", - SpriteKind::CaveMushroom => "common.items.food.mushroom", - SpriteKind::Velorite => "common.items.ore.velorite", - SpriteKind::VeloriteFrag => "common.items.ore.veloritefrag", + SpriteKind::Velorite => "common.items.mineral.ore.velorite", + SpriteKind::VeloriteFrag => "common.items.mineral.ore.veloritefrag", SpriteKind::BlueFlower => "common.items.flowers.blue", SpriteKind::PinkFlower => "common.items.flowers.pink", SpriteKind::PurpleFlower => "common.items.flowers.purple", @@ -727,18 +827,30 @@ impl Item { SpriteKind::VialEmpty => "common.items.crafting_ing.empty_vial", SpriteKind::Bowl => "common.items.crafting_ing.bowl", SpriteKind::PotionMinor => "common.items.consumable.potion_minor", - SpriteKind::Amethyst => "common.items.crafting_ing.amethyst", - SpriteKind::Ruby => "common.items.crafting_ing.ruby", - SpriteKind::Diamond => "common.items.crafting_ing.diamond", - SpriteKind::Sapphire => "common.items.crafting_ing.sapphire", - SpriteKind::Topaz => "common.items.crafting_ing.topaz", - SpriteKind::Emerald => "common.items.crafting_ing.emerald", - SpriteKind::AmethystSmall => "common.items.crafting_ing.amethyst", - SpriteKind::TopazSmall => "common.items.crafting_ing.topaz", - SpriteKind::DiamondSmall => "common.items.crafting_ing.diamond", - SpriteKind::RubySmall => "common.items.crafting_ing.ruby", - SpriteKind::EmeraldSmall => "common.items.crafting_ing.emerald", - SpriteKind::SapphireSmall => "common.items.crafting_ing.sapphire", + SpriteKind::Amethyst => "common.items.mineral.gem.amethyst", + SpriteKind::Ruby => "common.items.mineral.gem.ruby", + SpriteKind::Diamond => "common.items.mineral.gem.diamond", + SpriteKind::Sapphire => "common.items.mineral.gem.sapphire", + SpriteKind::Topaz => "common.items.mineral.gem.topaz", + SpriteKind::Emerald => "common.items.mineral.gem.emerald", + SpriteKind::AmethystSmall => "common.items.mineral.gem.amethyst", + SpriteKind::TopazSmall => "common.items.mineral.gem.topaz", + SpriteKind::DiamondSmall => "common.items.mineral.gem.diamond", + SpriteKind::RubySmall => "common.items.mineral.gem.ruby", + SpriteKind::EmeraldSmall => "common.items.mineral.gem.emerald", + SpriteKind::SapphireSmall => "common.items.mineral.gem.sapphire", + SpriteKind::Bloodstone => "common.items.mineral.ore.bloodstone", + SpriteKind::Coal => "common.items.mineral.ore.coal", + SpriteKind::Cobalt => "common.items.mineral.ore.cobalt", + SpriteKind::Copper => "common.items.mineral.ore.copper", + SpriteKind::Iron => "common.items.mineral.ore.iron", + SpriteKind::Tin => "common.items.mineral.ore.tin", + SpriteKind::Silver => "common.items.mineral.ore.silver", + SpriteKind::Gold => "common.items.mineral.ore.gold", + SpriteKind::Cotton => "common.items.crafting_ing.cotton_boll", + SpriteKind::Moonbell => "common.items.flowers.moonbell", + SpriteKind::Pyrebloom => "common.items.flowers.pyrebloom", + SpriteKind::WildFlax => "common.items.flowers.wild_flax", SpriteKind::Seashells => "common.items.crafting_ing.seashells", // Containers // IMPORTANT: Add any new container to `SpriteKind::is_container` @@ -957,7 +1069,8 @@ mod tests { Item::new_from_asset_glob("common.items.npc_weapons.*") .expect("Failed to iterate over npc weapons."); - Item::new_from_asset_glob("common.items.ore.*").expect("Failed to iterate over ores."); + Item::new_from_asset_glob("common.items.mineral.*") + .expect("Failed to iterate over minerals."); Item::new_from_asset_glob("common.items.tag_examples.*") .expect("Failed to iterate over tag examples."); diff --git a/common/src/comp/inventory/item/modular.rs b/common/src/comp/inventory/item/modular.rs index 039a377e70..9b803a20af 100644 --- a/common/src/comp/inventory/item/modular.rs +++ b/common/src/comp/inventory/item/modular.rs @@ -175,11 +175,6 @@ fn make_component_def( } else { 0.0 }, - crit_mult: if matches!(modkind, ModularComponentKind::Damage) { - 1.0 + AVERAGE_STAT_VALUE[tier] - } else { - 0.0 - }, }, }; let kind = ItemKind::ModularComponent(mc); diff --git a/common/src/comp/inventory/item/tool.rs b/common/src/comp/inventory/item/tool.rs index 50f62365d5..e91b52c0de 100644 --- a/common/src/comp/inventory/item/tool.rs +++ b/common/src/comp/inventory/item/tool.rs @@ -65,7 +65,6 @@ pub struct Stats { pub poise_strength: f32, pub speed: f32, pub crit_chance: f32, - pub crit_mult: f32, } impl Stats { @@ -76,7 +75,6 @@ impl Stats { poise_strength: 0.0, speed: 0.0, crit_chance: 0.0, - crit_mult: 0.0, } } @@ -101,7 +99,6 @@ impl AddAssign for Stats { self.poise_strength += other.poise_strength; self.speed += other.speed; self.crit_chance += other.crit_chance; - self.crit_mult += other.crit_mult; } } impl MulAssign for Stats { @@ -111,7 +108,6 @@ impl MulAssign for Stats { self.poise_strength *= other.poise_strength; self.speed *= other.speed; self.crit_chance *= other.crit_chance; - self.crit_mult *= other.crit_mult; } } impl DivAssign for Stats { @@ -124,7 +120,6 @@ impl DivAssign for Stats { self.poise_strength /= scalar as f32; self.speed /= scalar as f32; self.crit_chance /= scalar as f32; - self.crit_mult /= scalar as f32; } } @@ -138,7 +133,6 @@ impl Sub for Stats { poise_strength: self.poise_strength - other.poise_strength, speed: self.speed - other.speed, crit_chance: self.crit_chance - other.crit_chance, - crit_mult: self.crit_mult - other.crit_mult, } } } @@ -216,7 +210,6 @@ impl From<(&MaterialStatManifest, &[Item], &Tool)> for Stats { poise_strength: raw_stats.poise_strength * poise, speed: raw_stats.speed * speed, crit_chance: raw_stats.crit_chance, - crit_mult: raw_stats.crit_mult, } } } @@ -241,7 +234,6 @@ impl Tool { poise_strength: f32, speed: f32, crit_chance: f32, - crit_mult: f32, ) -> Self { Self { kind, @@ -252,7 +244,6 @@ impl Tool { poise_strength, speed, crit_chance, - crit_mult, }), } } @@ -267,7 +258,6 @@ impl Tool { poise_strength: 1.00, speed: 1.00, crit_chance: 0.1, - crit_mult: 2.0, }), } } @@ -292,10 +282,6 @@ impl Tool { self.stats.resolve_stats(msm, components).crit_chance } - pub fn base_crit_mult(&self, msm: &MaterialStatManifest, components: &[Item]) -> f32 { - self.stats.resolve_stats(msm, components).crit_mult - } - pub fn equip_time(&self, msm: &MaterialStatManifest, components: &[Item]) -> Duration { Duration::from_secs_f32(self.stats.resolve_stats(msm, components).equip_time_secs) } diff --git a/common/src/comp/inventory/loadout_builder.rs b/common/src/comp/inventory/loadout_builder.rs index 909963088a..f373b4d800 100644 --- a/common/src/comp/inventory/loadout_builder.rs +++ b/common/src/comp/inventory/loadout_builder.rs @@ -228,6 +228,9 @@ pub fn default_main_tool(body: &Body) -> Option { quadruped_low::Species::Deadwood => Some(Item::new_from_asset_expect( "common.items.npc_weapons.unique.quadlowbeam", )), + quadruped_low::Species::Basilisk => Some(Item::new_from_asset_expect( + "common.items.npc_weapons.unique.basilisk", + )), _ => Some(Item::new_from_asset_expect( "common.items.npc_weapons.unique.quadlowbasic", )), @@ -846,7 +849,7 @@ mod tests { // Exotic "common.items.npc_weapons.unique.beast_claws", // Natural "common.items.weapons.tool.rake", // Farming - "common.items.tool.pick", // Pick + "common.items.tool.pickaxe_stone", // Pick "common.items.weapons.empty.empty", // Empty ]; diff --git a/common/src/comp/inventory/mod.rs b/common/src/comp/inventory/mod.rs index a08b7d1a0e..7152f130a2 100644 --- a/common/src/comp/inventory/mod.rs +++ b/common/src/comp/inventory/mod.rs @@ -710,15 +710,14 @@ impl Inventory { let unloaded_items = from_equip .map(|mut from_equip| { // Unload any items held inside the previously equipped item - let items: Vec = from_equip.drain().collect(); + let mut items: Vec = from_equip.drain().collect(); // Attempt to put the unequipped item in the same slot that the inventory item // was in - if that slot no longer exists (because a large container was - // swapped for a smaller one) then push the item to the first free - // inventory slot instead. + // swapped for a smaller one) then we will attempt to push it to the inventory + // with the rest of the unloaded items. if let Err(returned) = self.insert_at(inv_slot_id, from_equip) { - self.push(returned) - .expect("Unable to push to inventory, no slots (bug in can_swap()?)"); + items.insert(0, returned); } items @@ -778,17 +777,7 @@ impl Inventory { return false; } - // If we're swapping an equipped item with an empty inventory slot, make - // sure that there will be enough space in the inventory after any - // slots granted by the item being unequipped have been removed. - if let Some(inv_slot) = self.slot(inv_slot_id) { - if inv_slot.is_none() && self.free_slots_minus_equipped_item(equip_slot) == 0 { - // No free inventory slots after slots provided by the equipped - //item are discounted - trace!("can_swap = false, no free slots minus item"); - return false; - } - } else { + if self.slot(inv_slot_id).is_none() { debug!( "can_swap = false, tried to swap into non-existent inventory slot: {:?}", inv_slot_id diff --git a/common/src/comp/inventory/test.rs b/common/src/comp/inventory/test.rs index f2acbb1775..e75c923ce7 100644 --- a/common/src/comp/inventory/test.rs +++ b/common/src/comp/inventory/test.rs @@ -207,7 +207,7 @@ fn can_swap_equipped_bag_into_empty_inv_slot( } #[test] -fn can_swap_equipped_bag_into_only_empty_slot_provided_by_itself_should_return_false() { +fn can_swap_equipped_bag_into_only_empty_slot_provided_by_itself_should_return_true() { let mut inv = Inventory::new_empty(); inv.replace_loadout_item(EquipSlot::Armor(ArmorSlot::Bag1), Some(get_test_bag(18))); @@ -216,7 +216,7 @@ fn can_swap_equipped_bag_into_only_empty_slot_provided_by_itself_should_return_f let result = inv.can_swap(InvSlotId::new(15, 17), EquipSlot::Armor(ArmorSlot::Bag1)); - assert!(!result); + assert!(result); } #[test] @@ -320,7 +320,7 @@ fn equip_equipping_smaller_bag_from_last_slot_of_big_bag() { } #[test] -fn unequip_unequipping_bag_into_its_own_slot_with_no_other_free_slots() { +fn unequip_unequipping_bag_into_its_own_slot_with_no_other_free_slots_returns_one_item() { let mut inv = Inventory::new_empty(); let bag = get_test_bag(9); @@ -335,7 +335,14 @@ fn unequip_unequipping_bag_into_its_own_slot_with_no_other_free_slots() { let result = inv.swap_inventory_loadout(InvSlotId::new(15, 0), EquipSlot::Armor(ArmorSlot::Bag1)); - assert!(result.is_empty()) + + assert_eq!(result.len(), 1); + // Because the slot the bag was swapped with no longer exists as it was provided + // by itself, the bag is returned to the caller + assert_eq!( + result[0].item_definition_id(), + "common.items.testing.test_bag" + ); } #[test] @@ -458,6 +465,31 @@ fn free_after_swap_inv_item_without_slots_swapped_with_empty_equip_slot() { assert_eq!(13, result); } +// This test is a regression test for a bug that crashed the server when +// swapping an equipped item providing slots with an item that does not +// provide slots. +#[test] +fn backpack_crash() { + let mut inv = Inventory::new_empty(); + + let backpack = Item::new_from_asset_expect("common.items.armor.misc.back.backpack"); + inv.loadout + .swap(EquipSlot::Armor(ArmorSlot::Back), Some(backpack)); + + fill_inv_slots(&mut inv, 35); + + let cape = Item::new_from_asset_expect("common.items.armor.misc.back.admin"); + assert!(inv.push(cape).is_ok()); + + let returned_items = + inv.swap_inventory_loadout(InvSlotId::new(9, 17), EquipSlot::Armor(ArmorSlot::Back)); + assert_eq!(18, returned_items.len()); + assert_eq!( + "common.items.armor.misc.back.backpack", + returned_items[0].item_definition_id() + ); +} + fn fill_inv_slots(inv: &mut Inventory, items: u16) { let msm = &MaterialStatManifest::default(); let ability_map = &AbilityMap::default(); diff --git a/common/src/comp/inventory/trade_pricing.rs b/common/src/comp/inventory/trade_pricing.rs index 32e3a56f01..12daa3b38b 100644 --- a/common/src/comp/inventory/trade_pricing.rs +++ b/common/src/comp/inventory/trade_pricing.rs @@ -163,7 +163,7 @@ impl TradePricing { _ if name.starts_with("common.items.food.") => &self.food, _ if name.starts_with("common.items.utility.") => &self.other, _ if name.starts_with("common.items.boss_drops.") => &self.other, - _ if name.starts_with("common.items.ore.") => &self.ingredients, + _ if name.starts_with("common.items.mineral.") => &self.ingredients, _ if name.starts_with("common.items.flowers.") => &self.ingredients, _ if name.starts_with("common.items.crafting_tools.") => &self.other, _ if name.starts_with("common.items.lantern.") => &self.other, @@ -186,7 +186,7 @@ impl TradePricing { _ if name.starts_with("common.items.food.") => &mut self.food, _ if name.starts_with("common.items.utility.") => &mut self.other, _ if name.starts_with("common.items.boss_drops.") => &mut self.other, - _ if name.starts_with("common.items.ore.") => &mut self.ingredients, + _ if name.starts_with("common.items.mineral.") => &mut self.ingredients, _ if name.starts_with("common.items.flowers.") => &mut self.ingredients, _ if name.starts_with("common.items.crafting_tools.") => &mut self.other, _ if name.starts_with("common.items.lantern.") => &mut self.other, @@ -337,7 +337,9 @@ impl TradePricing { // (start with cheap ones to avoid changing material prices after evaluation) while price_sort(&result, &eqset.read(), &mut ordered_recipes) { ordered_recipes.retain(|e| { - if e.material_cost < TradePricing::UNAVAILABLE_PRICE { + if e.material_cost < 1e-5 { + false + } else if e.material_cost < TradePricing::UNAVAILABLE_PRICE { let actual_cost = calculate_material_cost(&result, &eqset.read(), e); add( &mut result.get_list_by_path_mut(&e.output), @@ -443,7 +445,7 @@ impl TradePricing { } printvec("Armor", &self.armor, |i, p| match &i.kind { - ItemKind::Armor(a) => match a.get_protection() { + ItemKind::Armor(a) => match a.protection() { armor::Protection::Invincible => "Invincible".into(), armor::Protection::Normal(x) => format!("{:.4} prot/val", x * p), }, diff --git a/common/src/comp/mod.rs b/common/src/comp/mod.rs index f120798be7..8b6b775349 100644 --- a/common/src/comp/mod.rs +++ b/common/src/comp/mod.rs @@ -12,8 +12,10 @@ mod character_state; pub mod compass; #[cfg(not(target_arch = "wasm32"))] mod controller; +#[cfg(not(target_arch = "wasm32"))] pub mod dialogue; #[cfg(not(target_arch = "wasm32"))] mod energy; +#[cfg(not(target_arch = "wasm32"))] pub mod fluid_dynamics; #[cfg(not(target_arch = "wasm32"))] pub mod group; mod health; diff --git a/common/src/comp/poise.rs b/common/src/comp/poise.rs index 0262aa9ab5..8cbbdf1067 100644 --- a/common/src/comp/poise.rs +++ b/common/src/comp/poise.rs @@ -203,7 +203,7 @@ impl Poise { .equipped_items() .filter_map(|item| { if let ItemKind::Armor(armor) = &item.kind() { - Some(armor.get_poise_resilience()) + Some(armor.poise_resilience()) } else { None } diff --git a/common/src/comp/projectile.rs b/common/src/comp/projectile.rs index a50bbc3788..a3e716e1be 100644 --- a/common/src/comp/projectile.rs +++ b/common/src/comp/projectile.rs @@ -32,6 +32,10 @@ pub struct Projectile { /// Whether projectile collides with entities in the same group as its /// owner pub ignore_group: bool, + /// Whether the projectile is sticky + pub is_sticky: bool, + /// Whether the projectile should use a point collider + pub is_point: bool, } impl Component for Projectile { @@ -64,6 +68,10 @@ pub enum ProjectileConstructor { radius: f32, knockback: f32, }, + Snowball { + damage: f32, + radius: f32, + }, } impl ProjectileConstructor { @@ -113,6 +121,8 @@ impl ProjectileConstructor { time_left: Duration::from_secs(15), owner, ignore_group: true, + is_sticky: true, + is_point: true, } }, Fireball { @@ -149,6 +159,8 @@ impl ProjectileConstructor { time_left: Duration::from_secs(10), owner, ignore_group: true, + is_sticky: true, + is_point: true, } }, Frostball { damage, radius } => { @@ -167,7 +179,7 @@ impl ProjectileConstructor { let explosion = Explosion { effects: vec![RadiusEffect::Attack(attack)], radius, - reagent: Some(Reagent::Blue), + reagent: Some(Reagent::White), }; Projectile { hit_solid: vec![Effect::Explode(explosion.clone()), Effect::Vanish], @@ -175,6 +187,8 @@ impl ProjectileConstructor { time_left: Duration::from_secs(10), owner, ignore_group: true, + is_sticky: true, + is_point: true, } }, NecroticSphere { damage, radius } => { @@ -201,6 +215,8 @@ impl ProjectileConstructor { time_left: Duration::from_secs(10), owner, ignore_group: true, + is_sticky: true, + is_point: true, } }, Possess => Projectile { @@ -209,6 +225,8 @@ impl ProjectileConstructor { time_left: Duration::from_secs(10), owner, ignore_group: false, + is_sticky: true, + is_point: true, }, ClayRocket { damage, @@ -249,6 +267,35 @@ impl ProjectileConstructor { time_left: Duration::from_secs(10), owner, ignore_group: true, + is_sticky: true, + is_point: true, + } + }, + Snowball { damage, radius } => { + let damage = AttackDamage::new( + Damage { + source: DamageSource::Explosion, + kind: DamageKind::Energy, + value: damage, + }, + Some(GroupTarget::OutOfGroup), + ); + let attack = Attack::default() + .with_damage(damage) + .with_crit(crit_chance, crit_mult); + let explosion = Explosion { + effects: vec![RadiusEffect::Attack(attack)], + radius, + reagent: Some(Reagent::White), + }; + Projectile { + hit_solid: vec![], + hit_entity: vec![Effect::Explode(explosion), Effect::Vanish], + time_left: Duration::from_secs(120), + owner, + ignore_group: true, + is_sticky: false, + is_point: false, } }, } @@ -300,6 +347,13 @@ impl ProjectileConstructor { *damage *= power; *radius *= range; }, + Snowball { + ref mut damage, + ref mut radius, + } => { + *damage *= power; + *radius *= range; + }, } self } diff --git a/common/src/comp/shockwave.rs b/common/src/comp/shockwave.rs index 588960de72..df6b666c6a 100644 --- a/common/src/comp/shockwave.rs +++ b/common/src/comp/shockwave.rs @@ -50,4 +50,5 @@ pub enum FrontendSpecifier { Ground, Fire, Water, + IceSpikes, } diff --git a/common/src/comp/stats.rs b/common/src/comp/stats.rs index fd962d702b..d3f2b6d77e 100644 --- a/common/src/comp/stats.rs +++ b/common/src/comp/stats.rs @@ -28,6 +28,7 @@ pub struct Stats { pub move_speed_modifier: f32, pub attack_speed_modifier: f32, pub friction_modifier: f32, + pub max_energy_modifier: f32, } impl Stats { @@ -39,6 +40,7 @@ impl Stats { move_speed_modifier: 1.0, attack_speed_modifier: 1.0, friction_modifier: 1.0, + max_energy_modifier: 1.0, } } @@ -52,6 +54,7 @@ impl Stats { move_speed_modifier: 1.0, attack_speed_modifier: 1.0, friction_modifier: 1.0, + max_energy_modifier: 1.0, } } @@ -62,6 +65,7 @@ impl Stats { self.move_speed_modifier = 1.0; self.attack_speed_modifier = 1.0; self.friction_modifier = 1.0; + self.max_energy_modifier = 1.0; } } diff --git a/common/src/lib.rs b/common/src/lib.rs index 05b6f9c569..e2c93a39ed 100644 --- a/common/src/lib.rs +++ b/common/src/lib.rs @@ -17,6 +17,7 @@ )] /// Re-exported crates +#[cfg(not(target_arch = "wasm32"))] pub use uuid; // modules @@ -31,7 +32,6 @@ pub mod character; #[cfg(not(target_arch = "wasm32"))] pub mod cmd; pub mod combat; pub mod comp; -#[cfg(not(target_arch = "wasm32"))] pub mod consts; pub mod debug_info; #[cfg(not(target_arch = "wasm32"))] pub mod depot; @@ -47,9 +47,7 @@ pub mod generation; #[cfg(not(target_arch = "wasm32"))] pub mod grid; #[cfg(not(target_arch = "wasm32"))] pub mod lottery; -#[cfg(not(target_arch = "wasm32"))] -#[cfg(not(target_arch = "wasm32"))] -pub mod npc; +#[cfg(not(target_arch = "wasm32"))] pub mod npc; #[cfg(not(target_arch = "wasm32"))] pub mod outcome; #[cfg(not(target_arch = "wasm32"))] pub mod path; @@ -62,6 +60,7 @@ pub mod resources; #[cfg(not(target_arch = "wasm32"))] pub mod rtsim; #[cfg(not(target_arch = "wasm32"))] pub mod skillset_builder; +#[cfg(not(target_arch = "wasm32"))] pub mod slowjob; #[cfg(not(target_arch = "wasm32"))] pub mod spiral; diff --git a/common/src/resources.rs b/common/src/resources.rs index 13966a633c..e6d798ce84 100644 --- a/common/src/resources.rs +++ b/common/src/resources.rs @@ -1,5 +1,7 @@ +#[cfg(not(target_arch = "wasm32"))] use crate::comp::Pos; use serde::{Deserialize, Serialize}; +#[cfg(not(target_arch = "wasm32"))] use specs::Entity; /// A resource that stores the time of day. @@ -14,6 +16,7 @@ pub struct Time(pub f64); #[derive(Default)] pub struct DeltaTime(pub f32); +#[cfg(not(target_arch = "wasm32"))] #[derive(Default)] pub struct EntitiesDiedLastTick(pub Vec<(Entity, Pos)>); @@ -34,6 +37,7 @@ pub enum GameMode { /// A resource that stores the player's entity (on the client), and None on the /// server +#[cfg(not(target_arch = "wasm32"))] #[derive(Copy, Clone, Default, Debug)] pub struct PlayerEntity(pub Option); @@ -65,6 +69,7 @@ impl PlayerPhysicsSetting { /// List of which players are using client-authoratative vs server-authoratative /// physics, as a stop-gap until we can use server-authoratative physics for /// everyone +#[cfg(not(target_arch = "wasm32"))] #[derive(Clone, Default, Debug)] pub struct PlayerPhysicsSettings { pub settings: hashbrown::HashMap, diff --git a/common/src/states/roll.rs b/common/src/states/roll.rs index f6d83ab4f0..8acf61ef7f 100644 --- a/common/src/states/roll.rs +++ b/common/src/states/roll.rs @@ -84,7 +84,7 @@ impl CharacterBehavior for Data { - self.timer.as_secs_f32() / self.static_data.movement_duration.as_secs_f32()) / 2.0 - + 0.5), + + 0.25), }); if self.timer < self.static_data.movement_duration { diff --git a/common/src/states/utils.rs b/common/src/states/utils.rs index ee94bab493..09fb5547ac 100644 --- a/common/src/states/utils.rs +++ b/common/src/states/utils.rs @@ -1,9 +1,10 @@ use crate::{ + combat, comp::{ biped_large, biped_small, inventory::slot::EquipSlot, item::{Hands, ItemKind, Tool, ToolKind}, - quadruped_low, quadruped_medium, quadruped_small, ship, + quadruped_low, quadruped_medium, quadruped_small, skills::{Skill, SwimSkill}, theropod, Body, CharacterAbility, CharacterState, Density, InputAttr, InputKind, InventoryAction, StateUpdate, @@ -192,7 +193,7 @@ impl Body { Body::BirdMedium(_) => Some(GRAVITY * self.mass().0 * 2.0), Body::BirdLarge(_) => Some(GRAVITY * self.mass().0 * 0.5), Body::Dragon(_) => Some(200_000.0), - Body::Ship(ship::Body::DefaultAirship) => Some(300_000.0), + Body::Ship(ship) if ship.can_fly() => Some(300_000.0), _ => None, } } @@ -387,7 +388,7 @@ pub fn fly_move(data: &JoinData, update: &mut StateUpdate, efficiency: f32) -> b update.vel.0.z += data.dt.0 * (anti_grav + accel * data.inputs.move_z.max(0.0)); }, // floaty floaty - Body::Ship(ship @ ship::Body::DefaultAirship) => { + Body::Ship(ship) if ship.can_fly() => { let regulate_density = |min: f32, max: f32, def: f32, rate: f32| -> Density { // Reset to default on no input let change = if data.inputs.move_z.abs() > std::f32::EPSILON { @@ -732,22 +733,30 @@ pub fn get_hands(data: &JoinData) -> (Option, Option) { ) } +/// Returns (critical chance, critical multiplier) which is calculated from +/// equipped weapon and equipped armor respectively pub fn get_crit_data(data: &JoinData, ai: AbilityInfo) -> (f32, f32) { - const DEFAULT_CRIT_DATA: (f32, f32) = (0.5, 1.3); - use HandInfo::*; - let slot = match ai.hand { - Some(TwoHanded) | Some(MainHand) => EquipSlot::ActiveMainhand, - Some(OffHand) => EquipSlot::ActiveOffhand, - None => return DEFAULT_CRIT_DATA, - }; - if let Some(item) = data.inventory.equipped(slot) { - if let ItemKind::Tool(tool) = item.kind() { - let crit_chance = tool.base_crit_chance(data.msm, item.components()); - let crit_mult = tool.base_crit_mult(data.msm, item.components()); - return (crit_chance, crit_mult); - } - } - DEFAULT_CRIT_DATA + const DEFAULT_CRIT_CHANCE: f32 = 0.1; + + let crit_chance = ai + .hand + .map(|hand| match hand { + HandInfo::TwoHanded | HandInfo::MainHand => EquipSlot::ActiveMainhand, + HandInfo::OffHand => EquipSlot::ActiveOffhand, + }) + .and_then(|slot| data.inventory.equipped(slot)) + .and_then(|item| { + if let ItemKind::Tool(tool) = item.kind() { + Some(tool.base_crit_chance(data.msm, item.components())) + } else { + None + } + }) + .unwrap_or(DEFAULT_CRIT_CHANCE); + + let crit_mult = combat::compute_crit_mult(Some(data.inventory)); + + (crit_chance, crit_mult) } pub fn handle_state_interrupt(data: &JoinData, update: &mut StateUpdate, attacks_interrupt: bool) { diff --git a/common/src/terrain/block.rs b/common/src/terrain/block.rs index 6c6d370c3f..8cb8c73aea 100644 --- a/common/src/terrain/block.rs +++ b/common/src/terrain/block.rs @@ -174,9 +174,15 @@ impl Block { SpriteKind::WallLamp | SpriteKind::WallLampSmall | SpriteKind::WallSconce - | SpriteKind::FireBowlGround => Some(16), - SpriteKind::Velorite | SpriteKind::VeloriteFrag => Some(6), - SpriteKind::CaveMushroom | SpriteKind::CookingPot => Some(12), + | SpriteKind::FireBowlGround + | SpriteKind::Orb => Some(16), + SpriteKind::Velorite | SpriteKind::VeloriteFrag | SpriteKind::CeilingMushroom => { + Some(6) + }, + SpriteKind::CaveMushroom + | SpriteKind::CookingPot + | SpriteKind::CrystalHigh + | SpriteKind::CrystalLow => Some(10), SpriteKind::Amethyst | SpriteKind::Ruby | SpriteKind::Sapphire diff --git a/common/src/terrain/sprite.rs b/common/src/terrain/sprite.rs index 4f74e3a9d8..d859ac0495 100644 --- a/common/src/terrain/sprite.rs +++ b/common/src/terrain/sprite.rs @@ -154,6 +154,25 @@ make_case_elim!( DungeonChest3 = 0x7F, DungeonChest4 = 0x80, DungeonChest5 = 0x81, + Loom = 0x82, + SpinningWheel = 0x83, + CrystalHigh = 0x84, + Bloodstone = 0x85, + Coal = 0x86, + Cobalt = 0x87, + Copper = 0x88, + Iron = 0x89, + Tin = 0x8A, + Silver = 0x8B, + Gold = 0x8C, + Cotton = 0x8D, + Moonbell = 0x8E, + Pyrebloom = 0x8F, + TanningRack = 0x90, + WildFlax = 0x91, + CrystalLow = 0x92, + CeilingMushroom = 0x93, + Orb = 0x94, } ); @@ -204,6 +223,9 @@ impl SpriteKind { SpriteKind::CraftingBench => 1.18, SpriteKind::Forge => 2.7, SpriteKind::Cauldron => 1.27, + SpriteKind::SpinningWheel => 1.6, + SpriteKind::TanningRack => 2.2, + SpriteKind::Loom => 1.27, SpriteKind::Anvil => 1.1, SpriteKind::CookingPot => 1.36, // TODO: Find suitable heights. @@ -225,6 +247,15 @@ impl SpriteKind { // TODO: Figure out if this should be solid or not. SpriteKind::Shelf => 1.0, SpriteKind::Lantern => 0.9, + SpriteKind::CrystalHigh | SpriteKind::CrystalLow => 1.5, + SpriteKind::Bloodstone + | SpriteKind::Coal + | SpriteKind::Cobalt + | SpriteKind::Copper + | SpriteKind::Iron + | SpriteKind::Tin + | SpriteKind::Silver + | SpriteKind::Gold => 0.6, _ => return None, }) } @@ -243,7 +274,6 @@ impl SpriteKind { SpriteKind::ShortGrass => false, SpriteKind::Apple => true, SpriteKind::Mushroom => true, - SpriteKind::CaveMushroom => true, // SpriteKind::Velorite => true, // SpriteKind::VeloriteFrag => true, SpriteKind::Chest => true, @@ -264,6 +294,10 @@ impl SpriteKind { SpriteKind::ChestBuried => true, SpriteKind::Mud => true, SpriteKind::Seashells => true, + SpriteKind::Cotton => true, + SpriteKind::Moonbell => true, + SpriteKind::Pyrebloom => true, + SpriteKind::WildFlax => true, _ => false, } } @@ -301,6 +335,14 @@ impl SpriteKind { | SpriteKind::DiamondSmall | SpriteKind::RubySmall | SpriteKind::EmeraldSmall + | SpriteKind::Bloodstone + | SpriteKind::Coal + | SpriteKind::Cobalt + | SpriteKind::Copper + | SpriteKind::Iron + | SpriteKind::Tin + | SpriteKind::Silver + | SpriteKind::Gold | SpriteKind::SapphireSmall => Some(ToolKind::Pick), _ => None, } @@ -357,6 +399,9 @@ impl SpriteKind { | SpriteKind::Cauldron | SpriteKind::Anvil | SpriteKind::CookingPot + | SpriteKind::SpinningWheel + | SpriteKind::TanningRack + | SpriteKind::Loom ) } } diff --git a/common/state/Cargo.toml b/common/state/Cargo.toml index 74b42220ce..f613bb9a3c 100644 --- a/common/state/Cargo.toml +++ b/common/state/Cargo.toml @@ -2,7 +2,7 @@ authors = ["Marcel Märtens "] edition = "2018" name = "veloren-common-state" -version = "0.9.0" +version = "0.10.0" [features] tracy = ["common/tracy"] @@ -23,10 +23,10 @@ tracing = { version = "0.1", default-features = false } vek = { version = "=0.14.1", features = ["serde"] } # Data structures -hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] } +hashbrown = { version = "0.11", features = ["rayon", "serde", "nightly"] } # ECS -specs = { git = "https://github.com/amethyst/specs.git", features = ["serde", "storage-event-control", "derive"], rev = "5a9b71035007be0e3574f35184acac1cd4530496" } +specs = { git = "https://github.com/amethyst/specs.git", features = ["serde", "storage-event-control", "derive"], rev = "f985bec5d456f7b0dd8aae99848f9473c2cd9d46" } # Plugins scopeguard = "1.1.0" diff --git a/common/systems/Cargo.toml b/common/systems/Cargo.toml index f9bed018ce..8f1bacdf86 100644 --- a/common/systems/Cargo.toml +++ b/common/systems/Cargo.toml @@ -2,7 +2,7 @@ authors = ["Marcel Märtens "] edition = "2018" name = "veloren-common-systems" -version = "0.9.0" +version = "0.10.0" [features] tracy = ["common/tracy"] @@ -23,12 +23,12 @@ vek = { version = "=0.14.1", features = ["serde"] } ordered-float = { version = "2.0.1", default-features = false } # Data structures -hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] } +hashbrown = { version = "0.11", features = ["rayon", "serde", "nightly"] } indexmap = "1.3.0" slab = "0.4.2" # ECS -specs = { git = "https://github.com/amethyst/specs.git", features = ["serde", "storage-event-control", "derive"], rev = "5a9b71035007be0e3574f35184acac1cd4530496" } +specs = { git = "https://github.com/amethyst/specs.git", features = ["serde", "storage-event-control", "derive"], rev = "f985bec5d456f7b0dd8aae99848f9473c2cd9d46" } # Tweak running code # inline_tweak = { version = "1.0.8", features = ["release_tweak"] } diff --git a/common/systems/src/beam.rs b/common/systems/src/beam.rs index 440f1d8550..c3373a3533 100644 --- a/common/systems/src/beam.rs +++ b/common/systems/src/beam.rs @@ -198,6 +198,7 @@ impl<'a> System<'a> for Sys { uid, energy: read_data.energies.get(entity), combo: read_data.combos.get(entity), + inventory: read_data.inventories.get(entity), }); let target_info = TargetInfo { diff --git a/common/systems/src/buff.rs b/common/systems/src/buff.rs index a04d006053..b504dbc4a2 100644 --- a/common/systems/src/buff.rs +++ b/common/systems/src/buff.rs @@ -23,6 +23,7 @@ pub struct ReadData<'a> { inventories: ReadStorage<'a, Inventory>, healths: ReadStorage<'a, Health>, physics_states: ReadStorage<'a, PhysicsState>, + energies: ReadStorage<'a, Energy>, } #[derive(Default)] @@ -30,7 +31,6 @@ pub struct Sys; impl<'a> System<'a> for Sys { type SystemData = ( ReadData<'a>, - WriteStorage<'a, Energy>, WriteStorage<'a, Buffs>, WriteStorage<'a, Stats>, ); @@ -39,20 +39,16 @@ impl<'a> System<'a> for Sys { const ORIGIN: Origin = Origin::Common; const PHASE: Phase = Phase::Create; - fn run( - _job: &mut Job, - (read_data, mut energies, mut buffs, mut stats): Self::SystemData, - ) { + fn run(_job: &mut Job, (read_data, mut buffs, mut stats): Self::SystemData) { let mut server_emitter = read_data.server_bus.emitter(); let dt = read_data.dt.0; // Set to false to avoid spamming server buffs.set_event_emission(false); - energies.set_event_emission(false); stats.set_event_emission(false); - for (entity, mut buff_comp, mut energy, mut stat, health) in ( + for (entity, mut buff_comp, energy, mut stat, health) in ( &read_data.entities, &mut buffs, - &mut energies, + &read_data.energies, &mut stats, &read_data.healths, ) @@ -106,9 +102,7 @@ impl<'a> System<'a> for Sys { } } - // Call to reset energy and stats to base values - energy.last_set(); - energy.reset_max(); + // Call to reset stats to base values stat.reset_temp_modifiers(); // Iterator over the lists of buffs by kind @@ -160,7 +154,7 @@ impl<'a> System<'a> for Sys { }, BuffEffect::MaxHealthModifier { value, kind } => match kind { ModifierKind::Additive => { - stat.max_health_modifier += *value / (health.maximum() as f32); + stat.max_health_modifier += *value / (health.base_max() as f32); }, ModifierKind::Fractional => { stat.max_health_modifier *= *value; @@ -168,12 +162,10 @@ impl<'a> System<'a> for Sys { }, BuffEffect::MaxEnergyModifier { value, kind } => match kind { ModifierKind::Additive => { - let new_max = (energy.maximum() as f32 + *value) as u32; - energy.set_maximum(new_max); + stat.max_energy_modifier += *value / (energy.base_max() as f32); }, ModifierKind::Fractional => { - let new_max = (energy.maximum() as f32 + *value) as u32; - energy.set_maximum(new_max); + stat.max_energy_modifier *= *value; }, }, BuffEffect::DamageReduction(dr) => { @@ -244,7 +236,6 @@ impl<'a> System<'a> for Sys { } // Turned back to true buffs.set_event_emission(true); - energies.set_event_emission(true); stats.set_event_emission(true); } } diff --git a/common/systems/src/lib.rs b/common/systems/src/lib.rs index 8e6f63292a..bd0b018e3d 100644 --- a/common/systems/src/lib.rs +++ b/common/systems/src/lib.rs @@ -24,8 +24,8 @@ pub fn add_local_systems(dispatch_builder: &mut DispatcherBuilder) { dispatch::(dispatch_builder, &[]); dispatch::(dispatch_builder, &[&mount::Sys::sys_name()]); dispatch::(dispatch_builder, &[&controller::Sys::sys_name()]); - dispatch::(dispatch_builder, &[]); dispatch::(dispatch_builder, &[]); + dispatch::(dispatch_builder, &[&buff::Sys::sys_name()]); dispatch::(dispatch_builder, &[ &interpolation::Sys::sys_name(), &controller::Sys::sys_name(), diff --git a/common/systems/src/melee.rs b/common/systems/src/melee.rs index 78d77a3e93..561b9a4b5b 100644 --- a/common/systems/src/melee.rs +++ b/common/systems/src/melee.rs @@ -146,6 +146,7 @@ impl<'a> System<'a> for Sys { uid: *uid, energy: read_data.energies.get(attacker), combo: read_data.combos.get(attacker), + inventory: read_data.inventories.get(attacker), }); let target_info = TargetInfo { diff --git a/common/systems/src/projectile.rs b/common/systems/src/projectile.rs index 443a8b84ba..a1bab8cd96 100644 --- a/common/systems/src/projectile.rs +++ b/common/systems/src/projectile.rs @@ -135,6 +135,7 @@ impl<'a> System<'a> for Sys { uid, energy: read_data.energies.get(entity), combo: read_data.combos.get(entity), + inventory: read_data.inventories.get(entity), } }); diff --git a/common/systems/src/shockwave.rs b/common/systems/src/shockwave.rs index 2b5c8fc812..d1d4fbb575 100644 --- a/common/systems/src/shockwave.rs +++ b/common/systems/src/shockwave.rs @@ -194,6 +194,7 @@ impl<'a> System<'a> for Sys { uid, energy: read_data.energies.get(entity), combo: read_data.combos.get(entity), + inventory: read_data.inventories.get(entity), }); let target_info = TargetInfo { diff --git a/common/systems/src/stats.rs b/common/systems/src/stats.rs index 4539978d62..ed6c9b3a9f 100644 --- a/common/systems/src/stats.rs +++ b/common/systems/src/stats.rs @@ -1,8 +1,9 @@ use common::{ + combat, comp::{ self, skills::{GeneralSkill, Skill}, - Body, CharacterState, Combo, Energy, EnergyChange, EnergySource, Health, Poise, + Body, CharacterState, Combo, Energy, EnergyChange, EnergySource, Health, Inventory, Poise, PoiseChange, PoiseSource, Pos, SkillSet, Stats, }, event::{EventBus, ServerEvent}, @@ -30,6 +31,7 @@ pub struct ReadData<'a> { uids: ReadStorage<'a, Uid>, bodies: ReadStorage<'a, Body>, char_states: ReadStorage<'a, CharacterState>, + inventories: ReadStorage<'a, Inventory>, } /// This system kills players, levels them up, and regenerates energy. @@ -84,13 +86,15 @@ impl<'a> System<'a> for Sys { poises.set_event_emission(true); // Update stats - for (entity, uid, stats, mut skill_set, mut health, pos) in ( + for (entity, uid, stats, mut skill_set, mut health, pos, mut energy, inventory) in ( &read_data.entities, &read_data.uids, &stats, &mut skill_sets.restrict_mut(), &mut healths.restrict_mut(), &read_data.positions, + &mut energies.restrict_mut(), + read_data.inventories.maybe(), ) .join() { @@ -123,6 +127,27 @@ impl<'a> System<'a> for Sys { health.scale_maximum(stat.max_health_modifier); } + let (change_energy, energy_scaling) = { + let energy = energy.get_unchecked(); + // Calculates energy scaling from stats and inventory + let new_energy_scaling = + combat::compute_max_energy_mod(energy, inventory) + stat.max_energy_modifier; + let current_energy_scaling = energy.maximum() as f32 / energy.base_max() as f32; + // Only changes energy if new modifier different from old modifer + // TODO: Look into using wider threshold incase floating point imprecision makes + // this always true + ( + (current_energy_scaling - new_energy_scaling).abs() > f32::EPSILON, + new_energy_scaling, + ) + }; + + // If modifier sufficiently different, mutably access energy + if change_energy { + let mut energy = energy.get_mut_unchecked(); + energy.scale_maximum(energy_scaling); + } + let skillset = skill_set.get_unchecked(); let skills_to_level = skillset .skill_groups diff --git a/server-cli/Cargo.toml b/server-cli/Cargo.toml index 5efc0363c6..193fe74446 100644 --- a/server-cli/Cargo.toml +++ b/server-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-server-cli" -version = "0.9.0" +version = "0.10.0" authors = ["Joshua Barretto "] edition = "2018" diff --git a/server-cli/Dockerfile b/server-cli/Dockerfile index a812f8e6cf..0c4033e57d 100644 --- a/server-cli/Dockerfile +++ b/server-cli/Dockerfile @@ -6,11 +6,12 @@ LABEL com.centurylinklabs.watchtower.stop-signal="SIGUSR1" ARG PROJECTNAME=server-cli # librust-backtrace+libbacktrace-dev = backtrace functionality -RUN apt-get update; export DEBIAN_FRONTEND=noninteractive; \ - apt-get install -y --no-install-recommends --assume-yes \ +RUN apt-get update \ + && export DEBIAN_FRONTEND=noninteractive \ + && apt-get install -y --no-install-recommends --assume-yes \ ca-certificates \ - librust-backtrace+libbacktrace-dev; \ - rm -rf /var/lib/apt/lists/*; + librust-backtrace+libbacktrace-dev \ + && rm -rf /var/lib/apt/lists/*; COPY ./veloren-server-cli /opt/veloren-server-cli COPY ./assets/common /opt/assets/common diff --git a/server/Cargo.toml b/server/Cargo.toml index 4f24502bd5..455a38147e 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-server" -version = "0.9.0" +version = "0.10.0" authors = ["Joshua Barretto "] edition = "2018" @@ -24,8 +24,8 @@ network = { package = "veloren-network", path = "../network", features = ["metri # inline_tweak = "1.0.8" -specs = { git = "https://github.com/amethyst/specs.git", features = ["shred-derive"], rev = "5a9b71035007be0e3574f35184acac1cd4530496" } -specs-idvs = { git = "https://gitlab.com/veloren/specs-idvs.git", rev = "b65fb220e94f5d3c9bc30074a076149763795556" } +specs = { git = "https://github.com/amethyst/specs.git", features = ["shred-derive"], rev = "f985bec5d456f7b0dd8aae99848f9473c2cd9d46" } +specs-idvs = { git = "https://gitlab.com/veloren/specs-idvs.git", rev = "8be2abcddf8f524cb5876e8dd20a7e47cfaf7573" } num_cpus = "1.0" tracing = "0.1" @@ -44,7 +44,7 @@ ron = { version = "0.6", default-features = false } serde = { version = "1.0.110", features = ["derive"] } serde_json = "1.0.50" rand = { version = "0.8", features = ["small_rng"] } -hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] } +hashbrown = { version = "0.11", features = ["rayon", "serde", "nightly"] } rayon = "1.5" crossbeam-channel = "0.5" prometheus = { version = "0.12", default-features = false} diff --git a/server/src/cmd.rs b/server/src/cmd.rs index b350359a88..926b439588 100644 --- a/server/src/cmd.rs +++ b/server/src/cmd.rs @@ -14,7 +14,7 @@ use authc::Uuid; use chrono::{NaiveTime, Timelike, Utc}; use common::{ assets, - cmd::{ChatCommand, BUFF_PACK, BUFF_PARSER, CHAT_COMMANDS, CHAT_SHORTCUTS}, + cmd::{ChatCommand, BUFF_PACK, BUFF_PARSER}, comp::{ self, aura::{Aura, AuraKind, AuraTarget}, @@ -1152,7 +1152,7 @@ fn handle_spawn_airship( 200.0, ) }); - let ship = comp::ship::Body::DefaultAirship; + let ship = comp::ship::Body::random(); let mut builder = server .state .create_ship(pos, ship, true) @@ -1526,17 +1526,19 @@ fn handle_help( let entity_role = server.entity_admin_role(client); // Iterate through all commands you have permission to use. - CHAT_COMMANDS - .iter() + ChatCommand::iter() .filter(|cmd| cmd.needs_role() <= entity_role) .for_each(|cmd| { message += &cmd.help_string(); message += "\n"; }); message += "Additionally, you can use the following shortcuts:"; - for (k, v) in CHAT_SHORTCUTS.iter() { - message += &format!(" /{} => /{}", k, v.keyword()); - } + ChatCommand::iter() + .filter_map(|cmd| cmd.short_keyword().map(|k| (k, cmd))) + .for_each(|(k, cmd)| { + message += &format!(" /{} => /{}", k, cmd.keyword()); + }); + server.notify_client( client, ServerGeneral::server_msg(ChatType::CommandInfo, message), @@ -1613,6 +1615,8 @@ fn handle_kit( comp::InventoryUpdate::new(comp::InventoryUpdateEvent::Debug), ), ); + } else { + warn!("Unknown item: {}", &item_id); } } Ok(()) diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index 720d4e6036..78b14d3517 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -2,7 +2,7 @@ use crate::{ client::Client, comp::{ agent::{Sound, SoundKind}, - biped_large, quadruped_low, quadruped_medium, quadruped_small, + biped_large, bird_large, quadruped_low, quadruped_medium, quadruped_small, skills::SkillGroupKind, theropod, PhysicsState, }, @@ -358,18 +358,73 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc quadruped_small::Species::Dodarock => { "common.loot_tables.creature.quad_small.dodarock" }, - _ => "common.loot_tables.creature.quad_small.default", + quadruped_small::Species::Truffler | quadruped_small::Species::Fungome => { + "common.loot_tables.creature.quad_small.mushroom" + }, + quadruped_small::Species::Sheep => { + "common.loot_tables.creature.quad_small.sheep" + }, + quadruped_small::Species::Skunk + | quadruped_small::Species::Quokka + | quadruped_small::Species::Beaver + | quadruped_small::Species::Jackalope + | quadruped_small::Species::Hare => { + "common.loot_tables.creature.quad_small.fur" + }, + quadruped_small::Species::Frog + | quadruped_small::Species::Axolotl + | quadruped_small::Species::Gecko + | quadruped_small::Species::Turtle => { + "common.loot_tables.creature.quad_small.ooze" + }, + _ => "common.loot_tables.creature.quad_small.generic", } }, Some(Body::QuadrupedMedium(quadruped_medium)) => match quadruped_medium.species { quadruped_medium::Species::Frostfang | quadruped_medium::Species::Roshwalr => { "common.loot_tables.creature.quad_medium.ice" }, - _ => "common.loot_tables.creature.quad_medium.default", + quadruped_medium::Species::Catoblepas => { + "common.loot_tables.creature.quad_medium.catoblepas" + }, + quadruped_medium::Species::Bear + | quadruped_medium::Species::Snowleopard + | quadruped_medium::Species::Tiger + | quadruped_medium::Species::Lion => { + "common.loot_tables.creature.quad_medium.clawed" + }, + quadruped_medium::Species::Tarasque + | quadruped_medium::Species::Bonerattler => { + "common.loot_tables.creature.quad_medium.carapace" + }, + quadruped_medium::Species::Dreadhorn => { + "common.loot_tables.creature.quad_medium.dreadhorn" + }, + quadruped_medium::Species::Mouflon + | quadruped_medium::Species::Camel + | quadruped_medium::Species::Deer + | quadruped_medium::Species::Hirdrasil + | quadruped_medium::Species::Horse + | quadruped_medium::Species::Highland + | quadruped_medium::Species::Zebra + | quadruped_medium::Species::Donkey + | quadruped_medium::Species::Antelope + | quadruped_medium::Species::Kelpie + | quadruped_medium::Species::Cattle + | quadruped_medium::Species::Yak => { + "common.loot_tables.creature.quad_medium.gentle" + }, + _ => "common.loot_tables.creature.quad_medium.fanged", }, Some(common::comp::Body::BirdMedium(_)) => { "common.loot_tables.creature.bird_medium" }, + Some(common::comp::Body::BirdLarge(bird_large)) => match bird_large.species { + bird_large::Species::Cockatrice => { + "common.loot_tables.creature.bird_large.cockatrice" + }, + _ => "common.loot_tables.creature.bird_large.phoenix", + }, Some(common::comp::Body::FishMedium(_)) => "common.loot_tables.creature.fish", Some(common::comp::Body::FishSmall(_)) => "common.loot_tables.creature.fish", Some(common::comp::Body::BipedLarge(biped_large)) => match biped_large.species { @@ -388,10 +443,12 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc Some(common::comp::Body::Theropod(theropod)) => match theropod.species { theropod::Species::Sandraptor | theropod::Species::Snowraptor - | theropod::Species::Woodraptor => { - "common.loot_tables.creature.theropod.raptor" - }, - _ => "common.loot_tables.creature.theropod.default", + | theropod::Species::Woodraptor + | theropod::Species::Sunlizard => "common.loot_tables.creature.theropod.raptor", + theropod::Species::Archaeos + | theropod::Species::Ntouka + | theropod::Species::Yale => "common.loot_tables.creature.theropod.horned", + _ => "common.loot_tables.creature.theropod.generic", }, Some(common::comp::Body::Dragon(_)) => "common.loot_tables.creature.dragon", Some(common::comp::Body::QuadrupedLow(quadruped_low)) => { @@ -399,7 +456,24 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc quadruped_low::Species::Maneater => { "common.loot_tables.creature.quad_low.maneater" }, - _ => "common.loot_tables.creature.quad_low.default", + quadruped_low::Species::Lavadrake + | quadruped_low::Species::Rocksnapper + | quadruped_low::Species::Sandshark => { + "common.loot_tables.creature.quad_low.carapace" + }, + quadruped_low::Species::Asp => { + "common.loot_tables.creature.quad_low.venemous" + }, + quadruped_low::Species::Hakulaq => { + "common.loot_tables.creature.quad_low.fanged" + }, + quadruped_low::Species::Deadwood => { + "common.loot_tables.creature.quad_low.deadwood" + }, + quadruped_low::Species::Basilisk => { + "common.loot_tables.creature.quad_low.basilisk" + }, + _ => "common.loot_tables.creature.quad_low.generic", } }, _ => "common.loot_tables.fallback", @@ -422,9 +496,16 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc Some(common::comp::Body::Humanoid(_)) => object::Body::Pouch, Some(common::comp::Body::BipedSmall(_)) => object::Body::Pouch, Some(common::comp::Body::Golem(_)) => object::Body::Chest, + Some(common::comp::Body::QuadrupedSmall(_)) => object::Body::SmallMeat, + Some(common::comp::Body::FishMedium(_)) + | Some(common::comp::Body::FishSmall(_)) => object::Body::FishMeat, + Some(common::comp::Body::QuadrupedMedium(_)) => object::Body::BeastMeat, Some(common::comp::Body::BipedLarge(_)) - | Some(common::comp::Body::QuadrupedLow(_)) => object::Body::MeatDrop, - _ => object::Body::Steak, + | Some(common::comp::Body::QuadrupedLow(_)) => object::Body::ToughMeat, + Some(common::comp::Body::BirdLarge(_)) + | Some(common::comp::Body::BirdMedium(_)) => object::Body::BirdMeat, + + _ => object::Body::BeastMeat, }) .maybe_with(vel) .with(item) @@ -608,7 +689,7 @@ pub fn handle_explosion(server: &Server, pos: Vec3, explosion: Explosion, o // Compare both checks, take whichever gives weaker effect, sets minimum of 0 so // that explosions reach a max strength on edge of entity - ((horiz_dist.max(vert_distance).max(0.0) / radius).min(1.0) - 1.0).powi(2) + ((horiz_dist.max(vert_distance).max(0.0) / radius).min(1.0) - 1.0).abs() } for effect in explosion.effects { @@ -689,25 +770,18 @@ pub fn handle_explosion(server: &Server, pos: Vec3, explosion: Explosion, o RadiusEffect::Attack(attack) => { let energies = &ecs.read_storage::(); let combos = &ecs.read_storage::(); + let inventories = &ecs.read_storage::(); for ( entity_b, pos_b, health_b, - ( - body_b_maybe, - inventory_b_maybe, - stats_b_maybe, - ori_b_maybe, - char_state_b_maybe, - uid_b, - ), + (body_b_maybe, stats_b_maybe, ori_b_maybe, char_state_b_maybe, uid_b), ) in ( &ecs.entities(), &ecs.read_storage::(), &ecs.read_storage::(), ( ecs.read_storage::().maybe(), - ecs.read_storage::().maybe(), ecs.read_storage::().maybe(), ecs.read_storage::().maybe(), ecs.read_storage::().maybe(), @@ -751,12 +825,13 @@ pub fn handle_explosion(server: &Server, pos: Vec3, explosion: Explosion, o uid, energy: energies.get(entity), combo: combos.get(entity), + inventory: inventories.get(entity), }); let target_info = combat::TargetInfo { entity: entity_b, uid: *uid_b, - inventory: inventory_b_maybe, + inventory: inventories.get(entity_b), stats: stats_b_maybe, health: Some(health_b), pos: pos_b.0, diff --git a/server/src/lib.rs b/server/src/lib.rs index 00c1459335..b7ca95298c 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -300,7 +300,7 @@ impl Server { let map = world.get_map_data(index.as_index_ref(), &state.thread_pool()); #[cfg(not(feature = "worldgen"))] - let (world, index) = World::generate(settings.world_seed, &state.thread_pool()); + let (world, index) = World::generate(settings.world_seed); #[cfg(not(feature = "worldgen"))] let map = WorldMapMsg { dimensions_lg: Vec2::zero(), @@ -310,6 +310,7 @@ impl Server { sea_level: 0.0, alt: Grid::new(Vec2::new(1, 1), 1), sites: Vec::new(), + pois: Vec::new(), }; #[cfg(feature = "worldgen")] diff --git a/server/src/migrations/V39__meat_MR_organization.sql b/server/src/migrations/V39__meat_MR_organization.sql new file mode 100644 index 0000000000..cbb5f9a99d --- /dev/null +++ b/server/src/migrations/V39__meat_MR_organization.sql @@ -0,0 +1,197 @@ +-- xx +UPDATE item +SET item_definition_id = 'common.items.armor.cloth.druid.belt' WHERE item_definition_id = 'common.items.armor.druid.belt'; +UPDATE item +SET item_definition_id = 'common.items.armor.cloth.druid.chest' WHERE item_definition_id = 'common.items.armor.druid.chest'; +UPDATE item +SET item_definition_id = 'common.items.armor.cloth.druid.hand' WHERE item_definition_id = 'common.items.armor.druid.hand'; +UPDATE item +SET item_definition_id = 'common.items.armor.cloth.druid.pants' WHERE item_definition_id = 'common.items.armor.druid.pants'; +UPDATE item +SET item_definition_id = 'common.items.armor.cloth.druid.shoulder' WHERE item_definition_id = 'common.items.armor.druid.shoulder'; +UPDATE item +SET item_definition_id = 'common.items.armor.cloth.druid.foot' WHERE item_definition_id = 'common.items.armor.druid.foot'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.steel.belt' WHERE item_definition_id = 'common.items.armor.steel.belt'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.steel.chest' WHERE item_definition_id = 'common.items.armor.steel.chest'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.steel.hand' WHERE item_definition_id = 'common.items.armor.steel.hand'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.steel.pants' WHERE item_definition_id = 'common.items.armor.steel.pants'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.steel.shoulder' WHERE item_definition_id = 'common.items.armor.steel.shoulder'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.steel.foot' WHERE item_definition_id = 'common.items.armor.steel.foot'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.rawhide.belt' WHERE item_definition_id = 'common.items.armor.agile.belt'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.rawhide.chest' WHERE item_definition_id = 'common.items.armor.agile.chest'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.rawhide.hand' WHERE item_definition_id = 'common.items.armor.agile.hand'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.rawhide.pants' WHERE item_definition_id = 'common.items.armor.agile.pants'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.rawhide.shoulder' WHERE item_definition_id = 'common.items.armor.agile.shoulder'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.rawhide.foot' WHERE item_definition_id = 'common.items.armor.agile.foot'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.rawhide.back' WHERE item_definition_id = 'common.items.armor.agile.back'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.leather.belt' WHERE item_definition_id = 'common.items.armor.swift.belt'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.leather.chest' WHERE item_definition_id = 'common.items.armor.swift.chest'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.leather.hand' WHERE item_definition_id = 'common.items.armor.swift.hand'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.leather.pants' WHERE item_definition_id = 'common.items.armor.swift.pants'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.leather.shoulder' WHERE item_definition_id = 'common.items.armor.swift.shoulder'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.leather.foot' WHERE item_definition_id = 'common.items.armor.swift.foot'; +UPDATE item +SET item_definition_id = 'common.items.armor.hide.leather.head' WHERE item_definition_id = 'common.items.armor.swift.head'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.iron.belt' WHERE item_definition_id = 'common.items.armor.plate.belt'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.iron.chest' WHERE item_definition_id = 'common.items.armor.plate.chest'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.iron.hand' WHERE item_definition_id = 'common.items.armor.plate.hand'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.iron.pants' WHERE item_definition_id = 'common.items.armor.plate.pants'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.iron.shoulder' WHERE item_definition_id = 'common.items.armor.plate.shoulder'; +UPDATE item +SET item_definition_id = 'common.items.armor.mail.iron.foot' WHERE item_definition_id = 'common.items.armor.plate.foot'; +UPDATE item +SET item_definition_id = 'common.items.mineral.gem.amethyst' WHERE item_definition_id = 'common.items.crafting_ing.amethyst'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.hide.animal_hide' WHERE item_definition_id = 'common.items.crafting_ing.animal_pelt'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.log.bamboo' WHERE item_definition_id = 'common.items.crafting_ing.bamboo'; +UPDATE item +SET item_definition_id = 'common.items.mineral.stone.basalt' WHERE item_definition_id = 'common.items.crafting_ing.basalt'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ingot.bloodsteel' WHERE item_definition_id = 'common.items.crafting_ing.bloosteel_ingot'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ore.bloodstone' WHERE item_definition_id = 'common.items.crafting_ing.bloodstone_ore'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.bone' WHERE item_definition_id = 'common.items.crafting_ing.bone'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ingot.bronze' WHERE item_definition_id = 'common.items.crafting_ing.bronze_ingot'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.hide.carapace' WHERE item_definition_id = 'common.items.crafting_ing.carapace'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.claw' WHERE item_definition_id = 'common.items.crafting_ing.claw'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.cloth.cloth_scraps' WHERE item_definition_id = 'common.items.crafting_ing.linen'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.cloth.cloth_scraps_red' WHERE item_definition_id = 'common.items.crafting_ing.linen_red'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ore.coal' WHERE item_definition_id = 'common.items.crafting_ing.coal'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ingot.cobalt' WHERE item_definition_id = 'common.items.crafting_ing.cobalt_ingot'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ore.copper' WHERE item_definition_id = 'common.items.crafting_ing.copper_ore'; +UPDATE item +SET item_definition_id = 'common.items.mineral.gem.diamond' WHERE item_definition_id = 'common.items.crafting_ing.diamond'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.hide.dragon_scale' WHERE item_definition_id = 'common.items.crafting_ing.dragon_scale'; +UPDATE item +SET item_definition_id = 'common.items.log.eldwood' WHERE item_definition_id = 'common.items.crafting_ing.eldwood_logs'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.ember' WHERE item_definition_id = 'common.items.crafting_ing.ember'; +UPDATE item +SET item_definition_id = 'common.items.mineral.gem.emerald' WHERE item_definition_id = 'common.items.crafting_ing.emerald'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.sharp_fang' WHERE item_definition_id = 'common.items.crafting_ing.fang'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.feather' WHERE item_definition_id = 'common.items.crafting_ing.feather'; +UPDATE item +SET item_definition_id = 'common.items.log.frostwood' WHERE item_definition_id = 'common.items.crafting_ing.frostwood_logs'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.fur' WHERE item_definition_id = 'common.items.crafting_ing.fur'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ingot.gold' WHERE item_definition_id = 'common.items.crafting_ing.gold_ingot'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ore.gold' WHERE item_definition_id = 'common.items.crafting_ing.gold_ore'; +UPDATE item +SET item_definition_id = 'common.items.mineral.stone.granite' WHERE item_definition_id = 'common.items.crafting_ing.granite'; +UPDATE item +SET item_definition_id = 'common.items.log.hardwood' WHERE item_definition_id = 'common.items.crafting_ing.hardwood_logs'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.large_horn' WHERE item_definition_id = 'common.items.crafting_ing.horn'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.icy_fang' WHERE item_definition_id = 'common.items.crafting_ing.icy_fang'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ingot.iron' WHERE item_definition_id = 'common.items.crafting_ing.iron_ingot'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ore.iron' WHERE item_definition_id = 'common.items.crafting_ing.iron_ore'; +UPDATE item +SET item_definition_id = 'common.items.log.ironwood' WHERE item_definition_id = 'common.items.crafting_ing.ironwood_logs'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.leather.simple_leather' WHERE item_definition_id = 'common.items.crafting_ing.leather'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.leather.leather_strips' WHERE item_definition_id = 'common.items.crafting_ing.leather_scraps'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.hide.leather_troll' WHERE item_definition_id = 'common.items.crafting_ing.leather_troll'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.cloth.lifecloth' WHERE item_definition_id = 'common.items.crafting_ing.lifecloth'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.cloth.linen' WHERE item_definition_id = 'common.items.crafting_ing.linen'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.cloth.moonweave' WHERE item_definition_id = 'common.items.crafting_ing.moonweave'; +UPDATE item +SET item_definition_id = 'common.items.mineral.stone.obsidian' WHERE item_definition_id = 'common.items.crafting_ing.obsidian'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ingot.orichalcum' WHERE item_definition_id = 'common.items.crafting_ing.orichalcum_ingot'; +UPDATE item +SET item_definition_id = 'common.items.flowers.plant_fiber' WHERE item_definition_id = 'common.items.crafting_ing.plant_fiber'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.hide.plate' WHERE item_definition_id = 'common.items.crafting_ing.plate'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.raptor_feather' WHERE item_definition_id = 'common.items.crafting_ing.raptor_feather'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.leather.simple_leather' WHERE item_definition_id = 'common.items.crafting_ing.rawhide'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.stones' WHERE item_definition_id = 'common.items.crafting_ing.rock'; +UPDATE item +SET item_definition_id = 'common.items.mineral.gem.ruby' WHERE item_definition_id = 'common.items.crafting_ing.ruby'; +UPDATE item +SET item_definition_id = 'common.items.mineral.gem.sapphire' WHERE item_definition_id = 'common.items.crafting_ing.sapphire'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.hide.scales' WHERE item_definition_id = 'common.items.crafting_ing.scales'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.cloth.silk' WHERE item_definition_id = 'common.items.crafting_ing.silk'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ingot.silver' WHERE item_definition_id = 'common.items.crafting_ing.silver_ingot'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ore.silver' WHERE item_definition_id = 'common.items.crafting_ing.silver_ore'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ingot.steel' WHERE item_definition_id = 'common.items.crafting_ing.steel_ingot'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.cloth.sunsilk' WHERE item_definition_id = 'common.items.crafting_ing.sunsilk'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ingot.tin' WHERE item_definition_id = 'common.items.crafting_ing.tin_ingot'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ore.tin' WHERE item_definition_id = 'common.items.crafting_ing.tin_ore'; +UPDATE item +SET item_definition_id = 'common.items.mineral.gem.topaz' WHERE item_definition_id = 'common.items.crafting_ing.topaz'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.venom_sac' WHERE item_definition_id = 'common.items.crafting_ing.venomsac'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.lively_vine' WHERE item_definition_id = 'common.items.crafting_ing.vine'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.animal_misc.viscous_ooze' WHERE item_definition_id = 'common.items.crafting_ing.viscous_ooze'; +UPDATE item +SET item_definition_id = 'common.items.log.wood' WHERE item_definition_id = 'common.items.crafting_ing.wood_logs'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.cloth.wool' WHERE item_definition_id = 'common.items.crafting_ing.wool'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ore.velorite' WHERE item_definition_id = 'common.items.ore.velorite'; +UPDATE item +SET item_definition_id = 'common.items.mineral.ore.veloritefrag' WHERE item_definition_id = 'common.items.ore.veloritefrag'; +UPDATE item +SET item_definition_id = 'common.items.food.meat.fish_raw' WHERE item_definition_id = 'common.items.food.fish'; +UPDATE item +SET item_definition_id = 'common.items.tool.pickaxe_stone' WHERE item_definition_id = 'common.items.tool.pick'; \ No newline at end of file diff --git a/server/src/migrations/V40__meat_fix.sql b/server/src/migrations/V40__meat_fix.sql new file mode 100644 index 0000000000..2428708072 --- /dev/null +++ b/server/src/migrations/V40__meat_fix.sql @@ -0,0 +1,5 @@ +-- xx +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.cloth.linen_red' WHERE item_definition_id = 'common.items.crafting_ing.cloth_scraps_red'; +UPDATE item +SET item_definition_id = 'common.items.crafting_ing.cloth.linen' WHERE item_definition_id = 'common.items.crafting_ing.cloth_scraps'; \ No newline at end of file diff --git a/server/src/rtsim/entity.rs b/server/src/rtsim/entity.rs index 1e299d62c5..940297025d 100644 --- a/server/src/rtsim/entity.rs +++ b/server/src/rtsim/entity.rs @@ -37,7 +37,7 @@ impl Entity { pub fn get_body(&self) -> comp::Body { match self.rng(PERM_GENUS).gen::() { // we want 5% airships, 45% birds, 50% humans - x if x < 0.05 => comp::Body::Ship(comp::ship::Body::DefaultAirship), + x if x < 0.05 => comp::ship::Body::random_with(&mut self.rng(PERM_BODY)).into(), x if x < 0.45 => { let species = *(&comp::bird_medium::ALL_SPECIES) .choose(&mut self.rng(PERM_SPECIES)) @@ -91,7 +91,7 @@ impl Entity { let back = match rng.gen_range(0..5) { 0 => Some(comp::Item::new_from_asset_expect( - "common.items.armor.agile.back", + "common.items.armor.hide.rawhide.back", )), 1 => Some(comp::Item::new_from_asset_expect( "common.items.armor.misc.back.backpack", @@ -127,7 +127,7 @@ impl Entity { "common.items.npc_armor.pants.leather_blue", )); let shoulder = Some(comp::Item::new_from_asset_expect( - "common.items.armor.swift.shoulder", + "common.items.armor.hide.leather.shoulder", )); LoadoutBuilder::build_loadout(self.get_body(), Some(main_tool), None, None) diff --git a/server/src/state_ext.rs b/server/src/state_ext.rs index c1a57cd7f9..a929d8224d 100644 --- a/server/src/state_ext.rs +++ b/server/src/state_ext.rs @@ -285,17 +285,29 @@ impl StateExt for State { body: comp::Body, projectile: comp::Projectile, ) -> EcsEntityBuilder { - self.ecs_mut() + let mut projectile_base = self + .ecs_mut() .create_entity_synced() .with(pos) .with(vel) .with(comp::Ori::from_unnormalized_vec(vel.0).unwrap_or_default()) .with(body.mass()) - .with(body.density()) - .with(comp::Collider::Point) - .with(body) - .with(projectile) - .with(comp::Sticky) + .with(body.density()); + + if projectile.is_sticky { + projectile_base = projectile_base.with(comp::Sticky) + } + if projectile.is_point { + projectile_base = projectile_base.with(comp::Collider::Point) + } else { + projectile_base = projectile_base.with(comp::Collider::Box { + radius: body.radius(), + z_min: 0.0, + z_max: body.height(), + }) + } + + projectile_base.with(projectile).with(body) } fn create_shockwave( diff --git a/server/src/sys/agent.rs b/server/src/sys/agent.rs index 55e27466d6..152e49030b 100644 --- a/server/src/sys/agent.rs +++ b/server/src/sys/agent.rs @@ -119,6 +119,7 @@ pub enum Tactic { Minotaur, ClayGolem, TidalWarrior, + Yeti, } #[derive(SystemData)] @@ -1609,6 +1610,7 @@ impl<'a> AgentData<'a> { "Clay Golem" => Tactic::ClayGolem, "Tidal Warrior" => Tactic::TidalWarrior, "Tidal Totem" => Tactic::RadialTurret, + "Yeti" => Tactic::Yeti, _ => Tactic::Melee, }, AbilitySpec::Tool(tool_kind) => tool_tactic(*tool_kind), @@ -1697,6 +1699,18 @@ impl<'a> AgentData<'a> { ), ) }, + Tactic::Yeti if matches!(self.char_state, CharacterState::BasicRanged(_)) => { + const SNOWBALL_SPEED: f32 = 60.0; + aim_projectile( + SNOWBALL_SPEED, + Vec3::new(self.pos.0.x, self.pos.0.y, self.pos.0.z + eye_offset), + Vec3::new( + tgt_data.pos.0.x, + tgt_data.pos.0.y, + tgt_data.pos.0.z + tgt_eye_offset, + ), + ) + }, _ => Dir::from_unnormalized( Vec3::new( tgt_data.pos.0.x, @@ -1865,6 +1879,9 @@ impl<'a> AgentData<'a> { &tgt_data, &read_data, ), + Tactic::Yeti => { + self.handle_yeti_attack(agent, controller, &attack_data, &tgt_data, &read_data) + }, } } @@ -3476,6 +3493,65 @@ impl<'a> AgentData<'a> { self.path_toward_target(agent, controller, tgt_data, read_data, false, None); } + fn handle_yeti_attack( + &self, + agent: &mut Agent, + controller: &mut Controller, + attack_data: &AttackData, + tgt_data: &TargetData, + read_data: &ReadData, + ) { + const ICE_SPIKES_RANGE: f32 = 20.0; + const ICE_BREATH_RANGE: f32 = 15.0; + const ICE_BREATH_TIMER: f32 = 10.0; + const SNOWBALL_MAX_RANGE: f32 = 50.0; + + agent.action_state.counter += read_data.dt.0; + + if attack_data.dist_sqrd < ICE_BREATH_RANGE.powi(2) && attack_data.angle < 60.0 { + if matches!(self.char_state, CharacterState::BasicBeam(c) if c.timer < Duration::from_secs(1)) + { + // Keep using ice breath until a second has passed + controller + .actions + .push(ControlAction::basic_input(InputKind::Ability(0))); + } else if agent.action_state.counter > ICE_BREATH_TIMER { + // Use ice breath if timer has gone for long enough + controller + .actions + .push(ControlAction::basic_input(InputKind::Ability(0))); + + if matches!(self.char_state, CharacterState::BasicBeam(_)) { + // Resets action counter when using beam + agent.action_state.counter = 0.0; + } + } else if attack_data.in_min_range() { + // Basic attack if on top of them + controller + .actions + .push(ControlAction::basic_input(InputKind::Primary)); + } else { + // Use ice spikes if too far for other abilities + controller + .actions + .push(ControlAction::basic_input(InputKind::Secondary)); + } + } else if attack_data.dist_sqrd < ICE_SPIKES_RANGE.powi(2) && attack_data.angle < 60.0 { + // Use ice spikes if in range + controller + .actions + .push(ControlAction::basic_input(InputKind::Secondary)); + } else if attack_data.dist_sqrd < SNOWBALL_MAX_RANGE.powi(2) && attack_data.angle < 60.0 { + // Otherwise, chuck all the snowballs + controller + .actions + .push(ControlAction::basic_input(InputKind::Ability(1))); + } + + // Always attempt to path towards target + self.path_toward_target(agent, controller, tgt_data, read_data, false, None); + } + fn follow( &self, agent: &mut Agent, diff --git a/server/src/sys/object.rs b/server/src/sys/object.rs index b7ca5ce30c..f5255db813 100644 --- a/server/src/sys/object.rs +++ b/server/src/sys/object.rs @@ -132,6 +132,8 @@ impl<'a> System<'a> for Sys { time_left: Duration::from_secs(60), owner: *owner, ignore_group: true, + is_sticky: true, + is_point: true, }, speed, object: Some(Object::Firework { diff --git a/server/src/test_world.rs b/server/src/test_world.rs index ecdcd88986..3f0da5f23a 100644 --- a/server/src/test_world.rs +++ b/server/src/test_world.rs @@ -1,5 +1,6 @@ use common::{ generation::{ChunkSupplement, EntityInfo}, + resources::TimeOfDay, terrain::{ Block, BlockKind, MapSizeLg, SpriteKind, TerrainChunk, TerrainChunkMeta, TerrainChunkSize, }, @@ -48,6 +49,7 @@ impl World { _index: IndexRef, chunk_pos: Vec2, _should_continue: impl FnMut() -> bool, + _time: Option, ) -> Result<(TerrainChunk, ChunkSupplement), ()> { let (x, y) = chunk_pos.map(|e| e.to_le_bytes()).into_tuple(); let mut rng = SmallRng::from_seed([ diff --git a/voxygen/Cargo.toml b/voxygen/Cargo.toml index 6d1e3e068d..ec8ee99ae4 100644 --- a/voxygen/Cargo.toml +++ b/voxygen/Cargo.toml @@ -3,7 +3,7 @@ authors = ["Joshua Barretto ", "Imbris ", "Imbris "] edition = "2018" name = "veloren-voxygen-anim" -version = "0.9.0" +version = "0.10.0" [features] use-dyn-lib = ["libloading", "notify", "lazy_static", "tracing", "find_folder"] diff --git a/voxygen/anim/dyn/Cargo.toml b/voxygen/anim/dyn/Cargo.toml index becc2a2697..6bf01bc546 100644 --- a/voxygen/anim/dyn/Cargo.toml +++ b/voxygen/anim/dyn/Cargo.toml @@ -2,7 +2,7 @@ authors = ["Imbris "] edition = "2018" name = "veloren-voxygen-anim-dyn" -version = "0.9.0" +version = "0.10.0" [lib] # Using dylib instead of cdylib increases the size 3 -> 13 mb diff --git a/voxygen/anim/src/biped_large/alpha.rs b/voxygen/anim/src/biped_large/alpha.rs index b752566a0c..583f64aa63 100644 --- a/voxygen/anim/src/biped_large/alpha.rs +++ b/voxygen/anim/src/biped_large/alpha.rs @@ -294,9 +294,39 @@ impl Animation for AlphaAnimation { next.shoulder_r.orientation = Quaternion::rotation_x(-0.3) * Quaternion::rotation_y(move1 * -0.7 + move2 * 0.7); + next.second.scale = Vec3::one() * 1.0; next.head.orientation = Quaternion::rotation_x(move1 * -0.6 + move2 * 0.4) }, + "Yeti" => { + next.control_l.position = Vec3::new(-1.0, 2.0, 12.0 + move2 * -10.0); + next.control_r.position = Vec3::new(1.0, 2.0, -2.0); + + next.control.position = Vec3::new( + 4.0 + move1 * -12.0 + move2 * 20.0, + (s_a.grip.0 / 1.0) + move1 * -3.0 + move2 * 5.0, + (-s_a.grip.0 / 0.8) + move1 * -2.0 + move2 * 8.0, + ); + next.head.orientation = Quaternion::rotation_x(move1 * -0.25) + * Quaternion::rotation_z(move1 * -0.2 + move2 * 0.6); + next.upper_torso.orientation = + Quaternion::rotation_z(move1 * 0.2 + move2 * -0.4); + next.lower_torso.orientation = + Quaternion::rotation_z(move1 * -0.2 + move2 * 0.2); + + next.control_l.orientation = + Quaternion::rotation_x(PI / 2.0 + move2 * 0.8) + * Quaternion::rotation_y(-0.0); + next.control_r.orientation = + Quaternion::rotation_x(PI / 2.0 + 0.2 + move2 * 0.8) + * Quaternion::rotation_y(0.0) + * Quaternion::rotation_z(0.0); + + next.control.orientation = + Quaternion::rotation_x(-1.0 + move1 * -0.5 + move2 * -0.3) + * Quaternion::rotation_y(-1.8 + move1 * -0.8 + move2 * 3.0) + * Quaternion::rotation_z(move1 * -0.8 + move2 * -0.8); + }, _ => {}, } } diff --git a/voxygen/anim/src/biped_large/beam.rs b/voxygen/anim/src/biped_large/beam.rs index 9bf1828295..62f8e01481 100644 --- a/voxygen/anim/src/biped_large/beam.rs +++ b/voxygen/anim/src/biped_large/beam.rs @@ -73,17 +73,12 @@ impl Animation for BeamAnimation { next.hand_l.orientation = Quaternion::rotation_x(0.0); next.hand_r.orientation = Quaternion::rotation_x(0.0); - let (move1base, move2shake, _move2base, move3) = match stage_section { - Some(StageSection::Buildup) => ( - (anim_time.powf(0.25)).min(1.0), - (anim_time * 15.0 + PI).sin(), - (anim_time * 10.0 + PI).sin(), - 0.0, - ), + let (move1base, move2shake, move2base, move3) = match stage_section { + Some(StageSection::Buildup) => ((anim_time.powf(0.25)).min(1.0), 0.0, 0.0, 0.0), Some(StageSection::Cast) => ( 1.0, (anim_time * 15.0 + PI).sin(), - anim_time.powf(0.25), + (anim_time.powf(0.1)).min(1.0), 0.0, ), Some(StageSection::Recover) => (1.0, 1.0, 1.0, anim_time), @@ -91,6 +86,7 @@ impl Animation for BeamAnimation { }; let pullback = 1.0 - move3; let move1 = move1base * pullback; + let move2 = move2base * pullback; match active_tool_kind { Some(ToolKind::Sceptre) | Some(ToolKind::Staff) => { next.control_l.position = Vec3::new(-1.0, 3.0, 12.0); @@ -128,8 +124,6 @@ impl Animation for BeamAnimation { ); next.shoulder_r.orientation = Quaternion::rotation_x(move1 * 0.2 + 0.3 + 0.6 * speednorm + (footrotl * -0.2)); - next.torso.orientation = Quaternion::rotation_x(move1 * -0.1); - next.torso.position = Vec3::new(0.0, 0.0, move1 * 1.0); }, Some(ToolKind::Natural) => { if let Some(AbilitySpec::Custom(spec)) = active_tool_spec { @@ -177,6 +171,50 @@ impl Animation for BeamAnimation { next.shoulder_r.orientation = Quaternion::rotation_z(move1 * 0.3); }; }, + "Yeti" => { + next.second.scale = Vec3::one() * 0.0; + + next.head.orientation = Quaternion::rotation_x( + move1 * 0.5 + move2 * -0.5 + move2shake * -0.02, + ); + next.jaw.position = Vec3::new(0.0, s_a.jaw.0, s_a.jaw.1); + next.jaw.orientation = + Quaternion::rotation_x(move2 * -0.5 + move2shake * -0.1); + next.control_l.position = Vec3::new(-0.5, 4.0, 1.0); + next.control_r.position = Vec3::new(-0.5, 4.0, 1.0); + next.control_l.orientation = Quaternion::rotation_x(1.57); + next.control_r.orientation = Quaternion::rotation_x(1.57); + + next.weapon_l.position = Vec3::new(-12.0, -1.0, -15.0); + next.weapon_r.position = Vec3::new(12.0, -1.0, -15.0); + + next.weapon_l.orientation = Quaternion::rotation_x(-1.57 - 0.1); + next.weapon_r.orientation = Quaternion::rotation_x(-1.57 - 0.1); + + next.arm_control_r.orientation = + Quaternion::rotation_x(move1 * 1.1 + move2 * -1.6) + * Quaternion::rotation_y(move1 * 1.4 + move2 * -1.8); + + next.shoulder_l.orientation = + Quaternion::rotation_x(move1 * 1.4 + move2 * -1.8); + + next.shoulder_r.orientation = + Quaternion::rotation_x(move1 * 1.4 + move2 * -1.8); + + next.upper_torso.position = Vec3::new( + 0.0, + s_a.upper_torso.0, + s_a.upper_torso.1 + move1 * -1.9 + move2 * 1.2, + ); + next.upper_torso.orientation = Quaternion::rotation_x( + move1 * 0.8 + move2 * -1.1 + move2shake * -0.02, + ); + next.lower_torso.position = + Vec3::new(0.0, s_a.lower_torso.0, s_a.lower_torso.1); + next.lower_torso.orientation = Quaternion::rotation_x( + move1 * -0.8 + move2 * 1.1 + move2shake * 0.02, + ); + }, _ => {}, } } diff --git a/voxygen/anim/src/biped_large/chargemelee.rs b/voxygen/anim/src/biped_large/chargemelee.rs index 0a0862de8a..16e25c148b 100644 --- a/voxygen/anim/src/biped_large/chargemelee.rs +++ b/voxygen/anim/src/biped_large/chargemelee.rs @@ -123,6 +123,7 @@ impl Animation for ChargeMeleeAnimation { -18.0 + move1 * 14.0 + move2 * -19.0, ); next.torso.position = Vec3::new(0.0, move2 * 1.5, 0.0); + next.second.scale = Vec3::one() * 1.0; next.weapon_l.orientation = Quaternion::rotation_x( diff --git a/voxygen/anim/src/biped_large/dash.rs b/voxygen/anim/src/biped_large/dash.rs index a949fcca92..f697264bc8 100644 --- a/voxygen/anim/src/biped_large/dash.rs +++ b/voxygen/anim/src/biped_large/dash.rs @@ -178,6 +178,7 @@ impl Animation for DashAnimation { -6.0 + move1 * 2.0, -18.0 + move1 * 2.0, ); + next.second.scale = Vec3::one() * 1.0; next.weapon_l.orientation = Quaternion::rotation_x(-1.67 + move1 * 0.4) * Quaternion::rotation_y(move1 * 0.4 + move2 * 0.2) diff --git a/voxygen/anim/src/biped_large/idle.rs b/voxygen/anim/src/biped_large/idle.rs index 92ca199c0c..96a2448fce 100644 --- a/voxygen/anim/src/biped_large/idle.rs +++ b/voxygen/anim/src/biped_large/idle.rs @@ -63,6 +63,7 @@ impl Animation for IdleAnimation { next.lower_torso.scale = Vec3::one() * 1.02; next.hold.scale = Vec3::one() * 0.0; next.torso.scale = Vec3::one() / 8.0 * s_a.scaler; + next.second.scale = Vec3::one() * 0.0; next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1 + torso * 0.2); next.head.orientation = diff --git a/voxygen/anim/src/biped_large/jump.rs b/voxygen/anim/src/biped_large/jump.rs index 7724daea85..b998012df1 100644 --- a/voxygen/anim/src/biped_large/jump.rs +++ b/voxygen/anim/src/biped_large/jump.rs @@ -29,6 +29,7 @@ impl Animation for JumpAnimation { let wave_slow = (anim_time * 0.8).sin(); next.hold.scale = Vec3::one() * 0.0; + next.second.scale = Vec3::one() * 0.0; next.head.scale = Vec3::one() * 1.02; diff --git a/voxygen/anim/src/biped_large/mod.rs b/voxygen/anim/src/biped_large/mod.rs index 1db51f23b6..0db26fca2b 100644 --- a/voxygen/anim/src/biped_large/mod.rs +++ b/voxygen/anim/src/biped_large/mod.rs @@ -208,7 +208,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { head: match (body.species, body.body_type) { (Ogre, Male) => (5.0, 6.0), (Ogre, Female) => (1.0, 7.5), - (Cyclops, _) => (4.5, 7.5), + (Cyclops, _) => (9.5, 7.5), (Wendigo, _) => (3.0, 7.5), (Troll, _) => (6.0, 10.0), (Dullahan, _) => (3.0, 6.0), @@ -226,7 +226,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { }, jaw: match (body.species, body.body_type) { (Ogre, _) => (0.0, 0.0), - (Cyclops, _) => (0.0, 0.0), + (Cyclops, _) => (-4.5, -6.0), (Wendigo, _) => (0.0, 0.0), (Troll, _) => (2.0, -4.0), (Dullahan, _) => (0.0, 0.0), @@ -245,7 +245,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { upper_torso: match (body.species, body.body_type) { (Ogre, Male) => (0.0, 27.5), (Ogre, Female) => (0.0, 28.0), - (Cyclops, _) => (-2.0, 27.0), + (Cyclops, _) => (-2.0, 31.0), (Wendigo, _) => (-1.0, 29.0), (Troll, _) => (-1.0, 26.5), (Dullahan, _) => (0.0, 29.0), @@ -264,7 +264,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { lower_torso: match (body.species, body.body_type) { (Ogre, Male) => (1.0, -7.0), (Ogre, Female) => (0.0, -6.0), - (Cyclops, _) => (1.0, -4.5), + (Cyclops, _) => (1.0, -8.5), (Wendigo, _) => (-1.5, -6.0), (Troll, _) => (1.0, -10.5), (Dullahan, _) => (0.0, -6.5), @@ -291,7 +291,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { shoulder: match (body.species, body.body_type) { (Ogre, Male) => (12.0, 0.5, 3.0), (Ogre, Female) => (8.0, 0.5, 2.0), - (Cyclops, _) => (9.5, 2.5, 4.5), + (Cyclops, _) => (15.0, 3.5, 1.5), (Wendigo, _) => (9.0, 0.5, 2.5), (Troll, _) => (11.0, 0.5, 4.5), (Dullahan, _) => (14.0, 0.5, 3.5), @@ -310,7 +310,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { hand: match (body.species, body.body_type) { (Ogre, Male) => (14.5, 0.0, -4.0), (Ogre, Female) => (9.0, 0.5, -4.5), - (Cyclops, _) => (10.0, 2.0, -0.5), + (Cyclops, _) => (14.0, 2.0, -5.5), (Wendigo, _) => (12.0, 0.0, -3.5), (Troll, _) => (11.5, 0.0, -5.5), (Dullahan, _) => (14.5, 0.0, -2.5), @@ -329,7 +329,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { leg: match (body.species, body.body_type) { (Ogre, Male) => (0.0, 0.0, -4.0), (Ogre, Female) => (0.0, 0.0, -2.0), - (Cyclops, _) => (0.0, -1.0, -5.0), + (Cyclops, _) => (4.5, 1.0, -8.5), (Wendigo, _) => (2.0, 2.0, -2.5), (Troll, _) => (5.0, 0.0, -6.0), (Dullahan, _) => (0.0, 0.0, -5.0), @@ -348,7 +348,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { foot: match (body.species, body.body_type) { (Ogre, Male) => (4.0, 1.0, -12.0), (Ogre, Female) => (4.0, 0.5, -13.5), - (Cyclops, _) => (4.0, 1.5, -17.0), + (Cyclops, _) => (6.0, 3.5, -15.5), (Wendigo, _) => (5.0, 2.5, -17.0), (Troll, _) => (6.0, 1.5, -13.0), (Dullahan, _) => (4.0, 2.5, -14.0), diff --git a/voxygen/anim/src/biped_large/run.rs b/voxygen/anim/src/biped_large/run.rs index 6bbd437d13..e4c074d2f5 100644 --- a/voxygen/anim/src/biped_large/run.rs +++ b/voxygen/anim/src/biped_large/run.rs @@ -139,6 +139,7 @@ impl Animation for RunAnimation { next.hand_r.scale = Vec3::one() * 1.04; next.hold.scale = Vec3::one() * 0.0; next.torso.scale = Vec3::one() / 8.0 * s_a.scaler; + next.second.scale = Vec3::one() * 0.0; if s_a.beast { next.head.position = Vec3::new(0.0, s_a.head.0, 3.0 + s_a.head.1); diff --git a/voxygen/anim/src/biped_large/selfbuff.rs b/voxygen/anim/src/biped_large/selfbuff.rs index 059e4481e6..feb5526dc5 100644 --- a/voxygen/anim/src/biped_large/selfbuff.rs +++ b/voxygen/anim/src/biped_large/selfbuff.rs @@ -128,6 +128,7 @@ impl Animation for SelfBuffAnimation { -6.0 + move1 * 7.0 + tension * 0.3, -18.0 + move1 * -2.0, ); + next.second.scale = Vec3::one() * 1.0; next.weapon_l.orientation = Quaternion::rotation_x(-1.67 + move1 * 1.9) * Quaternion::rotation_y(move1 * 0.25 + tension2 * 0.06) diff --git a/voxygen/anim/src/biped_large/shockwave.rs b/voxygen/anim/src/biped_large/shockwave.rs index e2ba47be04..81d373014a 100644 --- a/voxygen/anim/src/biped_large/shockwave.rs +++ b/voxygen/anim/src/biped_large/shockwave.rs @@ -2,18 +2,22 @@ use super::{ super::{vek::*, Animation}, BipedLargeSkeleton, SkeletonAttr, }; -use common::{comp::item::ToolKind, states::utils::StageSection}; +use common::{ + comp::item::{AbilitySpec, ToolKind}, + states::utils::StageSection, +}; pub struct ShockwaveAnimation; +type ShockwaveAnimationDependency<'a> = ( + (Option, Option<&'a AbilitySpec>), + (Option, Option<&'a AbilitySpec>), + f32, + f32, + Option, +); impl Animation for ShockwaveAnimation { - type Dependency<'a> = ( - Option, - Option, - f32, - f32, - Option, - ); + type Dependency<'a> = ShockwaveAnimationDependency<'a>; type Skeleton = BipedLargeSkeleton; #[cfg(feature = "use-dyn-lib")] @@ -23,7 +27,13 @@ impl Animation for ShockwaveAnimation { #[allow(clippy::single_match)] // TODO: Pending review in #587 fn update_skeleton_inner<'a>( skeleton: &Self::Skeleton, - (_active_tool_kind, _second_tool_kind, _global_time, velocity, stage_section): Self::Dependency<'a>, + ( + (active_tool_kind, active_tool_spec), + _second_tool_kind, + _global_time, + velocity, + stage_section, + ): Self::Dependency<'a>, anim_time: f32, rate: &mut f32, s_a: &SkeletonAttr, @@ -31,71 +41,162 @@ impl Animation for ShockwaveAnimation { *rate = 1.0; let mut next = (*skeleton).clone(); - let (movement1, movement2, movement3) = match stage_section { - Some(StageSection::Buildup) => (anim_time, 0.0, 0.0), - Some(StageSection::Swing) => (1.0, anim_time, 0.0), - Some(StageSection::Recover) => (1.0, 1.0, anim_time), - _ => (0.0, 0.0, 0.0), + let (move1, move1pow, move2, move3) = match stage_section { + Some(StageSection::Buildup) => (anim_time, anim_time.powf(0.25) as f32, 0.0, 0.0), + Some(StageSection::Swing) => (1.0, 1.0, anim_time, 0.0), + Some(StageSection::Recover) => (1.0, 1.0, 1.0, anim_time), + _ => (0.0, 0.0, 0.0, 0.0), }; - next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); + let pullback = 1.0 - move3; + let move1pow = move1pow * pullback; + let move2 = move2 * pullback; - next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2); - next.hand_l.orientation = - Quaternion::rotation_x(s_a.sthl.3) * Quaternion::rotation_y(s_a.sthl.4); - next.hand_r.position = Vec3::new(s_a.sthr.0, s_a.sthr.1, s_a.sthr.2); - next.hand_r.orientation = - Quaternion::rotation_x(s_a.sthr.3) * Quaternion::rotation_y(s_a.sthr.4); next.main.position = Vec3::new(0.0, 0.0, 0.0); - next.main.orientation = Quaternion::rotation_y(0.0); + next.main.orientation = Quaternion::rotation_x(0.0); - next.control.position = Vec3::new(s_a.stc.0, s_a.stc.1, s_a.stc.2); - next.control.orientation = - Quaternion::rotation_x(s_a.stc.3) * Quaternion::rotation_y(s_a.stc.4); + next.hand_l.position = Vec3::new(0.0, 0.0, s_a.grip.0); + next.hand_r.position = Vec3::new(0.0, 0.0, s_a.grip.0); - let twist = movement1 * 0.8; + next.hand_l.orientation = Quaternion::rotation_x(0.0); + next.hand_r.orientation = Quaternion::rotation_x(0.0); - next.control.position = Vec3::new( - s_a.stc.0 + movement1 * 5.0 + movement3 * -5.0, - s_a.stc.1 + movement1 * 13.0 + movement3 * -3.0, - s_a.stc.2 + movement1 * 10.0 + movement2 * -2.0 + movement3 * -8.0, - ); - next.control.orientation = Quaternion::rotation_x( - s_a.stc.3 + movement1 * 0.8 + movement2 * 0.3 + movement3 * -1.1, - ) * Quaternion::rotation_y( - s_a.stc.4 + movement1 * -0.15 + movement2 * 0.3 + movement3 * -0.45, - ) * Quaternion::rotation_z(movement1 * 0.8 + movement2 * -0.8); + match active_tool_kind { + Some(ToolKind::Sceptre) => { + next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1); - next.head.orientation = Quaternion::rotation_x(movement1 * 0.4 + movement3 * -0.4) - * Quaternion::rotation_z(twist * 0.2 + movement2 * -0.8 + movement3 * 0.6); + next.hand_l.position = Vec3::new(s_a.sthl.0, s_a.sthl.1, s_a.sthl.2); + next.hand_l.orientation = + Quaternion::rotation_x(s_a.sthl.3) * Quaternion::rotation_y(s_a.sthl.4); + next.hand_r.position = Vec3::new(s_a.sthr.0, s_a.sthr.1, s_a.sthr.2); + next.hand_r.orientation = + Quaternion::rotation_x(s_a.sthr.3) * Quaternion::rotation_y(s_a.sthr.4); + next.main.position = Vec3::new(0.0, 0.0, 0.0); + next.main.orientation = Quaternion::rotation_y(0.0); - next.upper_torso.position = Vec3::new( - 0.0, - s_a.upper_torso.0, - s_a.upper_torso.1 + movement1 * 2.0 + movement2 * -4.0 + movement3 * 2.0, - ); - next.upper_torso.orientation = Quaternion::rotation_x(movement2 * -0.8 + movement3 * 0.8) - * Quaternion::rotation_z(twist * -0.2 + movement2 * -0.1 + movement3 * 0.3); + next.control.position = Vec3::new(s_a.stc.0, s_a.stc.1, s_a.stc.2); + next.control.orientation = + Quaternion::rotation_x(s_a.stc.3) * Quaternion::rotation_y(s_a.stc.4); - next.lower_torso.orientation = Quaternion::rotation_x(movement2 * 0.3 + movement3 * -0.3) - * Quaternion::rotation_z(twist + movement2 * -0.8); + let twist = move1 * 0.8; - if velocity < 0.5 { - next.foot_l.position = Vec3::new( - -s_a.foot.0, - s_a.foot.1 + movement1 * -7.0 + movement2 * 7.0, - s_a.foot.2, - ); - next.foot_l.orientation = Quaternion::rotation_x(movement1 * -0.8 + movement2 * 0.8) - * Quaternion::rotation_z(movement1 * 0.3 + movement2 * -0.3); + next.control.position = Vec3::new( + s_a.stc.0 + move1 * 5.0 + move3 * -5.0, + s_a.stc.1 + move1 * 13.0 + move3 * -3.0, + s_a.stc.2 + move1 * 10.0 + move2 * -2.0 + move3 * -8.0, + ); + next.control.orientation = + Quaternion::rotation_x(s_a.stc.3 + move1 * 0.8 + move2 * 0.3 + move3 * -1.1) + * Quaternion::rotation_y( + s_a.stc.4 + move1 * -0.15 + move2 * 0.3 + move3 * -0.45, + ) + * Quaternion::rotation_z(move1 * 0.8 + move2 * -0.8); - next.foot_r.position = Vec3::new( - s_a.foot.0, - s_a.foot.1 + movement1 * 5.0 + movement2 * -5.0, - s_a.foot.2, - ); - next.foot_r.orientation = Quaternion::rotation_y(movement1 * -0.3 + movement2 * 0.3) - * Quaternion::rotation_z(movement1 * 0.4 + movement2 * -0.4); + next.head.orientation = Quaternion::rotation_x(move1 * 0.4 + move3 * -0.4) + * Quaternion::rotation_z(twist * 0.2 + move2 * -0.8 + move3 * 0.6); + + next.upper_torso.position = Vec3::new( + 0.0, + s_a.upper_torso.0, + s_a.upper_torso.1 + move1 * 2.0 + move2 * -4.0 + move3 * 2.0, + ); + next.upper_torso.orientation = Quaternion::rotation_x(move2 * -0.8 + move3 * 0.8) + * Quaternion::rotation_z(twist * -0.2 + move2 * -0.1 + move3 * 0.3); + + next.lower_torso.orientation = Quaternion::rotation_x(move2 * 0.3 + move3 * -0.3) + * Quaternion::rotation_z(twist + move2 * -0.8); + + if velocity < 0.5 { + next.foot_l.position = Vec3::new( + -s_a.foot.0, + s_a.foot.1 + move1 * -7.0 + move2 * 7.0, + s_a.foot.2, + ); + next.foot_l.orientation = Quaternion::rotation_x(move1 * -0.8 + move2 * 0.8) + * Quaternion::rotation_z(move1 * 0.3 + move2 * -0.3); + + next.foot_r.position = Vec3::new( + s_a.foot.0, + s_a.foot.1 + move1 * 5.0 + move2 * -5.0, + s_a.foot.2, + ); + next.foot_r.orientation = Quaternion::rotation_y(move1 * -0.3 + move2 * 0.3) + * Quaternion::rotation_z(move1 * 0.4 + move2 * -0.4); + } + }, + Some(ToolKind::Natural) => { + if let Some(AbilitySpec::Custom(spec)) = active_tool_spec { + match spec.as_str() { + "Yeti" => { + next.second.scale = Vec3::one() * 0.0; + + next.head.orientation = + Quaternion::rotation_x(move1pow * 0.8 + move2 * -1.2); + next.jaw.position = Vec3::new(0.0, s_a.jaw.0, s_a.jaw.1); + next.jaw.orientation = Quaternion::rotation_x(move2 * -0.3); + next.control_l.position = Vec3::new(-0.5, 4.0, 1.0); + next.control_r.position = Vec3::new(-0.5, 4.0, 1.0); + next.control_l.orientation = Quaternion::rotation_x(1.57); + next.control_r.orientation = Quaternion::rotation_x(1.57); + next.weapon_l.position = + Vec3::new(-12.0 + (move1pow * 20.0).min(10.0), -1.0, -15.0); + next.weapon_r.position = + Vec3::new(12.0 + (move1pow * -20.0).max(-10.0), -1.0, -15.0); + + next.weapon_l.orientation = Quaternion::rotation_x(-1.57 - 0.1) + * Quaternion::rotation_z(move1pow * -1.0); + next.weapon_r.orientation = Quaternion::rotation_x(-1.57 - 0.1) + * Quaternion::rotation_z(move1pow * 1.0); + + next.shoulder_l.orientation = + Quaternion::rotation_x(-0.3 + move1pow * 2.8 + move2 * -2.8); + + next.shoulder_r.orientation = + Quaternion::rotation_x(-0.3 + move1pow * 2.8 + move2 * -2.8); + + next.control.orientation = + Quaternion::rotation_x(move1pow * 2.5 + move2 * -2.0); + + let twist = move1 * 0.6 + move3 * -0.6; + next.upper_torso.position = + Vec3::new(0.0, s_a.upper_torso.0, s_a.upper_torso.1); + next.upper_torso.orientation = + Quaternion::rotation_x(move1pow * 0.8 + move2 * -1.1) + * Quaternion::rotation_z( + twist * -0.2 + move1 * -0.1 + move2 * 0.3, + ); + + next.lower_torso.orientation = + Quaternion::rotation_x(move1pow * -0.8 + move2 * 1.1) + * Quaternion::rotation_z(twist); + + next.foot_l.position = Vec3::new( + -s_a.foot.0, + s_a.foot.1 + move1pow * -7.0 + move2 * 7.0, + s_a.foot.2, + ); + next.foot_l.orientation = + Quaternion::rotation_x(move1pow * -0.8 + move2 * 0.8) + * Quaternion::rotation_z(move1pow * 0.3 + move2 * -0.3); + + next.foot_r.position = Vec3::new( + s_a.foot.0, + s_a.foot.1 + move1pow * 5.0 + move2 * -5.0, + s_a.foot.2, + ); + next.foot_r.orientation = + Quaternion::rotation_y(move1pow * -0.3 + move2 * 0.3) + * Quaternion::rotation_z(move1pow * 0.4 + move2 * -0.4); + + next.main.orientation = + Quaternion::rotation_y(move1 * 0.4 + move2 * -0.6) + * Quaternion::rotation_x(move2 * -0.4); + }, + _ => {}, + } + } + }, + _ => {}, } next } diff --git a/voxygen/anim/src/biped_large/shoot.rs b/voxygen/anim/src/biped_large/shoot.rs index 42d9717950..206d2ad2bd 100644 --- a/voxygen/anim/src/biped_large/shoot.rs +++ b/voxygen/anim/src/biped_large/shoot.rs @@ -219,6 +219,49 @@ impl Animation for ShootAnimation { * Quaternion::rotation_z(move1 * -0.5); next.head.orientation = Quaternion::rotation_x(move1 * -0.3); }, + "Yeti" => { + let (move1, move2, move3) = match stage_section { + Some(StageSection::Buildup) => (anim_time.powf(0.25), 0.0, 0.0), + Some(StageSection::Swing) => (1.0, anim_time, 0.0), + Some(StageSection::Recover) => (1.0, 1.0, anim_time.powi(4)), + _ => (0.0, 0.0, 0.0), + }; + next.second.scale = Vec3::one() * 0.0; + + next.head.orientation = Quaternion::rotation_x(move1 * 0.4); + next.jaw.position = Vec3::new(0.0, s_a.jaw.0, s_a.jaw.1); + next.jaw.orientation = Quaternion::rotation_x(move2 * -0.3); + next.control_l.position = Vec3::new(-0.5, 4.0, 1.0); + next.control_r.position = Vec3::new(-0.5, 4.0, 1.0); + next.control_l.orientation = Quaternion::rotation_x(1.57); + next.control_r.orientation = Quaternion::rotation_x(1.57); + next.weapon_l.position = Vec3::new(-12.0, -1.0, -15.0); + next.weapon_r.position = Vec3::new(12.0, -1.0, -15.0); + + next.weapon_l.orientation = Quaternion::rotation_x(-1.57 - 0.1); + next.weapon_r.orientation = Quaternion::rotation_x(-1.57 - 0.1); + + let twist = move1 * 0.8 + move3 * -0.8; + next.upper_torso.position = + Vec3::new(0.0, s_a.upper_torso.0, s_a.upper_torso.1); + next.upper_torso.orientation = + Quaternion::rotation_x(move1 * 0.8 + move2 * -1.1) + * Quaternion::rotation_z( + twist * -0.2 + move1 * -0.1 + move2 * 0.3, + ); + + next.lower_torso.orientation = + Quaternion::rotation_x(move1 * -0.8 + move2 * 1.1) + * Quaternion::rotation_z(twist); + + next.arm_control_r.orientation = + Quaternion::rotation_x(move1 * PI / 2.0) + * Quaternion::rotation_y(move1 * -PI / 2.0 + move2 * 2.5); + //* Quaternion::rotation_y(move1 * -PI/2.0) + //* Quaternion::rotation_z(move1 * -PI/2.0); + next.arm_control_r.position = + Vec3::new(0.0, move1 * 10.0 + move2 * -10.0, 0.0); + }, _ => {}, } } diff --git a/voxygen/anim/src/biped_large/wield.rs b/voxygen/anim/src/biped_large/wield.rs index a619e49791..9035c2d468 100644 --- a/voxygen/anim/src/biped_large/wield.rs +++ b/voxygen/anim/src/biped_large/wield.rs @@ -448,6 +448,26 @@ impl Animation for WieldAnimation { Quaternion::rotation_x(0.0) * Quaternion::rotation_y(0.0); next.shoulder_l.orientation = Quaternion::rotation_x(-0.3); + next.shoulder_r.orientation = Quaternion::rotation_x(-0.3); + next.second.scale = Vec3::one() * 1.0; + }, + "Yeti" => { + next.second.scale = Vec3::one() * 0.0; + next.control_l.position = Vec3::new(-0.5, 4.0, 1.0); + next.control_r.position = Vec3::new(-0.5, 4.0, 1.0); + next.weapon_l.position = Vec3::new(-12.0, -1.0, -15.0); + next.weapon_r.position = Vec3::new(12.0, -1.0, -15.0); + + next.weapon_l.orientation = Quaternion::rotation_x(-1.57 - 0.1); + next.weapon_r.orientation = Quaternion::rotation_x(-1.57 - 0.1); + + next.control_l.orientation = Quaternion::rotation_x(1.57); + next.control_r.orientation = Quaternion::rotation_x(1.57); + + next.control.orientation = + Quaternion::rotation_x(0.0) * Quaternion::rotation_y(0.0); + next.shoulder_l.orientation = Quaternion::rotation_x(-0.3); + next.shoulder_r.orientation = Quaternion::rotation_x(-0.3); }, _ => {}, diff --git a/voxygen/anim/src/quadruped_low/mod.rs b/voxygen/anim/src/quadruped_low/mod.rs index 63d2dc644c..a9971df988 100644 --- a/voxygen/anim/src/quadruped_low/mod.rs +++ b/voxygen/anim/src/quadruped_low/mod.rs @@ -131,7 +131,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Sandshark, _) => (8.5, 0.5), (Hakulaq, _) => (8.0, 10.0), (Lavadrake, _) => (7.0, 8.0), - (Basilisk, _) => (11.0, 13.5), + (Basilisk, _) => (5.0, 2.5), (Deadwood, _) => (2.0, -3.0), }, head_lower: match (body.species, body.body_type) { @@ -148,7 +148,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Sandshark, _) => (13.5, -10.5), (Hakulaq, _) => (10.5, 1.0), (Lavadrake, _) => (11.5, -6.0), - (Basilisk, _) => (8.5, -6.5), + (Basilisk, _) => (12.5, -5.5), (Deadwood, _) => (0.0, 0.0), }, jaw: match (body.species, body.body_type) { @@ -165,7 +165,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Sandshark, _) => (-8.0, -5.5), (Hakulaq, _) => (-6.5, -4.0), (Lavadrake, _) => (3.0, -5.0), - (Basilisk, _) => (1.5, 1.0), + (Basilisk, _) => (0.5, -3.0), (Deadwood, _) => (-1.0, 4.0), }, chest: match (body.species, body.body_type) { @@ -182,7 +182,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Sandshark, _) => (0.0, 20.0), (Hakulaq, _) => (0.0, 13.5), (Lavadrake, _) => (0.0, 16.5), - (Basilisk, _) => (0.0, 16.5), + (Basilisk, _) => (0.0, 15.0), (Deadwood, _) => (0.0, 12.0), }, tail_rear: match (body.species, body.body_type) { @@ -199,7 +199,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Sandshark, _) => (-10.0, 0.5), (Hakulaq, _) => (-9.0, -2.0), (Lavadrake, _) => (-12.0, -2.0), - (Basilisk, _) => (-10.0, -3.0), + (Basilisk, _) => (-10.0, -4.0), (Deadwood, _) => (-15.0, 4.0), }, tail_front: match (body.species, body.body_type) { @@ -216,7 +216,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Sandshark, _) => (-13.0, -8.0), (Hakulaq, _) => (-6.0, -5.5), (Lavadrake, _) => (-7.0, -4.5), - (Basilisk, _) => (-2.5, -4.5), + (Basilisk, _) => (-6.5, -5.5), (Deadwood, _) => (-1.0, 4.0), }, feet_f: match (body.species, body.body_type) { @@ -233,7 +233,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Sandshark, _) => (5.5, 2.0, -8.0), (Hakulaq, _) => (4.5, 2.0, -4.5), (Lavadrake, _) => (4.5, 4.0, -6.5), - (Basilisk, _) => (6.5, 4.0, -7.5), + (Basilisk, _) => (6.5, 4.0, -2.0), (Deadwood, _) => (3.5, 4.0, -5.0), }, feet_b: match (body.species, body.body_type) { @@ -250,7 +250,7 @@ impl<'a> From<&'a Body> for SkeletonAttr { (Sandshark, _) => (3.5, -15.0, -14.0), (Hakulaq, _) => (3.5, -8.0, -4.5), (Lavadrake, _) => (3.5, -8.0, -6.5), - (Basilisk, _) => (4.5, -13.0, -7.5), + (Basilisk, _) => (5.5, -6.5, -2.0), (Deadwood, _) => (3.5, -6.0, -5.0), }, lean: match (body.species, body.body_type) { diff --git a/voxygen/anim/src/ship/mod.rs b/voxygen/anim/src/ship/mod.rs index f9c86cf033..80ed5ceb05 100644 --- a/voxygen/anim/src/ship/mod.rs +++ b/voxygen/anim/src/ship/mod.rs @@ -64,13 +64,33 @@ impl Default for SkeletonAttr { fn default() -> Self { Self { bone0: (0.0, 0.0, 0.0), - bone1: (-13.0, -25.0, 10.0), - bone2: (13.0, -25.0, 10.0), - bone3: (0.0, -27.5, 8.5), + bone1: (0.0, 0.0, 0.0), + bone2: (0.0, 0.0, 0.0), + bone3: (0.0, 0.0, 0.0), } } } impl<'a> From<&'a Body> for SkeletonAttr { - fn from(_: &'a Body) -> Self { Self::default() } + fn from(body: &'a Body) -> Self { + use comp::ship::Body::*; + Self { + bone0: match body { + DefaultAirship => (0.0, 0.0, 0.0), + AirBalloon => (0.0, 0.0, 0.0), + }, + bone1: match body { + DefaultAirship => (-13.0, -25.0, 10.0), + AirBalloon => (0.0, 0.0, 0.0), + }, + bone2: match body { + DefaultAirship => (13.0, -25.0, 10.0), + AirBalloon => (0.0, 0.0, 0.0), + }, + bone3: match body { + DefaultAirship => (0.0, -27.5, 8.5), + AirBalloon => (0.0, -9.0, 8.0), + }, + } + } } diff --git a/voxygen/i18n/Cargo.toml b/voxygen/i18n/Cargo.toml index 03e3efaa11..0d7ee94b70 100644 --- a/voxygen/i18n/Cargo.toml +++ b/voxygen/i18n/Cargo.toml @@ -3,7 +3,7 @@ authors = ["juliancoffee ", "Rémy Phelipot"] edition = "2018" name = "veloren-i18n" description = "Crate for internalization and diagnostic of existing localizations." -version = "0.9.0" +version = "0.10.0" [[bin]] name = "i18n-check" @@ -11,7 +11,7 @@ required-features = ["bin"] [dependencies] # Assets -hashbrown = { version = "0.9", features = ["serde", "nightly"] } +hashbrown = { version = "0.11", features = ["serde", "nightly"] } common-assets = {package = "veloren-common-assets", path = "../../common/assets"} deunicode = "1.0" serde = { version = "1.0", features = ["derive"] } diff --git a/voxygen/i18n/src/bin/i18n-check.rs b/voxygen/i18n/src/bin/i18n-check.rs index 465bfd4586..cc45d256bb 100644 --- a/voxygen/i18n/src/bin/i18n-check.rs +++ b/voxygen/i18n/src/bin/i18n-check.rs @@ -31,7 +31,7 @@ fn main() { .get_matches(); // Generate paths - let root = veloren_i18n::find_root().expect("Failed to find root of repository"); + let root = common_assets::find_root().expect("Failed to find root of repository"); let asset_path = Path::new("assets/voxygen/i18n/"); if let Some(code) = matches.value_of("CODE") { diff --git a/voxygen/i18n/src/data.rs b/voxygen/i18n/src/data.rs index 9bf4de78d0..6bee98faca 100644 --- a/voxygen/i18n/src/data.rs +++ b/voxygen/i18n/src/data.rs @@ -388,23 +388,6 @@ pub fn list_localizations() -> Vec { /// Start hot reloading of i18n assets pub fn start_hot_reloading() { assets::start_hot_reloading(); } -/// Return path to repository by searching 10 directories back -pub fn find_root() -> Option { - std::env::current_dir().map_or(None, |path| { - // If we are in the root, push path - if path.join(".git").is_dir() { - return Some(path); - } - // Search .git directory in parent directries - for ancestor in path.ancestors().take(10) { - if ancestor.join(".git").is_dir() { - return Some(ancestor.to_path_buf()); - } - } - None - }) -} - /// List localization directories as a `PathBuf` vector pub fn i18n_directories(i18n_dir: &Path) -> Vec { fs::read_dir(i18n_dir) @@ -416,6 +399,7 @@ pub fn i18n_directories(i18n_dir: &Path) -> Vec { #[cfg(test)] mod tests { + use super::assets; // Test that localization list is loaded (not empty) #[test] fn test_localization_list() { @@ -435,7 +419,7 @@ mod tests { fn verify_all_localizations() { // Generate paths let i18n_asset_path = std::path::Path::new("assets/voxygen/i18n/"); - let root_dir = super::find_root().expect("Failed to discover repository root"); + let root_dir = assets::find_root().expect("Failed to discover repository root"); crate::verification::verify_all_localizations(&root_dir, &i18n_asset_path); } @@ -447,7 +431,7 @@ mod tests { let be_verbose = true; // Generate paths let i18n_asset_path = std::path::Path::new("assets/voxygen/i18n/"); - let root_dir = super::find_root().expect("Failed to discover repository root"); + let root_dir = assets::find_root().expect("Failed to discover repository root"); crate::analysis::test_all_localizations(&root_dir, &i18n_asset_path, be_verbose); } } diff --git a/voxygen/src/audio/sfx/mod.rs b/voxygen/src/audio/sfx/mod.rs index d5e8eda3af..f0ab9e4a55 100644 --- a/voxygen/src/audio/sfx/mod.rs +++ b/voxygen/src/audio/sfx/mod.rs @@ -403,7 +403,9 @@ impl SfxMgr { audio.emit_sfx(sfx_trigger_item, *pos, None, false); } }, - beam::FrontendSpecifier::ClayGolem | beam::FrontendSpecifier::Bubbles => {}, + beam::FrontendSpecifier::ClayGolem + | beam::FrontendSpecifier::Bubbles + | beam::FrontendSpecifier::Frost => {}, }, Outcome::BreakBlock { pos, .. } => { let sfx_trigger_item = triggers.get_key_value(&SfxEvent::BreakBlock); diff --git a/voxygen/src/hud/buffs.rs b/voxygen/src/hud/buffs.rs index 858877b204..12cff265e7 100644 --- a/voxygen/src/hud/buffs.rs +++ b/voxygen/src/hud/buffs.rs @@ -12,6 +12,7 @@ use crate::{ use common::comp::{BuffKind, Buffs, Energy, Health}; use conrod_core::{ color, + image::Id, widget::{self, Button, Image, Rectangle, Text}, widget_ids, Color, Colorable, Positionable, Sizeable, Widget, WidgetCommon, }; @@ -230,28 +231,18 @@ impl<'a> Widget for BuffsBar<'a> { let click_to_remove = format!("<{}>", &localized_strings.get("buff.remove")); let desc = format!("{}\n\n{}\n\n{}", desc_txt, remaining_time, click_to_remove); // Timer overlay - if Button::image(match duration_percentage as u64 { - 875..=1000 => self.imgs.nothing, // 8/8 - 750..=874 => self.imgs.buff_0, // 7/8 - 625..=749 => self.imgs.buff_1, // 6/8 - 500..=624 => self.imgs.buff_2, // 5/8 - 375..=499 => self.imgs.buff_3, // 4/8 - 250..=374 => self.imgs.buff_4, //3/8 - 125..=249 => self.imgs.buff_5, // 2/8 - 0..=124 => self.imgs.buff_6, // 1/8 - _ => self.imgs.nothing, - }) - .w_h(40.0, 40.0) - .middle_of(*id) - .with_tooltip( - self.tooltip_manager, - title, - &desc, - &buffs_tooltip, - BUFF_COLOR, - ) - .set(*timer_id, ui) - .was_clicked() + if Button::image(self.get_duration_image(duration_percentage)) + .w_h(40.0, 40.0) + .middle_of(*id) + .with_tooltip( + self.tooltip_manager, + title, + &desc, + &buffs_tooltip, + BUFF_COLOR, + ) + .set(*timer_id, ui) + .was_clicked() { event.push(Event::RemoveBuff(buff.kind)); }; @@ -310,27 +301,17 @@ impl<'a> Widget for BuffsBar<'a> { let desc_txt = hud::get_buff_desc(debuff.kind, debuff.data, localized_strings); let remaining_time = hud::get_buff_time(*debuff); let desc = format!("{}\n\n{}", desc_txt, remaining_time); - Image::new(match duration_percentage as u64 { - 875..=1000 => self.imgs.nothing, // 8/8 - 750..=874 => self.imgs.buff_0, // 7/8 - 625..=749 => self.imgs.buff_1, // 6/8 - 500..=624 => self.imgs.buff_2, // 5/8 - 375..=499 => self.imgs.buff_3, // 4/8 - 250..=374 => self.imgs.buff_4, //3/8 - 125..=249 => self.imgs.buff_5, // 2/8 - 0..=124 => self.imgs.buff_6, // 1/8 - _ => self.imgs.nothing, - }) - .w_h(40.0, 40.0) - .middle_of(*id) - .with_tooltip( - self.tooltip_manager, - title, - &desc, - &buffs_tooltip, - DEBUFF_COLOR, - ) - .set(*timer_id, ui); + Image::new(self.get_duration_image(duration_percentage)) + .w_h(40.0, 40.0) + .middle_of(*id) + .with_tooltip( + self.tooltip_manager, + title, + &desc, + &buffs_tooltip, + DEBUFF_COLOR, + ) + .set(*timer_id, ui); }); } @@ -412,32 +393,22 @@ impl<'a> Widget for BuffsBar<'a> { desc_txt.to_string() }; // Timer overlay - if Button::image(match duration_percentage as u64 { - 875..=1000 => self.imgs.nothing, // 8/8 - 750..=874 => self.imgs.buff_0, // 7/8 - 625..=749 => self.imgs.buff_1, // 6/8 - 500..=624 => self.imgs.buff_2, // 5/8 - 375..=499 => self.imgs.buff_3, // 4/8 - 250..=374 => self.imgs.buff_4, // 3/8 - 125..=249 => self.imgs.buff_5, // 2/8 - 0..=124 => self.imgs.buff_6, // 1/8 - _ => self.imgs.nothing, - }) - .w_h(40.0, 40.0) - .middle_of(*id) - .with_tooltip( - self.tooltip_manager, - title, - &desc, - &buffs_tooltip, - if buff.is_buff { - BUFF_COLOR - } else { - DEBUFF_COLOR - }, - ) - .set(*timer_id, ui) - .was_clicked() + if Button::image(self.get_duration_image(duration_percentage)) + .w_h(40.0, 40.0) + .middle_of(*id) + .with_tooltip( + self.tooltip_manager, + title, + &desc, + &buffs_tooltip, + if buff.is_buff { + BUFF_COLOR + } else { + DEBUFF_COLOR + }, + ) + .set(*timer_id, ui) + .was_clicked() { event.push(Event::RemoveBuff(buff.kind)); } @@ -453,3 +424,19 @@ impl<'a> Widget for BuffsBar<'a> { event } } + +impl<'a> BuffsBar<'a> { + fn get_duration_image(&self, duration_percentage: u32) -> Id { + match duration_percentage as u64 { + 875..=1000 => self.imgs.nothing, // 8/8 + 750..=874 => self.imgs.buff_0, // 7/8 + 625..=749 => self.imgs.buff_1, // 6/8 + 500..=624 => self.imgs.buff_2, // 5/8 + 375..=499 => self.imgs.buff_3, // 4/8 + 250..=374 => self.imgs.buff_4, // 3/8 + 125..=249 => self.imgs.buff_5, // 2/8 + 0..=124 => self.imgs.buff_6, // 1/8 + _ => self.imgs.nothing, + } + } +} diff --git a/voxygen/src/hud/crafting.rs b/voxygen/src/hud/crafting.rs index ee616e822d..d2d34f96e5 100644 --- a/voxygen/src/hud/crafting.rs +++ b/voxygen/src/hud/crafting.rs @@ -1,4 +1,5 @@ use super::{ + get_quality_col, img_ids::{Imgs, ImgsRot}, item_imgs::{animate_by_pulse, ItemImgs, ItemKey::Tool}, Show, TEXT_COLOR, TEXT_DULL_RED_COLOR, TEXT_GRAY_COLOR, UI_HIGHLIGHT_0, UI_MAIN, @@ -24,6 +25,7 @@ use common::{ }; use conrod_core::{ color, image, + position::Dimension, widget::{self, Button, Image, Rectangle, Scrollbar, Text, TextEdit}, widget_ids, Color, Colorable, Labelable, Positionable, Sizeable, Widget, WidgetCommon, }; @@ -52,7 +54,9 @@ widget_ids! { align_ing, scrollbar_ing, btn_craft, - recipe_names[], + recipe_list_btns[], + recipe_list_labels[], + recipe_list_quality_indicators[], recipe_img_frame[], recipe_img[], ingredients[], @@ -143,6 +147,7 @@ pub enum CraftingTab { Tool, Utility, Glider, + ProcessedMaterial, } impl CraftingTab { fn name_key(&self) -> &str { @@ -157,6 +162,7 @@ impl CraftingTab { CraftingTab::Utility => "hud.crafting.tabs.utility", CraftingTab::Weapon => "hud.crafting.tabs.weapon", CraftingTab::Bag => "hud.crafting.tabs.bag", + CraftingTab::ProcessedMaterial => "hud.crafting.tabs.processed_material", } } @@ -172,6 +178,7 @@ impl CraftingTab { CraftingTab::Utility => imgs.icon_utility, CraftingTab::Weapon => imgs.icon_weapon, CraftingTab::Bag => imgs.icon_bag, + CraftingTab::ProcessedMaterial => imgs.icon_processed_material, } } @@ -185,6 +192,12 @@ impl CraftingTab { }, CraftingTab::Glider => matches!(item.kind(), ItemKind::Glider(_)), CraftingTab::Potion => item.tags().contains(&ItemTag::Potion), + CraftingTab::ProcessedMaterial => { + item.tags().contains(&ItemTag::MetalIngot) + | item.tags().contains(&ItemTag::Textile) + | item.tags().contains(&ItemTag::Leather) + | item.tags().contains(&ItemTag::BaseMaterial) + }, CraftingTab::Bag => item.tags().contains(&ItemTag::Bag), CraftingTab::Tool => item.tags().contains(&ItemTag::CraftingTool), CraftingTab::Utility => item.tags().contains(&ItemTag::Utility), @@ -274,23 +287,13 @@ impl<'a> Widget for Crafting<'a> { Image::new(self.imgs.crafting_window) .bottom_right_with_margins_on(ui.window, 308.0, 450.0) .color(Some(UI_MAIN)) - .w_h(422.0, 460.0) + .w_h(456.0, 460.0) .set(state.ids.window, ui); - // Search Background - // I couldn't find a way to manually set they layer of a widget - // If it is possible, please move this code (for rectangle) down to the code for - // search input - if self.show.crafting_search_key.is_some() { - Rectangle::fill([114.0, 20.0]) - .top_left_with_margins_on(state.ids.window, 52.0, 26.0) - .hsla(0.0, 0.0, 0.0, 0.7) - .set(state.ids.input_bg_search, ui); - } // Window Image::new(self.imgs.crafting_frame) .middle_of(state.ids.window) .color(Some(UI_HIGHLIGHT_0)) - .w_h(422.0, 460.0) + .wh_of(state.ids.window) .set(state.ids.window_frame, ui); // Crafting Icon @@ -320,7 +323,7 @@ impl<'a> Widget for Crafting<'a> { .set(state.ids.title_main, ui); // Alignment - Rectangle::fill_with([136.0, 378.0], color::TRANSPARENT) + Rectangle::fill_with([170.0, 378.0], color::TRANSPARENT) .top_left_with_margins_on(state.ids.window_frame, 74.0, 5.0) .scroll_kids_vertically() .set(state.ids.align_rec, ui); @@ -408,12 +411,6 @@ impl<'a> Widget for Crafting<'a> { // First available recipes, then unavailable ones, each alphabetically // In the triples, "name" is the recipe book key, and "recipe.output.0.name()" // is the display name (as stored in the item descriptors) - #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord)] - enum RecipeIngredientQuantity { - All, - Some, - None, - } let mut ordered_recipes: Vec<_> = self .client .recipe_book() @@ -430,15 +427,7 @@ impl<'a> Widget for Crafting<'a> { } }) .map(|(name, recipe)| { - let at_least_some_ingredients = recipe.inputs.iter().any(|(input, amount)| { - *amount > 0 - && self.inventory.slots().any(|slot| { - slot.as_ref() - .map(|item| item.matches_recipe_input(input)) - .unwrap_or(false) - }) - }); - let show_craft_sprite = + let is_craftable = self.client .available_recipes() .get(name.as_str()) @@ -447,81 +436,112 @@ impl<'a> Widget for Crafting<'a> { Some(cs) == self.show.craft_sprite.map(|(_, s)| s) }) }); - let state = if show_craft_sprite { - RecipeIngredientQuantity::All - } else if at_least_some_ingredients { - RecipeIngredientQuantity::Some - } else { - RecipeIngredientQuantity::None - }; - (name, recipe, state) + (name, recipe, is_craftable) }) .collect(); - ordered_recipes.sort_by_key(|(_, recipe, state)| (*state, recipe.output.0.name())); + ordered_recipes.sort_by_key(|(_, recipe, state)| { + (!state, recipe.output.0.quality(), recipe.output.0.name()) + }); // Recipe list - if state.ids.recipe_names.len() < self.client.recipe_book().iter().len() { + if state.ids.recipe_list_btns.len() < self.client.recipe_book().iter().len() { state.update(|state| { - state.ids.recipe_names.resize( + state.ids.recipe_list_btns.resize( self.client.recipe_book().iter().len(), &mut ui.widget_id_generator(), ) }); } - for (i, (name, recipe, quantity)) in ordered_recipes + if state.ids.recipe_list_labels.len() < self.client.recipe_book().iter().len() { + state.update(|state| { + state.ids.recipe_list_labels.resize( + self.client.recipe_book().iter().len(), + &mut ui.widget_id_generator(), + ) + }); + } + if state.ids.recipe_list_quality_indicators.len() < self.client.recipe_book().iter().len() { + state.update(|state| { + state.ids.recipe_list_quality_indicators.resize( + self.client.recipe_book().iter().len(), + &mut ui.widget_id_generator(), + ) + }); + } + for (i, (name, recipe, is_craftable)) in ordered_recipes .into_iter() .filter(|(_, recipe, _)| self.show.crafting_tab.satisfies(recipe.output.0.as_ref())) .enumerate() { - let button = Button::image( - if state - .selected_recipe - .as_ref() - .map(|s| s != name) - .unwrap_or(false) - { - self.imgs.nothing - } else { - match state.selected_recipe { - None => self.imgs.nothing, - Some(_) => self.imgs.selection, - } - }, - ); - // Recipe Button - let button = if i == 0 { - button.mid_top_with_margin_on(state.ids.align_rec, 2.0) + let button = Button::image(if state.selected_recipe.as_ref() == Some(name) { + self.imgs.selection } else { - button.mid_bottom_with_margin_on(state.ids.recipe_names[i - 1], -25.0) - }; - let text_color = match quantity { - RecipeIngredientQuantity::All => TEXT_COLOR, - RecipeIngredientQuantity::Some => TEXT_GRAY_COLOR, - RecipeIngredientQuantity::None => TEXT_DULL_RED_COLOR, + self.imgs.nothing + }) + .and(|button| { + if i == 0 { + button.top_left_with_margins_on(state.ids.align_rec, 2.0, 7.0) + } else { + button.down_from(state.ids.recipe_list_btns[i - 1], 5.0) + } + }) + .w(157.0) + .hover_image(self.imgs.selection_hover) + .press_image(self.imgs.selection_press); + + let text = Text::new(recipe.output.0.name()) + .color(if is_craftable { + TEXT_COLOR + } else { + TEXT_GRAY_COLOR + }) + .font_size(self.fonts.cyri.scale(12)) + .font_id(self.fonts.cyri.conrod_id) + .w(149.0) + .mid_top_with_margin_on(state.ids.recipe_list_btns[i], 3.0) + .graphics_for(state.ids.recipe_list_btns[i]) + .center_justify(); + + let text_height = match text.get_y_dimension(ui) { + Dimension::Absolute(y) => y, + _ => 0.0, }; + if button - .label(recipe.output.0.name()) - .w_h(130.0, 20.0) - .hover_image(self.imgs.selection_hover) - .press_image(self.imgs.selection_press) - .label_color(text_color) - .label_font_size(self.fonts.cyri.scale(12)) - .label_font_id(self.fonts.cyri.conrod_id) - .label_y(conrod_core::position::Relative::Scalar(2.0)) - .set(state.ids.recipe_names[i], ui) + .h((text_height + 7.0).max(20.0)) + .set(state.ids.recipe_list_btns[i], ui) .was_clicked() { - if state - .selected_recipe - .as_ref() - .map(|s| s == name) - .unwrap_or(false) - { + if state.selected_recipe.as_ref() == Some(name) { state.update(|s| s.selected_recipe = None); } else { state.update(|s| s.selected_recipe = Some(name.clone())); } } + // set the text here so that the correct position of the button is retrieved + text.set(state.ids.recipe_list_labels[i], ui); + + // Sidebar color + let color::Hsla(h, s, l, _) = get_quality_col(recipe.output.0.as_ref()).to_hsl(); + let val_multiplier = if is_craftable { 0.7 } else { 0.5 }; + // Apply conversion to hsv, multiply v by the desired amount, then revert to + // hsl. Conversion formulae: https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion + // Note that division by 0 is not possible since none of the colours are black + // or white + let quality_col = color::hsl( + h, + s * val_multiplier * f32::min(l, 1.0 - l) + / f32::min(l * val_multiplier, 1.0 - l * val_multiplier), + l * val_multiplier, + ); + + Button::image(self.imgs.quality_indicator) + .image_color(quality_col) + .h_of(state.ids.recipe_list_btns[i]) + .w(4.0) + .left_from(state.ids.recipe_list_btns[i], 1.0) + .graphics_for(state.ids.recipe_list_btns[i]) + .set(state.ids.recipe_list_quality_indicators[i], ui); } // Selected Recipe @@ -677,6 +697,10 @@ impl<'a> Widget for Crafting<'a> { Some(SpriteKind::Cauldron) => "Cauldron", Some(SpriteKind::CookingPot) => "CookingPot", Some(SpriteKind::CraftingBench) => "CraftingBench", + Some(SpriteKind::Forge) => "Forge", + Some(SpriteKind::Loom) => "Loom", + Some(SpriteKind::SpinningWheel) => "SpinningWheel", + Some(SpriteKind::TanningRack) => "TanningRack", None => "CraftsmanHammer", _ => "CraftsmanHammer", }; @@ -696,6 +720,10 @@ impl<'a> Widget for Crafting<'a> { Some(SpriteKind::Cauldron) => "hud.crafting.cauldron", Some(SpriteKind::CookingPot) => "hud.crafting.cooking_pot", Some(SpriteKind::CraftingBench) => "hud.crafting.crafting_bench", + Some(SpriteKind::Forge) => "hud.crafting.forge", + Some(SpriteKind::Loom) => "hud.crafting.loom", + Some(SpriteKind::SpinningWheel) => "hud.crafting.spinning_wheel", + Some(SpriteKind::TanningRack) => "hud.crafting.tanning_rack", _ => "", }; Text::new(&self.localized_strings.get(station_name)) @@ -887,9 +915,15 @@ impl<'a> Widget for Crafting<'a> { { events.push(Event::SearchRecipe(None)); } + Rectangle::fill([148.0, 20.0]) + .top_left_with_margins_on(state.ids.btn_close_search, -2.0, 16.0) + .hsla(0.0, 0.0, 0.0, 0.7) + .depth(1.0) + .parent(state.ids.window) + .set(state.ids.input_bg_search, ui); if let Some(string) = TextEdit::new(key.as_str()) .top_left_with_margins_on(state.ids.btn_close_search, -2.0, 18.0) - .w_h(90.0, 20.0) + .w_h(124.0, 20.0) .font_id(self.fonts.cyri.conrod_id) .font_size(self.fonts.cyri.scale(14)) .color(TEXT_COLOR) @@ -906,7 +940,7 @@ impl<'a> Widget for Crafting<'a> { .color(TEXT_COLOR) .parent(state.ids.window) .set(state.ids.title_rec, ui); - Rectangle::fill_with([114.0, 20.0], color::TRANSPARENT) + Rectangle::fill_with([148.0, 20.0], color::TRANSPARENT) .top_left_with_margins_on(state.ids.window, 52.0, 26.0) .graphics_for(state.ids.btn_open_search) .set(state.ids.input_overlay_search, ui); diff --git a/voxygen/src/hud/diary.rs b/voxygen/src/hud/diary.rs index 4cc9925886..2e679c6362 100644 --- a/voxygen/src/hud/diary.rs +++ b/voxygen/src/hud/diary.rs @@ -11,7 +11,7 @@ use conrod_core::{ color, image::Id, widget::{self, button, Button, Image, Rectangle, Text}, - widget_ids, Color, Colorable, Labelable, Positionable, Sizeable, Widget, WidgetCommon, + widget_ids, Color, Colorable, Labelable, Positionable, Sizeable, UiCell, Widget, WidgetCommon, }; use client::{self, Client}; @@ -309,12 +309,14 @@ impl<'a> Widget for Diary<'a> { } // Title - Text::new(&self.localized_strings.get("hud.diary")) - .mid_top_with_margin_on(state.frame, 3.0) - .font_id(self.fonts.cyri.conrod_id) - .font_size(self.fonts.cyri.scale(29)) - .color(TEXT_COLOR) - .set(state.title, ui); + self.create_new_text( + &self.localized_strings.get("hud.diary"), + state.frame, + 3.0, + 29, + TEXT_COLOR, + ) + .set(state.title, ui); // Content Alignment Rectangle::fill_with([599.0 * 2.0, 419.0 * 2.0], color::TRANSPARENT) @@ -457,34 +459,26 @@ impl<'a> Widget for Diary<'a> { .mouse() .map_or(false, |m| m.is_over()) { - Text::new(&exp_txt) - .mid_top_with_margin_on(state.exp_bar_frame, 47.0) - .font_id(self.fonts.cyri.conrod_id) - .font_size(self.fonts.cyri.scale(14)) - .color(TEXT_COLOR) + self.create_new_text(&exp_txt, state.exp_bar_frame, 47.0, 14, TEXT_COLOR) .graphics_for(state.exp_bar_frame) .set(state.exp_bar_txt, ui); } - Text::new(&rank_txt) - .mid_top_with_margin_on(state.exp_bar_frame, 5.0) - .font_id(self.fonts.cyri.conrod_id) - .font_size(self.fonts.cyri.scale(28)) - .color(TEXT_COLOR) + self.create_new_text(&rank_txt, state.exp_bar_frame, 5.0, 28, TEXT_COLOR) .set(state.exp_bar_rank, ui); - Text::new( + self.create_new_text( &self .localized_strings .get("hud.skill.sp_available") .replace("{number}", &available_pts_txt), + state.content_align, + 700.0, + 28, + if available_pts > 0 { + Color::Rgba(0.92, 0.76, 0.0, frame_ani) + } else { + TEXT_COLOR + }, ) - .mid_top_with_margin_on(state.content_align, 700.0) - .font_id(self.fonts.cyri.conrod_id) - .font_size(self.fonts.cyri.scale(28)) - .color(if available_pts > 0 { - Color::Rgba(0.92, 0.76, 0.0, frame_ani) - } else { - TEXT_COLOR - }) .set(state.available_pts_txt, ui); let tree_title = match sel_tab { SelectedSkillTree::General => self.localized_strings.get("common.weapons.general"), @@ -508,11 +502,7 @@ impl<'a> Widget for Diary<'a> { }, _ => "Unknown", }; - Text::new(&tree_title) - .mid_top_with_margin_on(state.content_align, 2.0) - .font_id(self.fonts.cyri.conrod_id) - .font_size(self.fonts.cyri.scale(34)) - .color(TEXT_COLOR) + self.create_new_text(&tree_title, state.content_align, 2.0, 34, TEXT_COLOR) .set(state.tree_title_txt, ui); // Skill Trees // Alignment Placing @@ -727,215 +717,87 @@ impl<'a> Widget for Diary<'a> { // 5 1 6 // 3 0 4 // 8 2 7 - let skill = Skill::General(HealthIncrease); - if create_skill_button( + self.create_unlock_skill_button( + Skill::General(HealthIncrease), self.imgs.health_plus_skill, state.skills_top_l[0], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.inc_health_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.inc_health"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "inc_health", + state.skill_general_stat_0, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_stat_0, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::General(EnergyIncrease); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::General(EnergyIncrease), self.imgs.stamina_plus_skill, state.skills_top_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.inc_stam_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.inc_stam"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "inc_stam", + state.skill_general_stat_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_stat_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Top right skills - let skill = Skill::UnlockGroup(Weapon(Sword)); - if create_skill_button( + self.create_unlock_skill_button( + Skill::UnlockGroup(Weapon(Sword)), self.imgs.unlock_sword_skill, state.skills_top_r[0], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.unlck_sword_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.unlck_sword"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "unlck_sword", + state.skill_general_tree_0, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_tree_0, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::UnlockGroup(Weapon(Axe)); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::UnlockGroup(Weapon(Axe)), self.imgs.unlock_axe_skill, state.skills_top_r[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.unlck_axe_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.unlck_axe"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "unlck_axe", + state.skill_general_tree_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_tree_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::UnlockGroup(Weapon(Hammer)); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::UnlockGroup(Weapon(Hammer)), self.imgs.unlock_hammer_skill, state.skills_top_r[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.unlck_hammer_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.unlck_hammer"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "unlck_hammer", + state.skill_general_tree_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_tree_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::UnlockGroup(Weapon(Bow)); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::UnlockGroup(Weapon(Bow)), self.imgs.unlock_bow_skill, state.skills_top_r[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.unlck_bow_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.unlck_bow"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "unlck_bow", + state.skill_general_tree_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_tree_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::UnlockGroup(Weapon(Staff)); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::UnlockGroup(Weapon(Staff)), self.imgs.unlock_staff_skill0, state.skills_top_r[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.unlck_staff_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.unlck_staff"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "unlck_staff", + state.skill_general_tree_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_tree_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::UnlockGroup(Weapon(Sceptre)); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::UnlockGroup(Weapon(Sceptre)), self.imgs.unlock_sceptre_skill, state.skills_top_r[5], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.unlck_sceptre_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.unlck_sceptre"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "unlck_sceptre", + state.skill_general_tree_5, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_tree_5, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Bottom left skills Button::image(self.imgs.skill_dodge_skill) .w_h(74.0, 74.0) @@ -948,84 +810,36 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_general_roll_0, ui); - let skill = Skill::Roll(RollSkill::Cost); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Roll(RollSkill::Cost), self.imgs.utility_cost_skill, state.skills_bot_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.roll_stamina_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.roll_stamina"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "roll_stamina", + state.skill_general_roll_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_roll_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Roll(Strength); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Roll(Strength), self.imgs.utility_speed_skill, state.skills_bot_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.roll_speed_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.roll_speed"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "roll_speed", + state.skill_general_roll_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_roll_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Roll(Duration); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Roll(Duration), self.imgs.utility_duration_skill, state.skills_bot_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.roll_dur_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.roll_dur"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "roll_dur", + state.skill_general_roll_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_roll_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Bottom right skills Button::image(self.imgs.skill_climbing_skill) .w_h(74.0, 74.0) @@ -1038,58 +852,26 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_general_climb_0, ui); - let skill = Skill::Climb(ClimbSkill::Cost); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Climb(ClimbSkill::Cost), self.imgs.utility_cost_skill, state.skills_bot_r[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.climbing_cost_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.climbing_cost"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "climbing_cost", + state.skill_general_climb_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_climb_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Climb(ClimbSkill::Speed); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Climb(ClimbSkill::Speed), self.imgs.utility_speed_skill, state.skills_bot_r[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.climbing_speed_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.climbing_speed"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "climbing_speed", + state.skill_general_climb_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_climb_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); Button::image(self.imgs.skill_swim_skill) .w_h(74.0, 74.0) @@ -1102,32 +884,16 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_general_swim_0, ui); - let skill = Skill::Swim(SwimSkill::Speed); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Swim(SwimSkill::Speed), self.imgs.utility_speed_skill, state.skills_bot_r[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.swim_speed_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.swim_speed"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "swim_speed", + state.skill_general_swim_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_general_swim_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); }, SelectedSkillTree::Weapon(ToolKind::Sword) => { use skills::SwordSkill::*; @@ -1157,116 +923,46 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_sword_combo_0, ui); - let skill = Skill::Sword(TsCombo); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Sword(TsCombo), self.imgs.physical_combo_skill, state.skills_top_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sw_trip_str_combo_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_trip_str_combo"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_trip_str_combo", + state.skill_sword_combo_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_combo_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(TsDamage); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(TsDamage), self.imgs.physical_damage_skill, state.skills_top_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sw_trip_str_dmg_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_trip_str_dmg"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_trip_str_dmg", + state.skill_sword_combo_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_combo_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(TsSpeed); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(TsSpeed), self.imgs.physical_speed_skill, state.skills_top_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_trip_str_sp_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_trip_str_sp"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_trip_str_sp", + state.skill_sword_combo_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_combo_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(TsRegen); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(TsRegen), self.imgs.physical_energy_regen_skill, state.skills_top_l[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sw_trip_str_reg_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_trip_str_reg"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_trip_str_reg", + state.skill_sword_combo_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_combo_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Top right skills Button::image(self.imgs.twohsword_m2) .w_h(74.0, 74.0) @@ -1279,324 +975,128 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_sword_dash_0, ui); - let skill = Skill::Sword(DDamage); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Sword(DDamage), self.imgs.physical_damage_skill, state.skills_top_r[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_dash_dmg_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_dash_dmg"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_dash_dmg", + state.skill_sword_dash_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_dash_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(DDrain); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(DDrain), self.imgs.physical_energy_drain_skill, state.skills_top_r[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_dash_drain_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_dash_drain"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_dash_drain", + state.skill_sword_dash_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_dash_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(DCost); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(DCost), self.imgs.physical_cost_skill, state.skills_top_r[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_dash_cost_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_dash_cost"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_dash_cost", + state.skill_sword_dash_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_dash_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(DSpeed); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(DSpeed), self.imgs.physical_speed_skill, state.skills_top_r[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_dash_speed_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_dash_speed"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_dash_speed", + state.skill_sword_dash_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_dash_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(DInfinite); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(DInfinite), self.imgs.physical_distance_skill, state.skills_top_r[5], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sw_dash_charge_through_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.sw_dash_charge_through"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_dash_charge_through", + state.skill_sword_dash_5, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_dash_5, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(DScaling); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(DScaling), self.imgs.physical_amount_skill, state.skills_top_r[6], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_dash_scale_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_dash_scale"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_dash_scale", + state.skill_sword_dash_6, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_dash_6, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Bottom left skills - let skill = Skill::Sword(UnlockSpin); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Sword(UnlockSpin), self.imgs.sword_whirlwind, state.skills_bot_l[0], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_spin_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_spin"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_spin", + state.skill_sword_spin_0, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_spin_0, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(SDamage); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(SDamage), self.imgs.physical_damage_skill, state.skills_bot_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_spin_dmg_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_spin_dmg"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_spin_dmg", + state.skill_sword_spin_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_spin_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(SSpeed); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(SSpeed), self.imgs.physical_damage_skill, state.skills_bot_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_spin_spd_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_spin_spd"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_spin_spd", + state.skill_sword_spin_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_spin_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(SCost); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(SCost), self.imgs.physical_cost_skill, state.skills_bot_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_spin_cost_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_spin_cost"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_spin_cost", + state.skill_sword_spin_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_spin_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sword(SSpins); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sword(SSpins), self.imgs.physical_amount_skill, state.skills_bot_l[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_spin_spins_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_spin_spins"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_spin_spins", + state.skill_sword_spin_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_spin_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Bottom right skills - let skill = Skill::Sword(InterruptingAttacks); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Sword(InterruptingAttacks), self.imgs.physical_damage_skill, state.skills_bot_r[0], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sw_interrupt_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sw_interrupt"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sw_interrupt", + state.skill_sword_passive_0, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sword_passive_0, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); }, SelectedSkillTree::Weapon(ToolKind::Axe) => { use skills::AxeSkill::*; @@ -1628,126 +1128,46 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_axe_combo_0, ui); - let skill = Skill::Axe(DsCombo); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Axe(DsCombo), self.imgs.physical_combo_skill, state.skills_top_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.axe_double_strike_combo_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.axe_double_strike_combo"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_double_strike_combo", + state.skill_axe_combo_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_combo_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Axe(DsDamage); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Axe(DsDamage), self.imgs.physical_damage_skill, state.skills_top_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.axe_double_strike_damage_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.axe_double_strike_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_double_strike_damage", + state.skill_axe_combo_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_combo_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Axe(DsSpeed); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Axe(DsSpeed), self.imgs.physical_speed_skill, state.skills_top_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.axe_double_strike_speed_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.axe_double_strike_speed"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_double_strike_speed", + state.skill_axe_combo_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_combo_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Axe(DsRegen); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Axe(DsRegen), self.imgs.physical_energy_regen_skill, state.skills_top_l[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.axe_double_strike_regen_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.axe_double_strike_regen"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_double_strike_regen", + state.skill_axe_combo_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_combo_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Top right skills Button::image(self.imgs.axespin) .w_h(74.0, 74.0) @@ -1760,283 +1180,107 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_axe_spin_0, ui); - let skill = Skill::Axe(SInfinite); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Axe(SInfinite), self.imgs.physical_infinite_skill, state.skills_top_r[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.axe_infinite_axe_spin_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.axe_infinite_axe_spin"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_infinite_axe_spin", + state.skill_axe_spin_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_spin_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Axe(SDamage); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Axe(SDamage), self.imgs.physical_damage_skill, state.skills_top_r[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.axe_spin_damage_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.axe_spin_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_spin_damage", + state.skill_axe_spin_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_spin_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Axe(SHelicopter); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Axe(SHelicopter), self.imgs.physical_helicopter_skill, state.skills_top_r[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.axe_spin_helicopter_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.axe_spin_helicopter"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_spin_helicopter", + state.skill_axe_spin_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_spin_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Axe(SSpeed); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Axe(SSpeed), self.imgs.physical_speed_skill, state.skills_top_r[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.axe_spin_speed_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.axe_spin_speed"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_spin_speed", + state.skill_axe_spin_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_spin_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Axe(SCost); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Axe(SCost), self.imgs.physical_cost_skill, state.skills_top_r[5], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.axe_spin_cost_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.axe_spin_cost"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_spin_cost", + state.skill_axe_spin_5, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_spin_5, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Bottom left skills - let skill = Skill::Axe(UnlockLeap); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Axe(UnlockLeap), self.imgs.skill_axe_leap_slash, state.skills_bot_l[0], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.axe_unlock_leap_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.axe_unlock_leap"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_unlock_leap", + state.skill_axe_leap_0, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_leap_0, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Axe(LDamage); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Axe(LDamage), self.imgs.physical_damage_skill, state.skills_bot_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.axe_leap_damage_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.axe_leap_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_leap_damage", + state.skill_axe_leap_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_leap_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Axe(LKnockback); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Axe(LKnockback), self.imgs.physical_knockback_skill, state.skills_bot_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.axe_leap_knockback_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.axe_leap_knockback"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_leap_knockback", + state.skill_axe_leap_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_leap_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Axe(LCost); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Axe(LCost), self.imgs.physical_cost_skill, state.skills_bot_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.axe_leap_cost_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.axe_leap_cost"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_leap_cost", + state.skill_axe_leap_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_leap_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Axe(LDistance); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Axe(LDistance), self.imgs.physical_distance_skill, state.skills_bot_l[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.axe_leap_distance_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.axe_leap_distance"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "axe_leap_distance", + state.skill_axe_leap_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_axe_leap_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); }, SelectedSkillTree::Weapon(ToolKind::Hammer) => { use skills::HammerSkill::*; @@ -2068,126 +1312,46 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_hammer_combo_0, ui); - let skill = Skill::Hammer(SsKnockback); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Hammer(SsKnockback), self.imgs.physical_knockback_skill, state.skills_top_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_single_strike_knockback_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.hmr_single_strike_knockback"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_single_strike_knockback", + state.skill_hammer_combo_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_combo_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Hammer(SsDamage); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Hammer(SsDamage), self.imgs.physical_damage_skill, state.skills_top_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_single_strike_damage_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.hmr_single_strike_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_single_strike_damage", + state.skill_hammer_combo_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_combo_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Hammer(SsSpeed); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Hammer(SsSpeed), self.imgs.physical_speed_skill, state.skills_top_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_single_strike_speed_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.hmr_single_strike_speed"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_single_strike_speed", + state.skill_hammer_combo_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_combo_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Hammer(SsRegen); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Hammer(SsRegen), self.imgs.physical_energy_regen_skill, state.skills_top_l[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_single_strike_regen_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.hmr_single_strike_regen"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_single_strike_regen", + state.skill_hammer_combo_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_combo_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Top right skills Button::image(self.imgs.hammergolf) .w_h(74.0, 74.0) @@ -2202,291 +1366,107 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_hammer_charged_0, ui); - let skill = Skill::Hammer(CKnockback); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Hammer(CKnockback), self.imgs.physical_knockback_skill, state.skills_top_r[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_charged_melee_knockback_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.hmr_charged_melee_knockback"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_charged_melee_knockback", + state.skill_hammer_charged_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_charged_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Hammer(CDamage); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Hammer(CDamage), self.imgs.physical_damage_skill, state.skills_top_r[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_charged_melee_damage_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.hmr_charged_melee_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_charged_melee_damage", + state.skill_hammer_charged_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_charged_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Hammer(CDrain); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Hammer(CDrain), self.imgs.physical_energy_drain_skill, state.skills_top_r[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_charged_melee_nrg_drain_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.hmr_charged_melee_nrg_drain"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_charged_melee_nrg_drain", + state.skill_hammer_charged_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_charged_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Hammer(CSpeed); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Hammer(CSpeed), self.imgs.physical_amount_skill, state.skills_top_r[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_charged_rate_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.hmr_charged_rate"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_charged_rate", + state.skill_hammer_charged_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_charged_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Bottom left skills - let skill = Skill::Hammer(UnlockLeap); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Hammer(UnlockLeap), self.imgs.hammerleap, state.skills_bot_l[0], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_unlock_leap_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.hmr_unlock_leap"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_unlock_leap", + state.skill_hammer_leap_0, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_leap_0, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Hammer(LDamage); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Hammer(LDamage), self.imgs.physical_damage_skill, state.skills_bot_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_leap_damage_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.hmr_leap_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_leap_damage", + state.skill_hammer_leap_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_leap_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Hammer(LKnockback); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Hammer(LKnockback), self.imgs.physical_knockback_skill, state.skills_bot_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_leap_knockback_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.hmr_leap_knockback"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_leap_knockback", + state.skill_hammer_leap_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_leap_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Hammer(LCost); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Hammer(LCost), self.imgs.physical_cost_skill, state.skills_bot_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.hmr_leap_cost_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.hmr_leap_cost"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_leap_cost", + state.skill_hammer_leap_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_leap_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Hammer(LDistance); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Hammer(LDistance), self.imgs.physical_distance_skill, state.skills_bot_l[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_leap_distance_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.hmr_leap_distance"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_leap_distance", + state.skill_hammer_leap_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_leap_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Hammer(LRange); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Hammer(LRange), self.imgs.physical_radius_skill, state.skills_bot_l[5], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.hmr_leap_radius_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.hmr_leap_radius"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "hmr_leap_radius", + state.skill_hammer_leap_5, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_hammer_leap_5, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); }, SelectedSkillTree::Weapon(ToolKind::Bow) => { use skills::BowSkill::*; @@ -2515,150 +1495,56 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_bow_charged_0, ui); - let skill = Skill::Bow(CDamage); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Bow(CDamage), self.imgs.physical_damage_skill, state.skills_top_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_charged_damage_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.bow_charged_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_charged_damage", + state.skill_bow_charged_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_charged_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Bow(CRegen); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Bow(CRegen), self.imgs.physical_energy_regen_skill, state.skills_top_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_charged_energy_regen_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.bow_charged_energy_regen"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_charged_energy_regen", + state.skill_bow_charged_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_charged_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Bow(CKnockback); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Bow(CKnockback), self.imgs.physical_knockback_skill, state.skills_top_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_charged_knockback_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.bow_charged_knockback"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_charged_knockback", + state.skill_bow_charged_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_charged_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Bow(CSpeed); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Bow(CSpeed), self.imgs.physical_speed_skill, state.skills_top_l[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_charged_speed_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.bow_charged_speed"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_charged_speed", + state.skill_bow_charged_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_charged_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Bow(CMove); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Bow(CMove), self.imgs.physical_speed_skill, state.skills_top_l[5], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_charged_move_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.bow_charged_move"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_charged_move", + state.skill_bow_charged_5, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_charged_5, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Top right skills Button::image(self.imgs.bow_m2) .w_h(74.0, 74.0) @@ -2671,262 +1557,98 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_bow_repeater_0, ui); - let skill = Skill::Bow(RDamage); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Bow(RDamage), self.imgs.physical_damage_skill, state.skills_top_r[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_repeater_damage_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.bow_repeater_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_repeater_damage", + state.skill_bow_repeater_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_repeater_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Bow(RCost); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Bow(RCost), self.imgs.physical_cost_skill, state.skills_top_r[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_repeater_cost_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.bow_repeater_cost"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_repeater_cost", + state.skill_bow_repeater_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_repeater_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Bow(RSpeed); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Bow(RSpeed), self.imgs.physical_speed_skill, state.skills_top_r[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_repeater_speed_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.bow_repeater_speed"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_repeater_speed", + state.skill_bow_repeater_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_repeater_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Bottom left skills - let skill = Skill::Bow(UnlockShotgun); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Bow(UnlockShotgun), self.imgs.skill_bow_jump_burst, state.skills_bot_l[0], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_shotgun_unlock_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.bow_shotgun_unlock"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_shotgun_unlock", + state.skill_bow_shotgun_0, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_shotgun_0, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Bow(SDamage); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Bow(SDamage), self.imgs.physical_damage_skill, state.skills_bot_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_shotgun_damage_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.bow_shotgun_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_shotgun_damage", + state.skill_bow_shotgun_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_shotgun_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Bow(SCost); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Bow(SCost), self.imgs.physical_cost_skill, state.skills_bot_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_shotgun_cost_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.bow_shotgun_cost"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_shotgun_cost", + state.skill_bow_shotgun_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_shotgun_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Bow(SArrows); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Bow(SArrows), self.imgs.physical_amount_skill, state.skills_bot_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_shotgun_arrow_count_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.bow_shotgun_arrow_count"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_shotgun_arrow_count", + state.skill_bow_shotgun_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_shotgun_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Bow(SSpread); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Bow(SSpread), self.imgs.physical_explosion_skill, state.skills_bot_l[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_shotgun_spread_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.bow_shotgun_spread"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_shotgun_spread", + state.skill_bow_shotgun_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_shotgun_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Bottom right skills - let skill = Skill::Bow(ProjSpeed); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Bow(ProjSpeed), self.imgs.physical_projectile_speed_skill, state.skills_bot_r[0], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.bow_projectile_speed_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.bow_projectile_speed"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "bow_projectile_speed", + state.skill_bow_passive_0, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_bow_passive_0, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); }, SelectedSkillTree::Weapon(ToolKind::Staff) => { use skills::StaffSkill::*; @@ -2956,88 +1678,36 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_staff_basic_0, ui); - let skill = Skill::Staff(BDamage); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Staff(BDamage), self.imgs.magic_damage_skill, state.skills_top_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.st_damage_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.st_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_damage", + state.skill_staff_basic_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_basic_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Staff(BRegen); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Staff(BRegen), self.imgs.magic_energy_regen_skill, state.skills_top_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.st_stamina_regen_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.st_stamina_regen"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_stamina_regen", + state.skill_staff_basic_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_basic_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Staff(BRadius); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Staff(BRadius), self.imgs.magic_radius_skill, state.skills_top_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.st_explosion_radius_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.st_explosion_radius"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_explosion_radius", + state.skill_staff_basic_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_basic_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Top right skills Button::image(self.imgs.flamethrower) .w_h(74.0, 74.0) @@ -3052,265 +1722,97 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_staff_beam_0, ui); - let skill = Skill::Staff(FDamage); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Staff(FDamage), self.imgs.magic_damage_skill, state.skills_top_r[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.st_flamethrower_damage_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.st_flamethrower_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_flamethrower_damage", + state.skill_staff_beam_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_beam_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Staff(FDrain); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Staff(FDrain), self.imgs.magic_energy_drain_skill, state.skills_top_r[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.st_energy_drain_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.st_energy_drain"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_energy_drain", + state.skill_staff_beam_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_beam_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Staff(FRange); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Staff(FRange), self.imgs.magic_radius_skill, state.skills_top_r[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.st_flamethrower_range_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.st_flamethrower_range"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_flamethrower_range", + state.skill_staff_beam_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_beam_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Staff(FVelocity); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Staff(FVelocity), self.imgs.magic_projectile_speed_skill, state.skills_top_r[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.st_flame_velocity_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.st_flame_velocity"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_flame_velocity", + state.skill_staff_beam_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_beam_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Bottom left skills - let skill = Skill::Staff(UnlockShockwave); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Staff(UnlockShockwave), self.imgs.fire_aoe, state.skills_bot_l[0], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.st_shockwave_unlock_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.st_shockwave_unlock"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_shockwave_unlock", + state.skill_staff_shockwave_0, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_shockwave_0, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Staff(SDamage); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Staff(SDamage), self.imgs.magic_damage_skill, state.skills_bot_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.st_shockwave_damage_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.st_shockwave_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_shockwave_damage", + state.skill_staff_shockwave_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_shockwave_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Staff(SKnockback); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Staff(SKnockback), self.imgs.magic_knockback_skill, state.skills_bot_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.st_shockwave_knockback_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.st_shockwave_knockback"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_shockwave_knockback", + state.skill_staff_shockwave_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_shockwave_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Staff(SCost); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Staff(SCost), self.imgs.magic_cost_skill, state.skills_bot_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.st_shockwave_cost_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.st_shockwave_cost"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_shockwave_cost", + state.skill_staff_shockwave_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_shockwave_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Staff(SRange); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Staff(SRange), self.imgs.magic_radius_skill, state.skills_bot_l[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.st_shockwave_range_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.st_shockwave_range"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "st_shockwave_range", + state.skill_staff_shockwave_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_staff_shockwave_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); }, SelectedSkillTree::Weapon(ToolKind::Sceptre) => { use skills::SceptreSkill::*; @@ -3340,120 +1842,46 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_sceptre_lifesteal_0, ui); - let skill = Skill::Sceptre(LDamage); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Sceptre(LDamage), self.imgs.magic_damage_skill, state.skills_top_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sc_lifesteal_damage_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sc_lifesteal_damage"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_lifesteal_damage", + state.skill_sceptre_lifesteal_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_lifesteal_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sceptre(LRange); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sceptre(LRange), self.imgs.magic_distance_skill, state.skills_top_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sc_lifesteal_range_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sc_lifesteal_range"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_lifesteal_range", + state.skill_sceptre_lifesteal_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_lifesteal_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sceptre(LLifesteal); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sceptre(LLifesteal), self.imgs.magic_lifesteal_skill, state.skills_top_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sc_lifesteal_lifesteal_title"), - &add_sp_cost_tooltip( - &self - .localized_strings - .get("hud.skill.sc_lifesteal_lifesteal"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_lifesteal_lifesteal", + state.skill_sceptre_lifesteal_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_lifesteal_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sceptre(LRegen); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sceptre(LRegen), self.imgs.magic_energy_regen_skill, state.skills_top_l[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sc_lifesteal_regen_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sc_lifesteal_regen"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_lifesteal_regen", + state.skill_sceptre_lifesteal_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_lifesteal_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Top right skills Button::image(self.imgs.skill_sceptre_heal) .w_h(74.0, 74.0) @@ -3466,225 +1894,87 @@ impl<'a> Widget for Diary<'a> { TEXT_COLOR, ) .set(state.skill_sceptre_heal_0, ui); - let skill = Skill::Sceptre(HHeal); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Sceptre(HHeal), self.imgs.heal_heal_skill, state.skills_top_r[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sc_heal_heal_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sc_heal_heal"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_heal_heal", + state.skill_sceptre_heal_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_heal_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sceptre(HCost); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sceptre(HCost), self.imgs.heal_cost_skill, state.skills_top_r[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sc_heal_cost_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sc_heal_cost"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_heal_cost", + state.skill_sceptre_heal_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_heal_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sceptre(HRange); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sceptre(HRange), self.imgs.heal_distance_skill, state.skills_top_r[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self.localized_strings.get("hud.skill.sc_heal_range_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sc_heal_range"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_heal_range", + state.skill_sceptre_heal_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_heal_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); // Bottom left skills - let skill = Skill::Sceptre(UnlockAura); - if create_skill_button( + self.create_unlock_skill_button( + Skill::Sceptre(UnlockAura), self.imgs.skill_sceptre_aura, state.skills_bot_l[0], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sc_wardaura_unlock_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sc_wardaura_unlock"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_wardaura_unlock", + state.skill_sceptre_aura_0, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_aura_0, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sceptre(AStrength); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sceptre(AStrength), self.imgs.buff_damage_skill, state.skills_bot_l[1], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sc_wardaura_strength_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sc_wardaura_strength"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_wardaura_strength", + state.skill_sceptre_aura_1, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_aura_1, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sceptre(ADuration); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sceptre(ADuration), self.imgs.buff_duration_skill, state.skills_bot_l[2], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sc_wardaura_duration_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sc_wardaura_duration"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_wardaura_duration", + state.skill_sceptre_aura_2, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_aura_2, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sceptre(ARange); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sceptre(ARange), self.imgs.buff_radius_skill, state.skills_bot_l[3], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sc_wardaura_range_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sc_wardaura_range"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_wardaura_range", + state.skill_sceptre_aura_3, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_aura_3, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; - let skill = Skill::Sceptre(ACost); - if create_skill_button( + ); + self.create_unlock_skill_button( + Skill::Sceptre(ACost), self.imgs.buff_cost_skill, state.skills_bot_l[4], - &self.skill_set, - skill, - self.fonts, - &get_skill_label(skill, &self.skill_set), - ) - .with_tooltip( - self.tooltip_manager, - &self - .localized_strings - .get("hud.skill.sc_wardaura_cost_title"), - &add_sp_cost_tooltip( - &self.localized_strings.get("hud.skill.sc_wardaura_cost"), - skill, - &self.skill_set, - &self.localized_strings, - ), + "sc_wardaura_cost", + state.skill_sceptre_aura_4, + ui, + &mut events, &diary_tooltip, - TEXT_COLOR, - ) - .set(state.skill_sceptre_aura_4, ui) - .was_clicked() - { - events.push(Event::UnlockSkill(skill)); - }; + ); }, _ => {}, } @@ -3764,3 +2054,62 @@ fn add_sp_cost_tooltip<'a>( ), } } + +impl<'a> Diary<'a> { + fn create_new_text<'b>( + &mut self, + text: &'b str, + state: widget::Id, + margin: f64, + scale: u32, + color: Color, + ) -> Text<'b> { + Text::new(text) + .mid_top_with_margin_on(state, margin) + .font_id(self.fonts.cyri.conrod_id) + .font_size(self.fonts.cyri.scale(scale)) + .color(color) + } + + fn create_unlock_skill_button( + &mut self, + skill: Skill, + id: Id, + conrod_widget_id: conrod_core::widget::id::Id, + skill_name: &str, + widget_id: widget::Id, + ui: &mut UiCell, + events: &mut Vec, + diary_tooltip: &Tooltip, + ) { + if create_skill_button( + id, + conrod_widget_id, + &self.skill_set, + skill, + self.fonts, + &get_skill_label(skill, &self.skill_set), + ) + .with_tooltip( + self.tooltip_manager, + &self + .localized_strings + .get(&format!("hud.skill.{}_title", skill_name)), + &add_sp_cost_tooltip( + &self + .localized_strings + .get(&format!("hud.skill.{}", skill_name)), + skill, + &self.skill_set, + &self.localized_strings, + ), + &diary_tooltip, + TEXT_COLOR, + ) + .set(widget_id, ui) + .was_clicked() + { + events.push(Event::UnlockSkill(skill)); + }; + } +} diff --git a/voxygen/src/hud/img_ids.rs b/voxygen/src/hud/img_ids.rs index 0277924e3d..f96bd8b610 100644 --- a/voxygen/src/hud/img_ids.rs +++ b/voxygen/src/hud/img_ids.rs @@ -96,6 +96,7 @@ image_ids! { crafting_icon: "voxygen.element.ui.generic.buttons.anvil", crafting_icon_hover: "voxygen.element.ui.generic.buttons.anvil_hover", crafting_icon_press: "voxygen.element.ui.generic.buttons.anvil_press", + quality_indicator: "voxygen.element.ui.crafting.quality_indicator", icon_armor: "voxygen.element.ui.crafting.icons.armors", icon_tools: "voxygen.element.ui.crafting.icons.crafting_tools", icon_dismantle: "voxygen.element.ui.crafting.icons.dismantle", @@ -106,6 +107,7 @@ image_ids! { icon_utility: "voxygen.element.ui.crafting.icons.utilities", icon_weapon: "voxygen.element.ui.crafting.icons.weapons", icon_bag: "voxygen.element.items.item_bag_leather_large", + icon_processed_material: "voxygen.element.ui.crafting.icons.processed_material", // Group Window member_frame: "voxygen.element.ui.groups.group_member_frame", @@ -586,6 +588,7 @@ image_ids! { debuff_burning_0: "voxygen.element.de_buffs.debuff_burning_0", debuff_crippled_0: "voxygen.element.de_buffs.debuff_cripple_0", debuff_frozen_0: "voxygen.element.de_buffs.debuff_frozen_0", + debuff_wet_0: "voxygen.element.de_buffs.debuff_wet_0", // Animation Frames // Buff Frame diff --git a/voxygen/src/hud/loot_scroller.rs b/voxygen/src/hud/loot_scroller.rs index 1ec03ea6d1..dc80e58182 100644 --- a/voxygen/src/hud/loot_scroller.rs +++ b/voxygen/src/hud/loot_scroller.rs @@ -2,7 +2,7 @@ use super::{ animate_by_pulse, get_quality_col, img_ids::{Imgs, ImgsRot}, item_imgs::ItemImgs, - Show, TEXT_COLOR, + Show, Windows, TEXT_COLOR, }; use crate::{ i18n::Localization, @@ -189,7 +189,13 @@ impl<'a> Widget for LootScroller<'a> { ui.scroll_widget(state.ids.message_box, [0.0, std::f64::MAX]); } - if self.show.social || self.show.trade { + // check if it collides with other windows + if self.show.diary + || self.show.map + || self.show.open_windows != Windows::None + || self.show.social + || self.show.trade + { if state.last_hover_pulse.is_some() || state.last_auto_show_pulse.is_some() { state.update(|s| { s.last_hover_pulse = None; @@ -197,8 +203,10 @@ impl<'a> Widget for LootScroller<'a> { }); } } else { + //check if hovered if ui .rect_of(state.ids.message_box) + .map(|r| r.pad_left(-6.0)) .map_or(false, |r| r.is_over(ui.global_input().current.mouse.xy)) { state.update(|s| s.last_hover_pulse = Some(self.pulse)); @@ -266,6 +274,7 @@ impl<'a> Widget for LootScroller<'a> { .bottom_left_with_margins_on(ui.window, 308.0, 20.0) .set(state.ids.message_box, ui); + //only show scrollbar if it is being hovered and needed if show_all_age < 1.0 && ui .widget_graph() diff --git a/voxygen/src/hud/mod.rs b/voxygen/src/hud/mod.rs index 6446d276e0..46d07bff94 100644 --- a/voxygen/src/hud/mod.rs +++ b/voxygen/src/hud/mod.rs @@ -136,7 +136,7 @@ const DEBUFF_COLOR: Color = Color::Rgba(0.79, 0.19, 0.17, 1.0); // Item Quality Colors const QUALITY_LOW: Color = Color::Rgba(0.41, 0.41, 0.41, 1.0); // Grey - Trash, can be sold to vendors -const QUALITY_COMMON: Color = Color::Rgba(0.79, 1.09, 1.09, 1.0); // No Color - Crafting mats, food, starting equipment, quest items (like keys), rewards for easy quests +const QUALITY_COMMON: Color = Color::Rgba(0.79, 1.00, 1.00, 1.0); // No Color - Crafting mats, food, starting equipment, quest items (like keys), rewards for easy quests const QUALITY_MODERATE: Color = Color::Rgba(0.06, 0.69, 0.12, 1.0); // Green - Quest Rewards, commonly looted items from NPCs const QUALITY_HIGH: Color = Color::Rgba(0.18, 0.32, 0.9, 1.0); // Blue - Dungeon rewards, boss loot, rewards for hard quests const QUALITY_EPIC: Color = Color::Rgba(0.58, 0.29, 0.93, 1.0); // Purple - Rewards for epic quests and very hard bosses @@ -790,7 +790,6 @@ pub struct Hud { force_chat_cursor: Option, tab_complete: Option, pulse: f32, - _velocity: f32, slot_manager: slots::SlotManager, hotbar: hotbar::State, events: Vec, @@ -909,7 +908,6 @@ impl Hud { force_chat_cursor: None, tab_complete: None, pulse: 0.0, - _velocity: 0.0, slot_manager, hotbar: hotbar_state, events: Vec::new(), @@ -1456,7 +1454,6 @@ impl Hud { fonts, &i18n, &global_state.settings.controls, - // If we're currently set to interact with the item... properties, pulse, &global_state.window.key_layout, @@ -2025,10 +2022,6 @@ impl Hud { // Display debug window. if let Some(debug_info) = debug_info { - self._velocity = match debug_info.velocity { - Some(velocity) => velocity.0.magnitude(), - None => 0.0, - }; // Alpha Version Text::new(&version) .top_left_with_margins_on(ui_widgets.window, 5.0, 5.0) @@ -3761,8 +3754,7 @@ pub fn get_buff_image(buff: BuffKind, imgs: &Imgs) -> conrod_core::image::Id { BuffKind::Burning { .. } => imgs.debuff_burning_0, BuffKind::Crippled { .. } => imgs.debuff_crippled_0, BuffKind::Frozen { .. } => imgs.debuff_frozen_0, - // TODO: Get icon for this before merging. Anyone doing code review open a comment here. - BuffKind::Wet { .. } => imgs.debuff_burning_0, + BuffKind::Wet { .. } => imgs.debuff_wet_0, } } diff --git a/voxygen/src/hud/social.rs b/voxygen/src/hud/social.rs index 2fa67f27b5..6e90ee40ee 100644 --- a/voxygen/src/hud/social.rs +++ b/voxygen/src/hud/social.rs @@ -135,14 +135,6 @@ impl<'a> Widget for Social<'a> { .color(Some(UI_MAIN)) .w_h(280.0, 460.0) .set(state.ids.bg, ui); - // Search Background - // I couldn't find a way to manually set they layer of a widget - // If it is possible, please move this code (for rectangle) down to the code for - // search input - Rectangle::fill([248.0, 20.0]) - .top_left_with_margins_on(state.ids.bg, 52.0, 27.0) - .hsla(0.0, 0.0, 0.0, 0.7) - .set(state.ids.player_search_input_bg, ui); // Window frame Image::new(self.imgs.social_frame_on) .middle_of(state.ids.bg) @@ -426,6 +418,12 @@ impl<'a> Widget for Social<'a> { { events.push(Event::Focus(state.ids.player_search_input)); } + Rectangle::fill([248.0, 20.0]) + .top_left_with_margins_on(state.ids.player_search_icon, -2.0, 18.0) + .hsla(0.0, 0.0, 0.0, 0.7) + .depth(1.0) + .parent(state.ids.bg) + .set(state.ids.player_search_input_bg, ui); if let Some(string) = TextEdit::new(self.show.social_search_key.as_deref().unwrap_or_default()) .top_left_with_margins_on(state.ids.player_search_icon, -1.0, 22.0) diff --git a/voxygen/src/hud/util.rs b/voxygen/src/hud/util.rs index 9199993816..7f93c96049 100644 --- a/voxygen/src/hud/util.rs +++ b/voxygen/src/hud/util.rs @@ -4,7 +4,7 @@ use common::{ item::{ armor::{Armor, ArmorKind, Protection}, tool::{Hands, StatKind, Stats, Tool, ToolKind}, - Item, ItemKind, MaterialStatManifest, ModularComponent, + Item, ItemKind, MaterialKind, MaterialStatManifest, ModularComponent, }, BuffKind, }, @@ -73,6 +73,16 @@ pub fn kind_text<'a>(kind: &ItemKind, i18n: &'a Localization) -> Cow<'a, str> { } } +pub fn material_kind_text<'a>(kind: &MaterialKind, i18n: &'a Localization) -> &'a str { + match kind { + MaterialKind::Metal { .. } => i18n.get("common.material.metal"), + MaterialKind::Wood { .. } => i18n.get("common.material.wood"), + MaterialKind::Stone { .. } => i18n.get("common.material.stone"), + MaterialKind::Cloth { .. } => i18n.get("common.material.cloth"), + MaterialKind::Hide { .. } => i18n.get("common.material.hide"), + } +} + // TODO: localization, refactor when mc are player facing pub fn modular_component_desc( mc: &ModularComponent, @@ -180,7 +190,7 @@ fn armor_kind<'a>(armor: &Armor, i18n: &'a Localization) -> &'a str { kind } -//Tool +// Tool fn tool_kind<'a>(tool: &Tool, i18n: &'a Localization) -> &'a str { let kind = match tool.kind { ToolKind::Sword => i18n.get("common.weapons.sword"), @@ -201,6 +211,7 @@ fn tool_kind<'a>(tool: &Tool, i18n: &'a Localization) -> &'a str { kind } +/// Output the number of hands needed to hold a tool pub fn tool_hands<'a>(tool: &Tool, i18n: &'a Localization) -> &'a str { let hands = match tool.hands { Hands::One => i18n.get("common.hands.one"), @@ -215,14 +226,10 @@ fn statblock_desc(stats: &Stats) -> String { stats.power * 10.0, stats.poise_strength * 10.0, stats.speed, - ) + &format!( - "Crit chance: {:0.1}%\n\nCrit damage: x{:0.1}\n\n", - stats.crit_chance * 100.0, - stats.crit_mult, - ) + ) + &format!("Crit chance: {:0.1}%\n\n", stats.crit_chance * 100.0,) } -// Compare two type, output a colored character to show comparison +/// Compare two type, output a colored character to show comparison pub fn comparison(first: T, other: T) -> (&'static str, conrod_core::Color) { if first == other { ("•", conrod_core::color::GREY) @@ -233,6 +240,7 @@ pub fn comparison(first: T, other: T) -> (&'static str, conrod_co } } +/// Output protection as a string pub fn protec2string(stat: Protection) -> String { match stat { Protection::Normal(a) => format!("{:.1}", a), diff --git a/voxygen/src/lib.rs b/voxygen/src/lib.rs index e7f88478e9..896dad29c8 100644 --- a/voxygen/src/lib.rs +++ b/voxygen/src/lib.rs @@ -135,6 +135,9 @@ pub trait PlayState { /// Get a descriptive name for this state type. fn name(&self) -> &'static str; + /// Determines whether the play state should have an enforced FPS cap + fn capped_fps(&self) -> bool; + /// Draw the play state. fn render(&mut self, global_state: &mut GlobalState); } diff --git a/voxygen/src/menu/char_selection/mod.rs b/voxygen/src/menu/char_selection/mod.rs index 7f357141da..3dc71b6bd4 100644 --- a/voxygen/src/menu/char_selection/mod.rs +++ b/voxygen/src/menu/char_selection/mod.rs @@ -230,6 +230,8 @@ impl PlayState for CharSelectionState { fn name(&self) -> &'static str { "Character Selection" } + fn capped_fps(&self) -> bool { true } + fn render(&mut self, global_state: &mut GlobalState) { let renderer = global_state.window.renderer_mut(); diff --git a/voxygen/src/menu/main/mod.rs b/voxygen/src/menu/main/mod.rs index ea8b2d4e9d..97754adff1 100644 --- a/voxygen/src/menu/main/mod.rs +++ b/voxygen/src/menu/main/mod.rs @@ -317,6 +317,8 @@ impl PlayState for MainMenuState { fn name(&self) -> &'static str { "Title" } + fn capped_fps(&self) -> bool { true } + fn render(&mut self, global_state: &mut GlobalState) { let renderer = global_state.window.renderer_mut(); diff --git a/voxygen/src/menu/main/ui/mod.rs b/voxygen/src/menu/main/ui/mod.rs index 2df020dd57..d17c06309f 100644 --- a/voxygen/src/menu/main/ui/mod.rs +++ b/voxygen/src/menu/main/ui/mod.rs @@ -55,8 +55,8 @@ image_ids_ice! { } // Randomly loaded background images -const BG_IMGS: [&str; 12] = [ - //"voxygen.background.bg_1", +const BG_IMGS: [&str; 13] = [ + "voxygen.background.bg_1", "voxygen.background.bg_2", "voxygen.background.bg_3", "voxygen.background.bg_4", @@ -66,12 +66,9 @@ const BG_IMGS: [&str; 12] = [ "voxygen.background.bg_8", "voxygen.background.bg_9", "voxygen.background.bg_10", - //"voxygen.background.bg_11", + "voxygen.background.bg_11", "voxygen.background.bg_12", "voxygen.background.bg_13", - "voxygen.background.bg_14", - //"voxygen.background.bg_15", - //"voxygen.background.bg_16", ]; pub enum Event { diff --git a/voxygen/src/render/pipelines/particle.rs b/voxygen/src/render/pipelines/particle.rs index 5f3944d607..947c861695 100644 --- a/voxygen/src/render/pipelines/particle.rs +++ b/voxygen/src/render/pipelines/particle.rs @@ -81,6 +81,8 @@ pub enum ParticleMode { Laser = 28, Bubbles = 29, Water = 30, + IceSpikes = 31, + Drip = 32, } impl ParticleMode { diff --git a/voxygen/src/render/renderer.rs b/voxygen/src/render/renderer.rs index 3a4fe23b1f..7f438f0121 100644 --- a/voxygen/src/render/renderer.rs +++ b/voxygen/src/render/renderer.rs @@ -140,6 +140,10 @@ pub struct Renderer { #[cfg(feature = "egui-ui")] egui_renderpass: egui_wgpu_backend::RenderPass, + + // This checks is added because windows resizes the window to 0,0 when + // minimizing and this causes a bunch of validation errors + is_minimized: bool, } impl Renderer { @@ -403,6 +407,8 @@ impl Renderer { #[cfg(feature = "egui-ui")] egui_renderpass, + + is_minimized: false, }) } @@ -493,6 +499,7 @@ impl Renderer { pub fn on_resize(&mut self, dims: Vec2) -> Result<(), RenderError> { // Avoid panics when creating texture with w,h of 0,0. if dims.x != 0 && dims.y != 0 { + self.is_minimized = false; // Resize swap chain self.resolution = dims; self.sc_desc.width = dims.x; @@ -559,6 +566,8 @@ impl Renderer { }, } } + } else { + self.is_minimized = true; } Ok(()) @@ -735,6 +744,10 @@ impl Renderer { "Renderer::start_recording_frame" ); + if self.is_minimized { + return Ok(None); + } + // Try to get the latest profiling results if self.mode.profiler_enabled { // Note: this lags a few frames behind @@ -869,7 +882,8 @@ impl Renderer { return Ok(None); }, Err(err @ wgpu::SwapChainError::Outdated) => { - warn!("{}. This will probably be resolved on the next frame", err); + warn!("{}. Recreating the swapchain", err); + self.swap_chain = self.device.create_swap_chain(&self.surface, &self.sc_desc); return Ok(None); }, Err(err @ wgpu::SwapChainError::OutOfMemory) => return Err(err.into()), diff --git a/voxygen/src/run.rs b/voxygen/src/run.rs index a0ef8b7a3c..1a4c60753c 100644 --- a/voxygen/src/run.rs +++ b/voxygen/src/run.rs @@ -166,11 +166,15 @@ fn handle_main_events_cleared( *control_flow = winit::event_loop::ControlFlow::Exit; } + let mut capped_fps = false; + drop(guard); if let Some(last) = states.last_mut() { span!(guard, "Render"); // Render the screen using the global renderer last.render(global_state); + capped_fps = last.capped_fps(); + drop(guard); } @@ -178,9 +182,20 @@ fn handle_main_events_cleared( // Wait for the next tick. span!(guard, "Main thread sleep"); - global_state.clock.set_target_dt(Duration::from_secs_f64( - 1.0 / get_fps(global_state.settings.graphics.max_fps) as f64, - )); + // Enforce an FPS cap for the non-game session play states to prevent them + // running at hundreds/thousands of FPS resulting in high GPU usage for + // effectively doing nothing. + let max_fps = get_fps(global_state.settings.graphics.max_fps); + const TITLE_SCREEN_FPS_CAP: u32 = 60; + let target_fps = if capped_fps { + u32::min(TITLE_SCREEN_FPS_CAP, max_fps) + } else { + max_fps + }; + + global_state + .clock + .set_target_dt(Duration::from_secs_f64(1.0 / target_fps as f64)); global_state.clock.tick(); drop(guard); #[cfg(feature = "tracy")] diff --git a/voxygen/src/scene/figure/load.rs b/voxygen/src/scene/figure/load.rs index 754ffd8eec..c4e97c10eb 100644 --- a/voxygen/src/scene/figure/load.rs +++ b/voxygen/src/scene/figure/load.rs @@ -148,6 +148,9 @@ struct VoxSpec(String, [T; 3]); #[derive(Deserialize)] struct VoxSimple(String); +#[derive(Deserialize)] +struct VoxMirror(String, bool); + #[derive(Deserialize)] struct ArmorVoxSpec { vox_spec: VoxSpec, @@ -4213,7 +4216,7 @@ struct SidedQLLateralVoxSpec { #[derive(Deserialize)] struct QuadrupedLowLateralSubSpec { offset: [f32; 3], // Should be relative to initial origin - lateral: VoxSimple, + lateral: VoxMirror, } make_vox_spec!( @@ -4384,7 +4387,8 @@ impl QuadrupedLowLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment_flipped(&spec.front_left.lateral.0, true); + let latspec = &spec.front_left.lateral; + let lateral = graceful_load_segment_flipped(&latspec.0, !latspec.1); (lateral, Vec3::from(spec.front_left.offset)) } @@ -4400,7 +4404,8 @@ impl QuadrupedLowLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.front_right.lateral.0); + let latspec = &spec.front_right.lateral; + let lateral = graceful_load_segment_flipped(&latspec.0, latspec.1); (lateral, Vec3::from(spec.front_right.offset)) } @@ -4416,7 +4421,8 @@ impl QuadrupedLowLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment_flipped(&spec.back_left.lateral.0, true); + let latspec = &spec.back_left.lateral; + let lateral = graceful_load_segment_flipped(&latspec.0, !latspec.1); (lateral, Vec3::from(spec.back_left.offset)) } @@ -4432,7 +4438,8 @@ impl QuadrupedLowLateralSpec { return load_mesh("not_found", Vec3::new(-5.0, -5.0, -2.5)); }, }; - let lateral = graceful_load_segment(&spec.back_right.lateral.0); + let latspec = &spec.back_right.lateral; + let lateral = graceful_load_segment_flipped(&latspec.0, latspec.1); (lateral, Vec3::from(spec.back_right.offset)) } diff --git a/voxygen/src/scene/figure/mod.rs b/voxygen/src/scene/figure/mod.rs index 177ba476c6..167bbf2571 100644 --- a/voxygen/src/scene/figure/mod.rs +++ b/voxygen/src/scene/figure/mod.rs @@ -4161,8 +4161,8 @@ impl FigureMgr { anim::biped_large::ShockwaveAnimation::update_skeleton( &target_base, ( - active_tool_kind, - second_tool_kind, + (active_tool_kind, active_tool_spec), + (second_tool_kind, second_tool_spec), time, rel_vel.magnitude(), Some(s.stage_section), @@ -4775,7 +4775,7 @@ impl FigureMgr { .join() // Don't render dead entities .filter(|(_, _, _, health, _, _)| health.map_or(true, |h| !h.is_dead)) - // Don't render player + // Don't render player .filter(|(entity, _, _, _, _, _)| *entity != player_entity) { if let Some((bound, model, col_lights)) = self.get_model_for_render( diff --git a/voxygen/src/scene/particle.rs b/voxygen/src/scene/particle.rs index 5b6ae849bc..33452ec101 100644 --- a/voxygen/src/scene/particle.rs +++ b/voxygen/src/scene/particle.rs @@ -100,7 +100,7 @@ impl ParticleMgr { }, ); }, - Some(Reagent::Blue) => { + Some(Reagent::White) => { self.particles.resize_with( self.particles.len() + (75.0 * power.abs()) as usize, || { @@ -855,6 +855,31 @@ impl ParticleMgr { }, ); }, + beam::FrontendSpecifier::Frost => { + let mut rng = thread_rng(); + let (from, to) = (Vec3::::unit_z(), *ori.look_dir()); + let m = Mat3::::rotation_from_to_3d(from, to); + self.particles.resize_with( + self.particles.len() + usize::from(beam_tick_count) / 4, + || { + let phi: f32 = rng.gen_range(0.0..beam.properties.angle); + let theta: f32 = rng.gen_range(0.0..2.0 * PI); + let offset_z = Vec3::new( + phi.sin() * theta.cos(), + phi.sin() * theta.sin(), + phi.cos(), + ); + let random_ori = offset_z * m * Vec3::new(-1.0, -1.0, 1.0); + Particle::new_directed( + beam.properties.duration, + time, + ParticleMode::Ice, + pos.0, + pos.0 + random_ori * range, + ) + }, + ); + }, } } } @@ -1022,6 +1047,14 @@ impl ParticleMgr { mode: ParticleMode::Leaf, cond: |_| true, }, + BlockParticles { + blocks: |boi| &boi.drip, + range: 4, + rate: 0.004, + lifetime: 20.0, + mode: ParticleMode::Drip, + cond: |_| true, + }, BlockParticles { blocks: |boi| &boi.fires, range: 2, @@ -1131,12 +1164,14 @@ impl ParticleMgr { let elapsed = time - shockwave.creation.unwrap_or(time); let speed = shockwave.properties.speed; + let percent = elapsed as f32 / shockwave.properties.duration.as_secs_f32(); + let distance = speed * elapsed as f32; let radians = shockwave.properties.angle.to_radians(); let ori_vec = ori.look_vec(); - let theta = ori_vec.y.atan2(ori_vec.x); + let theta = ori_vec.y.atan2(ori_vec.x) - radians / 2.0; let dtheta = radians / distance; // Number of particles derived from arc length (for new particles at least, old @@ -1162,8 +1197,7 @@ impl ParticleMgr { self.particles.reserve(new_particle_count as usize); for d in 0..(new_particle_count as i32) { - let arc_position = - theta - radians / 2.0 + dtheta * d as f32 / particle_count_factor; + let arc_position = theta + dtheta * d as f32 / particle_count_factor; let position = pos.0 + distance * Vec3::new(arc_position.cos(), arc_position.sin(), 0.0); @@ -1183,7 +1217,7 @@ impl ParticleMgr { let heartbeats = self.scheduler.heartbeats(Duration::from_millis(2)); for _ in 0..heartbeats { for d in 0..3 * distance as i32 { - let arc_position = theta - radians / 2.0 + dtheta * d as f32 / 3.0; + let arc_position = theta + dtheta * d as f32 / 3.0; let position = pos.0 + distance * Vec3::new(arc_position.cos(), arc_position.sin(), 0.0); @@ -1198,8 +1232,8 @@ impl ParticleMgr { } }, FrontendSpecifier::Water => { - // 4 particles per unit length of arc - let particles_per_length = (arc_length) as usize; + // 1 particle per unit length of arc + let particles_per_length = arc_length as usize; let dtheta = radians / particles_per_length as f32; // Scales number of desired heartbeats from speed - thicker arc = higher speed = // lower duration = more particles @@ -1232,6 +1266,67 @@ impl ParticleMgr { } } }, + FrontendSpecifier::IceSpikes => { + // 1 / 3 the size of terrain voxel + let scale = 1.0 / 3.0; + let scaled_distance = distance / scale; + let scaled_speed = speed / scale; + + // 1 particle per scaled unit length of arc + let particles_per_length = (0.25 * arc_length / scale) as usize; + let dtheta = radians / particles_per_length as f32; + // Scales number of desired heartbeats from speed - thicker arc = higher speed = + // lower duration = more particles + let heartbeats = self + .scheduler + .heartbeats(Duration::from_secs_f32(3.0 / scaled_speed)); + + // Reserves capacity for new particles + let new_particle_count = particles_per_length * heartbeats as usize; + self.particles.reserve(new_particle_count); + + // Used to make taller the further out spikes are + let height_scale = 0.5 + 1.5 * percent; + + for i in 0..particles_per_length { + let angle = theta + dtheta * i as f32; + let direction = Vec3::new(angle.cos(), angle.sin(), 0.0); + for j in 0..heartbeats { + // Sub tick dt + let dt = (j as f32 / heartbeats as f32) * dt; + let scaled_distance = scaled_distance + scaled_speed * dt; + let pos1 = pos.0 + (scaled_distance * direction).floor() * scale; + let time = time + dt as f64; + + let get_positions = |a| { + let pos1 = match a { + 2 => pos1 + Vec3::unit_x() * scale, + 3 => pos1 - Vec3::unit_x() * scale, + 4 => pos1 + Vec3::unit_y() * scale, + 5 => pos1 - Vec3::unit_y() * scale, + _ => pos1, + }; + let pos2 = if a == 1 { + pos1 + Vec3::unit_z() * 5.0 * height_scale + } else { + pos1 + Vec3::unit_z() * 1.0 * height_scale + }; + (pos1, pos2) + }; + + for a in 1..=5 { + let (pos1, pos2) = get_positions(a); + self.particles.push(Particle::new_directed( + Duration::from_secs_f32(0.5), + time, + ParticleMode::IceSpikes, + pos1, + pos2, + )); + } + } + } + }, } } } diff --git a/voxygen/src/scene/terrain/watcher.rs b/voxygen/src/scene/terrain/watcher.rs index 3b32b2f6a3..5544ca9c03 100644 --- a/voxygen/src/scene/terrain/watcher.rs +++ b/voxygen/src/scene/terrain/watcher.rs @@ -16,6 +16,7 @@ pub enum Interaction { #[derive(Default)] pub struct BlocksOfInterest { pub leaves: Vec>, + pub drip: Vec>, pub grass: Vec>, pub river: Vec>, pub fires: Vec>, @@ -41,6 +42,7 @@ impl BlocksOfInterest { pub fn from_chunk(chunk: &TerrainChunk) -> Self { span!(_guard, "from_chunk", "BlocksOfInterest::from_chunk"); let mut leaves = Vec::new(); + let mut drip = Vec::new(); let mut grass = Vec::new(); let mut river = Vec::new(); let mut fires = Vec::new(); @@ -70,6 +72,7 @@ impl BlocksOfInterest { .for_each(|(pos, block)| { match block.kind() { BlockKind::Leaves if thread_rng().gen_range(0..16) == 0 => leaves.push(pos), + BlockKind::WeakRock if thread_rng().gen_range(0..6) == 0 => drip.push(pos), BlockKind::Grass => { if thread_rng().gen_range(0..16) == 0 { grass.push(pos); @@ -101,6 +104,7 @@ impl BlocksOfInterest { }, Some(SpriteKind::WallSconce) => fire_bowls.push(pos + Vec3::unit_z()), Some(SpriteKind::Beehive) => beehives.push(pos), + Some(SpriteKind::CrystalHigh) => fireflies.push(pos), Some(SpriteKind::Reed) => { reeds.push(pos); fireflies.push(pos); @@ -121,6 +125,14 @@ impl BlocksOfInterest { Some(SpriteKind::Forge) => { interactables.push((pos, Interaction::Craft(CraftingTab::Dismantle))) }, + Some(SpriteKind::TanningRack) => interactables + .push((pos, Interaction::Craft(CraftingTab::ProcessedMaterial))), + Some(SpriteKind::SpinningWheel) => { + interactables.push((pos, Interaction::Craft(CraftingTab::All))) + }, + Some(SpriteKind::Loom) => { + interactables.push((pos, Interaction::Craft(CraftingTab::All))) + }, Some(SpriteKind::Cauldron) => { interactables.push((pos, Interaction::Craft(CraftingTab::Potion))) }, @@ -143,6 +155,7 @@ impl BlocksOfInterest { Self { leaves, + drip, grass, river, fires, diff --git a/voxygen/src/session/mod.rs b/voxygen/src/session/mod.rs index 1e0b96bd37..3595f9fe92 100644 --- a/voxygen/src/session/mod.rs +++ b/voxygen/src/session/mod.rs @@ -310,8 +310,8 @@ impl PlayState for SessionState { .read_storage::() .get(player_entity) { - if cr.charge_frac() > 0.25 { - fov_scaling -= 3.0 * cr.charge_frac() / 4.0; + if cr.charge_frac() > 0.5 { + fov_scaling -= 3.0 * cr.charge_frac() / 5.0; } let max_dist = if let Some(dist) = self.saved_zoom_dist { dist @@ -1396,6 +1396,8 @@ impl PlayState for SessionState { fn name(&self) -> &'static str { "Session" } + fn capped_fps(&self) -> bool { false } + /// Render the session to the screen. /// /// This method should be called once per frame. diff --git a/voxygen/src/ui/graphic/renderer.rs b/voxygen/src/ui/graphic/renderer.rs index 16d368ed33..52a3e70989 100644 --- a/voxygen/src/ui/graphic/renderer.rs +++ b/voxygen/src/ui/graphic/renderer.rs @@ -36,6 +36,7 @@ impl Default for Transform { struct Voxel { mvp: Mat4, + light_dir: Vec3, } // TODO: use norm or remove it @@ -43,15 +44,15 @@ struct Voxel { struct Vert { pos: Vec3, col: Rgb, - //norm: Vec3, + norm: Vec3, ao_level: u8, } impl Vert { - fn new(pos: Vec3, col: Rgb, _norm: Vec3, ao_level: u8) -> Self { + fn new(pos: Vec3, col: Rgb, norm: Vec3, ao_level: u8) -> Self { Vert { pos, col, - //norm, + norm, ao_level, } } @@ -89,11 +90,16 @@ impl<'a> Pipeline for Voxel { Vert { pos, col, - //norm: _, + norm, ao_level, }: &Self::Vertex, ) -> ([f32; 4], Self::VsOut) { - let light = Rgba::from_opaque(Rgb::from(*ao_level as f32 / 4.0 + 0.25)); + let ambiance = 0.25; + let diffuse = norm.dot(-self.light_dir).max(0.0); + let brightness = 2.5; + let light = Rgba::from_opaque(Rgb::from(*ao_level as f32 / 4.0)) + * (diffuse + ambiance) + * brightness; let color = light * srgba_to_linear(Rgba::from_opaque(*col)); let position = (self.mvp * Vec4::from_point(*pos)).into_array(); (position, VsOut(color)) @@ -175,7 +181,11 @@ pub fn draw_vox( * ori_mat * Mat4::translation_3d([-w / 2.0, -h / 2.0, -d / 2.0]); - Voxel { mvp }.draw::, _>( + Voxel { + mvp, + light_dir: Vec3::broadcast(-1.0).normalized(), + } + .draw::, _>( &generate_mesh(segment, Vec3::from(0.0)), &mut color, Some(&mut depth), diff --git a/voxygen/src/ui/ice/renderer/mod.rs b/voxygen/src/ui/ice/renderer/mod.rs index aaa7d0cf98..83eb8f1320 100644 --- a/voxygen/src/ui/ice/renderer/mod.rs +++ b/voxygen/src/ui/ice/renderer/mod.rs @@ -708,10 +708,17 @@ impl IcedRenderer { } .intersection(self.window_scissor); - if intersection.is_valid() { + if intersection.is_valid() && intersection.size().map(|s| s > 0).reduce_and() { intersection } else { - Aabr::new_empty(Vec2::zero()) + // Create a aabr with width 1 and height 1, technically + // it would be more correct to do it with 0,0 but that's + // a validation error in wgpu so enjoy your funky pixel + // in the top left of your screen + Aabr { + min: Vec2::zero(), + max: Vec2::one(), + } } }; // Not expecting this case: new_scissor == current_scissor diff --git a/voxygen/src/ui/mod.rs b/voxygen/src/ui/mod.rs index 80572052d5..574dd6ed8c 100644 --- a/voxygen/src/ui/mod.rs +++ b/voxygen/src/ui/mod.rs @@ -20,6 +20,7 @@ pub use widgets::{ image_slider::ImageSlider, ingame::{Ingame, Ingameable}, item_tooltip::{ItemTooltip, ItemTooltipManager, ItemTooltipable}, + outlined_text::OutlinedText, radio_list::RadioList, slot, toggle_button::ToggleButton, @@ -284,7 +285,7 @@ impl Ui { pub fn handle_event(&mut self, event: Event) { match event.0 { Input::Resize(w, h) => { - if w > 1.0 && h > 1.0 { + if w > 0.0 && h > 0.0 { self.window_resized = Some(Vec2::new(w, h)) } }, @@ -674,7 +675,7 @@ impl Ui { } .intersection(window_scissor); - if intersection.is_valid() { + if intersection.is_valid() && intersection.size().map(|s| s > 0).reduce_and() { intersection } else { // TODO: What should we return here diff --git a/voxygen/src/ui/widgets/image_slider.rs b/voxygen/src/ui/widgets/image_slider.rs index dc74840282..3620e1b273 100644 --- a/voxygen/src/ui/widgets/image_slider.rs +++ b/voxygen/src/ui/widgets/image_slider.rs @@ -45,8 +45,8 @@ pub struct ImageSlider { struct Track { image_id: image::Id, color: Option, - #[allow(dead_code)] - src_rect: Option, + // TODO: this is being set by users but we don't use it for anything here, figure out what it + // is supposed to be used for #[allow(dead_code)] breadth: Option, // Padding on the ends of the track constraining the slider to a smaller area. @@ -58,8 +58,6 @@ struct Slider { hover_image_id: Option, press_image_id: Option, color: Option, - #[allow(dead_code)] - src_rect: Option, length: Option, } @@ -85,8 +83,6 @@ impl ImageSlider { pub slider_length { slider.length = Some(f32) } pub track_color { track.color = Some(Color) } pub slider_color { slider.color = Some(Color) } - pub track_src_rect { track.src_rect = Some(Rect) } - pub slider_src_rect { slider.src_rect = Some(Rect) } } fn new( @@ -105,7 +101,6 @@ impl ImageSlider { track: Track { image_id: track_image_id, color: None, - src_rect: None, breadth: None, padding: (0.0, 0.0), }, @@ -114,7 +109,6 @@ impl ImageSlider { hover_image_id: None, press_image_id: None, color: None, - src_rect: None, length: None, }, kind: std::marker::PhantomData, diff --git a/voxygen/src/ui/widgets/item_tooltip.rs b/voxygen/src/ui/widgets/item_tooltip.rs index 7d66c154d9..c1a64ed74b 100644 --- a/voxygen/src/ui/widgets/item_tooltip.rs +++ b/voxygen/src/ui/widgets/item_tooltip.rs @@ -13,7 +13,7 @@ use common::{ combat, comp::item::{ armor::{ArmorKind, Protection}, - Item, ItemDesc, ItemKind, MaterialStatManifest, Quality, + Item, ItemDesc, ItemKind, ItemTag, MaterialStatManifest, Quality, }, trade::SitePrices, }; @@ -434,10 +434,10 @@ impl<'a> Widget for ItemTooltip<'a> { if matches!(armor.kind, ArmorKind::Bag(_)) { 0 } else { - 1 + 5 } }, - ItemKind::Tool(_) => 5, + ItemKind::Tool(_) => 4, ItemKind::Consumable { .. } => 1, _ => 0, }; @@ -463,7 +463,24 @@ impl<'a> Widget for ItemTooltip<'a> { let (title, desc) = (item.name().to_string(), item.description().to_string()); - let subtitle = util::kind_text(item.kind(), i18n); + let item_kind = util::kind_text(item.kind(), i18n).to_string(); + + let material_tag = item.tags().iter().find_map(|t| match t { + ItemTag::Material(material) => Some(material), + _ => None, + }); + + let subtitle = if let Some(material_tag) = material_tag { + format!( + "{} ({})", + item_kind, + util::material_kind_text(&material_tag.material().material_kind(), i18n) + ) + } else { + item_kind + }; + + let style = self.style.desc; let text_color = conrod_core::color::WHITE; @@ -564,7 +581,6 @@ impl<'a> Widget for ItemTooltip<'a> { let speed = tool.base_speed(self.msm, item.components()); let poise_str = tool.base_poise_strength(self.msm, item.components()) * 10.0; let crit_chance = tool.base_crit_chance(self.msm, item.components()) * 100.0; - let crit_mult = tool.base_crit_mult(self.msm, item.components()); let combat_rating = combat::weapon_rating(&item, self.msm) * 10.0; // Combat Rating @@ -640,18 +656,6 @@ impl<'a> Widget for ItemTooltip<'a> { .down_from(state.ids.stats[2], V_PAD_STATS) .set(state.ids.stats[3], ui); - // Crit mult - widget::Text::new(&format!( - "{} : x{:.1}", - i18n.get("common.stats.crit_mult"), - crit_mult - )) - .graphics_for(id) - .parent(id) - .with_style(self.style.desc) - .color(text_color) - .down_from(state.ids.stats[3], V_PAD_STATS) - .set(state.ids.stats[4], ui); if let Some(equipped_item) = equip_slot.cloned().next() { if let ItemKind::Tool(equipped_tool) = equipped_item.kind() { let tool_stats = tool @@ -675,8 +679,6 @@ impl<'a> Widget for ItemTooltip<'a> { tool_stats.crit_chance, equipped_tool_stats.crit_chance, ); - let crit_mult_diff = - util::comparison(tool_stats.crit_mult, equipped_tool_stats.crit_mult); let equipped_combat_rating = combat::weapon_rating(&equipped_item, self.msm) * 10.0; let diff_main_stat = @@ -692,70 +694,40 @@ impl<'a> Widget for ItemTooltip<'a> { .set(state.ids.diff_main_stat, ui); } - if diff.power.abs() > f32::EPSILON { - widget::Text::new(&format!( - "{} {:.1}", - &power_diff.0, - &diff.power * 10.0 - )) - .align_middle_y_of(state.ids.stats[0]) - .right_from(state.ids.stats[0], H_PAD) - .graphics_for(id) - .parent(id) - .with_style(self.style.desc) - .color(power_diff.1) - .set(state.ids.diffs[0], ui); - } - if diff.speed.abs() > f32::EPSILON { - widget::Text::new(&format!("{} {:.1}", &speed_diff.0, &diff.speed)) - .align_middle_y_of(state.ids.stats[1]) - .right_from(state.ids.stats[1], H_PAD) + let mut diff_text = |text: String, color, id_index| { + widget::Text::new(&*text) + .align_middle_y_of(state.ids.stats[id_index]) + .right_from(state.ids.stats[id_index], H_PAD) .graphics_for(id) .parent(id) - .with_style(self.style.desc) - .color(speed_diff.1) - .set(state.ids.diffs[1], ui); + .with_style(style) + .color(color) + .set(state.ids.diffs[id_index], ui) + }; + + if diff.power.abs() > f32::EPSILON { + let text = format!("{} {:.1}", &power_diff.0, &diff.power * 10.0); + diff_text(text, power_diff.1, 0) + } + if diff.speed.abs() > f32::EPSILON { + let text = format!("{} {:.1}", &speed_diff.0, &diff.speed); + diff_text(text, speed_diff.1, 1) } if diff.poise_strength.abs() > f32::EPSILON { - widget::Text::new(&format!( + let text = format!( "{} {:.1}", &poise_strength_diff.0, &diff.poise_strength * 10.0 - )) - .align_middle_y_of(state.ids.stats[2]) - .right_from(state.ids.stats[2], H_PAD) - .graphics_for(id) - .parent(id) - .with_style(self.style.desc) - .color(poise_strength_diff.1) - .set(state.ids.diffs[2], ui); + ); + diff_text(text, poise_strength_diff.1, 2) } if diff.crit_chance.abs() > f32::EPSILON { - widget::Text::new(&format!( + let text = format!( "{} {:.1}%", &crit_chance_diff.0, &diff.crit_chance * 100.0 - )) - .align_middle_y_of(state.ids.stats[3]) - .right_from(state.ids.stats[3], H_PAD) - .graphics_for(id) - .parent(id) - .with_style(self.style.desc) - .color(crit_chance_diff.1) - .set(state.ids.diffs[3], ui); - } - if diff.crit_mult.abs() > f32::EPSILON { - widget::Text::new(&format!( - "{} {:.1}", - &crit_mult_diff.0, &diff.crit_mult - )) - .align_middle_y_of(state.ids.stats[4]) - .right_from(state.ids.stats[4], H_PAD) - .graphics_for(id) - .parent(id) - .with_style(self.style.desc) - .color(crit_mult_diff.1) - .set(state.ids.diffs[4], ui); + ); + diff_text(text, crit_chance_diff.1, 3) } } } @@ -780,8 +752,13 @@ impl<'a> Widget for ItemTooltip<'a> { }, _ => { // Armour - let protection = armor.get_protection(); - let poise_res = armor.get_poise_resilience(); + let protection = armor.protection(); + let poise_res = armor.poise_resilience(); + let energy_max = armor.energy_max() / 10; + let energy_reward = armor.energy_reward() * 10.0; + let crit_power = armor.crit_power(); + let stealth = armor.stealth(); + widget::Text::new(&util::protec2string(protection)) .graphics_for(id) .parent(id) @@ -815,6 +792,58 @@ impl<'a> Widget for ItemTooltip<'a> { .down_from(state.ids.item_frame, V_PAD) .set(state.ids.stats[0], ui); + // Max Energy + widget::Text::new(&format!( + "{} : {}", + i18n.get("common.stats.energy_max"), + energy_max + )) + .graphics_for(id) + .parent(id) + .with_style(self.style.desc) + .color(text_color) + .down_from(state.ids.stats[0], V_PAD_STATS) + .set(state.ids.stats[1], ui); + + // Energy Recovery + widget::Text::new(&format!( + "{} : {}", + i18n.get("common.stats.energy_reward"), + energy_reward + )) + .graphics_for(id) + .parent(id) + .with_style(self.style.desc) + .color(text_color) + .down_from(state.ids.stats[1], V_PAD_STATS) + .set(state.ids.stats[2], ui); + + // Crit Power + widget::Text::new(&format!( + "{} : {}", + i18n.get("common.stats.crit_power"), + crit_power + )) + .graphics_for(id) + .parent(id) + .with_style(self.style.desc) + .color(text_color) + .down_from(state.ids.stats[2], V_PAD_STATS) + .set(state.ids.stats[3], ui); + + // Stealth + widget::Text::new(&format!( + "{} : {}", + i18n.get("common.stats.stealth"), + stealth + )) + .graphics_for(id) + .parent(id) + .with_style(self.style.desc) + .color(text_color) + .down_from(state.ids.stats[3], V_PAD_STATS) + .set(state.ids.stats[4], ui); + // Slots if item.num_slots() > 0 { widget::Text::new(&format!( @@ -826,9 +855,8 @@ impl<'a> Widget for ItemTooltip<'a> { .parent(id) .with_style(self.style.desc) .color(text_color) - .x_align_to(state.ids.item_frame, conrod_core::position::Align::Start) - .down_from(state.ids.stats[0], V_PAD_STATS) - .set(state.ids.stats[1], ui); + .down_from(state.ids.stats[4], V_PAD_STATS) + .set(state.ids.stats[5], ui); } }, } @@ -836,16 +864,23 @@ impl<'a> Widget for ItemTooltip<'a> { if let Some(equipped_item) = equip_slot.cloned().next() { if let ItemKind::Armor(equipped_armor) = equipped_item.kind() { let diff = armor.stats - equipped_armor.stats; - let protection_diff = util::comparison( - &armor.get_protection(), - &equipped_armor.get_protection(), - ); + let protection_diff = + util::comparison(&armor.protection(), &equipped_armor.protection()); let poise_res_diff = util::comparison( - &armor.get_poise_resilience(), - &equipped_armor.get_poise_resilience(), + &armor.poise_resilience(), + &equipped_armor.poise_resilience(), ); - - if diff.get_protection() != Protection::Normal(0.0) { + let energy_max_diff = + util::comparison(&armor.energy_max(), &equipped_armor.energy_max()); + let energy_reward_diff = util::comparison( + &armor.energy_reward(), + &equipped_armor.energy_reward(), + ); + let crit_power_diff = + util::comparison(&armor.crit_power(), &equipped_armor.crit_power()); + let stealth_diff = + util::comparison(&armor.stealth(), &equipped_armor.stealth()); + if diff.protection() != Protection::Normal(0.0) { widget::Text::new(&protection_diff.0) .right_from(state.ids.main_stat_text, H_PAD) .graphics_for(id) @@ -855,19 +890,48 @@ impl<'a> Widget for ItemTooltip<'a> { .set(state.ids.diff_main_stat, ui); } - if diff.get_poise_resilience() != Protection::Normal(0.0) { - widget::Text::new(&format!( + let mut diff_text = |text: String, color, id_index| { + widget::Text::new(&*text) + .align_middle_y_of(state.ids.stats[id_index]) + .right_from(state.ids.stats[id_index], H_PAD) + .graphics_for(id) + .parent(id) + .with_style(style) + .color(color) + .set(state.ids.diffs[id_index], ui) + }; + + if diff.poise_resilience() != Protection::Normal(0.0) { + let text = format!( "{} {}", &poise_res_diff.0, - util::protec2string(diff.get_poise_resilience()) - )) - .align_middle_y_of(state.ids.stats[0]) - .right_from(state.ids.stats[0], H_PAD) - .graphics_for(id) - .parent(id) - .with_style(self.style.desc) - .color(poise_res_diff.1) - .set(state.ids.diffs[0], ui); + util::protec2string(diff.poise_resilience()) + ); + diff_text(text, poise_res_diff.1, 0) + } + + if diff.energy_max() != 0.0 as i32 { + let text = format!("{} {}", &energy_max_diff.0, diff.energy_max() / 10); + diff_text(text, energy_max_diff.1, 1) + } + + if diff.energy_reward() != 0.0_f32 { + let text = format!( + "{} {}", + &energy_reward_diff.0, + diff.energy_reward() * 10.0 + ); + diff_text(text, energy_reward_diff.1, 2) + } + + if diff.crit_power() != 0.0_f32 { + let text = format!("{} {}", &crit_power_diff.0, diff.crit_power()); + diff_text(text, crit_power_diff.1, 3) + } + + if diff.stealth() != 0.0_f32 { + let text = format!("{} {}", &stealth_diff.0, diff.stealth()); + diff_text(text, stealth_diff.1, 4) } } } @@ -981,10 +1045,10 @@ impl<'a> Widget for ItemTooltip<'a> { if matches!(armor.kind, ArmorKind::Bag(_)) { 0 } else { - 1 + 5 } }, - ItemKind::Tool(_) => 5, + ItemKind::Tool(_) => 4, ItemKind::Consumable { .. } => 1, ItemKind::ModularComponent { .. } => 1, _ => 0, diff --git a/voxygen/src/ui/widgets/mod.rs b/voxygen/src/ui/widgets/mod.rs index ca6ce261aa..e7ce5ee864 100644 --- a/voxygen/src/ui/widgets/mod.rs +++ b/voxygen/src/ui/widgets/mod.rs @@ -3,6 +3,7 @@ pub mod image_frame; pub mod image_slider; pub mod ingame; pub mod item_tooltip; +pub mod outlined_text; pub mod radio_list; pub mod slot; pub mod toggle_button; diff --git a/voxygen/src/ui/widgets/outlined_text.rs b/voxygen/src/ui/widgets/outlined_text.rs new file mode 100644 index 0000000000..8c778d5276 --- /dev/null +++ b/voxygen/src/ui/widgets/outlined_text.rs @@ -0,0 +1,117 @@ +use conrod_core::{ + builder_methods, text, + widget::{self, Text}, + widget_ids, Color, FontSize, Positionable, Sizeable, Widget, WidgetCommon, +}; + +#[derive(Clone, WidgetCommon)] +pub struct OutlinedText<'a> { + #[conrod(common_builder)] + common: widget::CommonBuilder, + + text: &'a str, + text_style: widget::text::Style, + outline_color: Option, + outline_width: f64, +} + +widget_ids! { + struct Ids{ + base, + outline1, + outline2, + outline3, + outline4, + } +} + +pub struct State { + ids: Ids, +} + +impl<'a> OutlinedText<'a> { + builder_methods! { + pub color {text_style.color = Some(Color)} + pub outline_color {outline_color = Some(Color)} + + pub font_size {text_style.font_size = Some(FontSize)} + pub outline_width {outline_width = f64} + } + + pub fn new(text: &'a str) -> Self { + Self { + common: widget::CommonBuilder::default(), + text, + + text_style: widget::text::Style::default(), + outline_color: None, + outline_width: 0.0, + } + } + + pub fn font_id(mut self, font_id: text::font::Id) -> Self { + self.text_style.font_id = Some(Some(font_id)); + self + } +} + +impl<'a> Widget for OutlinedText<'a> { + type Event = (); + type State = State; + type Style = (); + + fn init_state(&self, id_gen: widget::id::Generator) -> Self::State { + State { + ids: Ids::new(id_gen), + } + } + + #[allow(clippy::unused_unit)] // TODO: Pending review in #587 + fn style(&self) -> Self::Style { () } + + fn update(self, args: widget::UpdateArgs) -> Self::Event { + let widget::UpdateArgs { + id, + state, + ui, + rect, + .. + } = args; + + let mut outline_style = self.text_style; + outline_style.color = self.outline_color; + + let shift = self.outline_width; + Text::new(self.text) + .with_style(self.text_style) + .xy(rect.xy()) + .wh(rect.dim()) + .parent(id) + .depth(-1.0) + .set(state.ids.base, ui); + + Text::new(self.text) + .with_style(outline_style) + .x_y_relative_to(state.ids.base, shift, shift) + .wh_of(state.ids.base) + .set(state.ids.outline1, ui); + + Text::new(self.text) + .with_style(outline_style) + .x_y_relative_to(state.ids.base, -shift, shift) + .wh_of(state.ids.base) + .set(state.ids.outline2, ui); + + Text::new(self.text) + .with_style(outline_style) + .x_y_relative_to(state.ids.base, shift, -shift) + .wh_of(state.ids.base) + .set(state.ids.outline3, ui); + + Text::new(self.text) + .with_style(outline_style) + .x_y_relative_to(state.ids.base, -shift, -shift) + .wh_of(state.ids.base) + .set(state.ids.outline4, ui); + } +} diff --git a/world/Cargo.toml b/world/Cargo.toml index 7975ff460b..07b4084e78 100644 --- a/world/Cargo.toml +++ b/world/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "veloren-world" -version = "0.9.0" +version = "0.10.0" authors = ["Joshua Barretto "] edition = "2018" @@ -25,7 +25,7 @@ vek = { version = "0.14.1", features = ["serde"] } noise = { version = "0.7", default-features = false } num = "0.4" ordered-float = "2.0.1" -hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] } +hashbrown = { version = "0.11", features = ["rayon", "serde", "nightly"] } lazy_static = "1.4.0" tracing = { version = "0.1", default-features = false } rand = "0.8" diff --git a/world/src/layer/mod.rs b/world/src/layer/mod.rs index 9785b7b01a..9c12b4c130 100644 --- a/world/src/layer/mod.rs +++ b/world/src/layer/mod.rs @@ -30,6 +30,11 @@ use vek::*; pub struct Colors { pub bridge: (u8, u8, u8), pub stalagtite: (u8, u8, u8), + pub cave_floor: (u8, u8, u8), + pub cave_roof: (u8, u8, u8), + pub dirt: (u8, u8, u8), + pub scaffold: (u8, u8, u8), + pub vein: (u8, u8, u8), } const EMPTY_AIR: Block = Block::air(SpriteKind::Empty); @@ -118,6 +123,8 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) { let cave_x = (cave_dist / cave.width).min(1.0); // Relative units + let cave_depth = (col.alt - cave.alt).max(0.0); + let cave_floor = 0.0 - 0.5 * (1.0 - cave_x.powi(2)).max(0.0).sqrt() * cave.width; let cave_height = (1.0 - cave_x.powi(2)).max(0.0).sqrt() * cave.width; @@ -144,13 +151,30 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) { }); } } + let noisy_color = |color: Rgb, factor: u32| { + let nz = RandomField::new(0).get(Vec3::new(wpos2d.x, wpos2d.y, surface_z)); + color.map(|e| { + (e as u32 + nz % (factor * 2)) + .saturating_sub(factor) + .min(255) as u8 + }) + }; + let ridge_condition = cave_depth % 10.0 > 8.0 && cave_depth > 10.0; + let pit_condition = cave_depth % 42.0 > 37.0 && cave_x > 0.6 && cave_depth > 200.0; + let pit_depth = 30; + let floor_dist = pit_condition as i32 * pit_depth as i32; + let vein_condition = + cave_depth % 12.0 > 11.5 && cave_x > 0.1 && cave_x < 0.6 && cave_depth > 200.0; + let stalagtite_condition = cave_depth > 150.0; + let vein_depth = 3; + let vein_floor = cave_base - vein_depth; // Stalagtites let stalagtites = info .index() .noise .cave_nz - .get(wpos2d.map(|e| e as f64 * 0.125).into_array()) + .get(wpos2d.map(|e| e as f64 * 0.18).into_array()) .sub(0.5) .max(0.0) .mul( @@ -164,31 +188,215 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) { if canvas .get(Vec3::new(wpos2d.x, wpos2d.y, cave_roof)) .is_filled() + && stalagtite_condition { for z in cave_roof - stalagtites..cave_roof { canvas.set( Vec3::new(wpos2d.x, wpos2d.y, z), Block::new( BlockKind::WeakRock, - info.index().colors.layer.stalagtite.into(), + noisy_color(info.index().colors.layer.stalagtite.into(), 8), ), ); } } - let cave_depth = (col.alt - cave.alt).max(0.0); - let difficulty = cave_depth / 100.0; + let ground_colors = if cave_roof - cave_base > 23 { + noisy_color(info.index().colors.layer.cave_floor.into(), 8) + } else { + noisy_color(info.index().colors.layer.dirt.into(), 8) + }; - // Scatter things in caves - if rng.gen::() < 0.001 * difficulty.powf(1.5) && cave_base < surface_z as i32 - 25 + //make pits + for z in cave_base - pit_depth..cave_base { + if pit_condition && (cave_roof - cave_base) > 10 { + canvas.set( + Vec3::new(wpos2d.x, wpos2d.y, z), + Block::new( + BlockKind::Air, + noisy_color(info.index().colors.layer.scaffold.into(), 8), + ), + ); + } + } + //fill bottom of pits + for z in cave_base - pit_depth + ..cave_base - pit_depth + ((cave_x.powf(4.0) * (pit_depth as f32 + 3.0)) as i32) + 1 { - let kind = *Lottery::::load_expect("common.cave_scatter") + if (cave_roof - cave_base) > 10 && pit_condition { + canvas.set( + Vec3::new(wpos2d.x, wpos2d.y, z), + Block::new(BlockKind::WeakRock, ground_colors), + ); + } + } + //empty veins + for z in cave_base - vein_depth..cave_base { + if vein_condition { + canvas.set( + Vec3::new(wpos2d.x, wpos2d.y, z), + Block::new( + BlockKind::Air, + noisy_color(info.index().colors.layer.scaffold.into(), 8), + ), + ); + } + } + + //fill veins except bottom later + for z in cave_base - vein_depth + 1..cave_base { + if vein_condition { + canvas.set( + Vec3::new(wpos2d.x, wpos2d.y, z), + Block::new( + BlockKind::WeakRock, + noisy_color(info.index().colors.layer.vein.into(), 16), + ), + ); + } + } + //fill some of bottom + for z in cave_base - vein_depth..cave_base - vein_depth + 1 { + if rng.gen::() < 0.5 && vein_condition { + canvas.set( + Vec3::new(wpos2d.x, wpos2d.y, z), + Block::new( + BlockKind::WeakRock, + noisy_color(info.index().colors.layer.vein.into(), 16), + ), + ); + } + } + if vein_condition && rng.gen::() > 0.7 { + let kind = *Lottery::::load_expect("common.cave_scatter.vein") .read() .choose(); - canvas.map(Vec3::new(wpos2d.x, wpos2d.y, cave_base), |block| { + canvas.map(Vec3::new(wpos2d.x, wpos2d.y, vein_floor), |block| { block.with_sprite(kind) }); } + + //fill normal floor + for z in cave_base..cave_base + 1 { + if cave_depth > 15.0 + && (cave_roof - cave_base) > 10 + && !pit_condition + && !vein_condition + { + canvas.set( + Vec3::new(wpos2d.x, wpos2d.y, z), + Block::new(BlockKind::WeakRock, ground_colors), + ); + } + } + //fill roof + for z in cave_roof - 1..cave_roof { + if cave_depth > 30.0 && (cave_roof - cave_base) > 10 { + canvas.set( + Vec3::new(wpos2d.x, wpos2d.y, z), + Block::new( + BlockKind::WeakRock, + noisy_color(info.index().colors.layer.cave_roof.into(), 8), + ), + ); + } + } + //add ridges + for z in cave_roof - 4..cave_roof { + if ridge_condition && (cave_roof - cave_base) > 10 { + canvas.set( + Vec3::new(wpos2d.x, wpos2d.y, z), + Block::new( + BlockKind::WeakRock, + noisy_color(info.index().colors.layer.scaffold.into(), 8), + ), + ); + } + } + + let cave_roof_adjusted = if (cave_roof - cave_base) > 10 { + cave_roof - 1 + } else { + cave_roof + }; + + let cave_floor_adjusted = if (cave_roof - cave_base) > 10 { + cave_base + 1 - floor_dist + } else { + cave_base - floor_dist + }; + + // Scatter things in caves + if cave_depth > 40.0 && cave_depth < 80.0 { + if rng.gen::() < 0.2 * (cave_x.max(0.5).powf(4.0)) && !vein_condition { + let kind = + *Lottery::::load_expect("common.cave_scatter.shallow_floor") + .read() + .choose(); + canvas.map( + Vec3::new(wpos2d.x, wpos2d.y, cave_floor_adjusted), + |block| block.with_sprite(kind), + ); + } + if rng.gen::() < 0.3 * (cave_x.max(0.5).powf(4.0)) && !ridge_condition { + let kind = + *Lottery::::load_expect("common.cave_scatter.shallow_ceiling") + .read() + .choose(); + canvas.map( + Vec3::new(wpos2d.x, wpos2d.y, cave_roof_adjusted - 1), + |block| block.with_sprite(kind), + ); + } + } else if cave_depth < 200.0 && cave_depth > 80.0 { + if rng.gen::() < 0.12 * (cave_x.max(0.5).powf(4.0)) && !vein_condition { + let kind = + *Lottery::::load_expect("common.cave_scatter.deep_floor") + .read() + .choose(); + canvas.map( + Vec3::new(wpos2d.x, wpos2d.y, cave_floor_adjusted), + |block| block.with_sprite(kind), + ); + } + if rng.gen::() < 0.3 * (cave_x.max(0.5).powf(4.0)) && !ridge_condition { + let kind = + *Lottery::::load_expect("common.cave_scatter.deep_ceiling") + .read() + .choose(); + canvas.map( + Vec3::new(wpos2d.x, wpos2d.y, cave_roof_adjusted - 1), + |block| block.with_sprite(kind), + ); + } + } else { + if rng.gen::() < 0.12 * (cave_x.max(0.5).powf(4.0)) + && cave_depth > 40.0 + && !vein_condition + { + let kind = + *Lottery::::load_expect("common.cave_scatter.dark_floor") + .read() + .choose(); + canvas.map( + Vec3::new(wpos2d.x, wpos2d.y, cave_floor_adjusted), + |block| block.with_sprite(kind), + ); + } + if rng.gen::() < 0.02 * (cave_x.max(0.5).powf(4.0)) + && !ridge_condition + && cave_depth > 40.0 + { + let kind = + *Lottery::::load_expect("common.cave_scatter.dark_ceiling") + .read() + .choose(); + canvas.map( + Vec3::new(wpos2d.x, wpos2d.y, cave_roof_adjusted - 1), + |block| block.with_sprite(kind), + ); + } + }; } }); } @@ -228,81 +436,73 @@ pub fn apply_caves_supplement<'a>( // Abs units let cave_base = (cave.alt + cave_floor) as i32; - let cave_depth = (col_sample.alt - cave.alt).max(0.0); - let difficulty = cave_depth / 200.0; + let cave_depth = (col_sample.alt - cave.alt).max(0.0); //slightly different from earlier cave depth? // Scatter things in caves - if RandomField::new(index.seed).chance(wpos2d.into(), 0.001 * difficulty) - && cave_base < surface_z as i32 - 40 - { - let is_hostile: bool; - let entity = EntityInfo::at(Vec3::new( - wpos2d.x as f32, - wpos2d.y as f32, - cave_base as f32, - )) - .with_body(match dynamic_rng.gen_range(0..5) { - 0 => { - is_hostile = false; - let species = match dynamic_rng.gen_range(0..4) { - 0 => comp::quadruped_small::Species::Truffler, - 1 => comp::quadruped_small::Species::Dodarock, - 2 => comp::quadruped_small::Species::Holladon, - _ => comp::quadruped_small::Species::Batfox, - }; - comp::quadruped_small::Body::random_with(dynamic_rng, &species).into() - }, - 1 => { - is_hostile = true; - let species = match dynamic_rng.gen_range(0..2) { - 0 => comp::quadruped_medium::Species::Tarasque, - _ => comp::quadruped_medium::Species::Bonerattler, - }; - comp::quadruped_medium::Body::random_with(dynamic_rng, &species).into() - }, - 2 => { - is_hostile = true; - let species = match dynamic_rng.gen_range(0..3) { - 0 => comp::quadruped_low::Species::Rocksnapper, - 1 => comp::quadruped_low::Species::Lavadrake, - _ => comp::quadruped_low::Species::Salamander, - }; - comp::quadruped_low::Body::random_with(dynamic_rng, &species).into() - }, - 3 => { - is_hostile = true; - let species = match dynamic_rng.gen_range(0..5) { - 0 => comp::theropod::Species::Sandraptor, - 1 => comp::theropod::Species::Snowraptor, - 2 => comp::theropod::Species::Woodraptor, - 3 => comp::theropod::Species::Odonto, - _ => comp::theropod::Species::Archaeos, - }; - comp::theropod::Body::random_with(dynamic_rng, &species).into() - }, - _ => { - is_hostile = true; - let species = match dynamic_rng.gen_range(0..5) { - 0 => comp::biped_large::Species::Ogre, - 1 => comp::biped_large::Species::Cyclops, - 2 => comp::biped_large::Species::Wendigo, - 3 => match dynamic_rng.gen_range(0..2) { - 0 => comp::biped_large::Species::Blueoni, - _ => comp::biped_large::Species::Redoni, - }, - _ => comp::biped_large::Species::Troll, - }; - comp::biped_large::Body::random_with(dynamic_rng, &species).into() - }, + if let Some(z) = (-4..8).map(|z| cave_base + z).find(|z| { + (0..2).all(|z_offs| { + vol.get(offs.with_z(z + z_offs)) + .map_or(true, |b| b.is_fluid()) }) - .with_alignment(if is_hostile { - comp::Alignment::Enemy - } else { - comp::Alignment::Wild - }) - .with_automatic_name(); + }) { + if RandomField::new(index.seed).chance(wpos2d.into(), 0.0018) + && cave_base < surface_z as i32 - 40 + { + let is_hostile: bool; + let entity = + EntityInfo::at(Vec3::new(wpos2d.x as f32, wpos2d.y as f32, z as f32)) + .with_body(if cave_depth < 70.0 { + is_hostile = false; + let species = match dynamic_rng.gen_range(0..4) { + 0 => comp::quadruped_small::Species::Truffler, + 1 => comp::quadruped_small::Species::Dodarock, + 2 => comp::quadruped_small::Species::Holladon, + _ => comp::quadruped_small::Species::Batfox, + }; + comp::quadruped_small::Body::random_with(dynamic_rng, &species) + .into() + } else if cave_depth < 120.0 { + is_hostile = true; + let species = match dynamic_rng.gen_range(0..3) { + 0 => comp::quadruped_low::Species::Rocksnapper, + 1 => comp::quadruped_low::Species::Salamander, + _ => comp::quadruped_low::Species::Asp, + }; + comp::quadruped_low::Body::random_with(dynamic_rng, &species) + .into() + } else if cave_depth < 200.0 { + is_hostile = true; + let species = match dynamic_rng.gen_range(0..3) { + 0 => comp::quadruped_low::Species::Rocksnapper, + 1 => comp::quadruped_low::Species::Lavadrake, + _ => comp::quadruped_low::Species::Basilisk, + }; + comp::quadruped_low::Body::random_with(dynamic_rng, &species) + .into() + } else { + is_hostile = true; + let species = match dynamic_rng.gen_range(0..5) { + 0 => comp::biped_large::Species::Ogre, + 1 => comp::biped_large::Species::Cyclops, + 2 => comp::biped_large::Species::Wendigo, + 3 => match dynamic_rng.gen_range(0..2) { + 0 => comp::biped_large::Species::Blueoni, + _ => comp::biped_large::Species::Redoni, + }, + _ => comp::biped_large::Species::Troll, + }; + comp::biped_large::Body::random_with(dynamic_rng, &species) + .into() + }) + .with_alignment(if is_hostile { + comp::Alignment::Enemy + } else { + comp::Alignment::Wild + }) + .with_automatic_name(); - supplement.add_entity(entity); + supplement.add_entity(entity); + } } } } @@ -375,10 +575,7 @@ pub fn apply_coral_to(canvas: &mut Canvas) { }); if is_coral { - let _ = canvas.set( - wpos, - Block::new(BlockKind::WeakRock, Rgb::new(170, 220, 210)), - ); + let _ = canvas.set(wpos, Block::new(BlockKind::Rock, Rgb::new(170, 220, 210))); } } }); diff --git a/world/src/layer/scatter.rs b/world/src/layer/scatter.rs index 46d4f9f07e..1afc55bbfa 100644 --- a/world/src/layer/scatter.rs +++ b/world/src/layer/scatter.rs @@ -85,6 +85,18 @@ pub fn apply_scatter_to(canvas: &mut Canvas, rng: &mut impl Rng) { Some((100.0, 0.1)), ) }), + (Cotton, false, |c, col| { + ( + close(c.temp, CONFIG.temperate_temp, 0.7).min(close( + c.humidity, + CONFIG.jungle_hum, + 0.4, + )) * col.tree_density + * MUSH_FACT + * 75.0, + Some((256.0, 0.25)), + ) + }), (Sunflower, false, |c, col| { ( close(c.temp, 0.0, 0.7).min(close(c.humidity, CONFIG.jungle_hum, 0.4)) @@ -94,6 +106,15 @@ pub fn apply_scatter_to(canvas: &mut Canvas, rng: &mut impl Rng) { Some((100.0, 0.15)), ) }), + (WildFlax, false, |c, col| { + ( + close(c.temp, 0.0, 0.7).min(close(c.humidity, CONFIG.jungle_hum, 0.4)) + * col.tree_density + * MUSH_FACT + * 600.0, + Some((100.0, 0.15)), + ) + }), // Herbs and Spices (LingonBerry, false, |c, _| { ( @@ -141,6 +162,12 @@ pub fn apply_scatter_to(canvas: &mut Canvas, rng: &mut impl Rng) { (Stones, false, |c, _| { ((c.rockiness - 0.5).max(0.025) * 1.0e-3, None) }), + (Copper, false, |c, _| { + ((c.rockiness - 0.5).max(0.0) * 1.5e-3, None) + }), + (Tin, false, |c, _| { + ((c.rockiness - 0.5).max(0.0) * 1.5e-3, None) + }), // Don't spawn Mushrooms in snowy regions (Mushroom, false, |c, _| { ( @@ -196,6 +223,16 @@ pub fn apply_scatter_to(canvas: &mut Canvas, rng: &mut impl Rng) { Some((48.0, 0.2)), ) }), + (Moonbell, false, |c, _| { + ( + close(c.temp, CONFIG.snow_temp - 0.2, 0.4).min(close( + c.humidity, + CONFIG.forest_hum, + 0.5, + )) * 0.003, + Some((48.0, 0.2)), + ) + }), // Savanna Plants (SavannaGrass, false, |c, _| { ( @@ -244,6 +281,12 @@ pub fn apply_scatter_to(canvas: &mut Canvas, rng: &mut impl Rng) { None, ) }), + (Pyrebloom, false, |c, _| { + ( + close(c.temp, 1.0, 0.95).min(close(c.humidity, 0.0, 0.3)) * MUSH_FACT * 0.35, + None, + ) + }), (LargeCactus, false, |c, _| { ( close(c.temp, 1.0, 0.25).min(close(c.humidity, 0.0, 0.1)) * MUSH_FACT * 3.5, diff --git a/world/src/layer/wildlife.rs b/world/src/layer/wildlife.rs index 8e2c007608..f15ec3a9bc 100644 --- a/world/src/layer/wildlife.rs +++ b/world/src/layer/wildlife.rs @@ -1063,37 +1063,37 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( }, ); + let alt = col_sample.alt as i32; + if let Some((make_entity, group_size)) = entity_group { - let alt = col_sample.alt as i32; - // Find the intersection between ground and air, if there is one near the - // surface - if let Some(solid_end) = (-4..8) - .find(|z| { - vol.get(Vec3::new(offs.x, offs.y, alt + z)) - .map(|b| b.is_solid()) - .unwrap_or(false) - }) - .and_then(|solid_start| { - (1..8).map(|z| solid_start + z).find(|z| { - vol.get(Vec3::new(offs.x, offs.y, alt + z)) + let group_size = dynamic_rng.gen_range(group_size.start..group_size.end); + let entity = make_entity( + (wpos2d.map(|e| e as f32) + 0.5).with_z(alt as f32), + dynamic_rng, + ); + for e in 0..group_size { + // Choose a nearby position + let offs_wpos2d = (Vec2::new( + (e as f32 / group_size as f32 * 2.0 * f32::consts::PI).sin(), + (e as f32 / group_size as f32 * 2.0 * f32::consts::PI).cos(), + ) * (5.0 + dynamic_rng.gen::().powf(0.5) * 5.0)) + .map(|e| e as i32); + // Clamp position to chunk + let offs_wpos2d = (offs + offs_wpos2d) + .clamped(Vec2::zero(), vol.size_xy().map(|e| e as i32) - 1) + - offs; + + // Find the intersection between ground and air, if there is one near the + // surface + if let Some(solid_end) = (-8..8).find(|z| { + (0..2).all(|z2| { + vol.get(Vec3::new(offs.x, offs.y, alt) + offs_wpos2d.with_z(z + z2)) .map(|b| !b.is_solid()) .unwrap_or(true) }) - }) - { - let group_size = dynamic_rng.gen_range(group_size.start..group_size.end); - let entity = make_entity( - Vec3::new(wpos2d.x, wpos2d.y, alt + solid_end).map(|e| e as f32), - dynamic_rng, - ); - for e in 0..group_size { + }) { let mut entity = entity.clone(); - entity.pos = entity.pos.map(|e| e + dynamic_rng.gen::()) - + Vec3::new( - (e as f32 / group_size as f32 * 2.0 * f32::consts::PI).sin(), - (e as f32 / group_size as f32 * 2.0 * f32::consts::PI).cos(), - 0.0, - ) * (5.0 + dynamic_rng.gen::().powf(0.5) * 5.0); + entity.pos += offs_wpos2d.with_z(solid_end).map(|e| e as f32); supplement.add_entity(entity.with_automatic_name()); } } diff --git a/world/src/site/dungeon/mod.rs b/world/src/site/dungeon/mod.rs index 55cd251541..266fba7ed4 100644 --- a/world/src/site/dungeon/mod.rs +++ b/world/src/site/dungeon/mod.rs @@ -1207,7 +1207,7 @@ fn mini_boss_0(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3) -> Vec) -> Vec { - let chosen = Lottery::::load_expect("common.loot_tables.creature.quad_small.default"); + let chosen = Lottery::::load_expect("common.loot_tables.creature.quad_small.generic"); let mut entities = Vec::new(); entities.resize_with(8, || { EntityInfo::at(tile_wcenter.map(|e| e as f32)) @@ -1224,7 +1224,7 @@ fn mini_boss_1(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3) -> Vec) -> Vec { - let chosen = Lottery::::load_expect("common.loot_tables.creature.quad_low.default"); + let chosen = Lottery::::load_expect("common.loot_tables.creature.quad_low.fanged"); let mut entities = Vec::new(); entities.resize_with(6, || { EntityInfo::at(tile_wcenter.map(|e| e as f32)) @@ -1242,7 +1242,7 @@ fn mini_boss_2(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3) -> Vec) -> Vec { let chosen = - Lottery::::load_expect("common.loot_tables.creature.quad_medium.default"); + Lottery::::load_expect("common.loot_tables.creature.quad_medium.carapace"); let mut entities = Vec::new(); entities.resize_with(3, || { EntityInfo::at(tile_wcenter.map(|e| e as f32)) diff --git a/world/src/site/settlement/building/archetype/house.rs b/world/src/site/settlement/building/archetype/house.rs index 7aecd69def..71c5516e4c 100644 --- a/world/src/site/settlement/building/archetype/house.rs +++ b/world/src/site/settlement/building/archetype/house.rs @@ -524,13 +524,13 @@ impl Archetype for House { && center_offset.map(|e| e % 3 == 0).reduce_and() && self .noise - .chance(Vec3::new(center_offset.x, center_offset.y, z), 0.2) + .chance(Vec3::new(center_offset.x, center_offset.y, z), 0.8) { let furniture = match self.noise.get(Vec3::new( center_offset.x, center_offset.y, z + 100, - )) % 8 + )) % 12 { 0..=1 => SpriteKind::Crate, 2 => SpriteKind::Bench, @@ -539,7 +539,10 @@ impl Archetype for House { 5 => SpriteKind::CraftingBench, 6 => SpriteKind::FireBowlGround, 7 => SpriteKind::Cauldron, - //8 => SpriteKind::Forge, + 8 => SpriteKind::Forge, + 9 => SpriteKind::Loom, + 10 => SpriteKind::SpinningWheel, + 11 => SpriteKind::TanningRack, _ => unreachable!(), };