From aae8c2f6c4c4a0060d506639836dcf9ddbc627ab Mon Sep 17 00:00:00 2001 From: Pistonight Date: Wed, 29 Jan 2025 20:19:32 -0800 Subject: [PATCH] onboard item-system and parser to new infra --- Cargo.lock | 1 + Cargo.toml | 1 - Taskfile.yml | 52 +- next/botw-ist-command/.gitignore | 1 - next/botw-ist-command/Cargo.lock | 438 --- next/botw-ist-command/Cargo.toml | 10 - next/botw-ist-command/src/item.rs | 40 - next/botw-ist-command/src/item_data.rs | 275 -- next/botw-ist-command/src/lib.rs | 4 - next/botw-ist-command/src/parse.rs | 100 - packages/item-system/.gitignore | 4 + packages/item-system/.prettierignore | 2 + packages/item-system/Taskfile.yml | 45 + packages/item-system/eslint.config.js | 6 + packages/item-system/index.html | 18 +- packages/item-system/package.json | 47 +- packages/item-system/scripts/generate.py | 154 + packages/item-system/src/CalamitySans.css | 1 - packages/item-system/src/ItemSlot.tsx | 224 +- packages/item-system/src/ItemTooltip.tsx | 15 +- .../item-system/src/ItemTooltipContent.tsx | 308 +- .../item-system/src/ItemTooltipContext.ts | 17 + .../item-system/src/ItemTooltipProvider.tsx | 85 +- .../item-system/src/data/ActorData.gen.ts | 8 - packages/item-system/src/data/ActorData.ts | 24 +- packages/item-system/src/data/ItemSlotInfo.ts | 90 +- packages/item-system/src/data/ModifierInfo.ts | 119 +- packages/item-system/src/data/enums.ts | 35 +- packages/item-system/src/images/index.ts | 4 +- packages/item-system/src/index.ts | 1 + .../item-system/{testpage => test}/main.tsx | 131 +- packages/item-system/tsconfig.app.json | 10 +- packages/item-system/tsconfig.json | 10 +- packages/item-system/tsconfig.node.json | 7 +- packages/item-system/vite.config.ts | 18 +- packages/localization/Taskfile.yml | 16 +- packages/parser/.gitignore | 1 + packages/parser/Cargo.toml | 1 + packages/parser/Taskfile.yml | 34 +- packages/parser/scripts/generate.py | 44 +- packages/parser/src/cir/item_meta.rs | 10 +- packages/parser/src/data/v3_item_names.yaml | 2672 ----------------- packages/parser/src/item_search.rs | 21 - packages/parser/src/lib.rs | 6 +- packages/parser/src/search/mod.rs | 12 + packages/parser/src/search/resolver_types.rs | 23 + .../src/search/search_impl.rs} | 78 +- packages/parser/src/search/search_name.rs | 62 + .../src/search/search_result.rs} | 63 +- .../tests/item_search_v2.rs | 3 +- .../tests/item_search_v3.rs | 6 +- packages/runtime/generate-item-names.py | 37 - packages/runtime/src/armor_upgrade_gen.rs | 72 - packages/runtime/src/cook_effect_name.rs | 15 - packages/runtime/src/item_name_gen.rs | 675 ----- packages/runtime/src/lib.rs | 7 - pnpm-lock.yaml | 1749 +++++++++++ pnpm-workspace.yaml | 3 + 58 files changed, 2895 insertions(+), 5020 deletions(-) delete mode 100644 next/botw-ist-command/.gitignore delete mode 100644 next/botw-ist-command/Cargo.lock delete mode 100644 next/botw-ist-command/Cargo.toml delete mode 100644 next/botw-ist-command/src/item.rs delete mode 100644 next/botw-ist-command/src/item_data.rs delete mode 100644 next/botw-ist-command/src/lib.rs delete mode 100644 next/botw-ist-command/src/parse.rs create mode 100644 packages/item-system/.prettierignore create mode 100644 packages/item-system/Taskfile.yml create mode 100644 packages/item-system/eslint.config.js create mode 100644 packages/item-system/src/ItemTooltipContext.ts delete mode 100644 packages/item-system/src/data/ActorData.gen.ts rename packages/item-system/{testpage => test}/main.tsx (66%) delete mode 100644 packages/parser/src/data/v3_item_names.yaml delete mode 100644 packages/parser/src/item_search.rs create mode 100644 packages/parser/src/search/mod.rs create mode 100644 packages/parser/src/search/resolver_types.rs rename packages/{runtime/src/item_search.rs => parser/src/search/search_impl.rs} (67%) create mode 100644 packages/parser/src/search/search_name.rs rename packages/{runtime/src/item_name.rs => parser/src/search/search_result.rs} (63%) rename packages/{runtime => parser}/tests/item_search_v2.rs (97%) rename packages/{runtime => parser}/tests/item_search_v3.rs (94%) delete mode 100644 packages/runtime/generate-item-names.py delete mode 100644 packages/runtime/src/armor_upgrade_gen.rs delete mode 100644 packages/runtime/src/cook_effect_name.rs delete mode 100644 packages/runtime/src/item_name_gen.rs diff --git a/Cargo.lock b/Cargo.lock index 3fee379..92ff513 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1350,6 +1350,7 @@ version = "0.0.0" dependencies = [ "derive_more", "teleparse 0.0.5", + "textdistance", "thiserror 2.0.11", ] diff --git a/Cargo.toml b/Cargo.toml index dc17f48..3c78834 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,6 @@ resolver = "2" members = [ "packages/runtime", - "next/botw-ist-command", "research/trace-view", "packages/parser", "packages/runtime-wasm", diff --git a/Taskfile.yml b/Taskfile.yml index 1c5179b..868033a 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -11,10 +11,6 @@ includes: taskfile: ./packages/app dir: ./packages/app - monaco-editor: - taskfile: ./packages/monaco-editor-contrib - dir: ./packages/monaco-editor-contrib - manual: aliases: [man] taskfile: ./manual @@ -39,14 +35,31 @@ includes: aliases: [trv] dir: ./research/trace-view + # new ones below + research: taskfile: ./packages/research-scripts dir: ./packages/research-scripts - optional: true localization: taskfile: ./packages/localization dir: ./packages/localization + internal: true + + item-assets: + taskfile: ./packages/item-assets + dir: ./packages/item-assets + internal: true + + item-system: + taskfile: ./packages/item-system + dir: ./packages/item-system + internal: true + + parser: + taskfile: ./packages/parser + dir: ./packages/parser + internal: true tasks: install-cargo-extra-tools: @@ -60,13 +73,32 @@ tasks: aliases: [i] cmds: - magoo install - - task: install-workex - - task: research:build - - pnpm i - - task: localization:build + - task: install-deps + - pnpm install - install-workex: + install-ci: + cmds: + - task: install-deps + - pnpm install --frozen-lockfile + + install-deps: + deps: + - localization:pull-artifacts + - item-assets:pull-artifacts + - item-system:pull-artifacts + - parser:pull-artifacts cmds: - rm -rf packages/workex - workex --lib-out-path packages/workex --lib-package --lib-only + check: + cmds: + - task: localization:check + - task: item-assets:check + - task: item-system:check + - task: parser:check + + test: + cmds: + - task: parser:test + diff --git a/next/botw-ist-command/.gitignore b/next/botw-ist-command/.gitignore deleted file mode 100644 index ea8c4bf..0000000 --- a/next/botw-ist-command/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/next/botw-ist-command/Cargo.lock b/next/botw-ist-command/Cargo.lock deleted file mode 100644 index b72e009..0000000 --- a/next/botw-ist-command/Cargo.lock +++ /dev/null @@ -1,438 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "beef" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" - -[[package]] -name = "botw-ist-command" -version = "0.0.0" -dependencies = [ - "logos", - "phf", - "teleparse", - "thiserror", -] - -[[package]] -name = "deref-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4255bb7dd538590188bd0aea52e48bd699b19bd90b0d069ec2ced8461fe23273" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" - -[[package]] -name = "indexmap" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" -dependencies = [ - "equivalent", - "hashbrown", -] - -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "logos" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1ceb190eb9bdeecdd8f1ad6a71d6d632a50905948771718741b5461fb01e13" -dependencies = [ - "logos-derive", -] - -[[package]] -name = "logos-codegen" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90be66cb7bd40cb5cc2e9cfaf2d1133b04a3d93b72344267715010a466e0915a" -dependencies = [ - "beef", - "fnv", - "lazy_static", - "proc-macro2", - "quote", - "regex-syntax", - "syn 2.0.72", -] - -[[package]] -name = "logos-derive" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45154231e8e96586b39494029e58f12f8ffcb5ecf80333a603a13aa205ea8cbd" -dependencies = [ - "logos-codegen", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "phf" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" -dependencies = [ - "phf_macros", - "phf_shared", -] - -[[package]] -name = "phf_generator" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" -dependencies = [ - "phf_shared", - "rand", -] - -[[package]] -name = "phf_macros" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" -dependencies = [ - "phf_generator", - "phf_shared", - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "phf_shared" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" -dependencies = [ - "siphasher", -] - -[[package]] -name = "proc-macro-crate" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" -dependencies = [ - "toml_edit", -] - -[[package]] -name = "proc-macro2" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" - -[[package]] -name = "regex" -version = "1.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.72" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "teleparse" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80436d09591939259a48971e0958fa1f448ccfc52cd866aa6e3a2ac22f453a7a" -dependencies = [ - "deref-derive", - "derivative", - "itertools", - "logos", - "num", - "teleparse-macros", - "thiserror", -] - -[[package]] -name = "teleparse-macros" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806cb698e390e3ab8f6748c38431cc72c6484e70e80480d78e2d564fc9e99a47" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "regex", - "syn 2.0.72", -] - -[[package]] -name = "thiserror" -version = "1.0.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "toml_datetime" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" - -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap", - "toml_datetime", - "winnow", -] - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] diff --git a/next/botw-ist-command/Cargo.toml b/next/botw-ist-command/Cargo.toml deleted file mode 100644 index 9e4f407..0000000 --- a/next/botw-ist-command/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[package] -name = "botw-ist-command" -version = "0.0.0" -edition = "2021" - -[dependencies] -logos = "0.14.1" # not needed after teleparse fix the bug -phf = { version = "0.11.2", features = ["macros"] } -teleparse = "0.0.4" -thiserror = "1.0.63" diff --git a/next/botw-ist-command/src/item.rs b/next/botw-ist-command/src/item.rs deleted file mode 100644 index 10cb95b..0000000 --- a/next/botw-ist-command/src/item.rs +++ /dev/null @@ -1,40 +0,0 @@ -pub struct ItemStack { - item_type: u32, - item_use: u32, - value: i32, - equipped: bool, - in_inventory: bool, - name: String, - data: ItemCookData, - ingredients: [String; 5] -} - -#[repr(C)] -pub struct ItemCookData { - health_recover: i32, - effect_duration: i32, - sell_price: i32, - cook_effect: f32, - effect_level: f32 -} - -#[repr(C)] -pub struct ItemWeaponData { -} - -pub struct ItemMeta { - pub life: f32, - pub equip: bool, - pub price: u32, - pub hp: u32, - pub modifier: u32, // enum - pub upgrade: u32 -} - -#[derive(Debug, thiserror::Error)] -pub enum Error { - #[error("Invalid meta key: {0}")] - InvalidMetaKey(String), - #[error("Invalid meta value for key `{0}`: {1}")] - InvalidMetaValue(String, String), -} diff --git a/next/botw-ist-command/src/item_data.rs b/next/botw-ist-command/src/item_data.rs deleted file mode 100644 index 0a0cc0e..0000000 --- a/next/botw-ist-command/src/item_data.rs +++ /dev/null @@ -1,275 +0,0 @@ -#![allow(non_camel_case_types)] // non camel case to match closer to actor names -pub enum ItemCategoryRaw { - Weapon_Sword, // Weapon_Sword_XXX - Weapon_Lsword, // Weapon_Lsword_XXX - Weapon_Spear, // Weapon_Spear_XXX - Weapon_Bow, // Weapon_Bow_XXX - Weapon_Shield, // Weapon_Shield_XXX - Armor_Head, // Armor_XXX_Head - Armor_Upper, // Armor_XXX_Upper - Armor_Lower, // Armor_XXX_Lower - Item, // Item_ - Item_Cook, // Item_Cook - Key -} - -pub struct ItemDataRaw { - pub category: ItemCategoryRaw, - pub actor_name: &'static str, - pub item_name: &'static str, - pub search_term: &'static str, - pub priority: u32, - pub weapon_power: u32, - pub durability: u32, - pub armor_upgrade: u32, - pub stackable: bool, - pub bow_zoom: bool, - pub bow_multishot: bool, - pub bow_rapidfire: bool, -} - -impl ItemDataRaw { - pub const fn new_const(category: ItemCategoryRaw, actor_name: &'static str, item_name: &'static str) -> Self { - ItemDataRaw { - category, - actor_name, - item_name, - search_term: "", - priority: 0, - weapon_power: 0, - durability: 0, - armor_upgrade: 0, - stackable: false, - bow_zoom: false, - bow_multishot: false, - bow_rapidfire: false, - } - } - -} - -macro_rules! actor_name { - (Weapon_Sword $id:literal) => { - concat!("Weapon_Sword_", $id) - }; - (Weapon_Lsword $id:literal) => { - concat!("Weapon_Lsword_", $id) - }; - (Weapon_Spear $id:literal) => { - concat!("Weapon_Spear_", $id) - }; - (Weapon_Bow $id:literal) => { - concat!("Weapon_Bow_", $id) - }; - (Weapon_Shield $id:literal) => { - concat!("Weapon_Shield_", $id) - }; - (Armor_Head $id:literal) => { - concat!("Armor_", $id, "_Head") - }; - (Armor_Upper $id:literal) => { - concat!("Armor_", $id, "_Upper") - }; - (Armor_Lower $id:literal) => { - concat!("Armor_", $id, "_Lower") - }; - (Item $id:literal) => { - concat!("Item_", $id) - }; - (Item_Cook $id:literal) => { - concat!("Item_Cook_", $id) - }; - (Key $id:literal) => { - $id - }; -} - -macro_rules! item_data_raw { - ($type:ident $id:literal: $item_name:literal - $( {$($field:ident : $value:literal),*} )? -) => { - { - #[allow(unused_mut)] - let mut item = ItemDataRaw::new_const( - ItemCategoryRaw::$type, - actor_name!($type $id), - $item_name - ); - $( - $(item.$field = $value;)* - )? - item - } - } -} - -macro_rules! item_map { - ( - $( - $type:ident $id:literal: $item_name:literal - $( {$($field:ident : $value:literal),*} )? - -),* - ) => { - phf::phf_map! { - $( - $item_name => item_data_raw!($type $id: $item_name $( {$($field : $value),*} )?), - )* - } - } -} - -pub const ITEMS: phf::Map<&'static str, ItemDataRaw> = item_map! { - Weapon_Sword "070": "MasterSword" { durability: 40, weapon_power: 30 } -"Weapon_Sword_001": "Traveler's Sword", -// - TravelersSword:travelersword: -// durability: 20 - "Weapon_Sword_002": "Soldier's Broadsword", -// - SoldiersBroadsword:soldiersword: -// durability: 23 - "Weapon_Sword_003": "Knight's Broadsword", -// - KnightsBroadsword:knightsword: -// durability: 27 - "Weapon_Sword_004": "Boko Club", -// - BokoClub: -// durability: 12 - "Weapon_Sword_005": "Spiked Boko Club", -// - SpikedBokoClub: -// durability: 14 - "Weapon_Sword_006": "Dragonbone Boko Club", -// - DragonboneBokoClub: -// durability: 18 - "Weapon_Sword_007": "Lizal Boomerang", -// - LizalBoomerang: -// durability: 17 - "Weapon_Sword_008": "Lizal Forked Boomerang", -// - LizalForkedBoomerang: -// durability: 23 - "Weapon_Sword_009": "Lizal Tri-Boomerang", -// - LizalTriBoomerang: -// durability: 27 -// priority: 1 - "Weapon_Sword_013": "Guardian Sword", -// - GuardianSword: -// durability: 17 - "Weapon_Sword_014": "Guardian Sword+", -// - GuardianSwordPlus: -// durability: 26 - "Weapon_Sword_015": "Guardian Sword++", -// - GuardianSwordPlusPlus: -// durability: 32 - "Weapon_Sword_016": "Lynel Sword", -// - LynelSword: -// durability: 26 - "Weapon_Sword_017": "Mighty Lynel Sword", -// - MightyLynelSword: -// durability: 32 - "Weapon_Sword_018": "Savage Lynel Sword", -// - SavageLynelSword: -// durability: 41 - "Weapon_Sword_019": "Bokoblin Arm", -// - BokoblinArm: -// durability: 5 - "Weapon_Sword_020": "Lizalfos Arm", -// - LizalfosArm: -// durability: 8 - "Weapon_Sword_021": "Rusty Broadsword", -// - RustyBroadsword: -// durability: 8 - "Weapon_Sword_022": "Soup Ladle", -// - SoupLadle: -// durability: 5 -// priority: 1 - "Weapon_Sword_023": "Ancient Short Sword", -// - AncientShortSword: -// durability: 54 - "Weapon_Sword_024": "Royal Broadsword", -// - RoyalBroadsword:royalswordrsword: -// durability: 36 - "Weapon_Sword_025": "Forest Dweller's Sword", -// - ForestDwellersSword:fdsword: -// durability: 27 - "Weapon_Sword_027": "Zora Sword", -// - ZoraSword: -// durability: 27 - "Weapon_Sword_029": "Gerudo Scimitar", -// - GerudoScimitar: -// durability: 23 - "Weapon_Sword_030": "Moonlight Scimitar", -// - MoonlightScimitar: -// durability: 32 - "Weapon_Sword_031": "Feathered Edge", -// - FeatheredEdge: -// durability: 27 - "Weapon_Sword_033": "Flameblade", -// - Flameblade: -// durability: 36 - "Weapon_Sword_034": "Frostblade", -// - Frostblade: -// durability: 30 - "Weapon_Sword_035": "Thunderblade", -// - Thunderblade: -// durability: 36 - "Weapon_Sword_040": "Spring-Loaded Hammer", - "Weapon_Sword_041": "Eightfold Blade", -// - EightfoldBlade: -// durability: 26 - "Weapon_Sword_042": "Spring-Loaded Hammer", -// - SpringLoadedHammer: -// durability: 80 - "Weapon_Sword_043": "Torch", -// - Torch: -// durability: 8 -// priority: 1 - "Weapon_Sword_044": "Tree Branch", -// - TreeBranch: -// durability: 4 -// priority: 1 - "Weapon_Sword_047": "Royal Guard's Sword", -// - RoyalGuardsSword:rgsword: -// durability: 14 - "Weapon_Sword_048": "Meteor Rod", -// - MeteorRod: -// durability: 32 - "Weapon_Sword_049": "Blizzard Rod", -// - BlizzardRod: -// durability: 32 - "Weapon_Sword_050": "Thunderstorm Rod", -// - ThunderstormRod: -// durability: 32 - "Weapon_Sword_051": "Boomerang", -// - Boomerang: -// durability: 18 - "Weapon_Sword_052": "Scimitar of the Seven", -// - ScimitarOfTheSeven: -// durability: 60 - "Weapon_Sword_053": "Vicious Sickle", -// - ViciousSickle: -// durability: 14 - "Weapon_Sword_057": "Goddess Sword", -// - GoddessSword: -// durability: 45 - "Weapon_Sword_058": "Sword", -// - Sword: -// durability: 27 - "Weapon_Sword_059": "Sea-Breeze Boomerang", -// - SeaBreezeBoomerang: -// durability: 20 - "Weapon_Sword_060": "Fire Rod", -// - FireRod: -// durability: 14 - "Weapon_Sword_061": "Ice Rod", -// - IceRod: -// durability: 14 - "Weapon_Sword_062": "Lightning Rod", -// - LightningRod: -// durability: 14 - "Weapon_Sword_070": "Master Sword", - "Weapon_Sword_073": "Demon Carver", -// - DemonCarver: -// durability: 25 -"Weapon_Sword_502": "One-Hit Obliterator", -// - OneHitObliterator:oho: -// durability: 40 -}; - diff --git a/next/botw-ist-command/src/lib.rs b/next/botw-ist-command/src/lib.rs deleted file mode 100644 index c38c08e..0000000 --- a/next/botw-ist-command/src/lib.rs +++ /dev/null @@ -1,4 +0,0 @@ - -mod parse; -mod item; -mod item_data; diff --git a/next/botw-ist-command/src/parse.rs b/next/botw-ist-command/src/parse.rs deleted file mode 100644 index 2573c0c..0000000 --- a/next/botw-ist-command/src/parse.rs +++ /dev/null @@ -1,100 +0,0 @@ -use teleparse::prelude::*; - -#[derive_lexicon] -#[teleparse(ignore(r"\s+"))] -pub enum TT { - #[teleparse( - regex(r"[a-zA-Z]+"), - terminal( - TWord, - TInit = "init", - TInitialize = "initialize", - TAll = "all", - TInitGameData = "initgamedata", - ) - )] - Word, - - #[teleparse(regex(r"\d+"), terminal(TNumber))] - Number, - - #[teleparse(terminal( - TEq = "=", - TColon = ":", - TBracketOpen = "[", - TBracketClose = "]", - TComma = ",", - ))] - Symbol -} - -pub enum SCommand { -} - -#[derive_syntax] -#[teleparse(root)] -pub struct SCmdInit { - pub kw_init: SInit, - pub items: SNumberedItemList, -} - -#[derive_syntax] -pub enum SNumberedItemList { - Single(SItem), - List(tp::Vec), -} - -#[derive_syntax] -pub struct SItem { - pub name: tp::Nev, - pub meta: tp::Option, -} - -#[derive_syntax] -pub struct SNumberedItem { - pub num: TNumber, - pub item: SItem, -} - -#[derive_syntax] -pub struct SMeta { - pub sym_open: TBracketOpen, - pub items: tp::Punct, - pub sym_close: TBracketClose, -} - -#[derive_syntax] -pub struct SMetaKeyValue { - pub key: TWord, - pub value: tp::Option, -} - -#[derive_syntax] -pub struct SMetaValue { - pub sep: SMetaSep, - pub value: SWordOrNum, -} - -#[derive_syntax] -pub enum SMetaSep { - Colon(TColon), - Eq(TEq), -} - -#[derive_syntax] -pub enum SWordOrNum { - Word(TWord), - Number(TNumber), -} - -#[derive_syntax] -pub enum SInit { - Init(TInit), - Initialize(TInitialize), -} - -// #[derive_syntax] -// pub enum SAmountOrAll { -// Amount(TNumber), -// All(TAll), -// } diff --git a/packages/item-system/.gitignore b/packages/item-system/.gitignore index 07e6e47..784c1db 100644 --- a/packages/item-system/.gitignore +++ b/packages/item-system/.gitignore @@ -1 +1,5 @@ /node_modules +/src/generated +/dist +*.png +*.webp diff --git a/packages/item-system/.prettierignore b/packages/item-system/.prettierignore new file mode 100644 index 0000000..99e6073 --- /dev/null +++ b/packages/item-system/.prettierignore @@ -0,0 +1,2 @@ +*.yaml +*.yml diff --git a/packages/item-system/Taskfile.yml b/packages/item-system/Taskfile.yml new file mode 100644 index 0000000..444ff20 --- /dev/null +++ b/packages/item-system/Taskfile.yml @@ -0,0 +1,45 @@ +version: '3' + +includes: + ecma: + taskfile: ../mono-dev/task/ecma.yaml + internal: true + +tasks: + dev: + desc: Run test page dev server + cmds: + - task: ecma:vite-dev + + build: + cmds: + - $(which mkdir) -p src/generated + - python scripts/generate.py + - task: ecma:prettier-fix + + check: + cmds: + - task: ecma:tsc-check-build + - task: ecma:eslint-check + - task: ecma:prettier-check + + fix: + cmds: + - task: ecma:eslint-fix + - task: ecma:prettier-fix + + test: + cmds: + - task: ecma:vite-build + + push-artifacts: + cmds: + - gcloud storage cp src/generated/*.ts gs://ist-private/artifacts/skybook-item-system/ + + pull-artifacts: + cmds: + - $(which mkdir) -p src/generated + - gcloud storage cp gs://ist-private/artifacts/skybook-item-system/*.ts src/generated + - gcloud storage cp gs://ist-private/images/SheikahBackground.png src/images + + diff --git a/packages/item-system/eslint.config.js b/packages/item-system/eslint.config.js new file mode 100644 index 0000000..abbaa1b --- /dev/null +++ b/packages/item-system/eslint.config.js @@ -0,0 +1,6 @@ +import { config } from "mono-dev/eslint"; + +export default config({ + ignores: [], + tsconfigRootDir: import.meta.dirname, +}); diff --git a/packages/item-system/index.html b/packages/item-system/index.html index ebdc13e..c28d39b 100644 --- a/packages/item-system/index.html +++ b/packages/item-system/index.html @@ -1,12 +1,12 @@ - - - - Item Slots Test - - -
- - + + + + Item Slots Test + + +
+ + diff --git a/packages/item-system/package.json b/packages/item-system/package.json index 5f39276..98678f5 100644 --- a/packages/item-system/package.json +++ b/packages/item-system/package.json @@ -1,23 +1,28 @@ { - "name": "skybook-item-system", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "tsc -b && vite build", - "lint": "eslint .", - "preview": "vite preview" - }, - "dependencies": { - "@fluentui/react-components": "*", - "@fluentui/react-icons": "*", - "react": "*", - "react-dom": "*", - "skybook-item-assets": "*", - "skybook-localization": "*" - }, - "exports": { - ".": "./src/index.ts" - } + "name": "skybook-item-system", + "private": true, + "version": "0.0.0", + "type": "module", + "exports": { + ".": "./src/index.ts" + }, + "dependencies": { + "@fluentui/react-components": "catalog:", + "@fluentui/react-icons": "catalog:", + "react": "catalog:", + "react-dom": "catalog:", + "botw-item-assets": "workspace:*", + "skybook-localization": "workspace:*" + }, + "devDependencies": { + "@modyfi/vite-plugin-yaml": "catalog:", + "@types/react": "catalog:", + "@types/react-dom": "catalog:", + "@vitejs/plugin-react": "catalog:", + "eslint": "catalog:", + "mono-dev": "workspace:*", + "react-dom": "catalog:", + "typescript": "catalog:", + "vite": "catalog:" + } } diff --git a/packages/item-system/scripts/generate.py b/packages/item-system/scripts/generate.py index e69de29..2eabb95 100644 --- a/packages/item-system/scripts/generate.py +++ b/packages/item-system/scripts/generate.py @@ -0,0 +1,154 @@ +import yaml +import os +import multiprocessing +import json +SELF_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) +RESEARCH_SCRIPTS_DIR = os.path.join(os.path.dirname(SELF_DIR), "research-scripts") +if not os.path.exists(RESEARCH_SCRIPTS_DIR): + raise Exception(f"botw-research-scripts not found: {RESEARCH_SCRIPTS_DIR}") +import sys +sys.path.append(os.path.join(RESEARCH_SCRIPTS_DIR, "src")) +import spp # type: ignore + +HEADER = """ +/** + * This file is generated by generate-param.py + * DO NOT EDIT MANUALLY + */ +import type { ActorData } from "../data/ActorData.ts"; + +export const ActorDataMap: Record> = JSON.parse(`""" + +def main(): + actor_dir = os.path.join(RESEARCH_SCRIPTS_DIR, "output", "Actor") + actor_files = [os.path.join(actor_dir, f) for f in os.listdir(actor_dir) ] + + progress = spp.printer(len(actor_files), "Load actor files") + actor_data = {} + with multiprocessing.Pool() as pool: + for (i, result) in enumerate(pool.imap_unordered(process_actor, actor_files)): + progress.update(i) + if result: + actor, data = result + actor_data[actor] = data + progress.done() + + output_path = os.path.join(SELF_DIR, "src", "generated", "ActorDataMap.ts") + with open(output_path, "w", encoding="utf-8", newline="\n") as f: + f.write(HEADER) + json_data = json.dumps(actor_data, sort_keys=True, separators=(',', ':')) + f.write(json_data) + f.write("`);\n") + +def process_actor(actor_file) -> tuple[str, dict] | None: + with open(actor_file, "r", encoding="utf-8") as f: + actor = yaml.safe_load(f) + + if not actor["profile"]: + return None + + profile = actor["profile"] + + data = {} + + for tag in actor["tags"]: + if tag == "CanStack": + data["canStack"] = True + if tag == "CannotSell": + data["cannotSell"] = True + + gparam = actor["gparamlist"] + if gparam: + if "armorEffectEffectType" in gparam: + effect_type = gparam["armorEffectEffectType"] + data["armorEffectEffectType"] = effect_type + # See item-system/src/data/enums.ts + EFFECT_MAP = { + "AttackUp": 8, + "ClimbSpeed": 9, + "ClimbSpeedAndBeamPowerUp": 9, + "ResistAncient": 19, + "ResistElectric": 21, + "ResistCold": 20, + "ResistColdAndResistAncient": 20, + "Quietness": 17, + "SwimSpeed": 29, + "SwimSpeedAndResistAncient": 29, + "SnowMove": 26, + "ResistBurn": 13, + "ResistBurnAndResistAncient": 13, + "ResistElectricAndResistAncient": 21, + "ResistHot": 23, + "ResistHotAndWakeWind": 23, + "SandMove": 25, + "ResistLightning": 24, + "ResistFreeze": 22, + } + if effect_type not in EFFECT_MAP: + raise ValueError(f"Armor effect type not mapped: {effect_type}") + data["specialStatus"] = EFFECT_MAP[effect_type] + if "bowIsLeadShot" in gparam: + data["specialStatus"] = 27 + if "bowIsRapidFire" in gparam and gparam["bowIsRapidFire"]: + if "bowRapidFireNum" in gparam and gparam["bowRapidFireNum"] > 0: + data["bowRapidFireNum"] = gparam["bowRapidFireNum"] + if "bowLeadShotNum" in gparam and gparam["bowLeadShotNum"] > 0: + data["bowLeadShotNum"] = gparam["bowLeadShotNum"] + if "bowLeadShotAng" in gparam: + data["bowLeadShotAng"] = gparam["bowLeadShotAng"] + if "bowLeadShotInterval" in gparam: + data["bowLeadShotInterval"] = gparam["bowLeadShotInterval"] + if "bowArrowFirstSpeed" in gparam: + data["bowArrowFirstSpeed"] = gparam["bowArrowFirstSpeed"] + if "bowArrowStabilitySpeed" in gparam: + data["bowArrowStabilitySpeed"] = gparam["bowArrowStabilitySpeed"] + if "bowArrowGravity" in gparam: + data["bowArrowGravity"] = gparam["bowArrowGravity"] + if "bowIsLongRange" in gparam and gparam["bowIsLongRange"]: + data["bowIsLongRange"] = gparam["bowIsLongRange"] + if "bowArrowChargeRate" in gparam: + data["bowArrowChargeRate"] = gparam["bowArrowChargeRate"] + if "bowArrowReloadRate" in gparam: + data["bowArrowReloadRate"] = gparam["bowArrowReloadRate"] + if "bowIsGuardPierce" in gparam and gparam["bowIsGuardPierce"]: + data["bowIsGuardPierce"] = gparam["bowIsGuardPierce"] + if "attackPower" in gparam: + data["attackPower"] = gparam["attackPower"] + if "attackRange" in gparam: + data["attackRange"] = gparam["attackRange"] + if "generalLife" in gparam: + data["generalLife"] = gparam["generalLife"] + if "genrealIsLifeInfinite" in gparam: + data["genrealIsLifeInfinite"] = gparam["genrealIsLifeInfinite"] + if "itemSellingPrice" in gparam: + data["itemSellingPrice"] = gparam["itemSellingPrice"] + if "itemBuyingPrice" in gparam: + data["itemBuyingPrice"] = gparam["itemBuyingPrice"] + if "itemCreatingPrice" in gparam: + data["itemCreatingPrice"] = gparam["itemCreatingPrice"] + if "itemStainColor" in gparam: + data["itemStainColor"] = gparam["itemStainColor"] + if "weaponCommonGuardPower" in gparam: + data["weaponCommonGuardPower"] = gparam["weaponCommonGuardPower"] + if "armorStarNum" in gparam: + data["armorStarNum"] = gparam["armorStarNum"] + if "armorDefenceAddLevel" in gparam: + data["armorDefenceAddLevel"] = gparam["armorDefenceAddLevel"] + + if not data: + return None + + # filter out if it only has generalLife (some animals) + if len(data) == 1 and "generalLife" in data: + return None + + # filter out if it only has attackPower and life (some animals) + if len(data) == 2 and "attackPower" in data and "generalLife" in data: + return None + + data["profile"] = profile + + return actor["actor"], data + +if __name__ == "__main__": + main() diff --git a/packages/item-system/src/CalamitySans.css b/packages/item-system/src/CalamitySans.css index a5d8e18..20ccc01 100644 --- a/packages/item-system/src/CalamitySans.css +++ b/packages/item-system/src/CalamitySans.css @@ -2,4 +2,3 @@ font-family: CalamitySans; src: url("./Calamity-Regular.otf") format("opentype"); } - diff --git a/packages/item-system/src/ItemSlot.tsx b/packages/item-system/src/ItemSlot.tsx index 60fe722..6caeb8e 100644 --- a/packages/item-system/src/ItemSlot.tsx +++ b/packages/item-system/src/ItemSlot.tsx @@ -1,11 +1,14 @@ import "./CalamitySans.css"; -import { makeStyles, mergeClasses } from "@griffel/react"; -import { Text } from "@fluentui/react-components"; +import { Text, makeStyles, mergeClasses } from "@fluentui/react-components"; -import { ActorSprite, ActorSpriteProps, ModifierSprite } from "skybook-item-assets"; +import { + ActorSprite, + type ActorSpriteProps, + ModifierSprite, +} from "botw-item-assets"; import { type ItemSlotInfo } from "./data/ItemSlotInfo.ts"; -import { Link24Regular, Link32Regular } from "@fluentui/react-icons"; +import { Link32Regular } from "@fluentui/react-icons"; import { CookEffect, PouchItemType, SpecialStatus } from "./data/enums.ts"; import { getModifierInfo } from "./data/ModifierInfo.ts"; import { getActorParam } from "./data/ActorData.ts"; @@ -17,7 +20,7 @@ const useStyles = makeStyles({ height: "72px", "& *": { pointerEvents: "none", - } + }, }, broken: { backgroundColor: "#660000", @@ -53,7 +56,8 @@ const useStyles = makeStyles({ }, equipped: { backgroundColor: "#0088ff", - boxShadow: "inset -2px -2px 5px 0px #ffffffaa, inset 2px 2px 5px 0px #ffffffaa" + boxShadow: + "inset -2px -2px 5px 0px #ffffffaa, inset 2px 2px 5px 0px #ffffffaa", }, layer: { // dimension of the slot, including spaces outside of the box @@ -83,7 +87,7 @@ const useStyles = makeStyles({ itemCountShadow: { // make it more readable over the image textShadow: "1px 1px #000000", - }, + }, overlayText: { color: "#eeeeee", backgroundColor: "#333b", @@ -99,7 +103,7 @@ const useStyles = makeStyles({ top: "1px", flex: "1", textAlign: "center", - } + }, }, durability: { padding: "0px 2px", @@ -141,7 +145,7 @@ const useStyles = makeStyles({ "50%": { opacity: 0, }, - } + }, }, modifierOverlay: { top: "2px", @@ -159,15 +163,23 @@ const useStyles = makeStyles({ }, modifierTextBeginPad: { paddingLeft: "2px", - } + }, }); export type ItemSlotProps = { info: ItemSlotInfo; -} & Pick; +} & Pick< + ActorSpriteProps, + "cheap" | "blank" | "powered" | "deactive" | "disableAnimation" +>; /** The Item slot display */ -export const ItemSlot: React.FC = ({ info, cheap, deactive, disableAnimation }) => { +export const ItemSlot: React.FC = ({ + info, + cheap, + deactive, + disableAnimation, +}) => { const styles = useStyles(); const { actorName, @@ -178,14 +190,17 @@ export const ItemSlot: React.FC = ({ info, cheap, deactive, disab isInBrokenSlot, isInInventory, holdingCount, - promptEntangled + promptEntangled, } = info; disableAnimation = disableAnimation || cheap; const canStack = getActorParam(actorName, "canStack"); - const isEquipment = itemType === PouchItemType.Sword || itemType === PouchItemType.Shield || itemType === PouchItemType.Bow; + const isEquipment = + itemType === PouchItemType.Sword || + itemType === PouchItemType.Shield || + itemType === PouchItemType.Bow; const badlyDamaged = isEquipment && value < 300; const modifier = getModifierInfo(info); @@ -196,21 +211,34 @@ export const ItemSlot: React.FC = ({ info, cheap, deactive, disab className={mergeClasses( styles.layer, isInBrokenSlot && styles.broken, - !isInInventory && styles.imageTranslucent + !isInInventory && styles.imageTranslucent, )} // style={{ zIndex: 1 }} > -
-
0 ? styles.boxInsideHighlightBorder : styles.boxInsideBorder, - isEquipped && styles.equipped - )} >
+
+ {" "} +
+
0 + ? styles.boxInsideHighlightBorder + : styles.boxInsideBorder, + isEquipped && styles.equipped, + )} + > + {" "} +
- = ({ info, cheap, deactive, disab badlyDamaged={badlyDamaged} />
- {holdingCount > 0 && + {holdingCount > 0 && (
{/* Using DOM instead of Unicode, in case user is missing font */}
- { - Array.from({ length: holdingCount }).map((_, i) => ( - - )) - } + {Array.from({ length: holdingCount }).map((_, i) => ( + + ))}
- } - { - isEquipment && -
- + )} + {isEquipment && ( +
+ {formatDurability(value)} - -
- } - { +
+ )} + { // > 1 for displaying corrupted stacks - !isEquipment && (canStack || value > 1) && -
- x{value} + !isEquipment && (canStack || value > 1) && ( +
+ + x{value} +
- - } - { - promptEntangled &&<> -
- + ) + } + {promptEntangled && ( + <> +
+
-
- +
+
-
- +
+
-
- +
+
- } - { - (!!modifier.iconValue || modifier.status !== SpecialStatus.None) && ( -
- - { - modifier.status !== SpecialStatus.None && modifier.statusIcon && ( -
- -
- ) - } - { - modifier.iconValue && ( - {modifier.iconValue} - ) - } -
-
- ) - } + )} + {(!!modifier.iconValue || + modifier.status !== SpecialStatus.None) && ( +
+ + {modifier.status !== SpecialStatus.None && + modifier.statusIcon && ( +
+ +
+ )} + {modifier.iconValue && ( + + {modifier.iconValue} + + )} +
+
+ )}
); }; @@ -301,4 +373,4 @@ const formatDurability = (value: number): string => { return durability.toString(); } return durability.toFixed(2); -} +}; diff --git a/packages/item-system/src/ItemTooltip.tsx b/packages/item-system/src/ItemTooltip.tsx index 2b883ff..0486237 100644 --- a/packages/item-system/src/ItemTooltip.tsx +++ b/packages/item-system/src/ItemTooltip.tsx @@ -1,17 +1,12 @@ -import React, { - useEffect, - useState, - PropsWithChildren, -} from "react"; +import React, { type PropsWithChildren } from "react"; import type { ItemTooltipContentProps } from "./ItemTooltipContent.tsx"; -import { useSetItemTooltip } from "./ItemTooltipProvider.tsx"; +import { useSetItemTooltip } from "./ItemTooltipContext.ts"; /** Wrapper to show tooltip for an ItemSlot */ -export const ItemTooltip: React.FC> = ({ - info, - children, -}) => { +export const ItemTooltip: React.FC< + PropsWithChildren +> = ({ info, children }) => { const setTooltip = useSetItemTooltip(); return ( diff --git a/packages/item-system/src/ItemTooltipContent.tsx b/packages/item-system/src/ItemTooltipContent.tsx index 20f9baa..b1edd71 100644 --- a/packages/item-system/src/ItemTooltipContent.tsx +++ b/packages/item-system/src/ItemTooltipContent.tsx @@ -1,71 +1,96 @@ -import { makeStyles, mergeClasses } from "@griffel/react"; -import { Text } from "@fluentui/react-components"; +import { Text, makeStyles, mergeClasses } from "@fluentui/react-components"; -import { ModifierSprite, useStaticAssetStyles } from "skybook-item-assets"; -import { useGeneratedTranslation, useUITranslation } from "skybook-localization"; +import { ModifierSprite } from "botw-item-assets"; +import { + useGeneratedTranslation, + useUITranslation, +} from "skybook-localization"; + +import { useStaticAssetStyles } from "./images"; import type { ItemSlotInfo } from "./data/ItemSlotInfo.ts"; -import { CookEffect, effectToStatus, ItemUse, PouchItemType, SpecialStatus } from "./data/enums.ts"; +import { + CookEffect, + effectToStatus, + ItemUse, + PouchItemType, + SpecialStatus, +} from "./data/enums.ts"; import { getActorParam } from "./data/ActorData.ts"; import { Star16Filled, Star20Filled } from "@fluentui/react-icons"; import { getModifierInfo } from "./data/ModifierInfo.ts"; export type ItemTooltipContentProps = { info: ItemSlotInfo; -} +}; const useStyles = makeStyles({ text: { color: "white", - } + }, }); -export const ItemTooltipContent: React.FC = -({ info }) => { +export const ItemTooltipContent: React.FC = ({ + info, +}) => { const staticAssets = useStaticAssetStyles(); const styles = useStyles(); const t = useGeneratedTranslation(); const ui = useUITranslation(); - const { actorName, modEffectId, value, isEquipped, isInInventory - ,holdingCount, itemType,itemUse, modEffectValue, modEffectLevel, - modEffectDuration ,modSellPrice + const { + actorName, + modEffectId, + value, + isEquipped, + isInInventory, + holdingCount, + itemType, + itemUse, + modEffectValue, + modEffectLevel, + modEffectDuration, + modSellPrice, } = info; let nameTranslationArgs; const cookEffectName = CookEffect[modEffectId]; if (cookEffectName && modEffectId > 0) { - nameTranslationArgs = { - effect: t(`cook.${cookEffectName}.name`), - effect_feminine: t(`cook.${cookEffectName}.name_feminine`), - effect_masculine: t(`cook.${cookEffectName}.name_masculine`), - effect_neuter: t(`cook.${cookEffectName}.name_neuter`), - effect_plural: t(`cook.${cookEffectName}.name_plural`), - }; + nameTranslationArgs = { + effect: t(`cook.${cookEffectName}.name`), + effect_feminine: t(`cook.${cookEffectName}.name_feminine`), + effect_masculine: t(`cook.${cookEffectName}.name_masculine`), + effect_neuter: t(`cook.${cookEffectName}.name_neuter`), + effect_plural: t(`cook.${cookEffectName}.name_plural`), + }; } else { - nameTranslationArgs = { - effect: "", - effect_femenine: "", - effect_masculine: "", - effect_neuter: "", - effect_plural: "", - }; + nameTranslationArgs = { + effect: "", + effect_femenine: "", + effect_masculine: "", + effect_neuter: "", + effect_plural: "", + }; } const starNum = getActorParam(actorName, "armorStarNum"); - const isEquipment = itemType === PouchItemType.Sword || itemType === PouchItemType.Bow ||itemType === PouchItemType.Shield; + const isEquipment = + itemType === PouchItemType.Sword || + itemType === PouchItemType.Bow || + itemType === PouchItemType.Shield; const isFood = itemType === PouchItemType.Food; const modifier = getModifierInfo(info); const foodStatus = effectToStatus(modEffectId); - + return (
{t(`actor.${actorName}.name`, nameTranslationArgs)} - {starNum > 1 && Array.from({length: starNum - 1}).map((_, i) => ( - - ))} + {starNum > 1 && + Array.from({ length: starNum - 1 }).map((_, i) => ( + + ))} {actorName} @@ -73,150 +98,145 @@ export const ItemTooltipContent: React.FC = {ui("tooltip.value", { value })} - { - isEquipped && ( + {isEquipped && ( - {ui("tooltip.equipped")} + {ui("tooltip.equipped")} - ) - } - { - !isInInventory && ( + )} + {!isInInventory && ( - {ui("tooltip.translucent")} + {ui("tooltip.translucent")} - ) - } - { - holdingCount > 0 && ( + )} + {holdingCount > 0 && ( - {ui("tooltip.holding", { holding: holdingCount })} + {ui("tooltip.holding", { holding: holdingCount })} - ) - } - { - isEquipment && modifier.details.map(({status,statusIcon, modifierValue}, i) => ( - - - - {t(`status.${SpecialStatus[status]}`, { modifier_value: modifierValue })} - - - )) - } + )} + {isEquipment && + modifier.details.map( + ({ status, statusIcon, modifierValue }, i) => ( + + + + {t(`status.${SpecialStatus[status]}`, { + modifier_value: modifierValue, + })} + + + ), + )} { // Hearts isFood && ( - - - { - modEffectId === CookEffect.LifeMaxUp ? ( + + + {modEffectId === CookEffect.LifeMaxUp ? ( <> - - +{modEffectValue}{" "} - { - t(`status.${SpecialStatus[foodStatus]}`) - } - - ) : ( + + + {modEffectValue}{" "} + {t( + `status.${SpecialStatus[foodStatus]}`, + )} + + ) : ( <> - - +{modEffectValue / 4} - - ) - } + + + {modEffectValue / 4} + + )} - + ) } { // Stamina/Endura - isFood && (modEffectId === CookEffect.GutsRecover || modEffectId===CookEffect.ExGutsMaxUp) && ( - - - - +{modEffectLevel}{" "} - { - t(`status.${SpecialStatus[foodStatus]}`) - } - - - ) + isFood && + (modEffectId === CookEffect.GutsRecover || + modEffectId === CookEffect.ExGutsMaxUp) && ( + + + + +{modEffectLevel}{" "} + {t(`status.${SpecialStatus[foodStatus]}`)} + + + ) } { // Timed effects - isFood && ( - modEffectId !== CookEffect.None - && modEffectId !== CookEffect.LifeMaxUp - && modEffectId !== CookEffect.LifeRecover - && modEffectId !== CookEffect.GutsRecover - && modEffectId !== CookEffect.ExGutsMaxUp) && ( - - - { - (modEffectLevel < 4 && Number.isInteger(modEffectLevel)) ? ( - (Array.from({length: modEffectLevel})).map((_, i) => ( - + isFood && + modEffectId !== CookEffect.None && + modEffectId !== CookEffect.LifeMaxUp && + modEffectId !== CookEffect.LifeRecover && + modEffectId !== CookEffect.GutsRecover && + modEffectId !== CookEffect.ExGutsMaxUp && ( + + + {modEffectLevel < 4 && + Number.isInteger(modEffectLevel) ? ( + Array.from({ + length: modEffectLevel, + }).map((_, i) => ( + )) ) : ( - <> - - Lv. {modEffectLevel} - - ) - } - { - t(`status.${SpecialStatus[foodStatus]}`) - } - { - modEffectDuration >= 3600 ? - new Date(modEffectDuration * 1000).toLocaleTimeString("en-US", { - timeZone: "UTC", - hour12: false, - hour: "2-digit", - minute: "2-digit", - second: "2-digit", - }) - : - new Date(modEffectDuration * 1000).toLocaleTimeString("en-US", { - timeZone: "UTC", - hour12: false, - minute: "2-digit", - second: "2-digit", - }) - } - - - ) + <> + + Lv. {modEffectLevel} + + )} + {t(`status.${SpecialStatus[foodStatus]}`)} + {modEffectDuration >= 3600 + ? new Date( + modEffectDuration * 1000, + ).toLocaleTimeString("en-US", { + timeZone: "UTC", + hour12: false, + hour: "2-digit", + minute: "2-digit", + second: "2-digit", + }) + : new Date( + modEffectDuration * 1000, + ).toLocaleTimeString("en-US", { + timeZone: "UTC", + hour12: false, + minute: "2-digit", + second: "2-digit", + })} + + + ) } - { - isFood && ( + {isFood && ( - {ui("tooltip.cook.price", { price: modSellPrice })} + {ui("tooltip.cook.price", { price: modSellPrice })} - ) - } - - { - itemType in PouchItemType ? PouchItemType[itemType] : "???" - } + )} + + {itemType in PouchItemType + ? PouchItemType[itemType] + : "???"} {`[${itemType}]/`} - { - itemUse in ItemUse ? ItemUse[itemUse] : "???" - } + {itemUse in ItemUse ? ItemUse[itemUse] : "???"} {`[${itemUse}]`} - + {getActorParam(actorName, "profile")} -
-
-
-
-
+
+
- ) + ); }; diff --git a/packages/item-system/src/ItemTooltipContext.ts b/packages/item-system/src/ItemTooltipContext.ts new file mode 100644 index 0000000..fe8733e --- /dev/null +++ b/packages/item-system/src/ItemTooltipContext.ts @@ -0,0 +1,17 @@ +import { createContext, useContext } from "react"; + +import type { ItemSlotInfo } from "./data/ItemSlotInfo.ts"; + +export type SetItemTooltipFn = ( + x: number, + y: number, + info: ItemSlotInfo | undefined, +) => void; + +export const ItemTooltipContext = createContext(() => { + /* empty */ +}); + +export const useSetItemTooltip = () => { + return useContext(ItemTooltipContext); +}; diff --git a/packages/item-system/src/ItemTooltipProvider.tsx b/packages/item-system/src/ItemTooltipProvider.tsx index ec71c71..5b0137e 100644 --- a/packages/item-system/src/ItemTooltipProvider.tsx +++ b/packages/item-system/src/ItemTooltipProvider.tsx @@ -1,64 +1,67 @@ -import { type PropsWithChildren, createContext, useRef, useState, useCallback, useEffect, useContext, useLayoutEffect, Suspense } from "react"; -import { makeStyles, mergeClasses } from "@griffel/react"; - -import { useStaticAssetStyles } from "skybook-item-assets"; +import { type PropsWithChildren, useRef, useState, useCallback } from "react"; +import { makeStyles, mergeClasses } from "@fluentui/react-components"; +import { useStaticAssetStyles } from "./images"; import type { ItemSlotInfo } from "./data/ItemSlotInfo.ts"; import { ItemTooltipContent } from "./ItemTooltipContent.tsx"; - -export type SetItemTooltipFn = (x: number, y: number, info: ItemSlotInfo | undefined) => void; +import { + ItemTooltipContext, + type SetItemTooltipFn, +} from "./ItemTooltipContext.ts"; const useStyles = makeStyles({ container: { position: "absolute", - } -}); - -const ItemTooltipContext = createContext(() => { - /* empty */ + }, }); /** Provider for the ItemTooltipContext */ -export const ItemTooltipProvider: React.FC = ({ children }) => { +export const ItemTooltipProvider: React.FC = ({ + children, +}) => { const staticAssets = useStaticAssetStyles(); const styles = useStyles(); const toolTipDivRef = useRef(null); const [tooltipInfo, setTooltipInfo] = useState(); - const setTooltip: SetItemTooltipFn = useCallback( - (x , y, info) => { - if (!toolTipDivRef.current) { - return; - } - const tooltipDiv = toolTipDivRef.current; - if (info === undefined) { - tooltipDiv.style.display = "none"; - return; - } - tooltipDiv.style.display = "unset"; - // This might initially be wrong the first time - // the info is changed. However, most of the time, it will be - // called again with the correct x and y when the mouse moves. - positionTooltipDiv(tooltipDiv, x, y); - setTooltipInfo(info); - }, - [tooltipInfo], - ); + const setTooltip: SetItemTooltipFn = useCallback((x, y, info) => { + if (!toolTipDivRef.current) { + return; + } + const tooltipDiv = toolTipDivRef.current; + if (info === undefined) { + tooltipDiv.style.display = "none"; + return; + } + tooltipDiv.style.display = "unset"; + // This might initially be wrong the first time + // the info is changed. However, most of the time, it will be + // called again with the correct x and y when the mouse moves. + positionTooltipDiv(tooltipDiv, x, y); + setTooltipInfo(info); + }, []); return ( {children} -
+
{tooltipInfo && } -
+
); }; -const positionTooltipDiv = (tooltipDiv: HTMLDivElement, x: number, y: number) => { +const positionTooltipDiv = ( + tooltipDiv: HTMLDivElement, + x: number, + y: number, +) => { x += 10; y += 10; const oldX = x; @@ -78,14 +81,10 @@ const positionTooltipDiv = (tooltipDiv: HTMLDivElement, x: number, y: number) => if (y < 0) { y = 0; } - if (x !== oldX) { + if (x !== oldX) { tooltipDiv.style.left = `${x}px`; } if (y !== oldY) { tooltipDiv.style.top = `${y}px`; } -} - -export const useSetItemTooltip = () => { - return useContext(ItemTooltipContext); -} +}; diff --git a/packages/item-system/src/data/ActorData.gen.ts b/packages/item-system/src/data/ActorData.gen.ts deleted file mode 100644 index 0ec0809..0000000 --- a/packages/item-system/src/data/ActorData.gen.ts +++ /dev/null @@ -1,8 +0,0 @@ - -/** - * This file is generated by generate-param.py - * DO NOT EDIT MANUALLY - */ -import type { ActorData } from "./ActorData.ts"; - -export const ActorDataMap: Record> = JSON.parse(`{"AncientArrow":{"attackPower":50,"canStack":true,"cannotSell":true,"itemBuyingPrice":100,"itemCreatingPrice":90,"profile":"Bullet"},"Animal_Fish_A":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"profile":"CapturedActor"},"Animal_Fish_B":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":72,"itemSellingPrice":18,"profile":"CapturedActor"},"Animal_Fish_C":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"profile":"CapturedActor"},"Animal_Fish_D":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"profile":"CapturedActor"},"Animal_Fish_E":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"CapturedActor"},"Animal_Fish_F":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"CapturedActor"},"Animal_Fish_G":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"CapturedActor"},"Animal_Fish_H":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"CapturedActor"},"Animal_Fish_I":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"CapturedActor"},"Animal_Fish_J":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"profile":"CapturedActor"},"Animal_Fish_K":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":60,"itemSellingPrice":15,"profile":"CapturedActor"},"Animal_Fish_L":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":72,"itemSellingPrice":18,"profile":"CapturedActor"},"Animal_Fish_M":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"profile":"CapturedActor"},"Animal_Fish_X":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"CapturedActor"},"Animal_Fish_Z":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":80,"itemSellingPrice":20,"profile":"CapturedActor"},"Animal_Insect_A":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"itemStainColor":7,"profile":"CapturedActor"},"Animal_Insect_AA":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":150,"itemSellingPrice":30,"itemStainColor":3,"profile":"CapturedActor"},"Animal_Insect_AB":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"itemStainColor":15,"profile":"CapturedActor"},"Animal_Insect_B":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":100,"itemSellingPrice":20,"itemStainColor":12,"profile":"CapturedActor"},"Animal_Insect_C":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"itemStainColor":1,"profile":"CapturedActor"},"Animal_Insect_E":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"itemStainColor":6,"profile":"CapturedActor"},"Animal_Insect_F":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"profile":"CapturedActor"},"Animal_Insect_G":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":4,"itemStainColor":9,"profile":"CapturedActor"},"Animal_Insect_H":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"itemStainColor":7,"profile":"CapturedActor"},"Animal_Insect_I":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"itemStainColor":3,"profile":"CapturedActor"},"Animal_Insect_K":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":32,"itemSellingPrice":8,"profile":"CapturedActor"},"Animal_Insect_M":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":100,"itemSellingPrice":20,"itemStainColor":1,"profile":"CapturedActor"},"Animal_Insect_N":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"itemStainColor":1,"profile":"CapturedActor"},"Animal_Insect_O":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":32,"itemSellingPrice":8,"profile":"CapturedActor"},"Animal_Insect_P":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":4,"itemStainColor":7,"profile":"CapturedActor"},"Animal_Insect_Q":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"itemStainColor":2,"profile":"CapturedActor"},"Animal_Insect_R":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"itemStainColor":3,"profile":"CapturedActor"},"Animal_Insect_S":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"itemStainColor":14,"profile":"CapturedActor"},"Animal_Insect_T":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":2,"itemStainColor":2,"profile":"CapturedActor"},"Animal_Insect_X":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":25,"itemSellingPrice":5,"itemStainColor":15,"profile":"CapturedActor"},"Animal_Insect_Z":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"CapturedActor"},"Armor_001_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":15,"profile":"ArmorHead"},"Armor_001_Head_B":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":15,"profile":"ArmorHead"},"Armor_001_Lower":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":90,"itemCreatingPrice":0,"itemSellingPrice":25,"profile":"ArmorLower"},"Armor_001_Upper":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":120,"itemCreatingPrice":0,"itemSellingPrice":30,"profile":"ArmorUpper"},"Armor_002_Head":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":75,"itemCreatingPrice":0,"itemSellingPrice":20,"profile":"ArmorHead"},"Armor_002_Head_B":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":75,"itemCreatingPrice":0,"itemSellingPrice":20,"profile":"ArmorHead"},"Armor_002_Lower":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":105,"itemCreatingPrice":0,"itemSellingPrice":30,"profile":"ArmorLower"},"Armor_002_Upper":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":135,"itemCreatingPrice":0,"itemSellingPrice":35,"profile":"ArmorUpper"},"Armor_003_Head":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":139,"itemCreatingPrice":0,"itemSellingPrice":35,"profile":"ArmorHead"},"Armor_003_Head_B":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":139,"itemCreatingPrice":0,"itemSellingPrice":35,"profile":"ArmorHead"},"Armor_003_Lower":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":169,"itemCreatingPrice":0,"itemSellingPrice":40,"profile":"ArmorLower"},"Armor_003_Upper":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":199,"itemCreatingPrice":0,"itemSellingPrice":50,"profile":"ArmorUpper"},"Armor_004_Head":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":319,"itemCreatingPrice":0,"itemSellingPrice":80,"profile":"ArmorHead"},"Armor_004_Head_B":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":319,"itemCreatingPrice":0,"itemSellingPrice":80,"profile":"ArmorHead"},"Armor_004_Lower":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":349,"itemCreatingPrice":0,"itemSellingPrice":85,"profile":"ArmorLower"},"Armor_004_Upper":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":379,"itemCreatingPrice":0,"itemSellingPrice":95,"profile":"ArmorUpper"},"Armor_005_Head":{"armorDefenceAddLevel":4,"armorStarNum":1,"cannotSell":true,"itemBuyingPrice":100,"itemCreatingPrice":0,"itemSellingPrice":25,"profile":"ArmorHead"},"Armor_005_Lower":{"armorDefenceAddLevel":4,"armorStarNum":1,"cannotSell":true,"itemBuyingPrice":100,"itemCreatingPrice":0,"itemSellingPrice":25,"profile":"ArmorLower"},"Armor_005_Upper":{"armorDefenceAddLevel":4,"armorStarNum":1,"cannotSell":true,"itemBuyingPrice":100,"itemCreatingPrice":0,"itemSellingPrice":25,"profile":"ArmorUpper"},"Armor_006_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"SwimSpeed","armorStarNum":1,"cannotSell":true,"itemBuyingPrice":100,"itemCreatingPrice":0,"itemSellingPrice":25,"profile":"ArmorHead","specialStatus":29},"Armor_006_Lower":{"armorDefenceAddLevel":3,"armorEffectEffectType":"SwimSpeed","armorStarNum":1,"cannotSell":true,"itemBuyingPrice":100,"itemCreatingPrice":0,"itemSellingPrice":25,"profile":"ArmorLower","specialStatus":29},"Armor_006_Upper":{"armorDefenceAddLevel":3,"armorEffectEffectType":"SwimSpeed","armorStarNum":1,"cannotSell":true,"itemBuyingPrice":100,"itemCreatingPrice":0,"itemSellingPrice":25,"profile":"ArmorUpper","specialStatus":29},"Armor_007_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"SwimSpeed","armorStarNum":2,"cannotSell":true,"itemBuyingPrice":130,"itemCreatingPrice":0,"itemSellingPrice":35,"profile":"ArmorHead","specialStatus":29},"Armor_007_Lower":{"armorDefenceAddLevel":5,"armorEffectEffectType":"SwimSpeed","armorStarNum":2,"cannotSell":true,"itemBuyingPrice":130,"itemCreatingPrice":0,"itemSellingPrice":35,"profile":"ArmorLower","specialStatus":29},"Armor_007_Upper":{"armorDefenceAddLevel":5,"armorEffectEffectType":"SwimSpeed","armorStarNum":2,"cannotSell":true,"itemBuyingPrice":130,"itemCreatingPrice":0,"itemSellingPrice":35,"profile":"ArmorUpper","specialStatus":29},"Armor_008_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistHot","armorStarNum":1,"itemBuyingPrice":450,"itemCreatingPrice":0,"itemSellingPrice":115,"profile":"ArmorHead","specialStatus":23},"Armor_008_Lower":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistHot","armorStarNum":1,"itemBuyingPrice":650,"itemCreatingPrice":0,"itemSellingPrice":165,"profile":"ArmorLower","specialStatus":23},"Armor_008_Upper":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistHot","armorStarNum":1,"itemBuyingPrice":1300,"itemCreatingPrice":0,"itemSellingPrice":325,"profile":"ArmorUpper","specialStatus":23},"Armor_009_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistCold","armorStarNum":1,"itemBuyingPrice":1000,"itemCreatingPrice":0,"itemSellingPrice":250,"profile":"ArmorHead","specialStatus":20},"Armor_009_Lower":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistCold","armorStarNum":1,"itemBuyingPrice":550,"itemCreatingPrice":0,"itemSellingPrice":140,"profile":"ArmorLower","specialStatus":20},"Armor_009_Upper":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistCold","armorStarNum":1,"itemBuyingPrice":600,"itemCreatingPrice":0,"itemSellingPrice":150,"profile":"ArmorUpper","specialStatus":20},"Armor_011_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistBurn","armorStarNum":1,"itemBuyingPrice":2000,"itemCreatingPrice":0,"itemSellingPrice":500,"profile":"ArmorHead","specialStatus":13},"Armor_011_Lower":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistBurn","armorStarNum":1,"itemBuyingPrice":700,"itemCreatingPrice":0,"itemSellingPrice":175,"profile":"ArmorLower","specialStatus":13},"Armor_011_Upper":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistBurn","armorStarNum":1,"itemBuyingPrice":600,"itemCreatingPrice":0,"itemSellingPrice":150,"profile":"ArmorUpper","specialStatus":13},"Armor_012_Head":{"armorDefenceAddLevel":2,"armorEffectEffectType":"Quietness","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":17},"Armor_012_Head_B":{"armorDefenceAddLevel":2,"armorEffectEffectType":"Quietness","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":17},"Armor_012_Lower":{"armorDefenceAddLevel":2,"armorEffectEffectType":"Quietness","armorStarNum":1,"itemBuyingPrice":600,"itemCreatingPrice":0,"itemSellingPrice":150,"profile":"ArmorLower","specialStatus":17},"Armor_012_Upper":{"armorDefenceAddLevel":2,"armorEffectEffectType":"Quietness","armorStarNum":1,"itemBuyingPrice":700,"itemCreatingPrice":0,"itemSellingPrice":175,"profile":"ArmorUpper","specialStatus":17},"Armor_014_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ClimbSpeed","armorStarNum":1,"itemBuyingPrice":4000,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorHead","specialStatus":9},"Armor_014_Lower":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ClimbSpeed","armorStarNum":1,"itemBuyingPrice":4000,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorLower","specialStatus":9},"Armor_014_Upper":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ClimbSpeed","armorStarNum":1,"itemBuyingPrice":4000,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorUpper","specialStatus":9},"Armor_015_Head":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":1069,"itemCreatingPrice":0,"itemSellingPrice":265,"profile":"ArmorHead"},"Armor_015_Head_B":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":1069,"itemCreatingPrice":0,"itemSellingPrice":265,"profile":"ArmorHead"},"Armor_015_Lower":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":1099,"itemCreatingPrice":0,"itemSellingPrice":275,"profile":"ArmorLower"},"Armor_015_Upper":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":1129,"itemCreatingPrice":0,"itemSellingPrice":280,"profile":"ArmorUpper"},"Armor_017_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":800,"itemCreatingPrice":800,"itemSellingPrice":200,"profile":"ArmorHead"},"Armor_017_Lower":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":800,"itemCreatingPrice":800,"itemSellingPrice":200,"profile":"ArmorLower"},"Armor_017_Upper":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":800,"itemCreatingPrice":800,"itemSellingPrice":200,"profile":"ArmorUpper"},"Armor_020_Head":{"armorDefenceAddLevel":4,"armorStarNum":1,"itemBuyingPrice":180,"itemCreatingPrice":0,"itemSellingPrice":45,"profile":"ArmorHead"},"Armor_020_Lower":{"armorDefenceAddLevel":4,"armorStarNum":1,"itemBuyingPrice":200,"itemCreatingPrice":0,"itemSellingPrice":50,"profile":"ArmorLower"},"Armor_020_Upper":{"armorDefenceAddLevel":4,"armorStarNum":1,"itemBuyingPrice":250,"itemCreatingPrice":0,"itemSellingPrice":65,"profile":"ArmorUpper"},"Armor_021_Head":{"armorDefenceAddLevel":4,"armorEffectEffectType":"ResistAncient","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":2000,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":19},"Armor_021_Lower":{"armorDefenceAddLevel":4,"armorEffectEffectType":"ResistAncient","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":2000,"itemSellingPrice":125,"profile":"ArmorLower","specialStatus":19},"Armor_021_Upper":{"armorDefenceAddLevel":4,"armorEffectEffectType":"ResistAncient","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":2000,"itemSellingPrice":125,"profile":"ArmorUpper","specialStatus":19},"Armor_022_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":40,"itemCreatingPrice":0,"itemSellingPrice":9,"profile":"ArmorHead"},"Armor_022_Head_B":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":40,"itemCreatingPrice":0,"itemSellingPrice":9,"profile":"ArmorHead"},"Armor_024_Head":{"armorDefenceAddLevel":4,"armorEffectEffectType":"ResistAncient","armorStarNum":1,"itemBuyingPrice":800,"itemCreatingPrice":1500,"itemSellingPrice":375,"profile":"ArmorHead","specialStatus":19},"Armor_025_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistCold","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":500,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":20},"Armor_026_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistHot","armorStarNum":1,"itemBuyingPrice":600,"itemCreatingPrice":800,"itemSellingPrice":150,"profile":"ArmorHead","specialStatus":23},"Armor_027_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistElectric","armorStarNum":1,"itemBuyingPrice":400,"itemCreatingPrice":500,"itemSellingPrice":100,"profile":"ArmorHead","specialStatus":21},"Armor_028_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"SwimSpeed","armorStarNum":1,"itemBuyingPrice":150,"itemCreatingPrice":200,"itemSellingPrice":40,"profile":"ArmorHead","specialStatus":29},"Armor_029_Head":{"armorDefenceAddLevel":4,"armorStarNum":1,"itemBuyingPrice":90,"itemCreatingPrice":100,"itemSellingPrice":25,"profile":"ArmorHead"},"Armor_035_Head":{"armorDefenceAddLevel":7,"armorStarNum":2,"cannotSell":true,"itemBuyingPrice":420,"itemCreatingPrice":0,"itemSellingPrice":105,"profile":"ArmorHead"},"Armor_035_Lower":{"armorDefenceAddLevel":7,"armorStarNum":2,"cannotSell":true,"itemBuyingPrice":420,"itemCreatingPrice":0,"itemSellingPrice":105,"profile":"ArmorLower"},"Armor_035_Upper":{"armorDefenceAddLevel":7,"armorStarNum":2,"cannotSell":true,"itemBuyingPrice":420,"itemCreatingPrice":0,"itemSellingPrice":105,"profile":"ArmorUpper"},"Armor_036_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistCold","armorStarNum":2,"itemBuyingPrice":1015,"itemCreatingPrice":0,"itemSellingPrice":255,"profile":"ArmorHead","specialStatus":20},"Armor_036_Lower":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistCold","armorStarNum":2,"itemBuyingPrice":565,"itemCreatingPrice":0,"itemSellingPrice":145,"profile":"ArmorLower","specialStatus":20},"Armor_036_Upper":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistCold","armorStarNum":2,"itemBuyingPrice":615,"itemCreatingPrice":0,"itemSellingPrice":155,"profile":"ArmorUpper","specialStatus":20},"Armor_037_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistBurn","armorStarNum":2,"itemBuyingPrice":2015,"itemCreatingPrice":0,"itemSellingPrice":505,"profile":"ArmorHead","specialStatus":13},"Armor_037_Lower":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistBurn","armorStarNum":2,"itemBuyingPrice":715,"itemCreatingPrice":0,"itemSellingPrice":180,"profile":"ArmorLower","specialStatus":13},"Armor_037_Upper":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistBurn","armorStarNum":2,"itemBuyingPrice":615,"itemCreatingPrice":0,"itemSellingPrice":155,"profile":"ArmorUpper","specialStatus":13},"Armor_039_Head":{"armorDefenceAddLevel":12,"armorStarNum":3,"cannotSell":true,"itemBuyingPrice":880,"itemCreatingPrice":0,"itemSellingPrice":220,"profile":"ArmorHead"},"Armor_039_Lower":{"armorDefenceAddLevel":12,"armorStarNum":3,"cannotSell":true,"itemBuyingPrice":880,"itemCreatingPrice":0,"itemSellingPrice":220,"profile":"ArmorLower"},"Armor_039_Upper":{"armorDefenceAddLevel":12,"armorStarNum":3,"cannotSell":true,"itemBuyingPrice":880,"itemCreatingPrice":0,"itemSellingPrice":220,"profile":"ArmorUpper"},"Armor_040_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistHot","armorStarNum":2,"itemBuyingPrice":465,"itemCreatingPrice":0,"itemSellingPrice":120,"profile":"ArmorHead","specialStatus":23},"Armor_040_Lower":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistHot","armorStarNum":2,"itemBuyingPrice":665,"itemCreatingPrice":0,"itemSellingPrice":170,"profile":"ArmorLower","specialStatus":23},"Armor_040_Upper":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistHot","armorStarNum":2,"itemBuyingPrice":1315,"itemCreatingPrice":0,"itemSellingPrice":330,"profile":"ArmorUpper","specialStatus":23},"Armor_042_Head":{"armorDefenceAddLevel":4,"armorEffectEffectType":"Quietness","armorStarNum":2,"itemBuyingPrice":512,"itemCreatingPrice":0,"itemSellingPrice":130,"profile":"ArmorHead","specialStatus":17},"Armor_042_Head_B":{"armorDefenceAddLevel":4,"armorEffectEffectType":"Quietness","armorStarNum":2,"itemBuyingPrice":512,"itemCreatingPrice":0,"itemSellingPrice":130,"profile":"ArmorHead","specialStatus":17},"Armor_042_Lower":{"armorDefenceAddLevel":4,"armorEffectEffectType":"Quietness","armorStarNum":2,"itemBuyingPrice":612,"itemCreatingPrice":0,"itemSellingPrice":155,"profile":"ArmorLower","specialStatus":17},"Armor_042_Upper":{"armorDefenceAddLevel":4,"armorEffectEffectType":"Quietness","armorStarNum":2,"itemBuyingPrice":712,"itemCreatingPrice":0,"itemSellingPrice":180,"profile":"ArmorUpper","specialStatus":17},"Armor_043_Lower":{"armorDefenceAddLevel":1,"armorStarNum":1,"itemBuyingPrice":50,"itemCreatingPrice":0,"itemSellingPrice":15,"profile":"ArmorLower"},"Armor_043_Upper":{"armorDefenceAddLevel":1,"armorStarNum":1,"itemBuyingPrice":50,"itemCreatingPrice":0,"itemSellingPrice":15,"profile":"ArmorUpper"},"Armor_044_Upper":{"armorDefenceAddLevel":1,"armorEffectEffectType":"ResistCold","armorStarNum":1,"itemBuyingPrice":80,"itemCreatingPrice":0,"itemSellingPrice":20,"profile":"ArmorUpper","specialStatus":20},"Armor_045_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":80,"itemCreatingPrice":0,"itemSellingPrice":19,"profile":"ArmorHead"},"Armor_046_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistElectric","armorStarNum":1,"itemBuyingPrice":4000,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorHead","specialStatus":21},"Armor_046_Lower":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistElectric","armorStarNum":1,"itemBuyingPrice":4000,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorLower","specialStatus":21},"Armor_046_Upper":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistElectric","armorStarNum":1,"itemBuyingPrice":4000,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorUpper","specialStatus":21},"Armor_048_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"AttackUp","armorStarNum":1,"itemBuyingPrice":4000,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorHead","specialStatus":8},"Armor_048_Lower":{"armorDefenceAddLevel":3,"armorEffectEffectType":"AttackUp","armorStarNum":1,"itemBuyingPrice":4000,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorLower","specialStatus":8},"Armor_048_Upper":{"armorDefenceAddLevel":3,"armorEffectEffectType":"AttackUp","armorStarNum":1,"itemBuyingPrice":4000,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorUpper","specialStatus":8},"Armor_049_Lower":{"armorDefenceAddLevel":3,"armorEffectEffectType":"SandMove","armorStarNum":1,"itemBuyingPrice":800,"itemCreatingPrice":0,"itemSellingPrice":200,"profile":"ArmorLower","specialStatus":25},"Armor_053_Head":{"armorDefenceAddLevel":1,"armorStarNum":1,"itemBuyingPrice":180,"itemCreatingPrice":0,"itemSellingPrice":45,"profile":"ArmorHead"},"Armor_053_Lower":{"armorDefenceAddLevel":1,"armorStarNum":1,"itemBuyingPrice":180,"itemCreatingPrice":0,"itemSellingPrice":45,"profile":"ArmorLower"},"Armor_053_Upper":{"armorDefenceAddLevel":1,"armorStarNum":1,"itemBuyingPrice":180,"itemCreatingPrice":0,"itemSellingPrice":45,"profile":"ArmorUpper"},"Armor_055_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":120,"itemCreatingPrice":0,"itemSellingPrice":29,"profile":"ArmorHead"},"Armor_056_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":320,"itemCreatingPrice":0,"itemSellingPrice":39,"profile":"ArmorHead"},"Armor_060_Head":{"armorDefenceAddLevel":18,"armorStarNum":4,"cannotSell":true,"itemBuyingPrice":1530,"itemCreatingPrice":0,"itemSellingPrice":385,"profile":"ArmorHead"},"Armor_060_Lower":{"armorDefenceAddLevel":18,"armorStarNum":4,"cannotSell":true,"itemBuyingPrice":1530,"itemCreatingPrice":0,"itemSellingPrice":385,"profile":"ArmorLower"},"Armor_060_Upper":{"armorDefenceAddLevel":18,"armorStarNum":4,"cannotSell":true,"itemBuyingPrice":1530,"itemCreatingPrice":0,"itemSellingPrice":385,"profile":"ArmorUpper"},"Armor_061_Head":{"armorDefenceAddLevel":28,"armorStarNum":5,"cannotSell":true,"itemBuyingPrice":2430,"itemCreatingPrice":0,"itemSellingPrice":610,"profile":"ArmorHead"},"Armor_061_Lower":{"armorDefenceAddLevel":28,"armorStarNum":5,"cannotSell":true,"itemBuyingPrice":2430,"itemCreatingPrice":0,"itemSellingPrice":610,"profile":"ArmorLower"},"Armor_061_Upper":{"armorDefenceAddLevel":28,"armorStarNum":5,"cannotSell":true,"itemBuyingPrice":2430,"itemCreatingPrice":0,"itemSellingPrice":610,"profile":"ArmorUpper"},"Armor_062_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"SwimSpeed","armorStarNum":3,"cannotSell":true,"itemBuyingPrice":235,"itemCreatingPrice":0,"itemSellingPrice":60,"profile":"ArmorHead","specialStatus":29},"Armor_062_Lower":{"armorDefenceAddLevel":8,"armorEffectEffectType":"SwimSpeed","armorStarNum":3,"cannotSell":true,"itemBuyingPrice":235,"itemCreatingPrice":0,"itemSellingPrice":60,"profile":"ArmorLower","specialStatus":29},"Armor_062_Upper":{"armorDefenceAddLevel":8,"armorEffectEffectType":"SwimSpeed","armorStarNum":3,"cannotSell":true,"itemBuyingPrice":235,"itemCreatingPrice":0,"itemSellingPrice":60,"profile":"ArmorUpper","specialStatus":29},"Armor_063_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"SwimSpeed","armorStarNum":4,"cannotSell":true,"itemBuyingPrice":465,"itemCreatingPrice":0,"itemSellingPrice":115,"profile":"ArmorHead","specialStatus":29},"Armor_063_Lower":{"armorDefenceAddLevel":12,"armorEffectEffectType":"SwimSpeed","armorStarNum":4,"cannotSell":true,"itemBuyingPrice":465,"itemCreatingPrice":0,"itemSellingPrice":115,"profile":"ArmorLower","specialStatus":29},"Armor_063_Upper":{"armorDefenceAddLevel":12,"armorEffectEffectType":"SwimSpeed","armorStarNum":4,"cannotSell":true,"itemBuyingPrice":465,"itemCreatingPrice":0,"itemSellingPrice":115,"profile":"ArmorUpper","specialStatus":29},"Armor_064_Head":{"armorDefenceAddLevel":20,"armorEffectEffectType":"SwimSpeed","armorStarNum":5,"cannotSell":true,"itemBuyingPrice":1645,"itemCreatingPrice":0,"itemSellingPrice":410,"profile":"ArmorHead","specialStatus":29},"Armor_064_Lower":{"armorDefenceAddLevel":20,"armorEffectEffectType":"SwimSpeed","armorStarNum":5,"cannotSell":true,"itemBuyingPrice":1645,"itemCreatingPrice":0,"itemSellingPrice":410,"profile":"ArmorLower","specialStatus":29},"Armor_064_Upper":{"armorDefenceAddLevel":20,"armorEffectEffectType":"SwimSpeed","armorStarNum":5,"cannotSell":true,"itemBuyingPrice":1645,"itemCreatingPrice":0,"itemSellingPrice":410,"profile":"ArmorUpper","specialStatus":29},"Armor_065_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistHot","armorStarNum":3,"itemBuyingPrice":508,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":23},"Armor_065_Lower":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistHot","armorStarNum":3,"itemBuyingPrice":708,"itemCreatingPrice":0,"itemSellingPrice":175,"profile":"ArmorLower","specialStatus":23},"Armor_065_Upper":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistHot","armorStarNum":3,"itemBuyingPrice":1358,"itemCreatingPrice":0,"itemSellingPrice":340,"profile":"ArmorUpper","specialStatus":23},"Armor_066_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistHot","armorStarNum":4,"itemBuyingPrice":661,"itemCreatingPrice":0,"itemSellingPrice":165,"profile":"ArmorHead","specialStatus":23},"Armor_066_Lower":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistHot","armorStarNum":4,"itemBuyingPrice":861,"itemCreatingPrice":0,"itemSellingPrice":215,"profile":"ArmorLower","specialStatus":23},"Armor_066_Upper":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistHot","armorStarNum":4,"itemBuyingPrice":1511,"itemCreatingPrice":0,"itemSellingPrice":380,"profile":"ArmorUpper","specialStatus":23},"Armor_067_Head":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistHot","armorStarNum":5,"itemBuyingPrice":2311,"itemCreatingPrice":0,"itemSellingPrice":580,"profile":"ArmorHead","specialStatus":23},"Armor_067_Lower":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistHot","armorStarNum":5,"itemBuyingPrice":2511,"itemCreatingPrice":0,"itemSellingPrice":630,"profile":"ArmorLower","specialStatus":23},"Armor_067_Upper":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistHot","armorStarNum":5,"itemBuyingPrice":3161,"itemCreatingPrice":0,"itemSellingPrice":800,"profile":"ArmorUpper","specialStatus":23},"Armor_071_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistCold","armorStarNum":3,"itemBuyingPrice":1049,"itemCreatingPrice":0,"itemSellingPrice":260,"profile":"ArmorHead","specialStatus":20},"Armor_071_Lower":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistCold","armorStarNum":3,"itemBuyingPrice":599,"itemCreatingPrice":0,"itemSellingPrice":150,"profile":"ArmorLower","specialStatus":20},"Armor_071_Upper":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistCold","armorStarNum":3,"itemBuyingPrice":649,"itemCreatingPrice":0,"itemSellingPrice":160,"profile":"ArmorUpper","specialStatus":20},"Armor_072_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistCold","armorStarNum":4,"itemBuyingPrice":1117,"itemCreatingPrice":0,"itemSellingPrice":280,"profile":"ArmorHead","specialStatus":20},"Armor_072_Lower":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistCold","armorStarNum":4,"itemBuyingPrice":699,"itemCreatingPrice":0,"itemSellingPrice":165,"profile":"ArmorLower","specialStatus":20},"Armor_072_Upper":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistCold","armorStarNum":4,"itemBuyingPrice":749,"itemCreatingPrice":0,"itemSellingPrice":185,"profile":"ArmorUpper","specialStatus":20},"Armor_073_Head":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistCold","armorStarNum":5,"itemBuyingPrice":2517,"itemCreatingPrice":0,"itemSellingPrice":630,"profile":"ArmorHead","specialStatus":20},"Armor_073_Lower":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistCold","armorStarNum":5,"itemBuyingPrice":2067,"itemCreatingPrice":0,"itemSellingPrice":515,"profile":"ArmorLower","specialStatus":20},"Armor_073_Upper":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistCold","armorStarNum":5,"itemBuyingPrice":2117,"itemCreatingPrice":0,"itemSellingPrice":530,"profile":"ArmorUpper","specialStatus":20},"Armor_074_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistBurn","armorStarNum":3,"itemBuyingPrice":2078,"itemCreatingPrice":0,"itemSellingPrice":520,"profile":"ArmorHead","specialStatus":13},"Armor_074_Lower":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistBurn","armorStarNum":3,"itemBuyingPrice":778,"itemCreatingPrice":0,"itemSellingPrice":195,"profile":"ArmorLower","specialStatus":13},"Armor_074_Upper":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistBurn","armorStarNum":3,"itemBuyingPrice":678,"itemCreatingPrice":0,"itemSellingPrice":170,"profile":"ArmorUpper","specialStatus":13},"Armor_075_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistBurn","armorStarNum":4,"itemBuyingPrice":2183,"itemCreatingPrice":0,"itemSellingPrice":545,"profile":"ArmorHead","specialStatus":13},"Armor_075_Lower":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistBurn","armorStarNum":4,"itemBuyingPrice":883,"itemCreatingPrice":0,"itemSellingPrice":220,"profile":"ArmorLower","specialStatus":13},"Armor_075_Upper":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistBurn","armorStarNum":4,"itemBuyingPrice":783,"itemCreatingPrice":0,"itemSellingPrice":195,"profile":"ArmorUpper","specialStatus":13},"Armor_076_Head":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistBurn","armorStarNum":5,"itemBuyingPrice":2393,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorHead","specialStatus":13},"Armor_076_Lower":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistBurn","armorStarNum":5,"itemBuyingPrice":1093,"itemCreatingPrice":0,"itemSellingPrice":275,"profile":"ArmorLower","specialStatus":13},"Armor_076_Upper":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistBurn","armorStarNum":5,"itemBuyingPrice":993,"itemCreatingPrice":0,"itemSellingPrice":250,"profile":"ArmorUpper","specialStatus":13},"Armor_077_Head":{"armorDefenceAddLevel":6,"armorEffectEffectType":"Quietness","armorStarNum":3,"itemBuyingPrice":542,"itemCreatingPrice":0,"itemSellingPrice":135,"profile":"ArmorHead","specialStatus":17},"Armor_077_Head_B":{"armorDefenceAddLevel":6,"armorEffectEffectType":"Quietness","armorStarNum":3,"itemBuyingPrice":542,"itemCreatingPrice":0,"itemSellingPrice":135,"profile":"ArmorHead","specialStatus":17},"Armor_077_Lower":{"armorDefenceAddLevel":6,"armorEffectEffectType":"Quietness","armorStarNum":3,"itemBuyingPrice":642,"itemCreatingPrice":0,"itemSellingPrice":160,"profile":"ArmorLower","specialStatus":17},"Armor_077_Upper":{"armorDefenceAddLevel":6,"armorEffectEffectType":"Quietness","armorStarNum":3,"itemBuyingPrice":742,"itemCreatingPrice":0,"itemSellingPrice":185,"profile":"ArmorUpper","specialStatus":17},"Armor_078_Head":{"armorDefenceAddLevel":9,"armorEffectEffectType":"Quietness","armorStarNum":4,"itemBuyingPrice":596,"itemCreatingPrice":0,"itemSellingPrice":150,"profile":"ArmorHead","specialStatus":17},"Armor_078_Head_B":{"armorDefenceAddLevel":9,"armorEffectEffectType":"Quietness","armorStarNum":4,"itemBuyingPrice":596,"itemCreatingPrice":0,"itemSellingPrice":150,"profile":"ArmorHead","specialStatus":17},"Armor_078_Lower":{"armorDefenceAddLevel":9,"armorEffectEffectType":"Quietness","armorStarNum":4,"itemBuyingPrice":696,"itemCreatingPrice":0,"itemSellingPrice":175,"profile":"ArmorLower","specialStatus":17},"Armor_078_Upper":{"armorDefenceAddLevel":9,"armorEffectEffectType":"Quietness","armorStarNum":4,"itemBuyingPrice":796,"itemCreatingPrice":0,"itemSellingPrice":200,"profile":"ArmorUpper","specialStatus":17},"Armor_079_Head":{"armorDefenceAddLevel":16,"armorEffectEffectType":"Quietness","armorStarNum":5,"itemBuyingPrice":896,"itemCreatingPrice":0,"itemSellingPrice":225,"profile":"ArmorHead","specialStatus":17},"Armor_079_Head_B":{"armorDefenceAddLevel":16,"armorEffectEffectType":"Quietness","armorStarNum":5,"itemBuyingPrice":896,"itemCreatingPrice":0,"itemSellingPrice":225,"profile":"ArmorHead","specialStatus":17},"Armor_079_Lower":{"armorDefenceAddLevel":16,"armorEffectEffectType":"Quietness","armorStarNum":5,"itemBuyingPrice":996,"itemCreatingPrice":0,"itemSellingPrice":250,"profile":"ArmorLower","specialStatus":17},"Armor_079_Upper":{"armorDefenceAddLevel":16,"armorEffectEffectType":"Quietness","armorStarNum":5,"itemBuyingPrice":1095,"itemCreatingPrice":0,"itemSellingPrice":275,"profile":"ArmorUpper","specialStatus":17},"Armor_083_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ClimbSpeed","armorStarNum":2,"itemBuyingPrice":4018,"itemCreatingPrice":0,"itemSellingPrice":605,"profile":"ArmorHead","specialStatus":9},"Armor_083_Lower":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ClimbSpeed","armorStarNum":2,"itemBuyingPrice":4018,"itemCreatingPrice":0,"itemSellingPrice":605,"profile":"ArmorLower","specialStatus":9},"Armor_083_Upper":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ClimbSpeed","armorStarNum":2,"itemBuyingPrice":4018,"itemCreatingPrice":0,"itemSellingPrice":605,"profile":"ArmorUpper","specialStatus":9},"Armor_084_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ClimbSpeed","armorStarNum":3,"itemBuyingPrice":4060,"itemCreatingPrice":0,"itemSellingPrice":610,"profile":"ArmorHead","specialStatus":9},"Armor_084_Lower":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ClimbSpeed","armorStarNum":3,"itemBuyingPrice":4060,"itemCreatingPrice":0,"itemSellingPrice":610,"profile":"ArmorLower","specialStatus":9},"Armor_084_Upper":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ClimbSpeed","armorStarNum":3,"itemBuyingPrice":4060,"itemCreatingPrice":0,"itemSellingPrice":610,"profile":"ArmorUpper","specialStatus":9},"Armor_085_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ClimbSpeed","armorStarNum":4,"itemBuyingPrice":4120,"itemCreatingPrice":0,"itemSellingPrice":620,"profile":"ArmorHead","specialStatus":9},"Armor_085_Lower":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ClimbSpeed","armorStarNum":4,"itemBuyingPrice":4120,"itemCreatingPrice":0,"itemSellingPrice":620,"profile":"ArmorLower","specialStatus":9},"Armor_085_Upper":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ClimbSpeed","armorStarNum":4,"itemBuyingPrice":4120,"itemCreatingPrice":0,"itemSellingPrice":620,"profile":"ArmorUpper","specialStatus":9},"Armor_086_Head":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ClimbSpeed","armorStarNum":5,"itemBuyingPrice":4300,"itemCreatingPrice":0,"itemSellingPrice":645,"profile":"ArmorHead","specialStatus":9},"Armor_086_Lower":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ClimbSpeed","armorStarNum":5,"itemBuyingPrice":4300,"itemCreatingPrice":0,"itemSellingPrice":645,"profile":"ArmorLower","specialStatus":9},"Armor_086_Upper":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ClimbSpeed","armorStarNum":5,"itemBuyingPrice":4300,"itemCreatingPrice":0,"itemSellingPrice":645,"profile":"ArmorUpper","specialStatus":9},"Armor_087_Head":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":1210,"itemCreatingPrice":0,"itemSellingPrice":305,"profile":"ArmorHead"},"Armor_087_Lower":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":1210,"itemCreatingPrice":0,"itemSellingPrice":305,"profile":"ArmorLower"},"Armor_087_Upper":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":1210,"itemCreatingPrice":0,"itemSellingPrice":305,"profile":"ArmorUpper"},"Armor_088_Head":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":1845,"itemCreatingPrice":0,"itemSellingPrice":460,"profile":"ArmorHead"},"Armor_088_Lower":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":1845,"itemCreatingPrice":0,"itemSellingPrice":460,"profile":"ArmorLower"},"Armor_088_Upper":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":1845,"itemCreatingPrice":0,"itemSellingPrice":460,"profile":"ArmorUpper"},"Armor_089_Head":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":2765,"itemCreatingPrice":0,"itemSellingPrice":690,"profile":"ArmorHead"},"Armor_089_Lower":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":2765,"itemCreatingPrice":0,"itemSellingPrice":690,"profile":"ArmorLower"},"Armor_089_Upper":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":2765,"itemCreatingPrice":0,"itemSellingPrice":690,"profile":"ArmorUpper"},"Armor_090_Head":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":4365,"itemCreatingPrice":0,"itemSellingPrice":1090,"profile":"ArmorHead"},"Armor_090_Lower":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":4365,"itemCreatingPrice":0,"itemSellingPrice":1090,"profile":"ArmorLower"},"Armor_090_Upper":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":4365,"itemCreatingPrice":0,"itemSellingPrice":1090,"profile":"ArmorUpper"},"Armor_095_Head":{"armorDefenceAddLevel":7,"armorStarNum":2,"itemBuyingPrice":250,"itemCreatingPrice":0,"itemSellingPrice":65,"profile":"ArmorHead"},"Armor_095_Lower":{"armorDefenceAddLevel":7,"armorStarNum":2,"itemBuyingPrice":270,"itemCreatingPrice":0,"itemSellingPrice":70,"profile":"ArmorLower"},"Armor_095_Upper":{"armorDefenceAddLevel":7,"armorStarNum":2,"itemBuyingPrice":320,"itemCreatingPrice":0,"itemSellingPrice":80,"profile":"ArmorUpper"},"Armor_096_Head":{"armorDefenceAddLevel":12,"armorStarNum":3,"itemBuyingPrice":385,"itemCreatingPrice":0,"itemSellingPrice":95,"profile":"ArmorHead"},"Armor_096_Lower":{"armorDefenceAddLevel":12,"armorStarNum":3,"itemBuyingPrice":405,"itemCreatingPrice":0,"itemSellingPrice":100,"profile":"ArmorLower"},"Armor_096_Upper":{"armorDefenceAddLevel":12,"armorStarNum":3,"itemBuyingPrice":455,"itemCreatingPrice":0,"itemSellingPrice":115,"profile":"ArmorUpper"},"Armor_097_Head":{"armorDefenceAddLevel":18,"armorStarNum":4,"itemBuyingPrice":601,"itemCreatingPrice":0,"itemSellingPrice":150,"profile":"ArmorHead"},"Armor_097_Lower":{"armorDefenceAddLevel":18,"armorStarNum":4,"itemBuyingPrice":569,"itemCreatingPrice":0,"itemSellingPrice":140,"profile":"ArmorLower"},"Armor_097_Upper":{"armorDefenceAddLevel":18,"armorStarNum":4,"itemBuyingPrice":619,"itemCreatingPrice":0,"itemSellingPrice":155,"profile":"ArmorUpper"},"Armor_098_Head":{"armorDefenceAddLevel":28,"armorStarNum":5,"itemBuyingPrice":1101,"itemCreatingPrice":0,"itemSellingPrice":275,"profile":"ArmorHead"},"Armor_098_Lower":{"armorDefenceAddLevel":28,"armorStarNum":5,"itemBuyingPrice":1069,"itemCreatingPrice":0,"itemSellingPrice":265,"profile":"ArmorLower"},"Armor_098_Upper":{"armorDefenceAddLevel":28,"armorStarNum":5,"itemBuyingPrice":1169,"itemCreatingPrice":0,"itemSellingPrice":290,"profile":"ArmorUpper"},"Armor_099_Head":{"armorDefenceAddLevel":7,"armorEffectEffectType":"ResistAncient","armorStarNum":2,"itemBuyingPrice":635,"itemCreatingPrice":3000,"itemSellingPrice":160,"profile":"ArmorHead","specialStatus":19},"Armor_099_Lower":{"armorDefenceAddLevel":7,"armorEffectEffectType":"ResistAncient","armorStarNum":2,"itemBuyingPrice":635,"itemCreatingPrice":3000,"itemSellingPrice":160,"profile":"ArmorLower","specialStatus":19},"Armor_099_Upper":{"armorDefenceAddLevel":7,"armorEffectEffectType":"ResistAncient","armorStarNum":2,"itemBuyingPrice":635,"itemCreatingPrice":3000,"itemSellingPrice":160,"profile":"ArmorUpper","specialStatus":19},"Armor_100_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistAncient","armorStarNum":3,"itemBuyingPrice":1160,"itemCreatingPrice":4000,"itemSellingPrice":290,"profile":"ArmorHead","specialStatus":19},"Armor_100_Lower":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistAncient","armorStarNum":3,"itemBuyingPrice":1160,"itemCreatingPrice":4000,"itemSellingPrice":290,"profile":"ArmorLower","specialStatus":19},"Armor_100_Upper":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistAncient","armorStarNum":3,"itemBuyingPrice":1160,"itemCreatingPrice":4000,"itemSellingPrice":290,"profile":"ArmorUpper","specialStatus":19},"Armor_101_Head":{"armorDefenceAddLevel":18,"armorEffectEffectType":"ResistAncient","armorStarNum":4,"itemBuyingPrice":2235,"itemCreatingPrice":5000,"itemSellingPrice":560,"profile":"ArmorHead","specialStatus":19},"Armor_101_Lower":{"armorDefenceAddLevel":18,"armorEffectEffectType":"ResistAncient","armorStarNum":4,"itemBuyingPrice":2235,"itemCreatingPrice":5000,"itemSellingPrice":560,"profile":"ArmorLower","specialStatus":19},"Armor_101_Upper":{"armorDefenceAddLevel":18,"armorEffectEffectType":"ResistAncient","armorStarNum":4,"itemBuyingPrice":2235,"itemCreatingPrice":5000,"itemSellingPrice":560,"profile":"ArmorUpper","specialStatus":19},"Armor_102_Head":{"armorDefenceAddLevel":28,"armorEffectEffectType":"ResistAncient","armorStarNum":5,"itemBuyingPrice":2935,"itemCreatingPrice":6000,"itemSellingPrice":735,"profile":"ArmorHead","specialStatus":19},"Armor_102_Lower":{"armorDefenceAddLevel":28,"armorEffectEffectType":"ResistAncient","armorStarNum":5,"itemBuyingPrice":2935,"itemCreatingPrice":6000,"itemSellingPrice":735,"profile":"ArmorLower","specialStatus":19},"Armor_102_Upper":{"armorDefenceAddLevel":28,"armorEffectEffectType":"ResistAncient","armorStarNum":5,"itemBuyingPrice":2935,"itemCreatingPrice":6000,"itemSellingPrice":735,"profile":"ArmorUpper","specialStatus":19},"Armor_103_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistElectric","armorStarNum":2,"itemBuyingPrice":4015,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorHead","specialStatus":21},"Armor_103_Lower":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistElectric","armorStarNum":2,"itemBuyingPrice":4015,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorLower","specialStatus":21},"Armor_103_Upper":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistElectric","armorStarNum":2,"itemBuyingPrice":4015,"itemCreatingPrice":0,"itemSellingPrice":600,"profile":"ArmorUpper","specialStatus":21},"Armor_104_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistElectric","armorStarNum":3,"itemBuyingPrice":4058,"itemCreatingPrice":0,"itemSellingPrice":610,"profile":"ArmorHead","specialStatus":21},"Armor_104_Lower":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistElectric","armorStarNum":3,"itemBuyingPrice":4058,"itemCreatingPrice":0,"itemSellingPrice":610,"profile":"ArmorLower","specialStatus":21},"Armor_104_Upper":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistElectric","armorStarNum":3,"itemBuyingPrice":4058,"itemCreatingPrice":0,"itemSellingPrice":610,"profile":"ArmorUpper","specialStatus":21},"Armor_105_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistElectric","armorStarNum":4,"itemBuyingPrice":4253,"itemCreatingPrice":0,"itemSellingPrice":640,"profile":"ArmorHead","specialStatus":21},"Armor_105_Lower":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistElectric","armorStarNum":4,"itemBuyingPrice":4253,"itemCreatingPrice":0,"itemSellingPrice":640,"profile":"ArmorLower","specialStatus":21},"Armor_105_Upper":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistElectric","armorStarNum":4,"itemBuyingPrice":4253,"itemCreatingPrice":0,"itemSellingPrice":640,"profile":"ArmorUpper","specialStatus":21},"Armor_106_Head":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistElectric","armorStarNum":5,"itemBuyingPrice":6403,"itemCreatingPrice":0,"itemSellingPrice":960,"profile":"ArmorHead","specialStatus":21},"Armor_106_Lower":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistElectric","armorStarNum":5,"itemBuyingPrice":6403,"itemCreatingPrice":0,"itemSellingPrice":960,"profile":"ArmorLower","specialStatus":21},"Armor_106_Upper":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistElectric","armorStarNum":5,"itemBuyingPrice":6403,"itemCreatingPrice":0,"itemSellingPrice":960,"profile":"ArmorUpper","specialStatus":21},"Armor_111_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"AttackUp","armorStarNum":2,"itemBuyingPrice":4040,"itemCreatingPrice":0,"itemSellingPrice":700,"profile":"ArmorHead","specialStatus":8},"Armor_111_Lower":{"armorDefenceAddLevel":5,"armorEffectEffectType":"AttackUp","armorStarNum":2,"itemBuyingPrice":4040,"itemCreatingPrice":0,"itemSellingPrice":700,"profile":"ArmorLower","specialStatus":8},"Armor_111_Upper":{"armorDefenceAddLevel":5,"armorEffectEffectType":"AttackUp","armorStarNum":2,"itemBuyingPrice":4040,"itemCreatingPrice":0,"itemSellingPrice":700,"profile":"ArmorUpper","specialStatus":8},"Armor_112_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"AttackUp","armorStarNum":3,"itemBuyingPrice":4260,"itemCreatingPrice":0,"itemSellingPrice":640,"profile":"ArmorHead","specialStatus":8},"Armor_112_Lower":{"armorDefenceAddLevel":8,"armorEffectEffectType":"AttackUp","armorStarNum":3,"itemBuyingPrice":4260,"itemCreatingPrice":0,"itemSellingPrice":640,"profile":"ArmorLower","specialStatus":8},"Armor_112_Upper":{"armorDefenceAddLevel":8,"armorEffectEffectType":"AttackUp","armorStarNum":3,"itemBuyingPrice":4260,"itemCreatingPrice":0,"itemSellingPrice":640,"profile":"ArmorUpper","specialStatus":8},"Armor_113_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"AttackUp","armorStarNum":4,"itemBuyingPrice":4660,"itemCreatingPrice":0,"itemSellingPrice":700,"profile":"ArmorHead","specialStatus":8},"Armor_113_Lower":{"armorDefenceAddLevel":12,"armorEffectEffectType":"AttackUp","armorStarNum":4,"itemBuyingPrice":4660,"itemCreatingPrice":0,"itemSellingPrice":700,"profile":"ArmorLower","specialStatus":8},"Armor_113_Upper":{"armorDefenceAddLevel":12,"armorEffectEffectType":"AttackUp","armorStarNum":4,"itemBuyingPrice":4660,"itemCreatingPrice":0,"itemSellingPrice":700,"profile":"ArmorUpper","specialStatus":8},"Armor_114_Head":{"armorDefenceAddLevel":20,"armorEffectEffectType":"AttackUp","armorStarNum":5,"itemBuyingPrice":5360,"itemCreatingPrice":0,"itemSellingPrice":805,"profile":"ArmorHead","specialStatus":8},"Armor_114_Lower":{"armorDefenceAddLevel":20,"armorEffectEffectType":"AttackUp","armorStarNum":5,"itemBuyingPrice":5360,"itemCreatingPrice":0,"itemSellingPrice":805,"profile":"ArmorLower","specialStatus":8},"Armor_114_Upper":{"armorDefenceAddLevel":20,"armorEffectEffectType":"AttackUp","armorStarNum":5,"itemBuyingPrice":5360,"itemCreatingPrice":0,"itemSellingPrice":805,"profile":"ArmorUpper","specialStatus":8},"Armor_115_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistLightning","armorStarNum":1,"cannotSell":true,"itemBuyingPrice":1000,"itemCreatingPrice":0,"itemSellingPrice":250,"profile":"ArmorHead","specialStatus":24},"Armor_116_Upper":{"armorDefenceAddLevel":5,"armorStarNum":1,"cannotSell":true,"itemBuyingPrice":1000,"itemCreatingPrice":0,"itemSellingPrice":250,"profile":"ArmorUpper"},"Armor_117_Head":{"armorDefenceAddLevel":7,"armorEffectEffectType":"ResistAncient","armorStarNum":2,"itemBuyingPrice":1800,"itemCreatingPrice":0,"itemSellingPrice":630,"profile":"ArmorHead","specialStatus":19},"Armor_118_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistAncient","armorStarNum":3,"itemBuyingPrice":3800,"itemCreatingPrice":0,"itemSellingPrice":1135,"profile":"ArmorHead","specialStatus":19},"Armor_119_Head":{"armorDefenceAddLevel":18,"armorEffectEffectType":"ResistAncient","armorStarNum":4,"itemBuyingPrice":6800,"itemCreatingPrice":0,"itemSellingPrice":1960,"profile":"ArmorHead","specialStatus":19},"Armor_120_Head":{"armorDefenceAddLevel":28,"armorEffectEffectType":"ResistAncient","armorStarNum":5,"itemBuyingPrice":11800,"itemCreatingPrice":0,"itemSellingPrice":3285,"profile":"ArmorHead","specialStatus":19},"Armor_121_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistCold","armorStarNum":2,"itemBuyingPrice":935,"itemCreatingPrice":0,"itemSellingPrice":235,"profile":"ArmorHead","specialStatus":20},"Armor_122_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistCold","armorStarNum":3,"itemBuyingPrice":1790,"itemCreatingPrice":0,"itemSellingPrice":450,"profile":"ArmorHead","specialStatus":20},"Armor_123_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistCold","armorStarNum":4,"itemBuyingPrice":3350,"itemCreatingPrice":0,"itemSellingPrice":840,"profile":"ArmorHead","specialStatus":20},"Armor_124_Head":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistCold","armorStarNum":5,"itemBuyingPrice":5750,"itemCreatingPrice":0,"itemSellingPrice":1440,"profile":"ArmorHead","specialStatus":20},"Armor_125_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistHot","armorStarNum":2,"itemBuyingPrice":1135,"itemCreatingPrice":0,"itemSellingPrice":285,"profile":"ArmorHead","specialStatus":23},"Armor_126_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistHot","armorStarNum":3,"itemBuyingPrice":2190,"itemCreatingPrice":0,"itemSellingPrice":550,"profile":"ArmorHead","specialStatus":23},"Armor_127_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistHot","armorStarNum":4,"itemBuyingPrice":4050,"itemCreatingPrice":0,"itemSellingPrice":1015,"profile":"ArmorHead","specialStatus":23},"Armor_128_Head":{"armorDefenceAddLevel":20,"armorEffectEffectType":"ResistHot","armorStarNum":5,"itemBuyingPrice":6950,"itemCreatingPrice":0,"itemSellingPrice":1740,"profile":"ArmorHead","specialStatus":23},"Armor_129_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"ResistElectric","armorStarNum":2,"itemBuyingPrice":775,"itemCreatingPrice":0,"itemSellingPrice":195,"profile":"ArmorHead","specialStatus":21},"Armor_130_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"ResistElectric","armorStarNum":3,"itemBuyingPrice":1510,"itemCreatingPrice":0,"itemSellingPrice":380,"profile":"ArmorHead","specialStatus":21},"Armor_131_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistElectric","armorStarNum":4,"itemBuyingPrice":2890,"itemCreatingPrice":0,"itemSellingPrice":725,"profile":"ArmorHead","specialStatus":21},"Armor_132_Head":{"armorDefenceAddLevel":18,"armorEffectEffectType":"ResistElectric","armorStarNum":5,"itemBuyingPrice":4990,"itemCreatingPrice":0,"itemSellingPrice":1250,"profile":"ArmorHead","specialStatus":21},"Armor_133_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"SwimSpeed","armorStarNum":2,"itemBuyingPrice":465,"itemCreatingPrice":0,"itemSellingPrice":115,"profile":"ArmorHead","specialStatus":29},"Armor_134_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"SwimSpeed","armorStarNum":3,"itemBuyingPrice":960,"itemCreatingPrice":0,"itemSellingPrice":240,"profile":"ArmorHead","specialStatus":29},"Armor_135_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"SwimSpeed","armorStarNum":4,"itemBuyingPrice":1935,"itemCreatingPrice":0,"itemSellingPrice":485,"profile":"ArmorHead","specialStatus":29},"Armor_136_Head":{"armorDefenceAddLevel":20,"armorEffectEffectType":"SwimSpeed","armorStarNum":5,"itemBuyingPrice":3150,"itemCreatingPrice":0,"itemSellingPrice":790,"profile":"ArmorHead","specialStatus":29},"Armor_137_Head":{"armorDefenceAddLevel":7,"armorStarNum":2,"itemBuyingPrice":255,"itemCreatingPrice":0,"itemSellingPrice":65,"profile":"ArmorHead"},"Armor_138_Head":{"armorDefenceAddLevel":12,"armorStarNum":3,"itemBuyingPrice":570,"itemCreatingPrice":0,"itemSellingPrice":145,"profile":"ArmorHead"},"Armor_139_Head":{"armorDefenceAddLevel":18,"armorStarNum":4,"itemBuyingPrice":1185,"itemCreatingPrice":0,"itemSellingPrice":295,"profile":"ArmorHead"},"Armor_140_Head":{"armorDefenceAddLevel":28,"armorStarNum":5,"itemBuyingPrice":2100,"itemCreatingPrice":0,"itemSellingPrice":525,"profile":"ArmorHead"},"Armor_140_Lower":{"armorDefenceAddLevel":3,"armorEffectEffectType":"SnowMove","armorStarNum":1,"cannotSell":true,"itemBuyingPrice":800,"itemCreatingPrice":0,"itemSellingPrice":200,"profile":"ArmorLower","specialStatus":26},"Armor_141_Lower":{"armorDefenceAddLevel":3,"armorEffectEffectType":"SnowMove","armorStarNum":1,"itemBuyingPrice":800,"itemCreatingPrice":0,"itemSellingPrice":200,"profile":"ArmorLower","specialStatus":26},"Armor_148_Upper":{"armorDefenceAddLevel":8,"armorStarNum":2,"cannotSell":true,"itemBuyingPrice":1120,"itemCreatingPrice":0,"itemSellingPrice":280,"profile":"ArmorUpper"},"Armor_149_Upper":{"armorDefenceAddLevel":14,"armorStarNum":3,"cannotSell":true,"itemBuyingPrice":1840,"itemCreatingPrice":0,"itemSellingPrice":460,"profile":"ArmorUpper"},"Armor_150_Upper":{"armorDefenceAddLevel":22,"armorStarNum":4,"cannotSell":true,"itemBuyingPrice":2640,"itemCreatingPrice":0,"itemSellingPrice":660,"profile":"ArmorUpper"},"Armor_151_Upper":{"armorDefenceAddLevel":32,"armorStarNum":5,"cannotSell":true,"itemBuyingPrice":3640,"itemCreatingPrice":0,"itemSellingPrice":910,"profile":"ArmorUpper"},"Armor_152_Lower":{"armorDefenceAddLevel":5,"armorEffectEffectType":"SandMove","armorStarNum":2,"itemBuyingPrice":980,"itemCreatingPrice":0,"itemSellingPrice":245,"profile":"ArmorLower","specialStatus":25},"Armor_153_Lower":{"armorDefenceAddLevel":8,"armorEffectEffectType":"SandMove","armorStarNum":3,"itemBuyingPrice":1320,"itemCreatingPrice":0,"itemSellingPrice":330,"profile":"ArmorLower","specialStatus":25},"Armor_154_Lower":{"armorDefenceAddLevel":12,"armorEffectEffectType":"SandMove","armorStarNum":4,"itemBuyingPrice":1585,"itemCreatingPrice":0,"itemSellingPrice":395,"profile":"ArmorLower","specialStatus":25},"Armor_155_Lower":{"armorDefenceAddLevel":20,"armorEffectEffectType":"SandMove","armorStarNum":5,"itemBuyingPrice":2175,"itemCreatingPrice":0,"itemSellingPrice":545,"profile":"ArmorLower","specialStatus":25},"Armor_156_Lower":{"armorDefenceAddLevel":5,"armorEffectEffectType":"SnowMove","armorStarNum":2,"itemBuyingPrice":870,"itemCreatingPrice":0,"itemSellingPrice":220,"profile":"ArmorLower","specialStatus":26},"Armor_157_Lower":{"armorDefenceAddLevel":8,"armorEffectEffectType":"SnowMove","armorStarNum":3,"itemBuyingPrice":935,"itemCreatingPrice":0,"itemSellingPrice":235,"profile":"ArmorLower","specialStatus":26},"Armor_158_Lower":{"armorDefenceAddLevel":12,"armorEffectEffectType":"SnowMove","armorStarNum":4,"itemBuyingPrice":1070,"itemCreatingPrice":0,"itemSellingPrice":270,"profile":"ArmorLower","specialStatus":26},"Armor_159_Lower":{"armorDefenceAddLevel":20,"armorEffectEffectType":"SnowMove","armorStarNum":5,"itemBuyingPrice":1530,"itemCreatingPrice":0,"itemSellingPrice":385,"profile":"ArmorLower","specialStatus":26},"Armor_160_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":40,"itemCreatingPrice":0,"itemSellingPrice":9,"profile":"ArmorHead"},"Armor_160_Lower":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":40,"itemCreatingPrice":0,"itemSellingPrice":9,"profile":"ArmorLower"},"Armor_160_Upper":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":40,"itemCreatingPrice":0,"itemSellingPrice":9,"profile":"ArmorUpper"},"Armor_168_Head":{"armorDefenceAddLevel":18,"armorEffectEffectType":"ResistElectricAndResistAncient","armorStarNum":4,"itemBuyingPrice":2235,"itemCreatingPrice":5000,"itemSellingPrice":560,"profile":"ArmorHead","specialStatus":21},"Armor_169_Head":{"armorDefenceAddLevel":28,"armorEffectEffectType":"ResistElectricAndResistAncient","armorStarNum":5,"itemBuyingPrice":2935,"itemCreatingPrice":6000,"itemSellingPrice":735,"profile":"ArmorHead","specialStatus":21},"Armor_170_Upper":{"armorDefenceAddLevel":1,"armorStarNum":1,"itemBuyingPrice":50,"itemCreatingPrice":0,"itemSellingPrice":15,"profile":"ArmorUpper"},"Armor_171_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"AttackUp","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorHead","specialStatus":8},"Armor_171_Lower":{"armorDefenceAddLevel":8,"armorEffectEffectType":"AttackUp","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorLower","specialStatus":8},"Armor_171_Upper":{"armorDefenceAddLevel":8,"armorEffectEffectType":"AttackUp","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorUpper","specialStatus":8},"Armor_172_Head":{"armorDefenceAddLevel":1,"armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorHead"},"Armor_173_Head":{"armorDefenceAddLevel":7,"armorEffectEffectType":"ResistAncient","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorHead","specialStatus":19},"Armor_174_Head":{"armorDefenceAddLevel":2,"armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorHead"},"Armor_174_Lower":{"armorDefenceAddLevel":2,"armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorLower"},"Armor_174_Upper":{"armorDefenceAddLevel":2,"armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorUpper"},"Armor_175_Upper":{"armorDefenceAddLevel":1,"armorEffectEffectType":"ResistHotAndWakeWind","armorStarNum":1,"itemBuyingPrice":50,"itemCreatingPrice":0,"itemSellingPrice":15,"profile":"ArmorUpper","specialStatus":23},"Armor_176_Head":{"armorDefenceAddLevel":1,"armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorHead"},"Armor_177_Head":{"armorDefenceAddLevel":2,"armorEffectEffectType":"ClimbSpeedAndBeamPowerUp","armorStarNum":1,"itemBuyingPrice":50,"itemCreatingPrice":0,"itemSellingPrice":15,"profile":"ArmorHead","specialStatus":9},"Armor_177_Head_B":{"armorDefenceAddLevel":2,"armorEffectEffectType":"ClimbSpeedAndBeamPowerUp","armorStarNum":1,"itemBuyingPrice":50,"itemCreatingPrice":0,"itemSellingPrice":15,"profile":"ArmorHead","specialStatus":9},"Armor_178_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistFreeze","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorHead","specialStatus":22},"Armor_178_Head_B":{"armorDefenceAddLevel":3,"armorEffectEffectType":"ResistFreeze","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorHead","specialStatus":22},"Armor_179_Head":{"armorDefenceAddLevel":4,"armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorHead"},"Armor_179_Lower":{"armorDefenceAddLevel":4,"armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorLower"},"Armor_179_Upper":{"armorDefenceAddLevel":4,"armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorUpper"},"Armor_180_Head":{"armorDefenceAddLevel":4,"armorEffectEffectType":"Quietness","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorHead","specialStatus":17},"Armor_180_Lower":{"armorDefenceAddLevel":4,"armorEffectEffectType":"Quietness","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorLower","specialStatus":17},"Armor_180_Upper":{"armorDefenceAddLevel":4,"armorEffectEffectType":"Quietness","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorUpper","specialStatus":17},"Armor_181_Head":{"armorDefenceAddLevel":4,"armorEffectEffectType":"SwimSpeedAndResistAncient","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":2000,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":29},"Armor_182_Head":{"armorDefenceAddLevel":4,"armorEffectEffectType":"ResistColdAndResistAncient","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":2000,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":20},"Armor_183_Head":{"armorDefenceAddLevel":4,"armorEffectEffectType":"ResistBurnAndResistAncient","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":2000,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":13},"Armor_184_Head":{"armorDefenceAddLevel":4,"armorEffectEffectType":"ResistElectricAndResistAncient","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":2000,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":21},"Armor_185_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"SwimSpeed","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorHead","specialStatus":29},"Armor_185_Lower":{"armorDefenceAddLevel":5,"armorEffectEffectType":"SwimSpeed","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorLower","specialStatus":29},"Armor_185_Upper":{"armorDefenceAddLevel":5,"armorEffectEffectType":"SwimSpeed","armorStarNum":1,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"ArmorUpper","specialStatus":29},"Armor_186_Head":{"armorDefenceAddLevel":7,"armorEffectEffectType":"SwimSpeedAndResistAncient","armorStarNum":2,"itemBuyingPrice":635,"itemCreatingPrice":3000,"itemSellingPrice":160,"profile":"ArmorHead","specialStatus":29},"Armor_187_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"SwimSpeedAndResistAncient","armorStarNum":3,"itemBuyingPrice":1160,"itemCreatingPrice":4000,"itemSellingPrice":290,"profile":"ArmorHead","specialStatus":29},"Armor_188_Head":{"armorDefenceAddLevel":18,"armorEffectEffectType":"SwimSpeedAndResistAncient","armorStarNum":4,"itemBuyingPrice":2235,"itemCreatingPrice":5000,"itemSellingPrice":560,"profile":"ArmorHead","specialStatus":29},"Armor_189_Head":{"armorDefenceAddLevel":28,"armorEffectEffectType":"SwimSpeedAndResistAncient","armorStarNum":5,"itemBuyingPrice":2935,"itemCreatingPrice":6000,"itemSellingPrice":735,"profile":"ArmorHead","specialStatus":29},"Armor_190_Head":{"armorDefenceAddLevel":7,"armorEffectEffectType":"ResistColdAndResistAncient","armorStarNum":2,"itemBuyingPrice":635,"itemCreatingPrice":3000,"itemSellingPrice":160,"profile":"ArmorHead","specialStatus":20},"Armor_191_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistColdAndResistAncient","armorStarNum":3,"itemBuyingPrice":1160,"itemCreatingPrice":4000,"itemSellingPrice":290,"profile":"ArmorHead","specialStatus":20},"Armor_192_Head":{"armorDefenceAddLevel":18,"armorEffectEffectType":"ResistColdAndResistAncient","armorStarNum":4,"itemBuyingPrice":2235,"itemCreatingPrice":5000,"itemSellingPrice":560,"profile":"ArmorHead","specialStatus":20},"Armor_193_Head":{"armorDefenceAddLevel":28,"armorEffectEffectType":"ResistColdAndResistAncient","armorStarNum":5,"itemBuyingPrice":2935,"itemCreatingPrice":6000,"itemSellingPrice":735,"profile":"ArmorHead","specialStatus":20},"Armor_194_Head":{"armorDefenceAddLevel":7,"armorEffectEffectType":"ResistBurnAndResistAncient","armorStarNum":2,"itemBuyingPrice":635,"itemCreatingPrice":3000,"itemSellingPrice":160,"profile":"ArmorHead","specialStatus":13},"Armor_195_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistBurnAndResistAncient","armorStarNum":3,"itemBuyingPrice":1160,"itemCreatingPrice":4000,"itemSellingPrice":290,"profile":"ArmorHead","specialStatus":13},"Armor_196_Head":{"armorDefenceAddLevel":18,"armorEffectEffectType":"ResistBurnAndResistAncient","armorStarNum":4,"itemBuyingPrice":2235,"itemCreatingPrice":5000,"itemSellingPrice":560,"profile":"ArmorHead","specialStatus":13},"Armor_197_Head":{"armorDefenceAddLevel":28,"armorEffectEffectType":"ResistBurnAndResistAncient","armorStarNum":5,"itemBuyingPrice":2935,"itemCreatingPrice":6000,"itemSellingPrice":735,"profile":"ArmorHead","specialStatus":13},"Armor_198_Head":{"armorDefenceAddLevel":7,"armorEffectEffectType":"ResistElectricAndResistAncient","armorStarNum":2,"itemBuyingPrice":635,"itemCreatingPrice":3000,"itemSellingPrice":160,"profile":"ArmorHead","specialStatus":21},"Armor_199_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"ResistElectricAndResistAncient","armorStarNum":3,"itemBuyingPrice":1160,"itemCreatingPrice":4000,"itemSellingPrice":290,"profile":"ArmorHead","specialStatus":21},"Armor_200_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorHead"},"Armor_200_Lower":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorLower"},"Armor_200_Upper":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorUpper"},"Armor_201_Head":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":225,"profile":"ArmorHead"},"Armor_201_Lower":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":225,"profile":"ArmorLower"},"Armor_201_Upper":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":225,"profile":"ArmorUpper"},"Armor_202_Head":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":335,"profile":"ArmorHead"},"Armor_202_Lower":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":335,"profile":"ArmorLower"},"Armor_202_Upper":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":335,"profile":"ArmorUpper"},"Armor_203_Head":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":525,"profile":"ArmorHead"},"Armor_203_Lower":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":525,"profile":"ArmorLower"},"Armor_203_Upper":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":525,"profile":"ArmorUpper"},"Armor_204_Head":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":825,"profile":"ArmorHead"},"Armor_204_Lower":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":825,"profile":"ArmorLower"},"Armor_204_Upper":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":825,"profile":"ArmorUpper"},"Armor_205_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorHead"},"Armor_205_Lower":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorLower"},"Armor_205_Upper":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorUpper"},"Armor_206_Head":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":245,"profile":"ArmorHead"},"Armor_206_Lower":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":245,"profile":"ArmorLower"},"Armor_206_Upper":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":245,"profile":"ArmorUpper"},"Armor_207_Head":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":395,"profile":"ArmorHead"},"Armor_207_Lower":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":395,"profile":"ArmorLower"},"Armor_207_Upper":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":395,"profile":"ArmorUpper"},"Armor_208_Head":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":620,"profile":"ArmorHead"},"Armor_208_Lower":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":620,"profile":"ArmorLower"},"Armor_208_Upper":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":620,"profile":"ArmorUpper"},"Armor_209_Head":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":995,"profile":"ArmorHead"},"Armor_209_Lower":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":995,"profile":"ArmorLower"},"Armor_209_Upper":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":995,"profile":"ArmorUpper"},"Armor_210_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorHead"},"Armor_210_Lower":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorLower"},"Armor_210_Upper":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorUpper"},"Armor_211_Head":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":245,"profile":"ArmorHead"},"Armor_211_Lower":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":245,"profile":"ArmorLower"},"Armor_211_Upper":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":245,"profile":"ArmorUpper"},"Armor_212_Head":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":455,"profile":"ArmorHead"},"Armor_212_Lower":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":455,"profile":"ArmorLower"},"Armor_212_Upper":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":455,"profile":"ArmorUpper"},"Armor_213_Head":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":755,"profile":"ArmorHead"},"Armor_213_Lower":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":755,"profile":"ArmorLower"},"Armor_213_Upper":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":755,"profile":"ArmorUpper"},"Armor_214_Head":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":1280,"profile":"ArmorHead"},"Armor_214_Lower":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":1280,"profile":"ArmorLower"},"Armor_214_Upper":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":1280,"profile":"ArmorUpper"},"Armor_215_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorHead"},"Armor_215_Lower":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorLower"},"Armor_215_Upper":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorUpper"},"Armor_216_Head":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":265,"profile":"ArmorHead"},"Armor_216_Lower":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":265,"profile":"ArmorLower"},"Armor_216_Upper":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":265,"profile":"ArmorUpper"},"Armor_217_Head":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":535,"profile":"ArmorHead"},"Armor_217_Lower":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":535,"profile":"ArmorLower"},"Armor_217_Upper":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":535,"profile":"ArmorUpper"},"Armor_218_Head":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":935,"profile":"ArmorHead"},"Armor_218_Lower":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":935,"profile":"ArmorLower"},"Armor_218_Upper":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":935,"profile":"ArmorUpper"},"Armor_219_Head":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":1660,"profile":"ArmorHead"},"Armor_219_Lower":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":1660,"profile":"ArmorLower"},"Armor_219_Upper":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":1660,"profile":"ArmorUpper"},"Armor_220_Head":{"armorDefenceAddLevel":2,"armorEffectEffectType":"Quietness","armorStarNum":1,"itemBuyingPrice":400,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":17},"Armor_220_Head_B":{"armorDefenceAddLevel":2,"armorEffectEffectType":"Quietness","armorStarNum":1,"itemBuyingPrice":400,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":17},"Armor_221_Head":{"armorDefenceAddLevel":4,"armorEffectEffectType":"Quietness","armorStarNum":2,"itemBuyingPrice":400,"itemCreatingPrice":0,"itemSellingPrice":210,"profile":"ArmorHead","specialStatus":17},"Armor_221_Head_B":{"armorDefenceAddLevel":4,"armorEffectEffectType":"Quietness","armorStarNum":2,"itemBuyingPrice":400,"itemCreatingPrice":0,"itemSellingPrice":210,"profile":"ArmorHead","specialStatus":17},"Armor_222_Head":{"armorDefenceAddLevel":6,"armorEffectEffectType":"Quietness","armorStarNum":3,"itemBuyingPrice":400,"itemCreatingPrice":0,"itemSellingPrice":305,"profile":"ArmorHead","specialStatus":17},"Armor_222_Head_B":{"armorDefenceAddLevel":6,"armorEffectEffectType":"Quietness","armorStarNum":3,"itemBuyingPrice":400,"itemCreatingPrice":0,"itemSellingPrice":305,"profile":"ArmorHead","specialStatus":17},"Armor_223_Head":{"armorDefenceAddLevel":9,"armorEffectEffectType":"Quietness","armorStarNum":4,"itemBuyingPrice":400,"itemCreatingPrice":0,"itemSellingPrice":410,"profile":"ArmorHead","specialStatus":17},"Armor_223_Head_B":{"armorDefenceAddLevel":9,"armorEffectEffectType":"Quietness","armorStarNum":4,"itemBuyingPrice":400,"itemCreatingPrice":0,"itemSellingPrice":410,"profile":"ArmorHead","specialStatus":17},"Armor_224_Head":{"armorDefenceAddLevel":16,"armorEffectEffectType":"Quietness","armorStarNum":5,"itemBuyingPrice":400,"itemCreatingPrice":0,"itemSellingPrice":525,"profile":"ArmorHead","specialStatus":17},"Armor_224_Head_B":{"armorDefenceAddLevel":16,"armorEffectEffectType":"Quietness","armorStarNum":5,"itemBuyingPrice":400,"itemCreatingPrice":0,"itemSellingPrice":525,"profile":"ArmorHead","specialStatus":17},"Armor_225_Head":{"armorDefenceAddLevel":3,"armorEffectEffectType":"AttackUp","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorHead","specialStatus":8},"Armor_225_Lower":{"armorDefenceAddLevel":3,"armorEffectEffectType":"AttackUp","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorLower","specialStatus":8},"Armor_225_Upper":{"armorDefenceAddLevel":3,"armorEffectEffectType":"AttackUp","armorStarNum":1,"itemBuyingPrice":500,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorUpper","specialStatus":8},"Armor_226_Head":{"armorDefenceAddLevel":5,"armorEffectEffectType":"AttackUp","armorStarNum":2,"itemBuyingPrice":750,"itemCreatingPrice":0,"itemSellingPrice":190,"profile":"ArmorHead","specialStatus":8},"Armor_226_Lower":{"armorDefenceAddLevel":5,"armorEffectEffectType":"AttackUp","armorStarNum":2,"itemBuyingPrice":750,"itemCreatingPrice":0,"itemSellingPrice":190,"profile":"ArmorLower","specialStatus":8},"Armor_226_Upper":{"armorDefenceAddLevel":5,"armorEffectEffectType":"AttackUp","armorStarNum":2,"itemBuyingPrice":750,"itemCreatingPrice":0,"itemSellingPrice":190,"profile":"ArmorUpper","specialStatus":8},"Armor_227_Head":{"armorDefenceAddLevel":8,"armorEffectEffectType":"AttackUp","armorStarNum":3,"itemBuyingPrice":1105,"itemCreatingPrice":0,"itemSellingPrice":275,"profile":"ArmorHead","specialStatus":8},"Armor_227_Lower":{"armorDefenceAddLevel":8,"armorEffectEffectType":"AttackUp","armorStarNum":3,"itemBuyingPrice":1105,"itemCreatingPrice":0,"itemSellingPrice":275,"profile":"ArmorLower","specialStatus":8},"Armor_227_Upper":{"armorDefenceAddLevel":8,"armorEffectEffectType":"AttackUp","armorStarNum":3,"itemBuyingPrice":1105,"itemCreatingPrice":0,"itemSellingPrice":275,"profile":"ArmorUpper","specialStatus":8},"Armor_228_Head":{"armorDefenceAddLevel":12,"armorEffectEffectType":"AttackUp","armorStarNum":4,"itemBuyingPrice":1515,"itemCreatingPrice":0,"itemSellingPrice":380,"profile":"ArmorHead","specialStatus":8},"Armor_228_Lower":{"armorDefenceAddLevel":12,"armorEffectEffectType":"AttackUp","armorStarNum":4,"itemBuyingPrice":1515,"itemCreatingPrice":0,"itemSellingPrice":380,"profile":"ArmorLower","specialStatus":8},"Armor_228_Upper":{"armorDefenceAddLevel":12,"armorEffectEffectType":"AttackUp","armorStarNum":4,"itemBuyingPrice":1515,"itemCreatingPrice":0,"itemSellingPrice":380,"profile":"ArmorUpper","specialStatus":8},"Armor_229_Head":{"armorDefenceAddLevel":20,"armorEffectEffectType":"AttackUp","armorStarNum":5,"itemBuyingPrice":2215,"itemCreatingPrice":0,"itemSellingPrice":555,"profile":"ArmorHead","specialStatus":8},"Armor_229_Lower":{"armorDefenceAddLevel":20,"armorEffectEffectType":"AttackUp","armorStarNum":5,"itemBuyingPrice":2215,"itemCreatingPrice":0,"itemSellingPrice":555,"profile":"ArmorLower","specialStatus":8},"Armor_229_Upper":{"armorDefenceAddLevel":20,"armorEffectEffectType":"AttackUp","armorStarNum":5,"itemBuyingPrice":2215,"itemCreatingPrice":0,"itemSellingPrice":555,"profile":"ArmorUpper","specialStatus":8},"Armor_230_Head":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorHead"},"Armor_230_Lower":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorLower"},"Armor_230_Upper":{"armorDefenceAddLevel":3,"armorStarNum":1,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":125,"profile":"ArmorUpper"},"Armor_231_Head":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":255,"profile":"ArmorHead"},"Armor_231_Lower":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":255,"profile":"ArmorLower"},"Armor_231_Upper":{"armorDefenceAddLevel":5,"armorStarNum":2,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":255,"profile":"ArmorUpper"},"Armor_232_Head":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":485,"profile":"ArmorHead"},"Armor_232_Lower":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":485,"profile":"ArmorLower"},"Armor_232_Upper":{"armorDefenceAddLevel":8,"armorStarNum":3,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":485,"profile":"ArmorUpper"},"Armor_233_Head":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":825,"profile":"ArmorHead"},"Armor_233_Lower":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":825,"profile":"ArmorLower"},"Armor_233_Upper":{"armorDefenceAddLevel":12,"armorStarNum":4,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":825,"profile":"ArmorUpper"},"Armor_234_Head":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":1425,"profile":"ArmorHead"},"Armor_234_Lower":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":1425,"profile":"ArmorLower"},"Armor_234_Upper":{"armorDefenceAddLevel":20,"armorStarNum":5,"itemBuyingPrice":60,"itemCreatingPrice":0,"itemSellingPrice":1425,"profile":"ArmorUpper"},"ArrowRainChild":{"attackPower":16,"profile":"Bullet"},"AssassinIronBall":{"attackPower":16,"profile":"Bullet"},"AssassinRockBall":{"attackPower":12,"profile":"Bullet"},"BeamosBeam":{"attackPower":12,"profile":"LineBeam"},"BeeHome":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"itemStainColor":10,"profile":"CapturedActor"},"BombArrow_A":{"attackPower":40,"canStack":true,"cannotSell":true,"itemBuyingPrice":50,"itemSellingPrice":1,"profile":"Bullet"},"BrightArrow":{"attackPower":100,"cannotSell":true,"itemSellingPrice":1,"profile":"Bullet"},"BrightArrowTP":{"attackPower":100,"cannotSell":true,"itemSellingPrice":1,"profile":"Bullet"},"BrokenSnowBall":{"attackPower":1,"profile":"MapDynamicActive"},"CurseGanonBeam":{"attackPower":40,"profile":"Beam"},"DLC_RockBall":{"attackPower":12,"profile":"MapDynamicActive"},"DLC_WallSpike132":{"attackPower":4,"profile":"MapConstActive"},"DLC_WallSpikeMovableBox_A":{"attackPower":4,"profile":"MapDynamicActive"},"DLC_WallSpikeMovableBox_B":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_DLC_IbutsuEXD_FirePillar_A_01":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_DLC_IbutsuEXD_FirePillar_A_02":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_DLC_IbutsuExD_WallSpike_A_01":{"attackPower":4,"profile":"MapConstActive"},"DgnObj_DLC_IbutsuEx_C_Propeller_A_01":{"attackPower":5,"profile":"MapDynamicActive"},"DgnObj_DLC_IbutsuShaft_A_05":{"attackPower":5,"profile":"MapDynamicActive"},"DgnObj_DLC_WallSpikeMovable":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_DLC_Weapon_Sword_502":{"attackPower":1,"attackRange":1.6,"generalLife":40,"itemBuyingPrice":1,"itemSellingPrice":1,"profile":"WeaponSmallSword"},"DgnObj_FirePillar":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_FirePillar_B":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_FirePillar_C":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_FirePillar_C_01":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_FirePillar_C_02":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_FirePillar_C_03":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_FirePillar_C_04":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_FirePillar_C_Physics":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_FloorSpike_A_01":{"attackPower":4,"profile":"MapConstActive"},"DgnObj_SliderSpike_A":{"attackPower":4,"profile":"MapDynamicActive"},"DgnObj_SpikeBall_028":{"attackPower":12,"profile":"MapDynamicActive"},"DgnObj_SpikeBall_051":{"attackPower":12,"profile":"MapDynamicActive"},"DgnObj_SpikeBall_A":{"attackPower":12,"profile":"MapDynamicActive"},"DgnObj_SpikeBall_B":{"attackPower":12,"profile":"MapDynamicActive"},"DgnObj_SpikeBall_NoHitRope":{"attackPower":12,"profile":"MapDynamicActive"},"DgnObj_WallSpike_067":{"attackPower":4,"profile":"MapConstActive"},"DgnObj_WallSpike_067_None":{"attackPower":4,"profile":"MapConstActive"},"DgnObj_WallSpike_B_01":{"attackPower":4,"profile":"MapConstActive"},"Dm_GameROMMotorcycle":{"attackPower":5,"attackRange":1.0,"generalLife":1,"profile":"DemoNPC"},"DragonFlameBall":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"DragonIceBall":{"attackPower":50,"attackRange":30.0,"profile":"Bullet"},"DragonThunderBall":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"ElectricArrow":{"canStack":true,"cannotSell":true,"itemBuyingPrice":20,"itemSellingPrice":1,"profile":"Bullet"},"ElectricWaterBall":{"attackPower":40,"profile":"Bullet"},"Enemy_Assassin_Azito_Middle":{"attackPower":10,"attackRange":20.0,"generalLife":600,"profile":"Enemy"},"Enemy_Assassin_Azito_Middle_DLC2":{"attackPower":10,"attackRange":20.0,"generalLife":600,"profile":"Enemy"},"Enemy_Assassin_Middle":{"attackPower":10,"attackRange":20.0,"generalLife":400,"profile":"Enemy"},"Enemy_Assassin_Middle_Quest":{"attackPower":10,"attackRange":20.0,"generalLife":400,"profile":"Enemy"},"Enemy_Bokoblin_Bone_Junior":{"attackPower":4,"attackRange":1.0,"generalLife":1,"profile":"Enemy"},"Enemy_Bokoblin_Bone_Junior_AllDay":{"attackPower":4,"attackRange":1.0,"generalLife":1,"profile":"Enemy"},"Enemy_Bokoblin_Guard_Junior_Ambush":{"attackPower":4,"attackRange":1.0,"generalLife":13,"profile":"Enemy"},"Enemy_Bokoblin_Guard_Junior_TreeHouseTop":{"attackPower":4,"attackRange":1.0,"generalLife":13,"profile":"Enemy"},"Enemy_Bokoblin_Junior":{"attackPower":4,"attackRange":1.0,"generalLife":13,"profile":"Enemy"},"Enemy_Chuchu_Electric_Junior":{"attackPower":2,"attackRange":0.5,"generalLife":12,"profile":"GelEnemy"},"Enemy_Chuchu_Electric_Middle":{"attackPower":2,"attackRange":0.5,"generalLife":20,"profile":"GelEnemy"},"Enemy_Chuchu_Electric_Senior":{"attackPower":2,"attackRange":0.5,"generalLife":48,"profile":"GelEnemy"},"Enemy_Chuchu_Fire_Junior":{"attackPower":2,"attackRange":0.5,"generalLife":12,"profile":"GelEnemy"},"Enemy_Chuchu_Fire_Middle":{"attackPower":2,"attackRange":0.5,"generalLife":20,"profile":"GelEnemy"},"Enemy_Chuchu_Fire_Senior":{"attackPower":2,"attackRange":0.5,"generalLife":48,"profile":"GelEnemy"},"Enemy_Chuchu_Ice_Junior":{"attackPower":2,"attackRange":0.5,"generalLife":12,"profile":"GelEnemy"},"Enemy_Chuchu_Ice_Middle":{"attackPower":2,"attackRange":0.5,"generalLife":20,"profile":"GelEnemy"},"Enemy_Chuchu_Ice_Senior":{"attackPower":2,"attackRange":0.5,"generalLife":48,"profile":"GelEnemy"},"Enemy_Chuchu_Junior":{"attackPower":2,"attackRange":0.5,"generalLife":3,"profile":"GelEnemy"},"Enemy_Chuchu_Middle":{"attackPower":2,"attackRange":0.5,"generalLife":20,"profile":"GelEnemy"},"Enemy_Chuchu_Senior":{"attackPower":2,"attackRange":0.5,"generalLife":48,"profile":"GelEnemy"},"Enemy_Ganon":{"attackPower":60,"attackRange":100.0,"generalLife":8000,"profile":"LastBoss"},"Enemy_Ganon_Lsword_Weapon":{"attackPower":1,"attackRange":1.6,"generalLife":35,"profile":"WeaponLargeSword"},"Enemy_Ganon_Sword_Weapon_FL":{"attackPower":1,"attackRange":1.6,"generalLife":35,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"WeaponSmallSword"},"Enemy_Ganon_Sword_Weapon_FR":{"attackPower":1,"attackRange":1.6,"generalLife":35,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"WeaponSmallSword"},"Enemy_Ganon_Sword_Weapon_MR":{"attackPower":1,"attackRange":1.6,"generalLife":35,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"WeaponSmallSword"},"Enemy_Giant_Bone":{"attackPower":60,"attackRange":7.0,"generalLife":1000,"profile":"GiantEnemy"},"Enemy_Giant_Bone_AllDay":{"attackPower":60,"attackRange":7.0,"generalLife":1000,"profile":"GiantEnemy"},"Enemy_Giant_Bone_Arm_L":{"attackPower":16,"profile":"Bullet"},"Enemy_Giant_Bone_Chin":{"attackPower":12,"profile":"Bullet"},"Enemy_Giant_Bone_Rib":{"attackPower":12,"profile":"Bullet"},"Enemy_Giant_Junior":{"attackPower":24,"attackRange":7.0,"generalLife":600,"profile":"GiantEnemy"},"Enemy_Giant_Middle":{"attackPower":48,"attackRange":7.0,"generalLife":800,"profile":"GiantEnemy"},"Enemy_Giant_Senior":{"attackPower":72,"attackRange":7.0,"generalLife":1000,"profile":"GiantEnemy"},"Enemy_Golem_Fire":{"attackPower":10,"attackRange":10.0,"generalLife":800,"profile":"GiantEnemy"},"Enemy_Golem_Fire_Lower_Arm_L":{"attackPower":8,"profile":"Bullet"},"Enemy_Golem_Fire_Lower_Arm_R":{"attackPower":8,"profile":"Bullet"},"Enemy_Golem_Fire_R":{"attackPower":10,"attackRange":10.0,"generalLife":1600,"profile":"GiantEnemy"},"Enemy_Golem_Fire_R_Lower_Arm_L":{"attackPower":60,"profile":"Bullet"},"Enemy_Golem_Fire_R_Lower_Arm_R":{"attackPower":60,"profile":"Bullet"},"Enemy_Golem_Fire_R_Upper_Arm_L":{"attackPower":60,"profile":"Bullet"},"Enemy_Golem_Fire_R_Upper_Arm_R":{"attackPower":60,"profile":"Bullet"},"Enemy_Golem_Fire_Upper_Arm_L":{"attackPower":8,"profile":"Bullet"},"Enemy_Golem_Fire_Upper_Arm_R":{"attackPower":8,"profile":"Bullet"},"Enemy_Golem_Ice":{"attackPower":10,"attackRange":10.0,"generalLife":800,"profile":"GiantEnemy"},"Enemy_Golem_Ice_Lower_Arm_L":{"attackPower":8,"profile":"Bullet"},"Enemy_Golem_Ice_Lower_Arm_R":{"attackPower":8,"profile":"Bullet"},"Enemy_Golem_Ice_Upper_Arm_L":{"attackPower":8,"profile":"Bullet"},"Enemy_Golem_Ice_Upper_Arm_R":{"attackPower":8,"profile":"Bullet"},"Enemy_Golem_Junior":{"attackPower":10,"attackRange":10.0,"generalLife":300,"profile":"GiantEnemy"},"Enemy_Golem_Little":{"attackPower":10,"attackRange":1.5,"generalLife":20,"profile":"Enemy"},"Enemy_Golem_Little_Fire":{"attackPower":10,"attackRange":1.5,"generalLife":20,"profile":"Enemy"},"Enemy_Golem_Little_Ice":{"attackPower":10,"attackRange":1.5,"generalLife":20,"profile":"Enemy"},"Enemy_Golem_Lower_Arm_L":{"attackPower":8,"profile":"Bullet"},"Enemy_Golem_Lower_Arm_R":{"attackPower":8,"profile":"Bullet"},"Enemy_Golem_Middle":{"attackPower":10,"attackRange":10.0,"generalLife":600,"profile":"GiantEnemy"},"Enemy_Golem_Senior":{"attackPower":10,"attackRange":10.0,"generalLife":900,"profile":"GiantEnemy"},"Enemy_Golem_Upper_Arm_L":{"attackPower":8,"profile":"Bullet"},"Enemy_Golem_Upper_Arm_R":{"attackPower":8,"profile":"Bullet"},"Enemy_Lynel_Junior":{"attackPower":15,"attackRange":5.0,"generalLife":2000,"profile":"Enemy"},"Enemy_Lynel_Junior_Mountain":{"attackPower":15,"attackRange":5.0,"generalLife":2000,"profile":"Enemy"},"Enemy_Octarock":{"attackPower":10,"attackRange":35.0,"generalLife":8,"profile":"Enemy"},"Enemy_Octarock_Desert":{"attackPower":10,"attackRange":35.0,"generalLife":8,"profile":"Enemy"},"Enemy_Octarock_Forest":{"attackPower":10,"attackRange":35.0,"generalLife":8,"profile":"Enemy"},"Enemy_Octarock_Snow":{"attackPower":10,"attackRange":35.0,"generalLife":8,"profile":"Enemy"},"Enemy_Octarock_Stone":{"attackPower":10,"attackRange":35.0,"generalLife":8,"profile":"Enemy"},"Enemy_SiteBoss_Lsword_Weapon":{"attackPower":1,"attackRange":1.6,"generalLife":35,"profile":"WeaponLargeSword"},"Enemy_SiteBoss_Spear_Weapon":{"attackPower":1,"attackRange":3.0,"profile":"WeaponSpear"},"Enemy_SiteBoss_Sword_Weapon":{"attackPower":1,"attackRange":1.6,"generalLife":35,"profile":"WeaponSmallSword"},"Explode":{"attackPower":10,"profile":"Bullet"},"FireArrow":{"canStack":true,"cannotSell":true,"itemBuyingPrice":20,"itemSellingPrice":1,"profile":"Bullet"},"FireRodLv1Fire":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"FireRodLv2Fire":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"FireRodLv2FireChild":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"FldObj_GoronCannonBall_A_01":{"attackPower":1000,"profile":"MapDynamicActive"},"FldObj_GoronCannonBall_YunBo":{"attackPower":1000,"profile":"MapDynamicActive"},"FldObj_VolcanicBomb_A_01":{"attackPower":20,"profile":"MapDynamicActive"},"FldObj_VolcanicBomb_Field":{"attackPower":20,"profile":"MapDynamicActive"},"GaleArrow":{"attackPower":24,"profile":"Bullet"},"GameROMMotorcycle":{"attackPower":5,"attackRange":1.0,"generalLife":1,"profile":"Motorcycle"},"GameRomHorse":{"attackPower":5,"attackRange":1.0,"generalLife":220,"profile":"Horse"},"GameRomHorse00L":{"attackPower":10,"attackRange":1.0,"generalLife":300,"profile":"Horse"},"GameRomHorse00S":{"attackPower":5,"attackRange":1.0,"generalLife":120,"profile":"Horse"},"GameRomHorse01":{"attackPower":5,"attackRange":1.0,"generalLife":130,"profile":"Horse"},"GameRomHorse02":{"attackPower":5,"attackRange":1.0,"generalLife":130,"profile":"Horse"},"GameRomHorse03":{"attackPower":5,"attackRange":1.0,"generalLife":80,"profile":"Horse"},"GameRomHorse04":{"attackPower":5,"attackRange":1.0,"generalLife":130,"profile":"Horse"},"GameRomHorse05":{"attackPower":5,"attackRange":1.0,"generalLife":80,"profile":"Horse"},"GameRomHorse06":{"attackPower":5,"attackRange":1.0,"generalLife":80,"profile":"Horse"},"GameRomHorse07":{"attackPower":5,"attackRange":1.0,"generalLife":80,"profile":"Horse"},"GameRomHorse08":{"attackPower":5,"attackRange":1.0,"generalLife":160,"profile":"Horse"},"GameRomHorse09":{"attackPower":5,"attackRange":1.0,"generalLife":240,"profile":"Horse"},"GameRomHorse10":{"attackPower":5,"attackRange":1.0,"generalLife":80,"profile":"Horse"},"GameRomHorse11":{"attackPower":5,"attackRange":1.0,"generalLife":130,"profile":"Horse"},"GameRomHorse12":{"attackPower":5,"attackRange":1.0,"generalLife":250,"profile":"Horse"},"GameRomHorse13":{"attackPower":5,"attackRange":1.0,"generalLife":80,"profile":"Horse"},"GameRomHorse14":{"attackPower":5,"attackRange":1.0,"generalLife":80,"profile":"Horse"},"GameRomHorse15":{"attackPower":5,"attackRange":1.0,"generalLife":240,"profile":"Horse"},"GameRomHorse16":{"attackPower":5,"attackRange":1.0,"generalLife":150,"profile":"Horse"},"GameRomHorse17":{"attackPower":5,"attackRange":1.0,"generalLife":110,"profile":"Horse"},"GameRomHorse18":{"attackPower":5,"attackRange":1.0,"generalLife":110,"profile":"Horse"},"GameRomHorse19":{"attackPower":5,"attackRange":1.0,"generalLife":300,"profile":"Horse"},"GameRomHorse20":{"attackPower":5,"attackRange":1.0,"generalLife":220,"profile":"Horse"},"GameRomHorse21":{"attackPower":5,"attackRange":1.0,"generalLife":150,"profile":"Horse"},"GameRomHorse22":{"attackPower":5,"attackRange":1.0,"generalLife":150,"profile":"Horse"},"GameRomHorse23":{"attackPower":5,"attackRange":1.0,"profile":"Horse"},"GameRomHorseBone":{"attackPower":5,"attackRange":1.0,"profile":"Horse"},"GameRomHorseBone_AllDay":{"attackPower":5,"attackRange":1.0,"profile":"Horse"},"GameRomHorseEpona":{"attackPower":5,"attackRange":1.0,"generalLife":220,"profile":"Horse"},"GameRomHorseNushi":{"attackPower":5,"attackRange":1.0,"profile":"Horse"},"GameRomHorseReins_01":{"cannotSell":true,"isImportant":true,"profile":"HorseReins"},"GameRomHorseReins_02":{"cannotSell":true,"isImportant":true,"profile":"HorseReins"},"GameRomHorseReins_03":{"cannotSell":true,"isImportant":true,"profile":"HorseReins"},"GameRomHorseReins_04":{"cannotSell":true,"isImportant":true,"profile":"HorseReins"},"GameRomHorseReins_05":{"cannotSell":true,"isImportant":true,"profile":"HorseReins"},"GameRomHorseReins_10":{"cannotSell":true,"isImportant":true,"profile":"HorseReins"},"GameRomHorseSaddle_01":{"cannotSell":true,"isImportant":true,"profile":"HorseSaddle"},"GameRomHorseSaddle_02":{"cannotSell":true,"isImportant":true,"profile":"HorseSaddle"},"GameRomHorseSaddle_03":{"cannotSell":true,"isImportant":true,"profile":"HorseSaddle"},"GameRomHorseSaddle_04":{"cannotSell":true,"isImportant":true,"profile":"HorseSaddle"},"GameRomHorseSaddle_05":{"cannotSell":true,"isImportant":true,"profile":"HorseSaddle"},"GameRomHorseSaddle_10":{"cannotSell":true,"isImportant":true,"profile":"HorseSaddle"},"GameRomHorseZelda":{"attackPower":5,"attackRange":1.0,"generalLife":220,"profile":"Horse"},"GanonBeam":{"attackPower":40,"profile":"Beam"},"GanonBeastBeam":{"attackPower":72,"profile":"LineBeam"},"GanonFlameBall":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"GanonIceBullet":{"attackPower":24,"profile":"Bullet"},"GanonNormalArrow":{"attackPower":16,"profile":"Bullet"},"GanonPillarOfFlame":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"GanonSeaOfFlame":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"GanonSpearForThrowing":{"attackPower":16,"profile":"Bullet"},"GanonThunder":{"attackPower":24,"profile":"Bullet"},"GanonTornado":{"attackPower":24,"profile":"Bullet"},"Get_TwnObj_DLC_MemorialPicture_A_01":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Giant_Bomb_Weapon":{"attackPower":30,"profile":"Bullet"},"Giant_Rock_Weapon":{"attackPower":8,"profile":"Bullet"},"GuardianBeam":{"attackPower":52,"profile":"Beam"},"GuardianBeam_RemainsWind":{"attackPower":52,"profile":"Beam"},"GuardianMiniBeam":{"attackPower":1,"attackRange":100.0,"profile":"Beam"},"GuardianMiniBeam_Junior":{"attackPower":10,"attackRange":100.0,"profile":"Beam"},"GuardianMiniBeam_Middle":{"attackPower":15,"attackRange":100.0,"profile":"Beam"},"GuardianMiniBeam_Senior":{"attackPower":20,"attackRange":100.0,"profile":"Beam"},"GuardianMiniFinalBeam":{"attackPower":1,"profile":"Beam"},"GuardianMiniFinalBeam_Junior":{"attackPower":20,"profile":"Beam"},"GuardianMiniFinalBeam_Middle":{"attackPower":30,"profile":"Beam"},"GuardianMiniFinalBeam_Senior":{"attackPower":40,"profile":"Beam"},"GuardianMiniLineBeam":{"attackPower":1,"profile":"LineBeam"},"GuardianMiniLineBeam_Junior":{"attackPower":16,"profile":"LineBeam"},"GuardianMiniLineBeam_Middle":{"attackPower":24,"profile":"LineBeam"},"GuardianMiniLineBeam_Senior":{"attackPower":32,"profile":"LineBeam"},"IceArrow":{"canStack":true,"cannotSell":true,"itemBuyingPrice":20,"itemSellingPrice":1,"profile":"Bullet"},"IceRodLv1Ice":{"attackPower":50,"attackRange":30.0,"profile":"Bullet"},"IceRodLv2Ice":{"attackPower":50,"attackRange":30.0,"profile":"Bullet"},"Item_Boiled_01":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"Item"},"Item_ChilledFish_01":{"canStack":true,"isCureItem":true,"itemBuyingPrice":32,"itemSellingPrice":14,"profile":"Item"},"Item_ChilledFish_02":{"canStack":true,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":18,"profile":"Item"},"Item_ChilledFish_03":{"canStack":true,"isCureItem":true,"itemBuyingPrice":25,"itemSellingPrice":10,"profile":"Item"},"Item_ChilledFish_04":{"canStack":true,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":18,"profile":"Item"},"Item_ChilledFish_05":{"canStack":true,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":18,"profile":"Item"},"Item_ChilledFish_06":{"canStack":true,"isCureItem":true,"itemBuyingPrice":32,"itemSellingPrice":14,"profile":"Item"},"Item_ChilledFish_07":{"canStack":true,"isCureItem":true,"itemBuyingPrice":32,"itemSellingPrice":14,"profile":"Item"},"Item_ChilledFish_08":{"canStack":true,"isCureItem":true,"itemBuyingPrice":25,"itemSellingPrice":10,"profile":"Item"},"Item_ChilledFish_09":{"canStack":true,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":18,"profile":"Item"},"Item_Chilled_01":{"canStack":true,"isCureItem":true,"itemBuyingPrice":35,"itemSellingPrice":15,"profile":"Item"},"Item_Chilled_02":{"canStack":true,"isCureItem":true,"itemBuyingPrice":60,"itemSellingPrice":28,"profile":"Item"},"Item_Chilled_03":{"canStack":true,"isCureItem":true,"itemBuyingPrice":150,"itemSellingPrice":40,"profile":"Item"},"Item_Chilled_04":{"canStack":true,"isCureItem":true,"itemBuyingPrice":35,"itemSellingPrice":15,"profile":"Item"},"Item_Chilled_05":{"canStack":true,"isCureItem":true,"itemBuyingPrice":60,"itemSellingPrice":28,"profile":"Item"},"Item_Chilled_06":{"canStack":true,"isCureItem":true,"itemBuyingPrice":150,"itemSellingPrice":40,"profile":"Item"},"Item_Cook_A_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_05":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_07":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_08":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_09":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_10":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_11":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_12":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_13":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_A_14":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_05":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_06":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_11":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_12":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_13":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_14":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_15":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_16":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_17":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_18":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_19":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_20":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_21":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_22":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_B_23":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_05":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_06":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_07":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_08":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_11":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_12":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_13":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_14":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_15":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_16":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_17":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_C_17_00":{"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_D_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_D_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_D_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_D_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_D_05":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_D_06":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_D_07":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_D_08":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_D_09":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_D_10":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_E_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_E_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_E_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_E_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_F_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_F_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_F_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_F_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_05":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_06":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_07":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_08":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_09":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_10":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_11":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_12":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_13":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_14":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_15":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_16":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_G_17":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_H_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_H_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_H_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_05":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_06":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_07":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_08":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_09":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_10":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_11":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_12":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_13":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_14":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_15":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_16":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_I_17":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_J_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_J_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_J_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_J_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_J_05":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_J_06":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_J_07":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_J_08":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_J_09":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_K_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_K_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_K_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_K_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_K_05":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_K_06":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_K_07":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_K_08":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_K_09":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_L_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_L_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_L_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_L_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_L_05":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_M_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_N_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_N_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_N_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_N_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_O_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_O_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_P_01":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_P_02":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_P_03":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_P_04":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Cook_P_05":{"isCureItem":true,"itemSellingPrice":1,"profile":"CookResult"},"Item_Enemy_00":{"canStack":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":15,"profile":"Item"},"Item_Enemy_01":{"canStack":true,"itemBuyingPrice":32,"itemSellingPrice":8,"itemStainColor":13,"profile":"Item"},"Item_Enemy_02":{"canStack":true,"itemBuyingPrice":80,"itemSellingPrice":20,"itemStainColor":6,"profile":"Item"},"Item_Enemy_03":{"canStack":true,"itemBuyingPrice":40,"itemSellingPrice":10,"itemStainColor":15,"profile":"Item"},"Item_Enemy_04":{"canStack":true,"itemBuyingPrice":60,"itemSellingPrice":15,"itemStainColor":15,"profile":"Item"},"Item_Enemy_05":{"canStack":true,"itemBuyingPrice":112,"itemSellingPrice":28,"itemStainColor":7,"profile":"Item"},"Item_Enemy_06":{"canStack":true,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":15,"profile":"Item"},"Item_Enemy_07":{"canStack":true,"itemBuyingPrice":45,"itemSellingPrice":12,"itemStainColor":15,"profile":"Item"},"Item_Enemy_08":{"canStack":true,"itemBuyingPrice":100,"itemSellingPrice":25,"itemStainColor":8,"profile":"Item"},"Item_Enemy_12":{"canStack":true,"itemBuyingPrice":160,"itemSellingPrice":40,"itemStainColor":4,"profile":"Item"},"Item_Enemy_13":{"canStack":true,"itemBuyingPrice":200,"itemSellingPrice":50,"itemStainColor":5,"profile":"Item"},"Item_Enemy_14":{"canStack":true,"itemBuyingPrice":800,"itemSellingPrice":200,"itemStainColor":12,"profile":"Item"},"Item_Enemy_15":{"canStack":true,"generalLife":1,"itemBuyingPrice":40,"itemSellingPrice":10,"itemStainColor":2,"profile":"Item"},"Item_Enemy_16":{"canStack":true,"generalLife":1,"itemBuyingPrice":40,"itemSellingPrice":10,"itemStainColor":3,"profile":"Item"},"Item_Enemy_17":{"canStack":true,"generalLife":1,"itemBuyingPrice":40,"itemSellingPrice":10,"itemStainColor":4,"profile":"Item"},"Item_Enemy_18":{"canStack":true,"itemBuyingPrice":8,"itemSellingPrice":2,"itemStainColor":15,"profile":"Item"},"Item_Enemy_19":{"canStack":true,"itemBuyingPrice":80,"itemSellingPrice":20,"itemStainColor":10,"profile":"Item"},"Item_Enemy_20":{"canStack":true,"itemBuyingPrice":40,"itemSellingPrice":10,"itemStainColor":8,"profile":"Item"},"Item_Enemy_21":{"canStack":true,"itemBuyingPrice":100,"itemSellingPrice":25,"itemStainColor":3,"profile":"Item"},"Item_Enemy_24":{"canStack":true,"itemBuyingPrice":120,"itemSellingPrice":30,"itemStainColor":14,"profile":"Item"},"Item_Enemy_25":{"canStack":true,"itemBuyingPrice":440,"itemSellingPrice":110,"itemStainColor":7,"profile":"Item"},"Item_Enemy_26":{"canStack":true,"itemBuyingPrice":120,"itemSellingPrice":30,"itemStainColor":15,"profile":"Item"},"Item_Enemy_27":{"canStack":true,"itemBuyingPrice":48,"itemSellingPrice":12,"itemStainColor":15,"profile":"Item"},"Item_Enemy_28":{"canStack":true,"itemBuyingPrice":60,"itemSellingPrice":15,"itemStainColor":15,"profile":"Item"},"Item_Enemy_29":{"canStack":true,"itemBuyingPrice":160,"itemSellingPrice":40,"itemStainColor":15,"profile":"Item"},"Item_Enemy_30":{"canStack":true,"generalLife":1,"itemBuyingPrice":320,"itemSellingPrice":80,"itemStainColor":15,"profile":"Item"},"Item_Enemy_31":{"canStack":true,"generalLife":1,"itemBuyingPrice":800,"itemSellingPrice":200,"itemStainColor":15,"profile":"Item"},"Item_Enemy_32":{"canStack":true,"itemBuyingPrice":80,"itemSellingPrice":20,"itemStainColor":14,"profile":"Item"},"Item_Enemy_33":{"canStack":true,"itemBuyingPrice":140,"itemSellingPrice":35,"itemStainColor":14,"profile":"Item"},"Item_Enemy_34":{"canStack":true,"itemBuyingPrice":320,"itemSellingPrice":80,"itemStainColor":3,"profile":"Item"},"Item_Enemy_38":{"canStack":true,"itemBuyingPrice":600,"itemSellingPrice":150,"itemStainColor":12,"profile":"Item"},"Item_Enemy_39":{"canStack":true,"itemBuyingPrice":720,"itemSellingPrice":180,"itemStainColor":12,"profile":"Item"},"Item_Enemy_40":{"canStack":true,"generalLife":1,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":8,"profile":"Item"},"Item_Enemy_41":{"canStack":true,"itemBuyingPrice":140,"itemSellingPrice":35,"itemStainColor":2,"profile":"Item"},"Item_Enemy_42":{"canStack":true,"itemBuyingPrice":140,"itemSellingPrice":35,"itemStainColor":1,"profile":"Item"},"Item_Enemy_43":{"canStack":true,"itemBuyingPrice":140,"itemSellingPrice":35,"itemStainColor":3,"profile":"Item"},"Item_Enemy_44":{"canStack":true,"itemBuyingPrice":24,"itemSellingPrice":6,"itemStainColor":2,"profile":"Item"},"Item_Enemy_45":{"canStack":true,"itemBuyingPrice":24,"itemSellingPrice":6,"itemStainColor":3,"profile":"Item"},"Item_Enemy_46":{"canStack":true,"itemBuyingPrice":24,"itemSellingPrice":6,"itemStainColor":1,"profile":"Item"},"Item_Enemy_47":{"canStack":true,"itemBuyingPrice":1000,"itemSellingPrice":250,"itemStainColor":12,"profile":"Item"},"Item_Enemy_48":{"canStack":true,"itemBuyingPrice":1200,"itemSellingPrice":300,"itemStainColor":12,"profile":"Item"},"Item_Enemy_49":{"canStack":true,"itemBuyingPrice":600,"itemSellingPrice":150,"itemStainColor":8,"profile":"Item"},"Item_Enemy_50":{"canStack":true,"itemBuyingPrice":720,"itemSellingPrice":180,"itemStainColor":8,"profile":"Item"},"Item_Enemy_51":{"canStack":true,"itemBuyingPrice":1000,"itemSellingPrice":250,"itemStainColor":8,"profile":"Item"},"Item_Enemy_52":{"canStack":true,"itemBuyingPrice":1200,"itemSellingPrice":300,"itemStainColor":8,"profile":"Item"},"Item_Enemy_53":{"canStack":true,"itemBuyingPrice":600,"itemSellingPrice":150,"itemStainColor":13,"profile":"Item"},"Item_Enemy_54":{"canStack":true,"itemBuyingPrice":720,"itemSellingPrice":180,"itemStainColor":13,"profile":"Item"},"Item_Enemy_55":{"canStack":true,"itemBuyingPrice":1000,"itemSellingPrice":250,"itemStainColor":13,"profile":"Item"},"Item_Enemy_56":{"canStack":true,"itemBuyingPrice":1200,"itemSellingPrice":300,"itemStainColor":13,"profile":"Item"},"Item_Enemy_57":{"canStack":true,"generalLife":1,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":6,"profile":"Item"},"Item_Enemy_Put_57":{"canStack":true,"generalLife":1,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":6,"profile":"Item"},"Item_FishGet_A":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"profile":"Item"},"Item_FishGet_B":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":72,"itemSellingPrice":18,"profile":"Item"},"Item_FishGet_C":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"profile":"Item"},"Item_FishGet_D":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"profile":"Item"},"Item_FishGet_E":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"Item"},"Item_FishGet_F":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"Item"},"Item_FishGet_G":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"Item"},"Item_FishGet_H":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"Item"},"Item_FishGet_I":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"Item"},"Item_FishGet_J":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"profile":"Item"},"Item_FishGet_K":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":60,"itemSellingPrice":15,"profile":"Item"},"Item_FishGet_L":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":72,"itemSellingPrice":18,"profile":"Item"},"Item_FishGet_M":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"profile":"Item"},"Item_FishGet_X":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"Item"},"Item_FishGet_Z":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":80,"itemSellingPrice":20,"profile":"Item"},"Item_Fruit_A":{"canStack":true,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":2,"profile":"Item"},"Item_Fruit_B":{"canStack":true,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":11,"profile":"Item"},"Item_Fruit_C":{"canStack":true,"isCureItem":true,"itemBuyingPrice":16,"itemSellingPrice":4,"itemStainColor":10,"profile":"Item"},"Item_Fruit_D":{"canStack":true,"isCureItem":true,"itemBuyingPrice":60,"itemSellingPrice":15,"itemStainColor":13,"profile":"Item"},"Item_Fruit_E":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":7,"profile":"Item"},"Item_Fruit_F":{"canStack":true,"isCureItem":true,"itemBuyingPrice":16,"itemSellingPrice":4,"itemStainColor":7,"profile":"Item"},"Item_Fruit_G":{"canStack":true,"isCureItem":true,"itemBuyingPrice":16,"itemSellingPrice":4,"itemStainColor":13,"profile":"Item"},"Item_Fruit_H":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":3,"profile":"Item"},"Item_Fruit_I":{"canStack":true,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":2,"profile":"Item"},"Item_Fruit_J":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":10,"profile":"Item"},"Item_Fruit_K":{"canStack":true,"isCureItem":true,"itemBuyingPrice":8,"itemSellingPrice":2,"itemStainColor":14,"profile":"Item"},"Item_Fruit_L":{"canStack":true,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":12,"profile":"Item"},"Item_InsectGet_K":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":32,"itemSellingPrice":8,"profile":"Item"},"Item_InsectGet_O":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":32,"itemSellingPrice":8,"profile":"Item"},"Item_InsectGet_Z":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"Item"},"Item_Material_01":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":7,"profile":"Item"},"Item_Material_02":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":16,"itemSellingPrice":4,"itemStainColor":12,"profile":"Item"},"Item_Material_03":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":4,"profile":"Item"},"Item_Material_04":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":3,"profile":"Item"},"Item_Material_05":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":4,"profile":"Item"},"Item_Material_05_00":{"generalLife":1,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":4,"profile":"Item"},"Item_Material_06":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":13,"profile":"Item"},"Item_Material_07":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":13,"profile":"Item"},"Item_Material_08":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":10,"itemSellingPrice":3,"itemStainColor":6,"profile":"Item"},"Item_Meat_01":{"canStack":true,"isCureItem":true,"itemBuyingPrice":32,"itemSellingPrice":8,"profile":"Item"},"Item_Meat_02":{"canStack":true,"isCureItem":true,"itemBuyingPrice":60,"itemSellingPrice":15,"profile":"Item"},"Item_Meat_06":{"canStack":true,"isCureItem":true,"itemBuyingPrice":32,"itemSellingPrice":8,"profile":"Item"},"Item_Meat_07":{"canStack":true,"isCureItem":true,"itemBuyingPrice":60,"itemSellingPrice":15,"profile":"Item"},"Item_Meat_11":{"canStack":true,"isCureItem":true,"itemBuyingPrice":140,"itemSellingPrice":35,"profile":"Item"},"Item_Meat_12":{"canStack":true,"isCureItem":true,"itemBuyingPrice":140,"itemSellingPrice":35,"profile":"Item"},"Item_MushroomGet_D":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":6,"profile":"Item"},"Item_Mushroom_A":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":7,"profile":"Item"},"Item_Mushroom_B":{"canStack":true,"isCureItem":true,"itemBuyingPrice":16,"itemSellingPrice":4,"itemStainColor":1,"profile":"Item"},"Item_Mushroom_C":{"canStack":true,"isCureItem":true,"itemBuyingPrice":16,"itemSellingPrice":4,"itemStainColor":2,"profile":"Item"},"Item_Mushroom_D":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":6,"profile":"Item"},"Item_Mushroom_E":{"canStack":true,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":2,"profile":"Item"},"Item_Mushroom_F":{"canStack":true,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"itemStainColor":5,"profile":"Item"},"Item_Mushroom_F_00":{"itemBuyingPrice":24,"itemSellingPrice":6,"itemStainColor":5,"profile":"Item"},"Item_Mushroom_H":{"canStack":true,"isCureItem":true,"itemBuyingPrice":16,"itemSellingPrice":4,"itemStainColor":3,"profile":"Item"},"Item_Mushroom_J":{"canStack":true,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":8,"profile":"Item"},"Item_Mushroom_L":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":12,"profile":"Item"},"Item_Mushroom_M":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":14,"profile":"Item"},"Item_Mushroom_N":{"canStack":true,"isCureItem":true,"itemBuyingPrice":60,"itemSellingPrice":15,"itemStainColor":5,"profile":"Item"},"Item_Mushroom_N_00":{"itemBuyingPrice":60,"itemSellingPrice":15,"itemStainColor":5,"profile":"Item"},"Item_Mushroom_O":{"canStack":true,"isCureItem":true,"itemBuyingPrice":24,"itemSellingPrice":6,"itemStainColor":10,"profile":"Item"},"Item_Ore_A":{"canStack":true,"itemBuyingPrice":2000,"itemSellingPrice":500,"itemStainColor":4,"profile":"Item"},"Item_Ore_A_00":{"itemBuyingPrice":2000,"itemSellingPrice":500,"itemStainColor":4,"profile":"Item"},"Item_Ore_B":{"canStack":true,"itemBuyingPrice":840,"itemSellingPrice":210,"itemStainColor":2,"profile":"Item"},"Item_Ore_C":{"canStack":true,"itemBuyingPrice":1040,"itemSellingPrice":260,"itemStainColor":1,"profile":"Item"},"Item_Ore_D":{"canStack":true,"itemBuyingPrice":720,"itemSellingPrice":180,"itemStainColor":3,"profile":"Item"},"Item_Ore_E":{"canStack":true,"itemBuyingPrice":240,"itemSellingPrice":60,"itemStainColor":13,"profile":"Item"},"Item_Ore_F":{"canStack":true,"itemBuyingPrice":120,"itemSellingPrice":30,"itemStainColor":10,"profile":"Item"},"Item_Ore_G":{"canStack":true,"itemBuyingPrice":280,"itemSellingPrice":70,"itemStainColor":9,"profile":"Item"},"Item_Ore_H":{"canStack":true,"itemBuyingPrice":12,"itemSellingPrice":2,"itemStainColor":11,"profile":"Item"},"Item_Ore_I":{"canStack":true,"generalLife":1,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":5,"profile":"Item"},"Item_Ore_J":{"canStack":true,"itemBuyingPrice":1500,"itemSellingPrice":300,"itemStainColor":4,"profile":"Item"},"Item_PlantGet_A":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":7,"profile":"Item"},"Item_PlantGet_B":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":32,"itemSellingPrice":8,"itemStainColor":11,"profile":"Item"},"Item_PlantGet_C":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":60,"itemSellingPrice":15,"itemStainColor":11,"profile":"Item"},"Item_PlantGet_E":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":8,"profile":"Item"},"Item_PlantGet_F":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":10,"profile":"Item"},"Item_PlantGet_G":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":10,"profile":"Item"},"Item_PlantGet_H":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":6,"profile":"Item"},"Item_PlantGet_I":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":16,"itemSellingPrice":4,"itemStainColor":1,"profile":"Item"},"Item_PlantGet_J":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":30,"itemSellingPrice":10,"itemStainColor":4,"profile":"Item"},"Item_PlantGet_L":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":13,"profile":"Item"},"Item_PlantGet_M":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":16,"itemSellingPrice":4,"itemStainColor":10,"profile":"Item"},"Item_PlantGet_O":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"itemStainColor":6,"profile":"Item"},"Item_PlantGet_Q":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":120,"itemSellingPrice":30,"itemStainColor":13,"profile":"Item"},"Item_Plant_A":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":7,"profile":"Item"},"Item_Plant_B":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":32,"itemSellingPrice":8,"itemStainColor":11,"profile":"Item"},"Item_Plant_C":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":60,"itemSellingPrice":15,"itemStainColor":11,"profile":"Item"},"Item_Plant_E":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":8,"profile":"Item"},"Item_Plant_F":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":10,"profile":"Item"},"Item_Plant_G":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":10,"profile":"Item"},"Item_Plant_H":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"itemStainColor":6,"profile":"Item"},"Item_Plant_I":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":16,"itemSellingPrice":4,"itemStainColor":1,"profile":"Item"},"Item_Plant_J":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":80,"itemSellingPrice":40,"itemStainColor":4,"profile":"Item"},"Item_Plant_L":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":13,"profile":"Item"},"Item_Plant_M":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":16,"itemSellingPrice":4,"itemStainColor":10,"profile":"Item"},"Item_Plant_O":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":40,"itemSellingPrice":10,"itemStainColor":6,"profile":"Item"},"Item_Plant_Q":{"canStack":true,"generalLife":1,"isCureItem":true,"itemBuyingPrice":120,"itemSellingPrice":30,"itemStainColor":13,"profile":"Item"},"Item_RoastFish_01":{"canStack":true,"isCureItem":true,"itemBuyingPrice":23,"itemSellingPrice":9,"profile":"Item"},"Item_RoastFish_02":{"canStack":true,"isCureItem":true,"itemBuyingPrice":30,"itemSellingPrice":12,"profile":"Item"},"Item_RoastFish_03":{"canStack":true,"isCureItem":true,"itemBuyingPrice":23,"itemSellingPrice":9,"profile":"Item"},"Item_RoastFish_04":{"canStack":true,"isCureItem":true,"itemBuyingPrice":38,"itemSellingPrice":15,"profile":"Item"},"Item_RoastFish_07":{"canStack":true,"isCureItem":true,"itemBuyingPrice":38,"itemSellingPrice":15,"profile":"Item"},"Item_RoastFish_09":{"canStack":true,"isCureItem":true,"itemBuyingPrice":38,"itemSellingPrice":15,"profile":"Item"},"Item_RoastFish_11":{"canStack":true,"isCureItem":true,"itemBuyingPrice":38,"itemSellingPrice":15,"profile":"Item"},"Item_RoastFish_13":{"canStack":true,"isCureItem":true,"itemBuyingPrice":23,"itemSellingPrice":9,"profile":"Item"},"Item_RoastFish_15":{"canStack":true,"isCureItem":true,"itemBuyingPrice":30,"itemSellingPrice":12,"profile":"Item"},"Item_Roast_01":{"canStack":true,"isCureItem":true,"itemBuyingPrice":30,"itemSellingPrice":12,"profile":"Item"},"Item_Roast_02":{"canStack":true,"isCureItem":true,"itemBuyingPrice":30,"itemSellingPrice":12,"profile":"Item"},"Item_Roast_03":{"canStack":true,"isCureItem":true,"itemBuyingPrice":8,"itemSellingPrice":3,"profile":"Item"},"Item_Roast_04":{"canStack":true,"isCureItem":true,"itemBuyingPrice":13,"itemSellingPrice":5,"profile":"Item"},"Item_Roast_05":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":8,"profile":"Item"},"Item_Roast_06":{"canStack":true,"isCureItem":true,"itemBuyingPrice":12,"itemSellingPrice":3,"itemStainColor":2,"profile":"Item"},"Item_Roast_07":{"canStack":true,"isCureItem":true,"itemBuyingPrice":13,"itemSellingPrice":5,"profile":"Item"},"Item_Roast_08":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":8,"profile":"Item"},"Item_Roast_09":{"canStack":true,"isCureItem":true,"itemBuyingPrice":30,"itemSellingPrice":12,"profile":"Item"},"Item_Roast_10":{"canStack":true,"isCureItem":true,"itemBuyingPrice":15,"itemSellingPrice":6,"profile":"Item"},"Item_Roast_11":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":8,"profile":"Item"},"Item_Roast_12":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":8,"profile":"Item"},"Item_Roast_13":{"canStack":true,"isCureItem":true,"itemBuyingPrice":13,"itemSellingPrice":5,"profile":"Item"},"Item_Roast_15":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":8,"profile":"Item"},"Item_Roast_16":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":8,"profile":"Item"},"Item_Roast_18":{"canStack":true,"isCureItem":true,"itemBuyingPrice":30,"itemSellingPrice":12,"profile":"Item"},"Item_Roast_19":{"canStack":true,"isCureItem":true,"itemBuyingPrice":58,"itemSellingPrice":24,"profile":"Item"},"Item_Roast_24":{"canStack":true,"isCureItem":true,"itemBuyingPrice":15,"itemSellingPrice":6,"profile":"Item"},"Item_Roast_27":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":8,"profile":"Item"},"Item_Roast_28":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":8,"profile":"Item"},"Item_Roast_31":{"canStack":true,"isCureItem":true,"itemBuyingPrice":15,"itemSellingPrice":6,"profile":"Item"},"Item_Roast_32":{"canStack":true,"isCureItem":true,"itemBuyingPrice":15,"itemSellingPrice":6,"profile":"Item"},"Item_Roast_33":{"canStack":true,"isCureItem":true,"itemBuyingPrice":15,"itemSellingPrice":6,"profile":"Item"},"Item_Roast_36":{"canStack":true,"isCureItem":true,"itemBuyingPrice":13,"itemSellingPrice":5,"profile":"Item"},"Item_Roast_37":{"canStack":true,"isCureItem":true,"itemBuyingPrice":13,"itemSellingPrice":5,"profile":"Item"},"Item_Roast_38":{"canStack":true,"isCureItem":true,"itemBuyingPrice":13,"itemSellingPrice":5,"profile":"Item"},"Item_Roast_39":{"canStack":true,"isCureItem":true,"itemBuyingPrice":8,"itemSellingPrice":3,"profile":"Item"},"Item_Roast_40":{"canStack":true,"isCureItem":true,"itemBuyingPrice":58,"itemSellingPrice":24,"profile":"Item"},"Item_Roast_41":{"canStack":true,"isCureItem":true,"itemBuyingPrice":28,"itemSellingPrice":24,"profile":"Item"},"Item_Roast_45":{"canStack":true,"isCureItem":true,"itemBuyingPrice":140,"itemSellingPrice":35,"profile":"Item"},"Item_Roast_46":{"canStack":true,"isCureItem":true,"itemBuyingPrice":140,"itemSellingPrice":35,"profile":"Item"},"Item_Roast_48":{"canStack":true,"isCureItem":true,"itemBuyingPrice":5,"itemSellingPrice":2,"profile":"Item"},"Item_Roast_49":{"canStack":true,"isCureItem":true,"itemBuyingPrice":58,"itemSellingPrice":24,"profile":"Item"},"Item_Roast_50":{"canStack":true,"isCureItem":true,"itemBuyingPrice":95,"itemSellingPrice":38,"profile":"Item"},"Item_Roast_51":{"canStack":true,"isCureItem":true,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"Item"},"Item_Roast_52":{"canStack":true,"isCureItem":true,"itemBuyingPrice":5,"itemSellingPrice":2,"profile":"Item"},"Item_Roast_53":{"canStack":true,"isCureItem":true,"itemBuyingPrice":13,"itemSellingPrice":5,"profile":"Item"},"KeySmall":{"isImportant":true,"profile":"Item"},"Kokko_Simple":{"attackPower":2,"profile":"MapDynamicActive"},"LastBossThunder":{"attackPower":24,"profile":"Bullet"},"LizalfosFlame":{"attackPower":24,"attackRange":10.0,"profile":"Bullet"},"Lizalfos_ElectricWaterBall":{"attackPower":40,"profile":"Bullet"},"Lizalfos_IceBall":{"attackRange":100.0,"profile":"Bullet"},"Lizalfos_Lava":{"attackRange":30.0,"profile":"Bullet"},"Lizalfos_Water":{"attackRange":30.0,"profile":"Bullet"},"LynelFlame":{"attackPower":1,"attackRange":5.0,"profile":"Bullet"},"NormalArrow":{"canStack":true,"cannotSell":true,"itemBuyingPrice":5,"itemSellingPrice":1,"profile":"Bullet"},"Obj_AncientArrow_A_01":{"canStack":true,"cannotSell":true,"itemBuyingPrice":100,"itemCreatingPrice":90,"profile":"Item"},"Obj_AncientArrow_B_01":{"canStack":true,"cannotSell":true,"itemBuyingPrice":400,"itemCreatingPrice":400,"profile":"Item"},"Obj_AncientArrow_C_01":{"canStack":true,"cannotSell":true,"itemBuyingPrice":250,"itemCreatingPrice":250,"profile":"Item"},"Obj_Armor_115_Head":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_ArrowBundle_A_01":{"canStack":true,"cannotSell":true,"itemBuyingPrice":20,"profile":"Item"},"Obj_ArrowBundle_A_02":{"canStack":true,"cannotSell":true,"itemBuyingPrice":35,"profile":"Item"},"Obj_ArrowBundle_A_10":{"canStack":true,"cannotSell":true,"itemBuyingPrice":35,"profile":"Item"},"Obj_ArrowNormal_A_01":{"canStack":true,"cannotSell":true,"itemBuyingPrice":5,"itemSellingPrice":1,"profile":"Item"},"Obj_BombArrow_A_01":{"canStack":true,"cannotSell":true,"itemBuyingPrice":50,"itemSellingPrice":1,"profile":"Item"},"Obj_BombArrow_A_02":{"canStack":true,"cannotSell":true,"itemBuyingPrice":200,"profile":"Item"},"Obj_BombArrow_A_03":{"canStack":true,"cannotSell":true,"itemBuyingPrice":350,"profile":"Item"},"Obj_BombArrow_A_04":{"canStack":true,"cannotSell":true,"itemBuyingPrice":600,"profile":"Item"},"Obj_Cushion":{"itemBuyingPrice":500,"itemCreatingPrice":500,"itemSellingPrice":500,"profile":"Item"},"Obj_DLC_HeroSeal_Gerudo":{"canStack":true,"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_DLC_HeroSeal_Goron":{"canStack":true,"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_DLC_HeroSeal_Rito":{"canStack":true,"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_DLC_HeroSeal_Zora":{"canStack":true,"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_DLC_HeroSoul_Gerudo":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_DLC_HeroSoul_Goron":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_DLC_HeroSoul_Rito":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_DLC_HeroSoul_Zora":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_DRStone_A_01":{"generalLife":1,"isImportant":true,"profile":"DemoEquipment"},"Obj_DRStone_Get":{"cannotSell":true,"isImportant":true,"profile":"PlayerItem"},"Obj_DungeonClearSeal":{"canStack":true,"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_ElectricArrow_A_01":{"canStack":true,"cannotSell":true,"itemBuyingPrice":20,"itemSellingPrice":1,"profile":"Item"},"Obj_ElectricArrow_A_02":{"canStack":true,"cannotSell":true,"itemBuyingPrice":140,"itemCreatingPrice":10,"profile":"Item"},"Obj_ElectricArrow_A_03":{"canStack":true,"cannotSell":true,"itemBuyingPrice":80,"itemCreatingPrice":10,"profile":"Item"},"Obj_ElectricArrow_B_01":{"canStack":true,"cannotSell":true,"itemBuyingPrice":20,"itemSellingPrice":1,"profile":"Item"},"Obj_FireArrow_A_01":{"canStack":true,"cannotSell":true,"itemBuyingPrice":20,"itemSellingPrice":1,"profile":"Item"},"Obj_FireArrow_A_02":{"canStack":true,"cannotSell":true,"itemBuyingPrice":140,"itemCreatingPrice":10,"itemSellingPrice":2,"profile":"Item"},"Obj_FireArrow_A_03":{"canStack":true,"cannotSell":true,"itemBuyingPrice":80,"itemCreatingPrice":10,"itemSellingPrice":2,"profile":"Item"},"Obj_FireWoodBundle":{"canStack":true,"itemBuyingPrice":12,"itemSellingPrice":2,"profile":"Item"},"Obj_Head_024":{"itemBuyingPrice":800,"itemCreatingPrice":800,"itemSellingPrice":800,"profile":"Item"},"Obj_Head_025":{"itemBuyingPrice":500,"itemCreatingPrice":500,"itemSellingPrice":500,"profile":"Item"},"Obj_Head_026":{"itemBuyingPrice":500,"itemCreatingPrice":500,"itemSellingPrice":500,"profile":"Item"},"Obj_Head_027":{"itemBuyingPrice":400,"itemCreatingPrice":400,"itemSellingPrice":400,"profile":"Item"},"Obj_Head_028":{"itemBuyingPrice":200,"itemCreatingPrice":200,"itemSellingPrice":200,"profile":"Item"},"Obj_Head_029":{"itemBuyingPrice":80,"itemCreatingPrice":80,"itemSellingPrice":80,"profile":"Item"},"Obj_HeartUtuwa_A_01":{"isImportant":true,"profile":"Item"},"Obj_HeroSoul_Gerudo":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_HeroSoul_Goron":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_HeroSoul_Rito":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_HeroSoul_Zora":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_IceArrow_A_01":{"canStack":true,"cannotSell":true,"itemBuyingPrice":20,"itemSellingPrice":1,"profile":"Item"},"Obj_IceArrow_A_02":{"canStack":true,"cannotSell":true,"itemBuyingPrice":140,"itemCreatingPrice":10,"profile":"Item"},"Obj_IceArrow_A_03":{"canStack":true,"cannotSell":true,"itemBuyingPrice":80,"itemCreatingPrice":10,"profile":"Item"},"Obj_KorokNuts":{"canStack":true,"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_Maracas":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_Photo_Animal":{"cannotSell":true,"itemBuyingPrice":100,"profile":"Item"},"Obj_Photo_BossEnemy":{"cannotSell":true,"itemBuyingPrice":500,"profile":"Item"},"Obj_Photo_Enemy":{"cannotSell":true,"itemBuyingPrice":100,"profile":"Item"},"Obj_Photo_Material":{"cannotSell":true,"itemBuyingPrice":100,"profile":"Item"},"Obj_Photo_Other":{"cannotSell":true,"itemBuyingPrice":100,"profile":"Item"},"Obj_Photo_Weapon":{"cannotSell":true,"itemBuyingPrice":100,"profile":"Item"},"Obj_ProofBook":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_ProofGiantKiller":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_ProofGolemKiller":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_ProofKorok":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_ProofSandwormKiller":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Obj_StaminaUtuwa_A_01":{"isImportant":true,"profile":"Item"},"Obj_WarpDLC":{"cannotSell":true,"isImportant":true,"profile":"Item"},"Octarock_Bullet":{"attackPower":2,"profile":"Bullet"},"Octarock_Bullet_L":{"attackPower":1,"profile":"Bullet"},"Octarock_SnowBullet":{"attackPower":2,"profile":"Bullet"},"PlayerBeam":{"attackPower":10,"profile":"Bullet"},"PlayerStole2":{"cannotSell":true,"isImportant":true,"profile":"PlayerItem"},"PlayerStole2_Vagrant":{"isImportant":true,"profile":"PlayerItem"},"PriestBossThunder":{"attackPower":24,"profile":"Bullet"},"Priest_Boss_Beam":{"attackPower":40,"profile":"Beam"},"Priest_Boss_ElectricArrow":{"canStack":true,"cannotSell":true,"itemBuyingPrice":20,"itemSellingPrice":1,"profile":"Bullet"},"Priest_Boss_FireArrow":{"canStack":true,"cannotSell":true,"itemBuyingPrice":20,"itemSellingPrice":1,"profile":"Bullet"},"Priest_Boss_IceArrow":{"canStack":true,"cannotSell":true,"itemBuyingPrice":20,"itemSellingPrice":1,"profile":"Bullet"},"Priest_Boss_IronBall":{"attackPower":20,"profile":"MapDynamicActive"},"Priest_Boss_Weapon_Bow_029":{"attackPower":10,"attackRange":40.0,"bowIsLongRange":true,"cannotSell":true,"generalLife":45,"itemBuyingPrice":50,"itemSellingPrice":10,"profile":"WeaponBow"},"Priest_Boss_Weapon_Sword_015":{"attackPower":40,"attackRange":1.6,"cannotSell":true,"generalLife":32,"itemBuyingPrice":114,"itemSellingPrice":45,"profile":"WeaponSmallSword"},"RemainsElectric":{"attackPower":70,"profile":"Remains"},"RemainsElectricCannon":{"attackPower":60,"attackRange":100.0,"generalLife":2000,"profile":"Enemy"},"RemainsElectric_Far":{"attackPower":70,"profile":"Remains"},"RemainsWaterChaseBullet":{"attackPower":4,"profile":"Bullet"},"RemainsWaterExplodeBullet":{"attackPower":4,"profile":"Bullet"},"RemainsWind":{"attackPower":4,"profile":"Remains"},"RemainsWind_Barrier_A_01":{"attackPower":4,"profile":"MapDynamicActive"},"RemainsWind_Far":{"attackPower":4,"profile":"Remains"},"RockBall":{"attackPower":12,"profile":"MapDynamicActive"},"Rock_Moriblin":{"attackPower":1,"attackRange":5.0,"profile":"Bullet"},"Rock_Weapon":{"attackPower":1,"attackRange":5.0,"profile":"Bullet"},"SimpleBeam":{"attackPower":52,"profile":"Beam"},"SiteBossBigFlameBall":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"SiteBossDrawingFlameTornado":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"SiteBossFlameBall":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"SiteBossGaleArrow":{"attackPower":24,"profile":"Bullet"},"SiteBossNormalArrow":{"attackPower":16,"profile":"Bullet"},"SiteBossPillarOfFlame":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"SiteBossReflectArrow":{"attackPower":16,"profile":"Bullet"},"SiteBossSeaOfFlame":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"SiteBossSeaOfFlameRotate":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"SiteBossSpearForThrowing":{"attackPower":16,"profile":"Bullet"},"SiteBossSpearIceBullet":{"attackPower":24,"profile":"Bullet"},"SiteBossTornado":{"attackPower":24,"profile":"Bullet"},"SiteBossWearFlame":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"ThunderRodLv1Thunder":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"ThunderRodLv2Thunder":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"ThunderRodLv2ThunderChild":{"attackPower":24,"attackRange":30.0,"profile":"Bullet"},"WallSpike":{"attackPower":4,"profile":"MapConstActive"},"WallSpikeTgt":{"attackPower":4,"profile":"MapConstActive"},"Weapon_Arrow_020":{"attackPower":40,"itemBuyingPrice":50,"itemSellingPrice":1,"profile":"Bullet"},"Weapon_Bow_001":{"attackPower":5,"attackRange":20.0,"cannotSell":true,"generalLife":22,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"WeaponBow"},"Weapon_Bow_002":{"attackPower":14,"attackRange":20.0,"cannotSell":true,"generalLife":36,"itemBuyingPrice":70,"itemSellingPrice":18,"profile":"WeaponBow"},"Weapon_Bow_003":{"attackPower":12,"attackRange":20.0,"bowLeadShotAng":13.0,"bowLeadShotInterval":1,"bowLeadShotNum":3,"cannotSell":true,"generalLife":20,"itemBuyingPrice":30,"itemSellingPrice":10,"profile":"WeaponBow"},"Weapon_Bow_004":{"attackPower":4,"attackRange":20.0,"cannotSell":true,"generalLife":16,"itemBuyingPrice":9,"itemSellingPrice":3,"profile":"WeaponBow"},"Weapon_Bow_006":{"attackPower":14,"attackRange":20.0,"cannotSell":true,"generalLife":25,"itemBuyingPrice":24,"itemSellingPrice":8,"profile":"WeaponBow"},"Weapon_Bow_009":{"attackPower":10,"attackRange":20.0,"bowLeadShotAng":3.0,"bowLeadShotInterval":1,"bowLeadShotNum":3,"cannotSell":true,"generalLife":30,"itemBuyingPrice":54,"itemSellingPrice":18,"profile":"WeaponBow","specialStatus":27},"Weapon_Bow_011":{"attackPower":25,"attackRange":20.0,"bowLeadShotAng":13.0,"bowLeadShotInterval":1,"bowLeadShotNum":3,"cannotSell":true,"generalLife":35,"itemBuyingPrice":30,"itemSellingPrice":10,"profile":"WeaponBow"},"Weapon_Bow_013":{"attackPower":15,"attackRange":20.0,"bowArrowChargeRate":1.6,"bowArrowFirstSpeed":4.0,"bowLeadShotAng":3.0,"bowLeadShotInterval":1,"bowLeadShotNum":3,"cannotSell":true,"generalLife":35,"itemBuyingPrice":30,"itemSellingPrice":7,"profile":"WeaponBow","specialStatus":27},"Weapon_Bow_014":{"attackPower":15,"attackRange":20.0,"bowArrowGravity":-7.0,"cannotSell":true,"generalLife":40,"itemBuyingPrice":65,"itemSellingPrice":16,"profile":"WeaponBow"},"Weapon_Bow_015":{"attackPower":14,"attackRange":40.0,"bowIsLongRange":true,"cannotSell":true,"generalLife":60,"itemBuyingPrice":85,"itemSellingPrice":21,"profile":"WeaponBow"},"Weapon_Bow_016":{"attackPower":9,"attackRange":40.0,"bowArrowChargeRate":1.3,"cannotSell":true,"generalLife":30,"itemBuyingPrice":40,"itemSellingPrice":10,"profile":"WeaponBow"},"Weapon_Bow_017":{"attackPower":20,"attackRange":40.0,"bowArrowChargeRate":1.6,"bowLeadShotAng":13.0,"bowLeadShotInterval":1,"bowLeadShotNum":3,"cannotSell":true,"generalLife":50,"itemBuyingPrice":190,"itemSellingPrice":48,"profile":"WeaponBow"},"Weapon_Bow_023":{"attackPower":44,"attackRange":40.0,"bowArrowChargeRate":0.7,"bowArrowGravity":-2.8,"bowArrowStabilitySpeed":4.0,"bowIsGuardPierce":true,"cannotSell":true,"generalLife":120,"itemBuyingPrice":20,"itemCreatingPrice":1000,"itemSellingPrice":5,"profile":"WeaponBow"},"Weapon_Bow_026":{"attackPower":20,"attackRange":20.0,"bowLeadShotAng":3.0,"bowLeadShotInterval":1,"bowLeadShotNum":3,"cannotSell":true,"generalLife":35,"itemBuyingPrice":105,"itemSellingPrice":35,"profile":"WeaponBow","specialStatus":27},"Weapon_Bow_027":{"attackPower":24,"attackRange":20.0,"bowLeadShotAng":20.0,"bowLeadShotInterval":1,"bowLeadShotNum":5,"cannotSell":true,"generalLife":30,"itemBuyingPrice":50,"itemSellingPrice":15,"profile":"WeaponBow"},"Weapon_Bow_028":{"attackPower":28,"attackRange":40.0,"bowArrowChargeRate":1.8,"bowLeadShotAng":3.0,"bowLeadShotInterval":1,"bowLeadShotNum":3,"cannotSell":true,"generalLife":60,"itemBuyingPrice":380,"itemSellingPrice":120,"profile":"WeaponBow","specialStatus":27},"Weapon_Bow_029":{"attackPower":10,"attackRange":40.0,"bowIsLongRange":true,"cannotSell":true,"generalLife":45,"itemBuyingPrice":50,"itemSellingPrice":10,"profile":"WeaponBow"},"Weapon_Bow_030":{"attackPower":36,"attackRange":20.0,"bowLeadShotAng":20.0,"bowLeadShotInterval":1,"bowLeadShotNum":5,"cannotSell":true,"generalLife":50,"itemBuyingPrice":50,"itemSellingPrice":16,"profile":"WeaponBow"},"Weapon_Bow_032":{"attackPower":32,"attackRange":20.0,"bowLeadShotAng":3.0,"bowLeadShotInterval":1,"bowLeadShotNum":3,"cannotSell":true,"generalLife":45,"itemBuyingPrice":156,"itemSellingPrice":52,"profile":"WeaponBow","specialStatus":27},"Weapon_Bow_033":{"attackPower":50,"attackRange":30.0,"bowArrowChargeRate":1.5,"bowArrowFirstSpeed":8.0,"bowArrowReloadRate":0.8,"bowArrowStabilitySpeed":4.0,"cannotSell":true,"generalLife":20,"itemBuyingPrice":300,"itemSellingPrice":100,"profile":"WeaponBow"},"Weapon_Bow_035":{"attackPower":26,"attackRange":20.0,"cannotSell":true,"generalLife":48,"itemBuyingPrice":70,"itemSellingPrice":18,"profile":"WeaponBow"},"Weapon_Bow_036":{"attackPower":38,"attackRange":20.0,"cannotSell":true,"generalLife":60,"itemBuyingPrice":70,"itemSellingPrice":18,"profile":"WeaponBow"},"Weapon_Bow_038":{"attackPower":4,"attackRange":20.0,"cannotSell":true,"generalLife":20,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"WeaponBow"},"Weapon_Bow_040":{"attackPower":14,"attackRange":40.0,"bowRapidFireNum":2,"cannotSell":true,"generalLife":18,"profile":"WeaponBow"},"Weapon_Bow_071":{"attackPower":100,"attackRange":500.0,"bowArrowFirstSpeed":7.0,"bowArrowGravity":-5.0,"bowArrowStabilitySpeed":5.0,"cannotSell":true,"isImportant":true,"profile":"WeaponBow"},"Weapon_Bow_072":{"attackPower":30,"attackRange":8000.0,"bowArrowFirstSpeed":7.0,"bowArrowGravity":-5.0,"bowArrowStabilitySpeed":5.0,"cannotSell":true,"profile":"WeaponBow"},"Weapon_Bow_080":{"attackPower":28,"attackRange":40.0,"bowArrowChargeRate":1.8,"bowLeadShotAng":3.0,"bowLeadShotInterval":1,"bowLeadShotNum":3,"generalLife":60,"itemBuyingPrice":380,"itemSellingPrice":120,"profile":"WeaponBow","specialStatus":27},"Weapon_Goron_Knuckle":{"attackPower":5,"attackRange":1.6,"profile":"WeaponSmallSword"},"Weapon_Lsword_001":{"attackPower":10,"attackRange":1.8,"cannotSell":true,"generalLife":20,"itemBuyingPrice":30,"itemSellingPrice":8,"profile":"WeaponLargeSword"},"Weapon_Lsword_002":{"attackPower":20,"attackRange":1.8,"cannotSell":true,"generalLife":25,"itemBuyingPrice":75,"itemSellingPrice":18,"profile":"WeaponLargeSword"},"Weapon_Lsword_003":{"attackPower":38,"attackRange":1.8,"cannotSell":true,"generalLife":30,"itemBuyingPrice":165,"itemSellingPrice":42,"profile":"WeaponLargeSword"},"Weapon_Lsword_004":{"attackPower":6,"attackRange":1.8,"cannotSell":true,"generalLife":8,"itemBuyingPrice":9,"itemSellingPrice":5,"profile":"WeaponLargeSword"},"Weapon_Lsword_005":{"attackPower":18,"attackRange":1.8,"cannotSell":true,"generalLife":12,"itemBuyingPrice":15,"itemSellingPrice":10,"profile":"WeaponLargeSword"},"Weapon_Lsword_006":{"attackPower":36,"attackRange":1.8,"cannotSell":true,"generalLife":16,"itemBuyingPrice":30,"itemSellingPrice":15,"profile":"WeaponLargeSword"},"Weapon_Lsword_010":{"attackPower":9,"attackRange":1.8,"cannotSell":true,"generalLife":12,"itemBuyingPrice":39,"itemSellingPrice":12,"profile":"WeaponLargeSword"},"Weapon_Lsword_011":{"attackPower":27,"attackRange":1.8,"cannotSell":true,"generalLife":18,"itemBuyingPrice":69,"itemSellingPrice":25,"profile":"WeaponLargeSword"},"Weapon_Lsword_012":{"attackPower":45,"attackRange":1.8,"cannotSell":true,"generalLife":24,"itemBuyingPrice":99,"itemSellingPrice":38,"profile":"WeaponLargeSword"},"Weapon_Lsword_013":{"attackPower":30,"attackRange":1.8,"cannotSell":true,"generalLife":15,"itemBuyingPrice":45,"itemSellingPrice":18,"profile":"WeaponLargeSword"},"Weapon_Lsword_014":{"attackPower":45,"attackRange":1.8,"cannotSell":true,"generalLife":20,"itemBuyingPrice":84,"itemSellingPrice":35,"profile":"WeaponLargeSword"},"Weapon_Lsword_015":{"attackPower":60,"attackRange":1.8,"cannotSell":true,"generalLife":25,"itemBuyingPrice":120,"itemSellingPrice":52,"profile":"WeaponLargeSword"},"Weapon_Lsword_016":{"attackPower":36,"attackRange":1.8,"cannotSell":true,"generalLife":20,"itemBuyingPrice":54,"itemSellingPrice":22,"profile":"WeaponLargeSword"},"Weapon_Lsword_017":{"attackPower":54,"attackRange":1.8,"cannotSell":true,"generalLife":25,"itemBuyingPrice":99,"itemSellingPrice":45,"profile":"WeaponLargeSword"},"Weapon_Lsword_018":{"attackPower":78,"attackRange":1.8,"cannotSell":true,"generalLife":35,"itemBuyingPrice":144,"itemSellingPrice":68,"profile":"WeaponLargeSword"},"Weapon_Lsword_019":{"attackPower":15,"attackRange":1.8,"cannotSell":true,"generalLife":5,"profile":"WeaponLargeSword"},"Weapon_Lsword_020":{"attackPower":12,"attackRange":1.8,"cannotSell":true,"generalLife":10,"profile":"WeaponLargeSword"},"Weapon_Lsword_023":{"attackPower":55,"attackRange":1.8,"cannotSell":true,"generalLife":50,"itemBuyingPrice":30,"itemCreatingPrice":1000,"itemSellingPrice":8,"profile":"WeaponLargeSword"},"Weapon_Lsword_024":{"attackPower":52,"attackRange":1.8,"cannotSell":true,"generalLife":40,"itemBuyingPrice":300,"itemSellingPrice":75,"profile":"WeaponLargeSword"},"Weapon_Lsword_027":{"attackPower":22,"attackRange":1.8,"cannotSell":true,"generalLife":30,"itemBuyingPrice":55,"itemSellingPrice":14,"profile":"WeaponLargeSword"},"Weapon_Lsword_029":{"attackPower":28,"attackRange":1.8,"cannotSell":true,"generalLife":30,"itemBuyingPrice":120,"itemSellingPrice":30,"profile":"WeaponLargeSword"},"Weapon_Lsword_030":{"attackPower":18,"attackRange":1.8,"cannotSell":true,"generalLife":52,"itemBuyingPrice":24,"itemSellingPrice":4,"profile":"WeaponLargeSword"},"Weapon_Lsword_031":{"attackPower":12,"attackRange":1.8,"cannotSell":true,"generalLife":40,"itemBuyingPrice":24,"itemSellingPrice":4,"profile":"WeaponLargeSword"},"Weapon_Lsword_032":{"attackPower":3,"attackRange":1.8,"cannotSell":true,"generalLife":47,"itemBuyingPrice":24,"itemSellingPrice":4,"profile":"WeaponLargeSword"},"Weapon_Lsword_033":{"attackPower":34,"attackRange":1.8,"cannotSell":true,"generalLife":50,"itemBuyingPrice":150,"itemSellingPrice":150,"profile":"WeaponLargeSword"},"Weapon_Lsword_034":{"attackPower":30,"attackRange":1.8,"cannotSell":true,"generalLife":40,"itemBuyingPrice":150,"itemSellingPrice":150,"profile":"WeaponLargeSword"},"Weapon_Lsword_035":{"attackPower":32,"attackRange":1.8,"cannotSell":true,"generalLife":50,"itemBuyingPrice":150,"itemSellingPrice":150,"profile":"WeaponLargeSword"},"Weapon_Lsword_036":{"attackPower":15,"attackRange":1.8,"cannotSell":true,"generalLife":30,"itemBuyingPrice":110,"itemSellingPrice":28,"profile":"WeaponLargeSword"},"Weapon_Lsword_037":{"attackPower":42,"attackRange":1.8,"cannotSell":true,"generalLife":40,"itemBuyingPrice":325,"itemSellingPrice":80,"profile":"WeaponLargeSword"},"Weapon_Lsword_038":{"attackPower":14,"attackRange":1.8,"cannotSell":true,"generalLife":8,"itemBuyingPrice":3,"itemSellingPrice":1,"profile":"WeaponLargeSword"},"Weapon_Lsword_041":{"attackPower":32,"attackRange":1.8,"cannotSell":true,"generalLife":25,"itemBuyingPrice":120,"itemSellingPrice":30,"profile":"WeaponLargeSword"},"Weapon_Lsword_045":{"attackPower":16,"attackRange":1.8,"cannotSell":true,"generalLife":6,"itemBuyingPrice":3,"itemSellingPrice":1,"profile":"WeaponLargeSword"},"Weapon_Lsword_047":{"attackPower":72,"attackRange":1.8,"cannotSell":true,"generalLife":15,"itemBuyingPrice":120,"itemSellingPrice":100,"profile":"WeaponLargeSword"},"Weapon_Lsword_051":{"attackPower":25,"attackRange":1.8,"cannotSell":true,"generalLife":40,"itemBuyingPrice":300,"itemSellingPrice":75,"profile":"WeaponLargeSword"},"Weapon_Lsword_054":{"attackPower":60,"attackRange":1.8,"cannotSell":true,"generalLife":60,"itemBuyingPrice":540,"itemSellingPrice":135,"profile":"WeaponLargeSword"},"Weapon_Lsword_055":{"attackPower":50,"attackRange":1.8,"cannotSell":true,"generalLife":35,"itemBuyingPrice":450,"itemSellingPrice":112,"profile":"WeaponLargeSword"},"Weapon_Lsword_056":{"attackPower":1,"attackRange":1.8,"cannotSell":true,"generalLife":25,"itemBuyingPrice":450,"itemSellingPrice":112,"profile":"WeaponLargeSword"},"Weapon_Lsword_057":{"attackPower":48,"attackRange":1.8,"cannotSell":true,"generalLife":50,"itemBuyingPrice":30,"itemSellingPrice":8,"profile":"WeaponLargeSword"},"Weapon_Lsword_059":{"attackPower":50,"attackRange":1.8,"cannotSell":true,"generalLife":60,"itemBuyingPrice":30,"itemSellingPrice":8,"profile":"WeaponLargeSword"},"Weapon_Lsword_060":{"attackPower":60,"attackRange":1.8,"cannotSell":true,"generalLife":35,"itemBuyingPrice":30,"itemSellingPrice":8,"profile":"WeaponLargeSword"},"Weapon_Lsword_074":{"attackPower":40,"attackRange":15.0,"cannotSell":true,"generalLife":25,"profile":"WeaponLargeSword"},"Weapon_Shield_001":{"cannotSell":true,"generalLife":12,"itemBuyingPrice":25,"itemCreatingPrice":10,"itemSellingPrice":6,"profile":"WeaponShield","weaponCommonGuardPower":2},"Weapon_Shield_002":{"cannotSell":true,"generalLife":16,"itemBuyingPrice":70,"itemCreatingPrice":10,"itemSellingPrice":18,"profile":"WeaponShield","weaponCommonGuardPower":16},"Weapon_Shield_003":{"cannotSell":true,"generalLife":23,"itemBuyingPrice":180,"itemCreatingPrice":10,"itemSellingPrice":45,"profile":"WeaponShield","weaponCommonGuardPower":40},"Weapon_Shield_004":{"cannotSell":true,"generalLife":5,"itemBuyingPrice":9,"itemCreatingPrice":10,"itemSellingPrice":5,"profile":"WeaponShield","weaponCommonGuardPower":3},"Weapon_Shield_005":{"cannotSell":true,"generalLife":7,"itemBuyingPrice":15,"itemCreatingPrice":10,"itemSellingPrice":10,"profile":"WeaponShield","weaponCommonGuardPower":10},"Weapon_Shield_006":{"cannotSell":true,"generalLife":8,"itemBuyingPrice":24,"itemCreatingPrice":10,"itemSellingPrice":15,"profile":"WeaponShield","weaponCommonGuardPower":25},"Weapon_Shield_007":{"cannotSell":true,"generalLife":8,"itemBuyingPrice":30,"itemCreatingPrice":10,"itemSellingPrice":10,"profile":"WeaponShield","weaponCommonGuardPower":15},"Weapon_Shield_008":{"cannotSell":true,"generalLife":12,"itemBuyingPrice":60,"itemCreatingPrice":10,"itemSellingPrice":20,"profile":"WeaponShield","weaponCommonGuardPower":22},"Weapon_Shield_009":{"cannotSell":true,"generalLife":15,"itemBuyingPrice":90,"itemCreatingPrice":10,"itemSellingPrice":30,"profile":"WeaponShield","weaponCommonGuardPower":35},"Weapon_Shield_013":{"attackRange":0.5,"cannotSell":true,"generalLife":10,"itemBuyingPrice":45,"itemCreatingPrice":10,"itemSellingPrice":15,"profile":"WeaponShield","weaponCommonGuardPower":18},"Weapon_Shield_014":{"attackRange":0.5,"cannotSell":true,"generalLife":13,"itemBuyingPrice":90,"itemCreatingPrice":10,"itemSellingPrice":30,"profile":"WeaponShield","weaponCommonGuardPower":30},"Weapon_Shield_015":{"attackRange":0.5,"cannotSell":true,"generalLife":20,"itemBuyingPrice":135,"itemCreatingPrice":10,"itemSellingPrice":45,"profile":"WeaponShield","weaponCommonGuardPower":42},"Weapon_Shield_016":{"attackPower":7,"attackRange":0.5,"cannotSell":true,"generalLife":12,"itemBuyingPrice":54,"itemCreatingPrice":10,"itemSellingPrice":18,"profile":"WeaponShield","weaponCommonGuardPower":30},"Weapon_Shield_017":{"attackPower":13,"attackRange":0.5,"cannotSell":true,"generalLife":15,"itemBuyingPrice":105,"itemCreatingPrice":10,"itemSellingPrice":35,"profile":"WeaponShield","weaponCommonGuardPower":44},"Weapon_Shield_018":{"attackPower":21,"attackRange":0.5,"cannotSell":true,"generalLife":20,"itemBuyingPrice":156,"itemCreatingPrice":10,"itemSellingPrice":52,"profile":"WeaponShield","weaponCommonGuardPower":62},"Weapon_Shield_021":{"cannotSell":true,"generalLife":16,"profile":"WeaponShield","weaponCommonGuardPower":3},"Weapon_Shield_022":{"attackRange":0.5,"cannotSell":true,"generalLife":29,"itemBuyingPrice":320,"itemCreatingPrice":10,"itemSellingPrice":80,"profile":"WeaponShield","weaponCommonGuardPower":55},"Weapon_Shield_023":{"attackRange":0.5,"cannotSell":true,"generalLife":18,"itemBuyingPrice":30,"itemCreatingPrice":10,"itemSellingPrice":8,"profile":"WeaponShield","weaponCommonGuardPower":30},"Weapon_Shield_025":{"attackRange":0.5,"cannotSell":true,"generalLife":20,"itemBuyingPrice":220,"itemCreatingPrice":10,"itemSellingPrice":55,"profile":"WeaponShield","weaponCommonGuardPower":18},"Weapon_Shield_026":{"attackRange":0.5,"cannotSell":true,"generalLife":20,"itemBuyingPrice":80,"itemCreatingPrice":10,"itemSellingPrice":20,"profile":"WeaponShield","weaponCommonGuardPower":20},"Weapon_Shield_030":{"cannotSell":true,"generalLife":800,"itemBuyingPrice":3000,"itemCreatingPrice":10,"itemSellingPrice":750,"profile":"WeaponShield","weaponCommonGuardPower":90},"Weapon_Shield_031":{"attackRange":0.5,"cannotSell":true,"generalLife":10,"itemBuyingPrice":15,"itemCreatingPrice":10,"itemSellingPrice":4,"profile":"WeaponShield","weaponCommonGuardPower":3},"Weapon_Shield_032":{"cannotSell":true,"generalLife":10,"itemBuyingPrice":18,"itemCreatingPrice":10,"itemSellingPrice":4,"profile":"WeaponShield","weaponCommonGuardPower":3},"Weapon_Shield_033":{"attackRange":0.5,"cannotSell":true,"generalLife":14,"itemBuyingPrice":300,"itemCreatingPrice":10,"itemSellingPrice":100,"profile":"WeaponShield","weaponCommonGuardPower":70},"Weapon_Shield_034":{"cannotSell":true,"generalLife":12,"itemBuyingPrice":20,"itemCreatingPrice":10,"itemSellingPrice":5,"profile":"WeaponShield","weaponCommonGuardPower":3},"Weapon_Shield_035":{"cannotSell":true,"generalLife":12,"profile":"WeaponShield","weaponCommonGuardPower":4},"Weapon_Shield_036":{"cannotSell":true,"generalLife":26,"itemBuyingPrice":210,"itemCreatingPrice":10,"itemSellingPrice":52,"profile":"WeaponShield","weaponCommonGuardPower":35},"Weapon_Shield_037":{"cannotSell":true,"generalLife":60,"itemBuyingPrice":390,"itemCreatingPrice":10,"itemSellingPrice":98,"profile":"WeaponShield","weaponCommonGuardPower":48},"Weapon_Shield_038":{"cannotSell":true,"generalLife":32,"itemBuyingPrice":375,"itemCreatingPrice":1000,"itemSellingPrice":125,"profile":"WeaponShield","weaponCommonGuardPower":70},"Weapon_Shield_040":{"cannotSell":true,"generalLife":10,"itemBuyingPrice":25,"itemCreatingPrice":10,"itemSellingPrice":6,"profile":"WeaponShield","weaponCommonGuardPower":1},"Weapon_Shield_041":{"cannotSell":true,"generalLife":16,"itemBuyingPrice":25,"itemCreatingPrice":10,"itemSellingPrice":6,"profile":"WeaponShield","weaponCommonGuardPower":16},"Weapon_Shield_042":{"cannotSell":true,"generalLife":16,"itemBuyingPrice":25,"itemCreatingPrice":10,"itemSellingPrice":6,"profile":"WeaponShield","weaponCommonGuardPower":14},"Weapon_Shield_057":{"attackRange":0.5,"cannotSell":true,"generalLife":90,"itemBuyingPrice":320,"itemCreatingPrice":10,"itemSellingPrice":80,"profile":"WeaponShield","weaponCommonGuardPower":65},"Weapon_Spear_001":{"attackPower":3,"attackRange":5.0,"cannotSell":true,"generalLife":30,"itemBuyingPrice":20,"itemSellingPrice":7,"profile":"WeaponSpear"},"Weapon_Spear_002":{"attackPower":7,"attackRange":5.0,"cannotSell":true,"generalLife":35,"itemBuyingPrice":70,"itemSellingPrice":18,"profile":"WeaponSpear"},"Weapon_Spear_003":{"attackPower":13,"attackRange":5.0,"cannotSell":true,"generalLife":40,"itemBuyingPrice":180,"itemSellingPrice":45,"profile":"WeaponSpear"},"Weapon_Spear_004":{"attackPower":2,"attackRange":5.0,"cannotSell":true,"generalLife":12,"itemBuyingPrice":9,"itemSellingPrice":5,"profile":"WeaponSpear"},"Weapon_Spear_005":{"attackPower":6,"attackRange":5.0,"cannotSell":true,"generalLife":15,"itemBuyingPrice":15,"itemSellingPrice":10,"profile":"WeaponSpear"},"Weapon_Spear_006":{"attackPower":12,"attackRange":5.0,"cannotSell":true,"generalLife":20,"itemBuyingPrice":24,"itemSellingPrice":15,"profile":"WeaponSpear"},"Weapon_Spear_007":{"attackPower":7,"attackRange":5.0,"cannotSell":true,"generalLife":18,"itemBuyingPrice":24,"itemSellingPrice":10,"profile":"WeaponSpear"},"Weapon_Spear_008":{"attackPower":12,"attackRange":5.0,"cannotSell":true,"generalLife":22,"itemBuyingPrice":45,"itemSellingPrice":20,"profile":"WeaponSpear"},"Weapon_Spear_009":{"attackPower":18,"attackRange":5.0,"cannotSell":true,"generalLife":28,"itemBuyingPrice":69,"itemSellingPrice":30,"profile":"WeaponSpear"},"Weapon_Spear_010":{"attackPower":4,"attackRange":5.0,"cannotSell":true,"generalLife":15,"itemBuyingPrice":30,"itemSellingPrice":12,"profile":"WeaponSpear"},"Weapon_Spear_011":{"attackPower":9,"attackRange":5.0,"cannotSell":true,"generalLife":20,"itemBuyingPrice":60,"itemSellingPrice":25,"profile":"WeaponSpear"},"Weapon_Spear_012":{"attackPower":15,"attackRange":5.0,"cannotSell":true,"generalLife":25,"itemBuyingPrice":90,"itemSellingPrice":38,"profile":"WeaponSpear"},"Weapon_Spear_013":{"attackPower":10,"attackRange":5.0,"cannotSell":true,"generalLife":20,"itemBuyingPrice":39,"itemSellingPrice":18,"profile":"WeaponSpear"},"Weapon_Spear_014":{"attackPower":15,"attackRange":5.0,"cannotSell":true,"generalLife":25,"itemBuyingPrice":75,"itemSellingPrice":35,"profile":"WeaponSpear"},"Weapon_Spear_015":{"attackPower":20,"attackRange":5.0,"cannotSell":true,"generalLife":35,"itemBuyingPrice":114,"itemSellingPrice":52,"profile":"WeaponSpear"},"Weapon_Spear_016":{"attackPower":14,"attackRange":5.0,"cannotSell":true,"generalLife":25,"itemBuyingPrice":45,"itemSellingPrice":22,"profile":"WeaponSpear"},"Weapon_Spear_017":{"attackPower":20,"attackRange":5.0,"cannotSell":true,"generalLife":35,"itemBuyingPrice":90,"itemSellingPrice":45,"profile":"WeaponSpear"},"Weapon_Spear_018":{"attackPower":30,"attackRange":5.0,"cannotSell":true,"generalLife":45,"itemBuyingPrice":135,"itemSellingPrice":68,"profile":"WeaponSpear"},"Weapon_Spear_021":{"attackPower":5,"attackRange":5.0,"cannotSell":true,"generalLife":15,"itemBuyingPrice":20,"itemSellingPrice":7,"profile":"WeaponSpear"},"Weapon_Spear_022":{"attackPower":7,"attackRange":5.0,"cannotSell":true,"generalLife":12,"itemBuyingPrice":20,"itemSellingPrice":7,"profile":"WeaponSpear"},"Weapon_Spear_023":{"attackPower":30,"attackRange":5.0,"cannotSell":true,"generalLife":50,"itemBuyingPrice":20,"itemCreatingPrice":1000,"itemSellingPrice":7,"profile":"WeaponSpear"},"Weapon_Spear_024":{"attackPower":26,"attackRange":5.0,"cannotSell":true,"generalLife":50,"itemBuyingPrice":320,"itemSellingPrice":80,"profile":"WeaponSpear"},"Weapon_Spear_025":{"attackPower":11,"attackRange":5.0,"cannotSell":true,"generalLife":35,"itemBuyingPrice":25,"itemSellingPrice":8,"profile":"WeaponSpear"},"Weapon_Spear_027":{"attackPower":9,"attackRange":5.0,"cannotSell":true,"generalLife":40,"itemBuyingPrice":70,"itemSellingPrice":18,"profile":"WeaponSpear"},"Weapon_Spear_028":{"attackPower":12,"attackRange":5.0,"cannotSell":true,"generalLife":40,"itemBuyingPrice":220,"itemSellingPrice":55,"profile":"WeaponSpear"},"Weapon_Spear_029":{"attackPower":16,"attackRange":5.0,"cannotSell":true,"generalLife":35,"itemBuyingPrice":90,"itemSellingPrice":22,"profile":"WeaponSpear"},"Weapon_Spear_030":{"attackPower":6,"attackRange":5.0,"cannotSell":true,"generalLife":20,"itemBuyingPrice":20,"itemSellingPrice":7,"profile":"WeaponSpear"},"Weapon_Spear_031":{"attackPower":14,"attackRange":5.0,"cannotSell":true,"generalLife":50,"itemBuyingPrice":30,"itemSellingPrice":8,"profile":"WeaponSpear"},"Weapon_Spear_032":{"attackPower":10,"attackRange":5.0,"cannotSell":true,"generalLife":35,"itemBuyingPrice":30,"itemSellingPrice":8,"profile":"WeaponSpear"},"Weapon_Spear_033":{"attackPower":24,"attackRange":5.0,"cannotSell":true,"generalLife":50,"itemBuyingPrice":450,"itemSellingPrice":150,"profile":"WeaponSpear"},"Weapon_Spear_034":{"attackPower":20,"attackRange":5.0,"cannotSell":true,"generalLife":40,"itemBuyingPrice":450,"itemSellingPrice":150,"profile":"WeaponSpear"},"Weapon_Spear_035":{"attackPower":22,"attackRange":5.0,"cannotSell":true,"generalLife":50,"itemBuyingPrice":450,"itemSellingPrice":150,"profile":"WeaponSpear"},"Weapon_Spear_036":{"attackPower":5,"attackRange":5.0,"cannotSell":true,"generalLife":8,"itemBuyingPrice":3,"itemSellingPrice":1,"profile":"WeaponSpear"},"Weapon_Spear_037":{"attackPower":12,"attackRange":5.0,"cannotSell":true,"generalLife":35,"itemBuyingPrice":130,"itemSellingPrice":32,"profile":"WeaponSpear"},"Weapon_Spear_038":{"attackPower":8,"attackRange":5.0,"cannotSell":true,"generalLife":12,"itemBuyingPrice":20,"itemSellingPrice":7,"profile":"WeaponSpear"},"Weapon_Spear_047":{"attackPower":32,"attackRange":5.0,"cannotSell":true,"generalLife":15,"itemBuyingPrice":120,"itemSellingPrice":100,"profile":"WeaponSpear"},"Weapon_Spear_049":{"attackPower":14,"attackRange":5.0,"cannotSell":true,"generalLife":40,"itemBuyingPrice":400,"itemSellingPrice":100,"profile":"WeaponSpear"},"Weapon_Spear_050":{"attackPower":22,"attackRange":5.0,"cannotSell":true,"generalLife":70,"itemBuyingPrice":400,"itemSellingPrice":100,"profile":"WeaponSpear"},"Weapon_Spear_080":{"attackPower":22,"attackRange":5.0,"generalLife":70,"itemBuyingPrice":400,"itemSellingPrice":100,"profile":"WeaponSpear"},"Weapon_Sword_001":{"attackPower":5,"attackRange":1.6,"cannotSell":true,"generalLife":20,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"WeaponSmallSword"},"Weapon_Sword_002":{"attackPower":14,"attackRange":1.6,"cannotSell":true,"generalLife":23,"itemBuyingPrice":70,"itemSellingPrice":18,"profile":"WeaponSmallSword"},"Weapon_Sword_003":{"attackPower":26,"attackRange":1.6,"cannotSell":true,"generalLife":27,"itemBuyingPrice":180,"itemSellingPrice":45,"profile":"WeaponSmallSword"},"Weapon_Sword_004":{"attackPower":4,"attackRange":1.6,"cannotSell":true,"generalLife":12,"itemBuyingPrice":9,"itemSellingPrice":5,"profile":"WeaponSmallSword"},"Weapon_Sword_005":{"attackPower":12,"attackRange":1.6,"cannotSell":true,"generalLife":14,"itemBuyingPrice":15,"itemSellingPrice":10,"profile":"WeaponSmallSword"},"Weapon_Sword_006":{"attackPower":24,"attackRange":1.6,"cannotSell":true,"generalLife":18,"itemBuyingPrice":24,"itemSellingPrice":15,"profile":"WeaponSmallSword"},"Weapon_Sword_007":{"attackPower":14,"attackRange":1.6,"cannotSell":true,"generalLife":17,"itemBuyingPrice":24,"itemSellingPrice":10,"profile":"WeaponSmallSword"},"Weapon_Sword_008":{"attackPower":24,"attackRange":1.6,"cannotSell":true,"generalLife":23,"itemBuyingPrice":45,"itemSellingPrice":20,"profile":"WeaponSmallSword"},"Weapon_Sword_009":{"attackPower":36,"attackRange":1.6,"cannotSell":true,"generalLife":27,"itemBuyingPrice":69,"itemSellingPrice":30,"profile":"WeaponSmallSword"},"Weapon_Sword_013":{"attackPower":20,"attackRange":1.6,"cannotSell":true,"generalLife":17,"itemBuyingPrice":39,"itemSellingPrice":15,"profile":"WeaponSmallSword"},"Weapon_Sword_014":{"attackPower":30,"attackRange":1.6,"cannotSell":true,"generalLife":26,"itemBuyingPrice":75,"itemSellingPrice":30,"profile":"WeaponSmallSword"},"Weapon_Sword_015":{"attackPower":40,"attackRange":1.6,"cannotSell":true,"generalLife":32,"itemBuyingPrice":114,"itemSellingPrice":45,"profile":"WeaponSmallSword"},"Weapon_Sword_016":{"attackPower":24,"attackRange":1.6,"cannotSell":true,"generalLife":26,"itemBuyingPrice":45,"itemSellingPrice":18,"profile":"WeaponSmallSword"},"Weapon_Sword_017":{"attackPower":36,"attackRange":1.6,"cannotSell":true,"generalLife":32,"itemBuyingPrice":90,"itemSellingPrice":35,"profile":"WeaponSmallSword"},"Weapon_Sword_018":{"attackPower":58,"attackRange":1.6,"cannotSell":true,"generalLife":41,"itemBuyingPrice":135,"itemSellingPrice":52,"profile":"WeaponSmallSword"},"Weapon_Sword_019":{"attackPower":5,"attackRange":1.6,"cannotSell":true,"generalLife":5,"itemBuyingPrice":1,"itemSellingPrice":1,"profile":"WeaponSmallSword"},"Weapon_Sword_020":{"attackPower":12,"attackRange":1.6,"cannotSell":true,"generalLife":8,"itemBuyingPrice":1,"itemSellingPrice":1,"profile":"WeaponSmallSword"},"Weapon_Sword_021":{"attackPower":6,"attackRange":1.6,"cannotSell":true,"generalLife":8,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"WeaponSmallSword"},"Weapon_Sword_022":{"attackPower":4,"attackRange":1.6,"cannotSell":true,"generalLife":5,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"WeaponSmallSword"},"Weapon_Sword_023":{"attackPower":40,"attackRange":1.6,"cannotSell":true,"generalLife":54,"itemBuyingPrice":20,"itemCreatingPrice":1000,"itemSellingPrice":5,"profile":"WeaponSmallSword"},"Weapon_Sword_024":{"attackPower":36,"attackRange":1.6,"cannotSell":true,"generalLife":36,"itemBuyingPrice":320,"itemSellingPrice":80,"profile":"WeaponSmallSword"},"Weapon_Sword_025":{"attackPower":22,"attackRange":1.6,"cannotSell":true,"generalLife":27,"itemBuyingPrice":25,"itemSellingPrice":6,"profile":"WeaponSmallSword"},"Weapon_Sword_027":{"attackPower":15,"attackRange":1.6,"cannotSell":true,"generalLife":27,"itemBuyingPrice":70,"itemSellingPrice":18,"profile":"WeaponSmallSword"},"Weapon_Sword_029":{"attackPower":16,"attackRange":1.6,"cannotSell":true,"generalLife":23,"itemBuyingPrice":120,"itemSellingPrice":30,"profile":"WeaponSmallSword"},"Weapon_Sword_030":{"attackPower":25,"attackRange":1.6,"cannotSell":true,"generalLife":32,"itemBuyingPrice":220,"itemSellingPrice":55,"profile":"WeaponSmallSword"},"Weapon_Sword_031":{"attackPower":15,"attackRange":1.6,"cannotSell":true,"generalLife":27,"itemBuyingPrice":12,"itemSellingPrice":3,"profile":"WeaponSmallSword"},"Weapon_Sword_033":{"attackPower":24,"attackRange":1.6,"cannotSell":true,"generalLife":36,"itemBuyingPrice":150,"itemSellingPrice":150,"profile":"WeaponSmallSword"},"Weapon_Sword_034":{"attackPower":20,"attackRange":1.6,"cannotSell":true,"generalLife":30,"itemBuyingPrice":150,"itemSellingPrice":150,"profile":"WeaponSmallSword"},"Weapon_Sword_035":{"attackPower":22,"attackRange":1.6,"cannotSell":true,"generalLife":36,"itemBuyingPrice":150,"itemSellingPrice":150,"profile":"WeaponSmallSword"},"Weapon_Sword_040":{"attackPower":1,"attackRange":1.6,"cannotSell":true,"generalLife":80,"itemBuyingPrice":15,"itemSellingPrice":2,"profile":"WeaponSmallSword"},"Weapon_Sword_041":{"attackPower":15,"attackRange":1.6,"cannotSell":true,"generalLife":26,"itemBuyingPrice":110,"itemSellingPrice":28,"profile":"WeaponSmallSword"},"Weapon_Sword_043":{"attackPower":2,"attackRange":1.6,"cannotSell":true,"generalLife":8,"itemBuyingPrice":9,"itemSellingPrice":2,"profile":"WeaponSmallSword"},"Weapon_Sword_044":{"attackPower":2,"attackRange":1.6,"cannotSell":true,"generalLife":4,"itemBuyingPrice":3,"itemSellingPrice":1,"profile":"WeaponSmallSword"},"Weapon_Sword_047":{"attackPower":48,"attackRange":1.6,"cannotSell":true,"generalLife":14,"itemBuyingPrice":120,"itemSellingPrice":100,"profile":"WeaponSmallSword"},"Weapon_Sword_048":{"attackPower":10,"attackRange":30.0,"cannotSell":true,"generalLife":32,"itemBuyingPrice":120,"itemSellingPrice":18,"profile":"WeaponSmallSword"},"Weapon_Sword_049":{"attackPower":10,"attackRange":15.0,"cannotSell":true,"generalLife":32,"itemBuyingPrice":120,"itemSellingPrice":18,"profile":"WeaponSmallSword"},"Weapon_Sword_050":{"attackPower":10,"attackRange":30.0,"cannotSell":true,"generalLife":32,"itemBuyingPrice":120,"itemSellingPrice":18,"profile":"WeaponSmallSword"},"Weapon_Sword_051":{"attackPower":8,"attackRange":1.6,"cannotSell":true,"generalLife":18,"itemBuyingPrice":100,"itemSellingPrice":25,"profile":"WeaponSmallSword"},"Weapon_Sword_052":{"attackPower":32,"attackRange":1.6,"cannotSell":true,"generalLife":60,"itemBuyingPrice":400,"itemSellingPrice":100,"profile":"WeaponSmallSword"},"Weapon_Sword_053":{"attackPower":16,"attackRange":1.0,"cannotSell":true,"generalLife":14,"itemBuyingPrice":50,"itemSellingPrice":12,"profile":"WeaponSmallSword"},"Weapon_Sword_056":{"attackPower":1,"isImportant":true,"profile":"WeaponSmallSword"},"Weapon_Sword_057":{"attackPower":28,"attackRange":1.6,"cannotSell":true,"generalLife":45,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"WeaponSmallSword"},"Weapon_Sword_058":{"attackPower":22,"attackRange":1.6,"cannotSell":true,"generalLife":27,"itemBuyingPrice":20,"itemSellingPrice":5,"profile":"WeaponSmallSword"},"Weapon_Sword_059":{"attackPower":20,"attackRange":1.6,"cannotSell":true,"generalLife":20,"itemBuyingPrice":100,"itemSellingPrice":25,"profile":"WeaponSmallSword"},"Weapon_Sword_060":{"attackPower":5,"attackRange":20.0,"cannotSell":true,"generalLife":14,"itemBuyingPrice":120,"itemSellingPrice":18,"profile":"WeaponSmallSword"},"Weapon_Sword_061":{"attackPower":5,"attackRange":15.0,"cannotSell":true,"generalLife":14,"itemBuyingPrice":120,"itemSellingPrice":18,"profile":"WeaponSmallSword"},"Weapon_Sword_062":{"attackPower":5,"attackRange":20.0,"cannotSell":true,"generalLife":14,"itemBuyingPrice":120,"itemSellingPrice":18,"profile":"WeaponSmallSword"},"Weapon_Sword_070":{"attackPower":30,"attackRange":1.6,"cannotSell":true,"generalLife":40,"isImportant":true,"itemBuyingPrice":1,"itemSellingPrice":1,"profile":"WeaponSmallSword"},"Weapon_Sword_073":{"attackPower":40,"attackRange":1.6,"cannotSell":true,"generalLife":25,"profile":"WeaponSmallSword"},"Weapon_Sword_080":{"cannotSell":true,"isImportant":true,"profile":"WeaponSmallSword"},"Weapon_Sword_081":{"cannotSell":true,"isImportant":true,"profile":"WeaponSmallSword"},"Weapon_Sword_502":{"attackPower":1,"attackRange":1.6,"cannotSell":true,"generalLife":40,"itemBuyingPrice":1,"itemSellingPrice":1,"profile":"WeaponSmallSword"},"Weapon_Sword_503":{"attackPower":1,"attackRange":1.6,"generalLife":40,"itemBuyingPrice":1,"itemSellingPrice":1,"profile":"WeaponSmallSword"},"Wizzrobe_WeatherFireBall":{"attackPower":20,"profile":"MapDynamicActive"},"Wizzrobe_WeatherIceBall":{"attackRange":100.0,"profile":"Bullet"},"dyecolor_00":{"itemBuyingPrice":20,"itemStainColor":4,"profile":"Item"},"dyecolor_01":{"itemBuyingPrice":20,"itemStainColor":1,"profile":"Item"},"dyecolor_02":{"itemBuyingPrice":20,"itemStainColor":2,"profile":"Item"},"dyecolor_03":{"itemBuyingPrice":20,"itemStainColor":3,"profile":"Item"},"dyecolor_04":{"itemBuyingPrice":20,"itemStainColor":4,"profile":"Item"},"dyecolor_05":{"itemBuyingPrice":20,"itemStainColor":5,"profile":"Item"},"dyecolor_06":{"itemBuyingPrice":20,"itemStainColor":6,"profile":"Item"},"dyecolor_07":{"itemBuyingPrice":20,"itemStainColor":7,"profile":"Item"},"dyecolor_08":{"itemBuyingPrice":20,"itemStainColor":8,"profile":"Item"},"dyecolor_09":{"itemBuyingPrice":20,"itemStainColor":9,"profile":"Item"},"dyecolor_10":{"itemBuyingPrice":20,"itemStainColor":10,"profile":"Item"},"dyecolor_11":{"itemBuyingPrice":20,"itemStainColor":11,"profile":"Item"},"dyecolor_12":{"itemBuyingPrice":20,"itemStainColor":12,"profile":"Item"},"dyecolor_13":{"itemBuyingPrice":20,"itemStainColor":13,"profile":"Item"},"dyecolor_14":{"itemBuyingPrice":20,"itemStainColor":14,"profile":"Item"},"dyecolor_15":{"itemBuyingPrice":20,"itemStainColor":15,"profile":"Item"}}`); diff --git a/packages/item-system/src/data/ActorData.ts b/packages/item-system/src/data/ActorData.ts index 9cc2cea..e6a0e2b 100644 --- a/packages/item-system/src/data/ActorData.ts +++ b/packages/item-system/src/data/ActorData.ts @@ -1,8 +1,8 @@ import { SpecialStatus } from "./enums.ts"; -import { ActorDataMap } from "./ActorData.gen.ts"; +import { ActorDataMap } from "../generated/ActorDataMap.ts"; export const DefaultActorData = { - /** + /** * The profile user of the actor * * Note that if the actor doesn't have any of the other @@ -10,7 +10,7 @@ export const DefaultActorData = { */ profile: "Unknown" as string, - /** + /** * Whether the item is stackable (has CanStack tag) */ canStack: false as boolean, @@ -71,7 +71,7 @@ export const DefaultActorData = { */ bowArrowFirstSpeed: 4.5 as number, - /** + /** * [GParam] (probably) terminal speed of the arrow (4 for ancient) * bowArrowAcceleration is -0.1 for all bows */ @@ -87,7 +87,7 @@ export const DefaultActorData = { /** [GParam] Misleading name. This is if the bow has default zoom */ bowIsLongRange: false as boolean, - /** + /** * [GParam] How fast the bow charges. Higher means * bow takes shorter from pressing ZR to ready to fire * - Higher for falcon, swallow, GEB, RGB @@ -144,15 +144,21 @@ export const DefaultActorData = { export type ActorData = typeof DefaultActorData; /** Get the data property of the actor, or default if the actor doesn't have the property */ -export const getActorParam = (actor: string, key: K): ActorData[K] => { +export const getActorParam = ( + actor: string, + key: K, +): ActorData[K] => { const data = ActorDataMap[actor]; if (!data || !(key in data)) { return DefaultActorData[key]; } return (data as ActorData)[key]; -} +}; /** Check if the actor has the property */ -export const hasActorParam = (actor: string, key: K): boolean => { +export const hasActorParam = ( + actor: string, + key: K, +): boolean => { return key in ActorDataMap[actor]; -} +}; diff --git a/packages/item-system/src/data/ItemSlotInfo.ts b/packages/item-system/src/data/ItemSlotInfo.ts index 1f2e85e..4933289 100644 --- a/packages/item-system/src/data/ItemSlotInfo.ts +++ b/packages/item-system/src/data/ItemSlotInfo.ts @@ -9,113 +9,118 @@ import { CookEffect, isEquipment, ItemUse, PouchItemType } from "./enums.ts"; * from the item's parameters should not be included here. */ export type ItemSlotInfo = { - /** + /** * Name of the actor, from PouchItem::mName * * This is what will be used to look up extra data for the item */ - actorName: string, + actorName: string; - /** + /** * PouchItem::mType * * Note this is raw memory value and may not be a valid enum value */ - itemType: PouchItemType | number, + itemType: PouchItemType | number; /** * PouchItem::mItemUse * * Note this is raw memory value and may not be a valid enum value */ - itemUse: ItemUse | number, + itemUse: ItemUse | number; - /** + /** * PouchItem::mValue * * This is stack size or durability * 100 */ - value: number, + value: number; /** PouchItem::mEquipped */ - isEquipped: boolean, + isEquipped: boolean; /** PouchItem::mInInventory */ - isInInventory: boolean, + isInInventory: boolean; - /** - * This is either the weapon modifier value, + /** + * This is either the weapon modifier value, * or the HP recovery value for food (in quarter-hearts) */ - modEffectValue: number, + modEffectValue: number; - /** + /** * For food with a timed effect, this is the duration in seconds. * For stamina, this is the raw value */ - modEffectDuration: number, + modEffectDuration: number; /** * For weapon modifier, this is the flag bitset. For food, * this is the sell price */ - modSellPrice: number, + modSellPrice: number; /** * Effect ID for the food * * Note this is raw memory value and may not be a valid enum value */ - modEffectId: CookEffect | number, + modEffectId: CookEffect | number; /** - * The level of the effect, *usually* 1-3. However this + * The level of the effect, *usually* 1-3. However this * is the raw memory value and may not be valid */ - modEffectLevel: number, + modEffectLevel: number; /** * PouchItem::mIngredients. Length should always be 5 */ - ingredientActorNames: string[], + ingredientActorNames: string[]; - /** + /** * The item's position in the item list. * * If the item is in the unallocated pool, this is its position * in the unallocated pool (stack). 0 is the top of the stack/beginning * of the list */ - listPosition: number, + listPosition: number; /** If the item is currently in the unallocated pool */ - unallocated: boolean, + unallocated: boolean; - /** + /** * The item's position in the pool * * This basically serves as a unique pointer to the item */ - poolPosition: number, + poolPosition: number; /** If the item is in "broken" slot, i.e. will be transferred on reload */ - isInBrokenSlot: boolean, + isInBrokenSlot: boolean; - /** + /** * Number of items held if the item is being held by the player */ - holdingCount: number, + holdingCount: number; /** * Enable the prompt entangled state for this slot */ - promptEntangled: boolean, -} + promptEntangled: boolean; +}; /** Populate item slot info from actor name and optional properties */ -export const makeItemSlotInfo = (actorName: string, rest: Partial = {}): ItemSlotInfo => { +export const makeItemSlotInfo = ( + actorName: string, + rest: Partial = {}, +): ItemSlotInfo => { const [itemType, itemUse] = getItemTypeAndUse(actorName); - const value = isEquipment(itemType) ? getActorParam(actorName, "generalLife") * 100 : 1; + const value = isEquipment(itemType) + ? getActorParam(actorName, "generalLife") * 100 + : 1; return { actorName, itemType, @@ -136,10 +141,12 @@ export const makeItemSlotInfo = (actorName: string, rest: Partial holdingCount: 0, promptEntangled: false, ...rest, - } -} + }; +}; -export const getItemTypeAndUse = (actorName: string): [PouchItemType, ItemUse] => { +export const getItemTypeAndUse = ( + actorName: string, +): [PouchItemType, ItemUse] => { const profile = getActorParam(actorName, "profile"); switch (profile) { case "WeaponSmallSword": @@ -162,17 +169,22 @@ export const getItemTypeAndUse = (actorName: string): [PouchItemType, ItemUse] = const isFood = actorName.startsWith("Item_Cook_"); if (profile !== "Item" && profile !== "PlayerItem") { - return [isFood ? PouchItemType.Food : PouchItemType.Material, ItemUse.Item]; + return [ + isFood ? PouchItemType.Food : PouchItemType.Material, + ItemUse.Item, + ]; } - if (getActorParam(actorName, "isCureItem")) { - return [isFood ? PouchItemType.Food: PouchItemType.Material, ItemUse.CureItem]; + return [ + isFood ? PouchItemType.Food : PouchItemType.Material, + ItemUse.CureItem, + ]; } if (getActorParam(actorName, "isImportant")) { return [PouchItemType.KeyItem, ItemUse.ImportantItem]; } - return [isFood ? PouchItemType.Food: PouchItemType.Material, ItemUse.Item]; -} + return [isFood ? PouchItemType.Food : PouchItemType.Material, ItemUse.Item]; +}; diff --git a/packages/item-system/src/data/ModifierInfo.ts b/packages/item-system/src/data/ModifierInfo.ts index 2ca7086..70049f1 100644 --- a/packages/item-system/src/data/ModifierInfo.ts +++ b/packages/item-system/src/data/ModifierInfo.ts @@ -1,51 +1,59 @@ import { getActorParam } from "./ActorData.ts"; -import { CookEffect, effectToStatus, modifierToStatus, PouchItemType, SpecialStatus, WeaponModifier } from "./enums.ts"; +import { + CookEffect, + effectToStatus, + modifierToStatus, + PouchItemType, + SpecialStatus, + WeaponModifier, +} from "./enums.ts"; import type { ItemSlotInfo } from "./ItemSlotInfo.ts"; /** Modifier display info derived from ItemSlotInfo and ActorData */ export type ModifierInfo = { /** The special status to display on the item slot */ - status: SpecialStatus - /** + status: SpecialStatus; + /** * The icon to display for the special status * * Some status corresponds to multiple icons, like AddPower * for weapon and bow */ - statusIcon: string, + statusIcon: string; /** Value to display next to the modifier icon in the item slot */ - iconValue: string, + iconValue: string; /** Extra details for each of the weapon modifiers */ - details: ModifierDetail[], - + details: ModifierDetail[]; }; /** Extra detail for each of the weapon modifiers */ export type ModifierDetail = { /** The special status corresponding to the modifier */ - status: SpecialStatus, + status: SpecialStatus; /** The special status icon corresponding to the modifier */ - statusIcon: string, + statusIcon: string; /** If the modifier is active on the item type */ - active: boolean, - /** + active: boolean; + /** * The display value of the modifier * * Number for AddPower, AddGuard, SpreadFire, percentage * for LongThrow, RapidFire, SurfMaster */ - modifierValue: string, -} - - + modifierValue: string; +}; /** Get the modifier info for an item slot */ export const getModifierInfo = (info: ItemSlotInfo): ModifierInfo => { const { actorName, itemType, modEffectId, modSellPrice } = info; // only display WeaponModifier for equipments - if (itemType === PouchItemType.Sword || itemType === PouchItemType.Bow || itemType === PouchItemType.Shield) { + if ( + itemType === PouchItemType.Sword || + itemType === PouchItemType.Bow || + itemType === PouchItemType.Shield + ) { return getModifierInfoForEquipments(info); } // get from cook data @@ -60,13 +68,16 @@ export const getModifierInfo = (info: ItemSlotInfo): ModifierInfo => { defaultData.statusIcon = SpecialStatus[status]; } // display price if it's odd, because it's probably used for WMC - const iconValue = (modSellPrice > 1 && modSellPrice % 2 === 1) ? `$${modSellPrice}` : ""; + const iconValue = + modSellPrice > 1 && modSellPrice % 2 === 1 ? `$${modSellPrice}` : ""; defaultData.iconValue = iconValue; return defaultData; -} +}; -export const getModifierInfoForEquipments = (info: ItemSlotInfo): ModifierInfo => { +export const getModifierInfoForEquipments = ( + info: ItemSlotInfo, +): ModifierInfo => { const { actorName, itemType, modEffectValue, modSellPrice } = info; const specialStatus = getWeaponSpecialStatusToDisplay(modSellPrice); let iconValue = 0; @@ -80,7 +91,10 @@ export const getModifierInfoForEquipments = (info: ItemSlotInfo): ModifierInfo = iconValue += modEffectValue; } // value is doubled if both AddPower and AddGuard are present for shields - if (itemType === PouchItemType.Shield && (modSellPrice & WeaponModifier.AddGuard) !== 0) { + if ( + itemType === PouchItemType.Shield && + (modSellPrice & WeaponModifier.AddGuard) !== 0 + ) { iconValue += modEffectValue; } @@ -105,7 +119,14 @@ export const getModifierInfoForEquipments = (info: ItemSlotInfo): ModifierInfo = if (modSellPrice & WeaponModifier.AddPower) { details.push({ status: SpecialStatus.AddPower, - statusIcon: itemType === PouchItemType.Bow ? (yellow ? "AddPowerPlus_Bow" : "AddPower_Bow") : (yellow?"AddPowerPlus":"AddPower"), + statusIcon: + itemType === PouchItemType.Bow + ? yellow + ? "AddPowerPlus_Bow" + : "AddPower_Bow" + : yellow + ? "AddPowerPlus" + : "AddPower", active: true, // attack up is always active modifierValue: `${modEffectValue}`, }); @@ -115,15 +136,15 @@ export const getModifierInfoForEquipments = (info: ItemSlotInfo): ModifierInfo = status: SpecialStatus.AddLife, statusIcon: yellow ? "AddLifePlus" : "AddLife", active: true, // durability up, always active, although it doesn't do anything - modifierValue: "" + modifierValue: "", }); } if (modSellPrice & WeaponModifier.AddGuard) { details.push({ status: SpecialStatus.AddGuard, statusIcon: yellow ? "AddGuardPlus" : "AddGuard", - active: itemType === PouchItemType.Shield, - modifierValue: `${modEffectValue}` + active: itemType === PouchItemType.Shield, + modifierValue: `${modEffectValue}`, }); } if (modSellPrice & WeaponModifier.Critical) { @@ -131,7 +152,7 @@ export const getModifierInfoForEquipments = (info: ItemSlotInfo): ModifierInfo = status: SpecialStatus.Critical, statusIcon: "Critical", active: itemType === PouchItemType.Sword, - modifierValue: "" + modifierValue: "", }); } if (modSellPrice & WeaponModifier.LongThrow) { @@ -139,21 +160,25 @@ export const getModifierInfoForEquipments = (info: ItemSlotInfo): ModifierInfo = status: SpecialStatus.LongThrow, statusIcon: "LongThrow", active: itemType === PouchItemType.Sword, - modifierValue: getModifierPercentDifference(modEffectValue) + modifierValue: getModifierPercentDifference(modEffectValue), }); } if (modSellPrice & WeaponModifier.SpreadFire) { // This is guess on how it works based on experience // multishot is capped at 10. The faster the bow shoots, fewer arrows come out const bowChargeRate = getActorParam(actorName, "bowArrowChargeRate"); - const quickShotMultiplier = (modSellPrice & WeaponModifier.RapidFire) !== 0 ? (modEffectValue / 1000) : 1; + const quickShotMultiplier = + (modSellPrice & WeaponModifier.RapidFire) !== 0 + ? modEffectValue / 1000 + : 1; const multishot = 10 / (bowChargeRate * quickShotMultiplier); - const modifierValue = multishot >= 10 ? "10" : `~${multishot.toFixed(2)}`; + const modifierValue = + multishot >= 10 ? "10" : `~${multishot.toFixed(2)}`; details.push({ status: SpecialStatus.SpreadFire, statusIcon: getMultishotIcon(modEffectValue), active: itemType === PouchItemType.Bow, - modifierValue + modifierValue, }); } if (modSellPrice & WeaponModifier.Zoom) { @@ -161,7 +186,7 @@ export const getModifierInfoForEquipments = (info: ItemSlotInfo): ModifierInfo = status: SpecialStatus.Zoom, statusIcon: "Zoom", active: itemType === PouchItemType.Bow, - modifierValue: "" + modifierValue: "", }); } if (modSellPrice & WeaponModifier.RapidFire) { @@ -169,7 +194,7 @@ export const getModifierInfoForEquipments = (info: ItemSlotInfo): ModifierInfo = status: SpecialStatus.RapidFire, statusIcon: "RapidFire", active: itemType === PouchItemType.Bow, - modifierValue: getModifierPercentDifference(modEffectValue) + modifierValue: getModifierPercentDifference(modEffectValue), }); } if (modSellPrice & WeaponModifier.SurfMaster) { @@ -177,7 +202,7 @@ export const getModifierInfoForEquipments = (info: ItemSlotInfo): ModifierInfo = status: SpecialStatus.SurfMaster, statusIcon: "SurfMaster", active: itemType === PouchItemType.Shield, - modifierValue: getModifierPercentDifference(modEffectValue) + modifierValue: getModifierPercentDifference(modEffectValue), }); } @@ -186,10 +211,12 @@ export const getModifierInfoForEquipments = (info: ItemSlotInfo): ModifierInfo = statusIcon, iconValue: iconValue ? `+${iconValue}` : "", details, - } -} + }; +}; -const getWeaponSpecialStatusToDisplay = (modifierSet: number): SpecialStatus => { +const getWeaponSpecialStatusToDisplay = ( + modifierSet: number, +): SpecialStatus => { // 0x7100aa7290 in 1.5.0 // https://discord.com/channels/269611402854006785/269616041435332608/1041497732474482698 // select the modifier to display from the bitset @@ -207,19 +234,21 @@ const getWeaponSpecialStatusToDisplay = (modifierSet: number): SpecialStatus => let selectedModifier: WeaponModifier = WeaponModifier.None; for (let i = 0; i < applicableModifiers.length; i++) { - if ( - (applicableModifiers[i] & modifierSet) !== - WeaponModifier.None - ) { + if ((applicableModifiers[i] & modifierSet) !== WeaponModifier.None) { selectedModifier = applicableModifiers[i]; break; } } - return modifierToStatus(selectedModifier, (modifierSet & WeaponModifier.Yellow) !== 0); -} + return modifierToStatus( + selectedModifier, + (modifierSet & WeaponModifier.Yellow) !== 0, + ); +}; -export const getDefaultModifierInfoForActor = (actorName: string): ModifierInfo => { +export const getDefaultModifierInfoForActor = ( + actorName: string, +): ModifierInfo => { const status = getActorParam(actorName, "specialStatus"); let statusIcon = SpecialStatus[status]; @@ -233,8 +262,8 @@ export const getDefaultModifierInfoForActor = (actorName: string): ModifierInfo statusIcon, iconValue: "", details: [], - } -} + }; +}; export const getMultishotIcon = (num: number): string => { if (num <= 3) { @@ -244,7 +273,7 @@ export const getMultishotIcon = (num: number): string => { return "SpreadFire_5"; } return "SpreadFire_X"; -} +}; const getModifierPercentDifference = (value: number): string => { if (value === 1000) { diff --git a/packages/item-system/src/data/enums.ts b/packages/item-system/src/data/enums.ts index 79235e3..5ffbf47 100644 --- a/packages/item-system/src/data/enums.ts +++ b/packages/item-system/src/data/enums.ts @@ -1,5 +1,4 @@ - -/** +/** * uking::ui::PouchItemType */ export enum PouchItemType { @@ -17,10 +16,14 @@ export enum PouchItemType { } export const isEquipment = (itemUse: PouchItemType): boolean => { - return itemUse === PouchItemType.Sword || itemUse === PouchItemType.Bow || itemUse === PouchItemType.Shield; -} + return ( + itemUse === PouchItemType.Sword || + itemUse === PouchItemType.Bow || + itemUse === PouchItemType.Shield + ); +}; -/** +/** * uking::ui::ItemUse */ export enum ItemUse { @@ -51,13 +54,13 @@ export enum CookEffect { Quietness = 12, // note the name we use internally for skybook is different // for decomp, it's MovingSpeed - AllSpeed = 13, + AllSpeed = 13, GutsRecover = 14, ExGutsMaxUp = 15, Fireproof = 16, } -/** +/** * Internal used special status enum * * These correspond to modifier icons @@ -109,14 +112,18 @@ export const WeaponModifier = { RapidFire: 0x40, SurfMaster: 0x80, AddGuard: 0x100, - Yellow: 0x80000000 + Yellow: 0x80000000, } as const; -export type WeaponModifier = typeof WeaponModifier[keyof typeof WeaponModifier]; +export type WeaponModifier = + (typeof WeaponModifier)[keyof typeof WeaponModifier]; /** Convert a WeaponModifier to a SpecialStatus */ -export const modifierToStatus = (modifier: WeaponModifier, yellow: boolean): SpecialStatus => { - switch(modifier) { +export const modifierToStatus = ( + modifier: WeaponModifier, + yellow: boolean, +): SpecialStatus => { + switch (modifier) { case WeaponModifier.AddPower: return yellow ? SpecialStatus.AddPowerPlus : SpecialStatus.AddPower; case WeaponModifier.AddLife: @@ -137,11 +144,11 @@ export const modifierToStatus = (modifier: WeaponModifier, yellow: boolean): Spe return SpecialStatus.SurfMaster; } return SpecialStatus.None; -} +}; /** Convert a CookEffect to a SpecialStatus */ export const effectToStatus = (effect: CookEffect): SpecialStatus => { - switch(effect) { + switch (effect) { case CookEffect.LifeMaxUp: return SpecialStatus.LifeMaxUp; case CookEffect.ResistHot: @@ -166,4 +173,4 @@ export const effectToStatus = (effect: CookEffect): SpecialStatus => { return SpecialStatus.Fireproof; } return SpecialStatus.None; -} +}; diff --git a/packages/item-system/src/images/index.ts b/packages/item-system/src/images/index.ts index dc6af88..608e771 100644 --- a/packages/item-system/src/images/index.ts +++ b/packages/item-system/src/images/index.ts @@ -1,4 +1,4 @@ -import { makeStyles } from "@griffel/react"; +import { makeStyles } from "@fluentui/react-components"; import sheikahBg from "./SheikahBackground.png?url"; /** Get the styles for using static assets */ @@ -6,5 +6,5 @@ export const useStaticAssetStyles = makeStyles({ /** Use the sheikah background image */ sheikahBg: { backgroundImage: `url(${sheikahBg})`, - } + }, }); diff --git a/packages/item-system/src/index.ts b/packages/item-system/src/index.ts index 009124d..8d0e1c4 100644 --- a/packages/item-system/src/index.ts +++ b/packages/item-system/src/index.ts @@ -5,3 +5,4 @@ export * from "./data/ItemSlotInfo.ts"; export * from "./data/ActorData.ts"; export * from "./data/enums.ts"; export * from "./data/ModifierInfo.ts"; +export * from "./images/index.ts"; diff --git a/packages/item-system/testpage/main.tsx b/packages/item-system/test/main.tsx similarity index 66% rename from packages/item-system/testpage/main.tsx rename to packages/item-system/test/main.tsx index 0e21b35..5eb14ea 100644 --- a/packages/item-system/testpage/main.tsx +++ b/packages/item-system/test/main.tsx @@ -1,6 +1,11 @@ import React, { useState } from "react"; import { createRoot } from "react-dom/client"; -import { FluentProvider, Switch, webDarkTheme, webLightTheme } from "@fluentui/react-components"; +import { + FluentProvider, + Switch, + webDarkTheme, + webLightTheme, +} from "@fluentui/react-components"; import { ItemTooltipProvider } from "../src/ItemTooltipProvider"; import { ItemSlotInfo } from "../src/data/ItemSlotInfo.ts"; @@ -29,7 +34,7 @@ const DUMMY: ItemSlotInfo = { isInBrokenSlot: false, holdingCount: 0, promptEntangled: false, -} +}; const TEST_ITEMS: ItemSlotInfo[] = [ { @@ -178,60 +183,90 @@ const App: React.FC = () => { const items = TEST_ITEMS.map((item, i) => { return { - ...item, isEquipped, isInBrokenSlot, listPosition: i, + ...item, + isEquipped, + isInBrokenSlot, + listPosition: i, promptEntangled: entangled, - ...(badlyDamaged ? { value: 200 } : {}) - } + ...(badlyDamaged ? { value: 200 } : {}), + }; }); - return <> -
- { - setCheap(!!checked); - }} /> - { - setIsEquipped(!!checked); - }} /> - { - setIsInBrokenSlot(!!checked); - }} /> - { - setDeactive(!!checked); - }} /> - { - setBadlyDamaged(!!checked); - }} /> - { - setAnimation(!!checked); - }} /> - { - setEntangled(!!checked); - }} /> -
-
- { - items.map((item, index) => { + return ( + <> +
+ { + setCheap(!!checked); + }} + /> + { + setIsEquipped(!!checked); + }} + /> + { + setIsInBrokenSlot(!!checked); + }} + /> + { + setDeactive(!!checked); + }} + /> + { + setBadlyDamaged(!!checked); + }} + /> + { + setAnimation(!!checked); + }} + /> + { + setEntangled(!!checked); + }} + /> +
+
+ {items.map((item, index) => { return ( - + ); - }) - } -
- ; + })} +
+ + ); }; -void (async function main(){ +void (async function main() { await initI18n(); - - const root = document.getElementById('root'); + const root = document.getElementById("root"); if (root) { createRoot(root).render( @@ -240,9 +275,7 @@ void (async function main(){ - + , ); } - -})() - +})(); diff --git a/packages/item-system/tsconfig.app.json b/packages/item-system/tsconfig.app.json index 6461f97..5de93b0 100644 --- a/packages/item-system/tsconfig.app.json +++ b/packages/item-system/tsconfig.app.json @@ -1,7 +1,7 @@ { - "extends": "../../config/tsconfig-vite-app.json", - "compilerOptions": { - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", - }, - "include": ["src", "testpage"] + "extends": "../mono-dev/tsconfig/vite.json", + "compilerOptions": { + "types": ["vite/client", "@modyfi/vite-plugin-yaml/modules"] + }, + "include": ["src", "test"] } diff --git a/packages/item-system/tsconfig.json b/packages/item-system/tsconfig.json index 1ffef60..f6df6c7 100644 --- a/packages/item-system/tsconfig.json +++ b/packages/item-system/tsconfig.json @@ -1,7 +1,7 @@ { - "files": [], - "references": [ - { "path": "./tsconfig.app.json" }, - { "path": "./tsconfig.node.json" } - ] + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] } diff --git a/packages/item-system/tsconfig.node.json b/packages/item-system/tsconfig.node.json index c890797..3c5c48c 100644 --- a/packages/item-system/tsconfig.node.json +++ b/packages/item-system/tsconfig.node.json @@ -1,7 +1,4 @@ { - "extends": "../../config/tsconfig-tool.json", - "compilerOptions": { - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", - }, - "include": ["vite.config.ts"] + "extends": "../mono-dev/tsconfig/node.json", + "include": ["vite.config.ts"] } diff --git a/packages/item-system/vite.config.ts b/packages/item-system/vite.config.ts index 9013ec4..7595bc9 100644 --- a/packages/item-system/vite.config.ts +++ b/packages/item-system/vite.config.ts @@ -1,17 +1,7 @@ -import { defineConfig } from 'vite' -import react from '@vitejs/plugin-react' +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; import yaml from "@modyfi/vite-plugin-yaml"; -// import esbuildImportMetaUrlPlugin from "@codingame/esbuild-import-meta-url-plugin"; - -// https://vitejs.dev/config/ export default defineConfig({ - plugins: [react(), yaml()], - - // optimizeDeps: { - // esbuildOptions: { - // plugins: [esbuildImportMetaUrlPlugin] - // } - // } -}) - + plugins: [react(), yaml()], +}); diff --git a/packages/localization/Taskfile.yml b/packages/localization/Taskfile.yml index f315afe..aecf1ba 100644 --- a/packages/localization/Taskfile.yml +++ b/packages/localization/Taskfile.yml @@ -6,11 +6,6 @@ includes: internal: true tasks: - push: - desc: Push generated files. Requires gcloud access - cmds: - - gcloud storage cp src/generated/*.yaml gs://ist-private/i18n/generated - build: desc: Generate the localization files aliases: [b] @@ -29,3 +24,14 @@ tasks: cmds: - task: ecma:eslint-fix - task: ecma:prettier-fix + + push-artifacts: + desc: Push generated files. Requires gcloud access + cmds: + - gcloud storage cp src/generated/* gs://ist-private/artifacts/skybook-localization/ + + pull-artifacts: + cmds: + - $(which mkdir) -p src/generated + - gcloud storage cp gs://ist-private/artifacts/skybook-localization/* src/generated + diff --git a/packages/parser/.gitignore b/packages/parser/.gitignore index 313a48b..7b6fbf9 100644 --- a/packages/parser/.gitignore +++ b/packages/parser/.gitignore @@ -1 +1,2 @@ /src/generated +/data diff --git a/packages/parser/Cargo.toml b/packages/parser/Cargo.toml index 8fed9e1..ac71fbf 100644 --- a/packages/parser/Cargo.toml +++ b/packages/parser/Cargo.toml @@ -7,4 +7,5 @@ publish = false [dependencies] derive_more = { version = "1.0.0", features = ["deref", "deref_mut"] } teleparse = "0.0.5" +textdistance = "1.1.1" thiserror = "2.0.9" diff --git a/packages/parser/Taskfile.yml b/packages/parser/Taskfile.yml index 5741f88..ffc5453 100644 --- a/packages/parser/Taskfile.yml +++ b/packages/parser/Taskfile.yml @@ -1,11 +1,43 @@ version: '3' +includes: + cargo: + taskfile: ../mono-dev/task/cargo.yaml + internal: true + tasks: - build: + build-src: cmds: - $(which mkdir) -p src/generated - python scripts/generate.py + test: + cmds: + - cargo test + + check: + cmds: + - task: cargo:clippy-all + - task: cargo:fmt-check + + fix: + cmds: + - task: cargo:fmt-fix + clean: cmds: - rm -rf src/generated + + pull-deps: + cmds: + - $(which mkdir) -p data + - gcloud storage cp gs://ist-private/artifacts/skybook-parser/*.yaml data/ + + push-artifacts: + cmds: + - gcloud storage cp src/generated/*.rs gs://ist-private/artifacts/skybook-parser/ + + pull-artifacts: + cmds: + - $(which mkdir) -p src/generated + - gcloud storage cp gs://ist-private/artifacts/skybook-parser/*.rs src/generated diff --git a/packages/parser/scripts/generate.py b/packages/parser/scripts/generate.py index 71fa786..d3b9dab 100644 --- a/packages/parser/scripts/generate.py +++ b/packages/parser/scripts/generate.py @@ -6,14 +6,15 @@ raise Exception(f"botw-research-scripts not found: {RESEARCH_SCRIPTS_DIR}") HEADER = """ -//! This file is generated by resolve-icon-actor.py +//! This file is auto-generated by scripts/generate.py //! DO NOT EDIT MANUALLY - -/// Armor upgrade data, each slice is from 0 star to 4 star -pub static ARMOR_UPGRADE: &[[&str; 5]] = &[ """ def main(): + generate_armor_upgrade() + generate_item_name() + +def generate_armor_upgrade(): armor_upgrade_path = os.path.join(RESEARCH_SCRIPTS_DIR, "output", "armor-upgrades.yaml") with open(armor_upgrade_path, "r", encoding="utf-8") as f: armor_upgrade = yaml.safe_load(f) @@ -22,6 +23,10 @@ def main(): with open(output_path, "w", encoding="utf-8", newline="\n") as f: f.write(HEADER) + f.write(""" +/// Armor upgrade data, each slice is from 0 star to 4 star +pub static ARMOR_UPGRADE: &[[&str; 5]] = &[ +""") f.write("\n") for group in armor_upgrade: f.write(" [") @@ -29,5 +34,36 @@ def main(): f.write("],\n") f.write("];\n") +def generate_item_name(): + input_path = os.path.join(SELF_DIR, "data", "v3_item_names.yaml") + with open(input_path, "r", encoding="utf-8") as f: + item_names = yaml.safe_load(f) + + output_path = os.path.join(SELF_DIR, "src", "generated", "item_name.rs") + + ids_by_search = [] + + with open(output_path, "w", encoding="utf-8", newline="\n") as f: + f.write(HEADER) + f.write("use crate::search::SearchName;\n") + f.write("pub static ITEM_NAMES: &[SearchName] = &[\n") + for item_name in sorted(item_names): + actor_name = item_names[item_name]["actor"] + is_material = item_names[item_name]["is_material"] + id_len = item_names[item_name]["id_len"] + ids_by_search.append(item_name[:id_len]) + f.write(f"SearchName::new(\"{item_name}\", \"{actor_name}\", {"true" if is_material else "false"}, {id_len}),\n") + + f.write("];\n") + + # verify search string and ids have the same sort order + ids = list(sorted(ids_by_search)) + if ids != ids_by_search: + print("Search string and ids have different sort order") + exit(1) + if __name__ == "__main__": main() + +import yaml +import os diff --git a/packages/parser/src/cir/item_meta.rs b/packages/parser/src/cir/item_meta.rs index 5006703..79ef7e9 100644 --- a/packages/parser/src/cir/item_meta.rs +++ b/packages/parser/src/cir/item_meta.rs @@ -1,7 +1,7 @@ use teleparse::{tp, Span}; use crate::error::{ErrorReport, Error}; -use crate::item_search::ItemResolver; +use crate::search::QuotedItemResolver; use crate::syn; use crate::cir; @@ -42,21 +42,19 @@ pub struct ItemMeta { } impl ItemMeta { - pub async fn parse(meta: &syn::ItemMeta, resolver: &R, errors: &mut Vec) -> ItemMeta { + pub async fn parse(meta: &syn::ItemMeta, errors: &mut Vec) -> ItemMeta { let parser = Parser { meta: ItemMeta::default(), - resolver, }; cir::parse_meta(meta, parser, errors).await } } -struct Parser<'r, R: ItemResolver> { +struct Parser { meta: ItemMeta, - resolver: &'r R, } -impl MetaParser for Parser<'_, R> { +impl MetaParser for Parser { type Output = ItemMeta; async fn visit_start(&mut self, _meta: &syn::ItemMeta, _errors: &mut Vec) { diff --git a/packages/parser/src/data/v3_item_names.yaml b/packages/parser/src/data/v3_item_names.yaml deleted file mode 100644 index 42560af..0000000 --- a/packages/parser/src/data/v3_item_names.yaml +++ /dev/null @@ -1,2672 +0,0 @@ -acorn: - actor: Item_Fruit_K - is_material: True - id_len: 5 -amber: - actor: Item_Ore_F - is_material: True - id_len: 5 -amberearrings: - actor: Armor_029_Head - is_material: False - id_len: 13 -ancientarrowaa: - actor: AncientArrow - is_material: False - id_len: 12 -ancientbattleaxe: - actor: Weapon_Lsword_013 - is_material: False - id_len: 16 -ancientbattleaxeplus: - actor: Weapon_Lsword_014 - is_material: False - id_len: 20 -ancientbattleaxeplusplus: - actor: Weapon_Lsword_015 - is_material: False - id_len: 24 -ancientbladesaw: - actor: Weapon_Lsword_023 - is_material: False - id_len: 15 -ancientbow: - actor: Weapon_Bow_023 - is_material: False - id_len: 10 -ancientbridle: - actor: GameRomHorseReins_10 - is_material: False - id_len: 13 -ancientcore: - actor: Item_Enemy_30 - is_material: True - id_len: 11 -ancientcuirass: - actor: Armor_021_Upper - is_material: False - id_len: 14 -ancientgear: - actor: Item_Enemy_26 - is_material: True - id_len: 11 -ancientgreaves: - actor: Armor_021_Lower - is_material: False - id_len: 14 -ancienthelm: - actor: Armor_021_Head - is_material: False - id_len: 11 -ancientsaddle: - actor: GameRomHorseSaddle_10 - is_material: False - id_len: 13 -ancientscrew: - actor: Item_Enemy_27 - is_material: True - id_len: 12 -ancientshaft: - actor: Item_Enemy_29 - is_material: True - id_len: 12 -ancientshield: - actor: Weapon_Shield_038 - is_material: False - id_len: 13 -ancientshortsword: - actor: Weapon_Sword_023 - is_material: False - id_len: 17 -ancientspear: - actor: Weapon_Spear_023 - is_material: False - id_len: 12 -ancientspring: - actor: Item_Enemy_28 - is_material: True - id_len: 13 -apple: - actor: Item_Fruit_A - is_material: True - id_len: 5 -applepie: - actor: Item_Cook_I_02 - is_material: False - id_len: 8 -armoranth: - actor: Item_PlantGet_H - is_material: True - id_len: 9 -armoredcarp: - actor: Item_FishGet_H - is_material: True - id_len: 11 -armoredporgy: - actor: Item_FishGet_G - is_material: True - id_len: 12 -bakedapple: - actor: Item_Roast_03 - is_material: False - id_len: 10 -bakedfortifiedpumpkin: - actor: Item_Roast_15 - is_material: False - id_len: 21 -bakedpalmfruit: - actor: Item_Roast_10 - is_material: False - id_len: 14 -barbarianarmor: - actor: Armor_048_Upper - is_material: False - id_len: 14 -barbarianhelm: - actor: Armor_048_Head - is_material: False - id_len: 13 -barbarianlegwraps: - actor: Armor_048_Lower - is_material: False - id_len: 17 -biggoronssword: - actor: Weapon_Lsword_059 - is_material: False - id_len: 14 -bigheartyradish: - actor: Item_PlantGet_C - is_material: True - id_len: 15 -bigheartytruffle: - actor: Item_Mushroom_N - is_material: True - id_len: 16 -birdegg: - actor: Item_Material_04 - is_material: True - id_len: 7 -blackenedcrab: - actor: Item_RoastFish_15 - is_material: False - id_len: 13 -bladedrhinobeetle: - actor: Animal_Insect_G - is_material: True - id_len: 17 -blizzardrod: - actor: Weapon_Sword_049 - is_material: False - id_len: 11 -bluenightshade: - actor: Item_PlantGet_I - is_material: True - id_len: 14 -blueshellescargot: - actor: Item_RoastFish_11 - is_material: False - id_len: 17 -boatoar: - actor: Weapon_Lsword_038 - is_material: False - id_len: 7 -bokobat: - actor: Weapon_Lsword_004 - is_material: False - id_len: 7 -bokoblinarm: - actor: Weapon_Sword_019 - is_material: False - id_len: 11 -bokoblinfang: - actor: Item_Enemy_01 - is_material: True - id_len: 12 -bokoblinguts: - actor: Item_Enemy_02 - is_material: True - id_len: 12 -bokoblinhorn: - actor: Item_Enemy_00 - is_material: True - id_len: 12 -bokoblinmask: - actor: Armor_022_Head - is_material: False - id_len: 12 -bokobow: - actor: Weapon_Bow_004 - is_material: False - id_len: 7 -bokoclub: - actor: Weapon_Sword_004 - is_material: False - id_len: 8 -bokoshield: - actor: Weapon_Shield_004 - is_material: False - id_len: 10 -bokospear: - actor: Weapon_Spear_004 - is_material: False - id_len: 9 -bombarrow: - actor: BombArrow_A - is_material: False - id_len: 9 -boomerang: - actor: Weapon_Sword_051 - is_material: False - id_len: 9 -boulderbreaker: - actor: Weapon_Lsword_054 - is_material: False - id_len: 14 -bowoflight: - actor: Weapon_Bow_071 - is_material: False - id_len: 10 -brighteyedcrab: - actor: Item_InsectGet_Z - is_material: True - id_len: 14 -campfireegg: - actor: Item_Roast_51 - is_material: False - id_len: 11 -canesugar: - actor: Item_Material_01 - is_material: True - id_len: 9 -capofthehero: - actor: Armor_230_Head - is_material: False - id_len: 12 -capofthesky: - actor: Armor_215_Head - is_material: False - id_len: 11 -capofthewild: - actor: Armor_005_Head - is_material: False - id_len: 12 -capofthewind: - actor: Armor_205_Head - is_material: False - id_len: 12 -capoftime: - actor: Armor_200_Head - is_material: False - id_len: 9 -capoftwilight: - actor: Armor_210_Head - is_material: False - id_len: 13 -carrotcake: - actor: Item_Cook_I_05 - is_material: False - id_len: 10 -carrotstew: - actor: Item_Cook_K_08 - is_material: False - id_len: 10 -ceremonialtrident: - actor: Weapon_Spear_049 - is_material: False - id_len: 17 -championstunic: - actor: Armor_116_Upper - is_material: False - id_len: 14 -charredpepper: - actor: Item_Roast_13 - is_material: False - id_len: 13 -chickalootreenut: - actor: Item_Fruit_L - is_material: True - id_len: 16 -chillfintrout: - actor: Item_FishGet_C - is_material: True - id_len: 13 -chillshroom: - actor: Item_Mushroom_B - is_material: True - id_len: 11 -chuchujelly: - actor: Item_Enemy_40 - is_material: True - id_len: 11 -clamchowder: - actor: Item_Cook_K_04 - is_material: False - id_len: 11 -classifiedenvelope: - actor: Obj_ProofBook - is_material: False - id_len: 18 -climbersbandanna: - actor: Armor_014_Head - is_material: False - id_len: 16 -climbingboots: - actor: Armor_014_Lower - is_material: False - id_len: 13 -climbinggear: - actor: Armor_014_Upper - is_material: False - id_len: 12 -cobblecrusher: - actor: Weapon_Lsword_036 - is_material: False - id_len: 13 -colddarner: - actor: Animal_Insect_C - is_material: True - id_len: 10 -coolsafflina: - actor: Item_PlantGet_E - is_material: True - id_len: 12 -copiousfriedwildgreens: - actor: Item_Cook_B_11 - is_material: False - id_len: 22 -copiousmeatskewers: - actor: Item_Cook_B_16 - is_material: False - id_len: 18 -copiousmushroomskewers: - actor: Item_Cook_B_13 - is_material: False - id_len: 22 -copiousseafoodskewers: - actor: Item_Cook_B_15 - is_material: False - id_len: 21 -copioussimmeredfruit: - actor: Item_Cook_B_12 - is_material: False - id_len: 20 -courserbeehoney: - actor: BeeHome - is_material: True - id_len: 15 -crabomeletwithrice: - actor: Item_Cook_G_16 - is_material: False - id_len: 18 -crabrisotto: - actor: Item_Cook_G_17 - is_material: False - id_len: 11 -crabstirfry: - actor: Item_Cook_D_10 - is_material: False - id_len: 11 -creamofmushroomsoup: - actor: Item_Cook_K_06 - is_material: False - id_len: 19 -creamofvegetablesoup: - actor: Item_Cook_K_07 - is_material: False - id_len: 20 -creamyheartsoup: - actor: Item_Cook_F_04 - is_material: False - id_len: 15 -creamymeatsoup: - actor: Item_Cook_F_01 - is_material: False - id_len: 14 -creamyseafoodsoup: - actor: Item_Cook_F_02 - is_material: False - id_len: 17 -currypilaf: - actor: Item_Cook_G_11 - is_material: False - id_len: 10 -curryrice: - actor: Item_Cook_J_01 - is_material: False - id_len: 9 -darkhood: - actor: Armor_160_Head - is_material: False - id_len: 8 -darktrousers: - actor: Armor_160_Lower - is_material: False - id_len: 12 -darktunic: - actor: Armor_160_Upper - is_material: False - id_len: 9 -daruksprotection: - actor: Obj_HeroSoul_Goron - is_material: False - id_len: 16 -daruksprotectionplus: - actor: Obj_DLC_HeroSoul_Goron - is_material: False - id_len: 20 -daybreaker: - actor: Weapon_Shield_037 - is_material: False - id_len: 10 -demoncarver: - actor: Weapon_Sword_073 - is_material: False - id_len: 11 -desertvoeheadband: - actor: Armor_008_Head - is_material: False - id_len: 17 -desertvoespaulder: - actor: Armor_008_Upper - is_material: False - id_len: 17 -desertvoetrousers: - actor: Armor_008_Lower - is_material: False - id_len: 17 -diamond: - actor: Item_Ore_A - is_material: True - id_len: 7 -diamondcirclet: - actor: Armor_024_Head - is_material: False - id_len: 14 -dinraalsclaw: - actor: Item_Enemy_39 - is_material: True - id_len: 12 -dinraalsscale: - actor: Item_Enemy_38 - is_material: True - id_len: 13 -doubleaxe: - actor: Weapon_Lsword_030 - is_material: False - id_len: 9 -dragonbonebokobat: - actor: Weapon_Lsword_006 - is_material: False - id_len: 17 -dragonbonebokobow: - actor: Weapon_Bow_027 - is_material: False - id_len: 17 -dragonbonebokoclub: - actor: Weapon_Sword_006 - is_material: False - id_len: 18 -dragonbonebokoshield: - actor: Weapon_Shield_006 - is_material: False - id_len: 20 -dragonbonebokospear: - actor: Weapon_Spear_006 - is_material: False - id_len: 19 -dragonbonemoblinclub: - actor: Weapon_Lsword_012 - is_material: False - id_len: 20 -dragonbonemoblinspear: - actor: Weapon_Spear_012 - is_material: False - id_len: 21 -drillshaft: - actor: Weapon_Spear_031 - is_material: False - id_len: 10 -dubiousfood: - actor: Item_Cook_O_01 - is_material: False - id_len: 11 -duplexbow: - actor: Weapon_Bow_040 - is_material: False - id_len: 9 -edgeofdualityeod: - actor: Weapon_Lsword_055 - is_material: False - id_len: 13 -eggpudding: - actor: Item_Cook_I_14 - is_material: False - id_len: 10 -eggtart: - actor: Item_Cook_I_03 - is_material: False - id_len: 7 -eightfoldblade: - actor: Weapon_Sword_041 - is_material: False - id_len: 14 -eightfoldlongblade: - actor: Weapon_Lsword_041 - is_material: False - id_len: 18 -electricdarner: - actor: Animal_Insect_I - is_material: True - id_len: 14 -electrickeesewing: - actor: Item_Enemy_45 - is_material: True - id_len: 17 -electricsafflina: - actor: Item_PlantGet_L - is_material: True - id_len: 16 -elixir: - actor: Item_Cook_C_17 - is_material: False - id_len: 6 -emblazonedshield: - actor: Weapon_Shield_034 - is_material: False - id_len: 16 -enduracarrot: - actor: Item_PlantGet_Q - is_material: True - id_len: 12 -endurashroom: - actor: Item_Mushroom_O - is_material: True - id_len: 12 -energeticrhinobeetle: - actor: Animal_Insect_AA - is_material: True - id_len: 20 -enhancedlizalspear: - actor: Weapon_Spear_008 - is_material: False - id_len: 18 -extravagantbridle: - actor: GameRomHorseReins_05 - is_material: False - id_len: 17 -extravagantsaddle: - actor: GameRomHorseSaddle_05 - is_material: False - id_len: 17 -fairy: - actor: Animal_Insect_F - is_material: True - id_len: 5 -fairytonic: - actor: Item_Cook_C_16 - is_material: False - id_len: 10 -falconbow: - actor: Weapon_Bow_017 - is_material: False - id_len: 9 -farmerspitchfork: - actor: Weapon_Spear_022 - is_material: False - id_len: 16 -farminghoe: - actor: Weapon_Lsword_045 - is_material: False - id_len: 10 -faroshsclawfaroshclaw: - actor: Item_Enemy_54 - is_material: True - id_len: 11 -faroshsscalefaroshscale: - actor: Item_Enemy_53 - is_material: True - id_len: 12 -featherededge: - actor: Weapon_Sword_031 - is_material: False - id_len: 13 -featheredspear: - actor: Weapon_Spear_032 - is_material: False - id_len: 14 -fiercedeityarmor: - actor: Armor_225_Upper - is_material: False - id_len: 16 -fiercedeityboots: - actor: Armor_225_Lower - is_material: False - id_len: 16 -fiercedeitymask: - actor: Armor_225_Head - is_material: False - id_len: 15 -fiercedeitysword: - actor: Weapon_Lsword_060 - is_material: False - id_len: 16 -firearrow: - actor: FireArrow - is_material: False - id_len: 9 -firekeesewing: - actor: Item_Enemy_44 - is_material: True - id_len: 13 -fireprooflizard: - actor: Animal_Insect_X - is_material: True - id_len: 15 -firerod: - actor: Weapon_Sword_060 - is_material: False - id_len: 7 -fishandmushroomskewer: - actor: Item_Cook_A_08 - is_material: False - id_len: 21 -fishermansshield: - actor: Weapon_Shield_032 - is_material: False - id_len: 16 -fishingharpoon: - actor: Weapon_Spear_038 - is_material: False - id_len: 14 -fishpie: - actor: Item_Cook_I_15 - is_material: False - id_len: 7 -fishskewer: - actor: Item_Cook_B_05 - is_material: False - id_len: 10 -flameblade: - actor: Weapon_Sword_033 - is_material: False - id_len: 10 -flamebreakerarmor: - actor: Armor_011_Upper - is_material: False - id_len: 17 -flamebreakerboots: - actor: Armor_011_Lower - is_material: False - id_len: 17 -flamebreakerhelm: - actor: Armor_011_Head - is_material: False - id_len: 16 -flamespear: - actor: Weapon_Spear_033 - is_material: False - id_len: 10 -fleetlotusseeds: - actor: Item_Fruit_E - is_material: True - id_len: 15 -flint: - actor: Item_Ore_I - is_material: True - id_len: 5 -forestdwellersbowfdbow: - actor: Weapon_Bow_013 - is_material: False - id_len: 17 -forestdwellersshieldfdshield: - actor: Weapon_Shield_023 - is_material: False - id_len: 20 -forestdwellersspearfdspear: - actor: Weapon_Spear_025 - is_material: False - id_len: 19 -forestdwellersswordfdsword: - actor: Weapon_Sword_025 - is_material: False - id_len: 19 -forkedlizalspear: - actor: Weapon_Spear_009 - is_material: False - id_len: 16 -fortifiedpumpkin: - actor: Item_Fruit_J - is_material: True - id_len: 16 -fragrantmushroomsaute: - actor: Item_Cook_P_01 - is_material: False - id_len: 21 -freshmilk: - actor: Item_Material_05 - is_material: True - id_len: 9 -friedbananas: - actor: Item_Cook_I_13 - is_material: False - id_len: 12 -friedeggandrice: - actor: Item_Cook_E_04 - is_material: False - id_len: 15 -friedwildgreens: - actor: Item_Cook_B_01 - is_material: False - id_len: 15 -frostblade: - actor: Weapon_Sword_034 - is_material: False - id_len: 10 -frostspear: - actor: Weapon_Spear_034 - is_material: False - id_len: 10 -frozenbass: - actor: Item_ChilledFish_01 - is_material: False - id_len: 10 -frozenbirddrumstick: - actor: Item_Chilled_04 - is_material: False - id_len: 19 -frozenbirdthigh: - actor: Item_Chilled_05 - is_material: False - id_len: 15 -frozencarp: - actor: Item_ChilledFish_04 - is_material: False - id_len: 10 -frozencrab: - actor: Item_ChilledFish_07 - is_material: False - id_len: 10 -frozenheartybass: - actor: Item_ChilledFish_06 - is_material: False - id_len: 16 -frozenheartysalmon: - actor: Item_ChilledFish_02 - is_material: False - id_len: 18 -frozenporgy: - actor: Item_ChilledFish_05 - is_material: False - id_len: 11 -frozenriversnail: - actor: Item_ChilledFish_08 - is_material: False - id_len: 16 -frozentrout: - actor: Item_ChilledFish_03 - is_material: False - id_len: 11 -frozenwholebird: - actor: Item_Chilled_06 - is_material: False - id_len: 15 -fruitandmushroommix: - actor: Item_Cook_A_07 - is_material: False - id_len: 19 -fruitcake: - actor: Item_Cook_N_02 - is_material: False - id_len: 9 -fruitpie: - actor: Item_Cook_I_01 - is_material: False - id_len: 8 -gerudoscimitar: - actor: Weapon_Sword_029 - is_material: False - id_len: 14 -gerudoshield: - actor: Weapon_Shield_026 - is_material: False - id_len: 12 -gerudosirwal: - actor: Armor_053_Lower - is_material: False - id_len: 12 -gerudospear: - actor: Weapon_Spear_029 - is_material: False - id_len: 11 -gerudotop: - actor: Armor_053_Upper - is_material: False - id_len: 9 -gerudoveil: - actor: Armor_053_Head - is_material: False - id_len: 10 -giantancientcore: - actor: Item_Enemy_31 - is_material: True - id_len: 16 -giantboomerang: - actor: Weapon_Lsword_051 - is_material: False - id_len: 14 -glazedmeat: - actor: Item_Cook_A_12 - is_material: False - id_len: 10 -glazedmushrooms: - actor: Item_Cook_A_11 - is_material: False - id_len: 15 -glazedseafood: - actor: Item_Cook_A_13 - is_material: False - id_len: 13 -glazedveggies: - actor: Item_Cook_A_14 - is_material: False - id_len: 13 -goatbutter: - actor: Item_Material_06 - is_material: True - id_len: 10 -goddesssword: - actor: Weapon_Sword_057 - is_material: False - id_len: 12 -goldenbow: - actor: Weapon_Bow_015 - is_material: False - id_len: 9 -goldenclaymore: - actor: Weapon_Lsword_029 - is_material: False - id_len: 14 -goronspice: - actor: Item_Material_02 - is_material: True - id_len: 10 -gourmetmeatandricebowl: - actor: Item_Cook_G_09 - is_material: False - id_len: 22 -gourmetmeatandseafoodfry: - actor: Item_Cook_B_19 - is_material: False - id_len: 24 -gourmetmeatcurry: - actor: Item_Cook_J_09 - is_material: False - id_len: 16 -gourmetmeatstew: - actor: Item_Cook_K_05 - is_material: False - id_len: 15 -gourmetpoultrycurry: - actor: Item_Cook_J_08 - is_material: False - id_len: 19 -gourmetpoultrypilaf: - actor: Item_Cook_E_03 - is_material: False - id_len: 19 -gourmetspicedmeatskewer: - actor: Item_Cook_P_05 - is_material: False - id_len: 23 -greateaglebowgebow: - actor: Weapon_Bow_028 - is_material: False - id_len: 13 -greatflameblade: - actor: Weapon_Lsword_033 - is_material: False - id_len: 15 -greatfrostblade: - actor: Weapon_Lsword_034 - is_material: False - id_len: 15 -greatthunderblade: - actor: Weapon_Lsword_035 - is_material: False - id_len: 17 -guardianshield: - actor: Weapon_Shield_013 - is_material: False - id_len: 14 -guardianshieldplus: - actor: Weapon_Shield_014 - is_material: False - id_len: 18 -guardianshieldplusplus: - actor: Weapon_Shield_015 - is_material: False - id_len: 22 -guardianspear: - actor: Weapon_Spear_013 - is_material: False - id_len: 13 -guardianspearplus: - actor: Weapon_Spear_014 - is_material: False - id_len: 17 -guardianspearplusplus: - actor: Weapon_Spear_015 - is_material: False - id_len: 21 -guardiansword: - actor: Weapon_Sword_013 - is_material: False - id_len: 13 -guardianswordplus: - actor: Weapon_Sword_014 - is_material: False - id_len: 17 -guardianswordplusplus: - actor: Weapon_Sword_015 - is_material: False - id_len: 21 -hardboiledegg: - actor: Item_Boiled_01 - is_material: False - id_len: 13 -heartybass: - actor: Item_FishGet_B - is_material: True - id_len: 10 -heartyblueshellsnail: - actor: Item_FishGet_K - is_material: True - id_len: 20 -heartydurian: - actor: Item_Fruit_D - is_material: True - id_len: 12 -heartylizard: - actor: Animal_Insect_M - is_material: True - id_len: 12 -heartyradish: - actor: Item_PlantGet_B - is_material: True - id_len: 12 -heartysalmon: - actor: Item_FishGet_I - is_material: True - id_len: 12 -heartytruffle: - actor: Item_Mushroom_F - is_material: True - id_len: 13 -herbsaute: - actor: Item_Cook_P_02 - is_material: False - id_len: 9 -herosshield: - actor: Weapon_Shield_057 - is_material: False - id_len: 11 -hestusgiftpoop: - actor: Obj_ProofKorok - is_material: False - id_len: 10 -hestusmaracas: - actor: Obj_Maracas - is_material: False - id_len: 13 -hightaillizard: - actor: Animal_Insect_S - is_material: True - id_len: 14 -hinoxguts: - actor: Item_Enemy_34 - is_material: True - id_len: 9 -hinoxtoenail: - actor: Item_Enemy_32 - is_material: True - id_len: 12 -hinoxtooth: - actor: Item_Enemy_33 - is_material: True - id_len: 10 -honeycandy: - actor: Item_Cook_I_16 - is_material: False - id_len: 10 -honeycrepe: - actor: Item_Cook_I_17 - is_material: False - id_len: 10 -honeyedapple: - actor: Item_Cook_I_08 - is_material: False - id_len: 12 -honeyedfruits: - actor: Item_Cook_I_09 - is_material: False - id_len: 13 -hotbutteredapple: - actor: Item_Cook_I_07 - is_material: False - id_len: 16 -hotfootedfrog: - actor: Animal_Insect_A - is_material: True - id_len: 13 -huntersshield: - actor: Weapon_Shield_031 - is_material: False - id_len: 13 -hydromelon: - actor: Item_Fruit_F - is_material: True - id_len: 10 -hylianhood: - actor: Armor_001_Head - is_material: False - id_len: 10 -hylianrice: - actor: Item_Material_03 - is_material: True - id_len: 10 -hylianshield: - actor: Weapon_Shield_030 - is_material: False - id_len: 12 -hylianshroom: - actor: Item_Mushroom_E - is_material: True - id_len: 12 -hyliantrousers: - actor: Armor_001_Lower - is_material: False - id_len: 14 -hyliantunic: - actor: Armor_001_Upper - is_material: False - id_len: 11 -hyrulebass: - actor: Item_FishGet_A - is_material: True - id_len: 10 -hyruleherb: - actor: Item_PlantGet_A - is_material: True - id_len: 10 -icearrow: - actor: IceArrow - is_material: False - id_len: 8 -icekeesewing: - actor: Item_Enemy_46 - is_material: True - id_len: 12 -icerod: - actor: Weapon_Sword_061 - is_material: False - id_len: 6 -icygourmetmeat: - actor: Item_Chilled_03 - is_material: False - id_len: 14 -icyheartyblueshellsnail: - actor: Item_ChilledFish_09 - is_material: False - id_len: 23 -icylizalfostail: - actor: Item_Enemy_42 - is_material: True - id_len: 15 -icymeat: - actor: Item_Chilled_01 - is_material: False - id_len: 7 -icyprimemeat: - actor: Item_Chilled_02 - is_material: False - id_len: 12 -ironshellcrab: - actor: Item_InsectGet_O - is_material: True - id_len: 13 -ironshroom: - actor: Item_Mushroom_M - is_material: True - id_len: 10 -ironsledgehammer: - actor: Weapon_Lsword_031 - is_material: False - id_len: 16 -islandlobstershirt: - actor: Armor_175_Upper - is_material: False - id_len: 18 -keeseeyeball: - actor: Item_Enemy_19 - is_material: True - id_len: 12 -keesewing: - actor: Item_Enemy_18 - is_material: True - id_len: 9 -kiteshield: - actor: Weapon_Shield_042 - is_material: False - id_len: 10 -knightsbowknightbow: - actor: Weapon_Bow_035 - is_material: False - id_len: 10 -knightsbridle: - actor: GameRomHorseReins_03 - is_material: False - id_len: 13 -knightsbroadswordknightsword: - actor: Weapon_Sword_003 - is_material: False - id_len: 17 -knightsclaymoreknightclaymore: - actor: Weapon_Lsword_003 - is_material: False - id_len: 15 -knightshalberd: - actor: Weapon_Spear_003 - is_material: False - id_len: 14 -knightssaddle: - actor: GameRomHorseSaddle_03 - is_material: False - id_len: 13 -knightsshield: - actor: Weapon_Shield_003 - is_material: False - id_len: 13 -korokleaf: - actor: Weapon_Lsword_056 - is_material: False - id_len: 9 -korokmask: - actor: Armor_176_Head - is_material: False - id_len: 9 -korokseed: - actor: Obj_KorokNuts - is_material: False - id_len: 9 -lightarrow: - actor: BrightArrow - is_material: False - id_len: 10 -lightarrowtp: - actor: BrightArrowTP - is_material: False - id_len: 12 -lightningrod: - actor: Weapon_Sword_062 - is_material: False - id_len: 12 -lightscaletrident: - actor: Weapon_Spear_050 - is_material: False - id_len: 17 -lizalboomerang: - actor: Weapon_Sword_007 - is_material: False - id_len: 14 -lizalbow: - actor: Weapon_Bow_006 - is_material: False - id_len: 8 -lizalforkedboomerang: - actor: Weapon_Sword_008 - is_material: False - id_len: 20 -lizalfosarm: - actor: Weapon_Sword_020 - is_material: False - id_len: 11 -lizalfoshorn: - actor: Item_Enemy_03 - is_material: True - id_len: 12 -lizalfosmask: - actor: Armor_055_Head - is_material: False - id_len: 12 -lizalfostail: - actor: Item_Enemy_05 - is_material: True - id_len: 12 -lizalfostalon: - actor: Item_Enemy_04 - is_material: True - id_len: 13 -lizalshield: - actor: Weapon_Shield_007 - is_material: False - id_len: 11 -lizalspear: - actor: Weapon_Spear_007 - is_material: False - id_len: 10 -lizaltriboomerang: - actor: Weapon_Sword_009 - is_material: False - id_len: 17 -luminousstone: - actor: Item_Ore_G - is_material: True - id_len: 13 -lynelbow: - actor: Weapon_Bow_009 - is_material: False - id_len: 8 -lynelcrusher: - actor: Weapon_Lsword_016 - is_material: False - id_len: 12 -lynelguts: - actor: Item_Enemy_14 - is_material: True - id_len: 9 -lynelhoof: - actor: Item_Enemy_13 - is_material: True - id_len: 9 -lynelhorn: - actor: Item_Enemy_12 - is_material: True - id_len: 9 -lynelmask: - actor: Armor_056_Head - is_material: False - id_len: 9 -lynelshield: - actor: Weapon_Shield_016 - is_material: False - id_len: 11 -lynelspear: - actor: Weapon_Spear_016 - is_material: False - id_len: 10 -lynelsword: - actor: Weapon_Sword_016 - is_material: False - id_len: 10 -majorasmask: - actor: Armor_172_Head - is_material: False - id_len: 11 -mastersword: - actor: Weapon_Sword_070 - is_material: False - id_len: 11 -meatandmushroomskewer: - actor: Item_Cook_A_09 - is_material: False - id_len: 21 -meatandricebowl: - actor: Item_Cook_G_05 - is_material: False - id_len: 15 -meatandseafoodfry: - actor: Item_Cook_B_17 - is_material: False - id_len: 17 -meatcurry: - actor: Item_Cook_J_06 - is_material: False - id_len: 9 -meatpie: - actor: Item_Cook_I_04 - is_material: False - id_len: 7 -meatskewer: - actor: Item_Cook_B_06 - is_material: False - id_len: 10 -meatstew: - actor: Item_Cook_K_01 - is_material: False - id_len: 8 -meatstuffedpumpkin: - actor: Item_Cook_B_20 - is_material: False - id_len: 18 -meatyriceballs: - actor: Item_Cook_G_15 - is_material: False - id_len: 14 -medalofhonorhinox: - actor: Obj_ProofGiantKiller - is_material: False - id_len: 17 -medalofhonormolduga: - actor: Obj_ProofSandwormKiller - is_material: False - id_len: 19 -medalofhonortalus: - actor: Obj_ProofGolemKiller - is_material: False - id_len: 17 -medohsemblem: - actor: Obj_DLC_HeroSeal_Rito - is_material: False - id_len: 12 -meteorrod: - actor: Weapon_Sword_048 - is_material: False - id_len: 9 -midnashelmet: - actor: Armor_173_Head - is_material: False - id_len: 12 -mightybananas: - actor: Item_Fruit_H - is_material: True - id_len: 13 -mightycarp: - actor: Item_FishGet_E - is_material: True - id_len: 10 -mightylynelbow: - actor: Weapon_Bow_026 - is_material: False - id_len: 14 -mightylynelcrusher: - actor: Weapon_Lsword_017 - is_material: False - id_len: 18 -mightylynelshield: - actor: Weapon_Shield_017 - is_material: False - id_len: 17 -mightylynelspear: - actor: Weapon_Spear_017 - is_material: False - id_len: 16 -mightylynelsword: - actor: Weapon_Sword_017 - is_material: False - id_len: 16 -mightyporgy: - actor: Item_FishGet_F - is_material: True - id_len: 11 -mightythistle: - actor: Item_PlantGet_G - is_material: True - id_len: 13 -miphasgrace: - actor: Obj_HeroSoul_Zora - is_material: False - id_len: 11 -miphasgraceplus: - actor: Obj_DLC_HeroSoul_Zora - is_material: False - id_len: 15 -moblinarm: - actor: Weapon_Lsword_019 - is_material: False - id_len: 9 -moblinclub: - actor: Weapon_Lsword_010 - is_material: False - id_len: 10 -moblinfang: - actor: Item_Enemy_07 - is_material: True - id_len: 10 -moblinguts: - actor: Item_Enemy_08 - is_material: True - id_len: 10 -moblinhorn: - actor: Item_Enemy_06 - is_material: True - id_len: 10 -moblinmask: - actor: Armor_045_Head - is_material: False - id_len: 10 -moblinspear: - actor: Weapon_Spear_010 - is_material: False - id_len: 11 -moldugafin: - actor: Item_Enemy_24 - is_material: True - id_len: 10 -moldugaguts: - actor: Item_Enemy_25 - is_material: True - id_len: 11 -monsterbridle: - actor: GameRomHorseReins_04 - is_material: False - id_len: 13 -monstercake: - actor: Item_Cook_L_03 - is_material: False - id_len: 11 -monstercurry: - actor: Item_Cook_L_05 - is_material: False - id_len: 12 -monsterextract: - actor: Item_Material_08 - is_material: True - id_len: 14 -monsterriceballs: - actor: Item_Cook_L_04 - is_material: False - id_len: 16 -monstersaddle: - actor: GameRomHorseSaddle_04 - is_material: False - id_len: 13 -monstersoup: - actor: Item_Cook_L_02 - is_material: False - id_len: 11 -monsterstew: - actor: Item_Cook_L_01 - is_material: False - id_len: 11 -moonlightscimitar: - actor: Weapon_Sword_030 - is_material: False - id_len: 17 -mushroomomelet: - actor: Item_Cook_N_04 - is_material: False - id_len: 14 -mushroomriceballs: - actor: Item_Cook_G_04 - is_material: False - id_len: 17 -mushroomrisotto: - actor: Item_Cook_G_12 - is_material: False - id_len: 15 -mushroomskewer: - actor: Item_Cook_A_01 - is_material: False - id_len: 14 -naborissemblem: - actor: Obj_DLC_HeroSeal_Gerudo - is_material: False - id_len: 14 -naydrasclaw: - actor: Item_Enemy_50 - is_material: True - id_len: 11 -naydrasscale: - actor: Item_Enemy_49 - is_material: True - id_len: 12 -nintendoswitchshirt: - actor: Armor_170_Upper - is_material: False - id_len: 19 -normalarrow: - actor: NormalArrow - is_material: False - id_len: 11 -nutcake: - actor: Item_Cook_I_12 - is_material: False - id_len: 7 -octoballoon: - actor: Item_Enemy_57 - is_material: True - id_len: 11 -octorokeyeball: - actor: Item_Enemy_21 - is_material: True - id_len: 14 -octoroktentacle: - actor: Item_Enemy_20 - is_material: True - id_len: 15 -oldshirt: - actor: Armor_043_Upper - is_material: False - id_len: 8 -omelet: - actor: Item_Cook_A_10 - is_material: False - id_len: 6 -onehitobliteratoroho: - actor: Weapon_Sword_502 - is_material: False - id_len: 17 -opal: - actor: Item_Ore_E - is_material: True - id_len: 4 -opalearrings: - actor: Armor_028_Head - is_material: False - id_len: 12 -palmfruit: - actor: Item_Fruit_G - is_material: True - id_len: 9 -paraglider: - actor: PlayerStole2 - is_material: False - id_len: 10 -pepperseafood: - actor: Item_Cook_D_08 - is_material: False - id_len: 13 -peppersteak: - actor: Item_Cook_D_07 - is_material: False - id_len: 11 -phantomarmor: - actor: Armor_171_Upper - is_material: False - id_len: 12 -phantomganonarmor: - actor: Armor_180_Upper - is_material: False - id_len: 17 -phantomganongreaves: - actor: Armor_180_Lower - is_material: False - id_len: 19 -phantomganonskull: - actor: Armor_180_Head - is_material: False - id_len: 17 -phantomgreaves: - actor: Armor_171_Lower - is_material: False - id_len: 14 -phantomhelmet: - actor: Armor_171_Head - is_material: False - id_len: 13 -phrenicbow: - actor: Weapon_Bow_029 - is_material: False - id_len: 10 -pictureofthechampions: - actor: Get_TwnObj_DLC_MemorialPicture_A_01 - is_material: False - id_len: 21 -plaincrepe: - actor: Item_Cook_I_10 - is_material: False - id_len: 10 -porgymeuniere: - actor: Item_Cook_H_02 - is_material: False - id_len: 13 -potlid: - actor: Weapon_Shield_040 - is_material: False - id_len: 6 -poultrycurry: - actor: Item_Cook_J_04 - is_material: False - id_len: 12 -poultrypilaf: - actor: Item_Cook_E_01 - is_material: False - id_len: 12 -primemeatandricebowl: - actor: Item_Cook_G_06 - is_material: False - id_len: 20 -primemeatandseafoodfry: - actor: Item_Cook_B_18 - is_material: False - id_len: 22 -primemeatcurry: - actor: Item_Cook_J_07 - is_material: False - id_len: 14 -primemeatstew: - actor: Item_Cook_K_02 - is_material: False - id_len: 13 -primepoultrycurry: - actor: Item_Cook_J_05 - is_material: False - id_len: 17 -primepoultrypilaf: - actor: Item_Cook_E_02 - is_material: False - id_len: 17 -primespicedmeatskewer: - actor: Item_Cook_P_04 - is_material: False - id_len: 21 -pumpkinpie: - actor: Item_Cook_I_06 - is_material: False - id_len: 10 -pumpkinstew: - actor: Item_Cook_K_03 - is_material: False - id_len: 11 -radiantmask: - actor: Armor_017_Head - is_material: False - id_len: 11 -radiantshield: - actor: Weapon_Shield_036 - is_material: False - id_len: 13 -radiantshirt: - actor: Armor_017_Upper - is_material: False - id_len: 12 -radianttights: - actor: Armor_017_Lower - is_material: False - id_len: 13 -ravioshood: - actor: Armor_177_Head - is_material: False - id_len: 10 -rawbirddrumstick: - actor: Item_Meat_06 - is_material: True - id_len: 16 -rawbirdthigh: - actor: Item_Meat_07 - is_material: True - id_len: 12 -rawgourmetmeat: - actor: Item_Meat_11 - is_material: True - id_len: 14 -rawmeat: - actor: Item_Meat_01 - is_material: True - id_len: 7 -rawprimemeat: - actor: Item_Meat_02 - is_material: True - id_len: 12 -rawwholebird: - actor: Item_Meat_12 - is_material: True - id_len: 12 -razorclawcrab: - actor: Item_InsectGet_K - is_material: True - id_len: 13 -razorshroom: - actor: Item_Mushroom_L - is_material: True - id_len: 11 -redchuchujelly: - actor: Item_Enemy_15 - is_material: True - id_len: 14 -redlizalfostail: - actor: Item_Enemy_41 - is_material: True - id_len: 15 -reinforcedlizalshield: - actor: Weapon_Shield_008 - is_material: False - id_len: 21 -restlesscricket: - actor: Animal_Insect_H - is_material: True - id_len: 15 -revalisgale: - actor: Obj_HeroSoul_Rito - is_material: False - id_len: 11 -revalisgaleplus: - actor: Obj_DLC_HeroSoul_Rito - is_material: False - id_len: 15 -roastedacorn: - actor: Item_Roast_48 - is_material: False - id_len: 12 -roastedarmoranth: - actor: Item_Roast_28 - is_material: False - id_len: 16 -roastedbass: - actor: Item_RoastFish_01 - is_material: False - id_len: 11 -roastedbigradish: - actor: Item_Roast_19 - is_material: False - id_len: 16 -roastedbirddrumstick: - actor: Item_Roast_02 - is_material: False - id_len: 20 -roastedbirdthigh: - actor: Item_Roast_41 - is_material: False - id_len: 16 -roastedcarp: - actor: Item_RoastFish_07 - is_material: False - id_len: 11 -roastedenduracarrot: - actor: Item_Roast_50 - is_material: False - id_len: 19 -roastedheartybass: - actor: Item_RoastFish_02 - is_material: False - id_len: 17 -roastedheartydurian: - actor: Item_Roast_09 - is_material: False - id_len: 19 -roastedheartysalmon: - actor: Item_RoastFish_04 - is_material: False - id_len: 19 -roastedhydromelon: - actor: Item_Roast_12 - is_material: False - id_len: 17 -roastedlotusseeds: - actor: Item_Roast_16 - is_material: False - id_len: 17 -roastedmightybananas: - actor: Item_Roast_11 - is_material: False - id_len: 20 -roastedmightythistle: - actor: Item_Roast_27 - is_material: False - id_len: 20 -roastedporgy: - actor: Item_RoastFish_09 - is_material: False - id_len: 12 -roastedradish: - actor: Item_Roast_18 - is_material: False - id_len: 13 -roastedswiftcarrot: - actor: Item_Roast_24 - is_material: False - id_len: 18 -roastedtreenut: - actor: Item_Roast_52 - is_material: False - id_len: 14 -roastedtrout: - actor: Item_RoastFish_03 - is_material: False - id_len: 12 -roastedvoltfruit: - actor: Item_Roast_08 - is_material: False - id_len: 16 -roastedwholebird: - actor: Item_Roast_46 - is_material: False - id_len: 16 -roastedwildberry: - actor: Item_Roast_07 - is_material: False - id_len: 16 -rockhardfood: - actor: Item_Cook_O_02 - is_material: False - id_len: 12 -rocksalt: - actor: Item_Ore_H - is_material: True - id_len: 8 -royalbowrbow: - actor: Weapon_Bow_036 - is_material: False - id_len: 8 -royalbridle: - actor: GameRomHorseReins_02 - is_material: False - id_len: 11 -royalbroadswordroyalswordrsword: - actor: Weapon_Sword_024 - is_material: False - id_len: 15 -royalclaymorerclaymore: - actor: Weapon_Lsword_024 - is_material: False - id_len: 13 -royalguardboots: - actor: Armor_179_Lower - is_material: False - id_len: 15 -royalguardcap: - actor: Armor_179_Head - is_material: False - id_len: 13 -royalguardsbowrgbow: - actor: Weapon_Bow_033 - is_material: False - id_len: 14 -royalguardsclaymorergclaymore: - actor: Weapon_Lsword_047 - is_material: False - id_len: 19 -royalguardsshieldrgshield: - actor: Weapon_Shield_033 - is_material: False - id_len: 17 -royalguardsspearrgspear: - actor: Weapon_Spear_047 - is_material: False - id_len: 16 -royalguardsswordrgsword: - actor: Weapon_Sword_047 - is_material: False - id_len: 16 -royalguarduniform: - actor: Armor_179_Upper - is_material: False - id_len: 17 -royalhalberd: - actor: Weapon_Spear_024 - is_material: False - id_len: 12 -royalsaddle: - actor: GameRomHorseSaddle_02 - is_material: False - id_len: 11 -royalshieldrshield: - actor: Weapon_Shield_022 - is_material: False - id_len: 11 -rubberarmor: - actor: Armor_046_Upper - is_material: False - id_len: 11 -rubberhelm: - actor: Armor_046_Head - is_material: False - id_len: 10 -rubbertights: - actor: Armor_046_Lower - is_material: False - id_len: 12 -ruby: - actor: Item_Ore_B - is_material: True - id_len: 4 -rubycirclet: - actor: Armor_025_Head - is_material: False - id_len: 11 -rudaniasemblem: - actor: Obj_DLC_HeroSeal_Goron - is_material: False - id_len: 14 -ruggedrhinobeetle: - actor: Animal_Insect_P - is_material: True - id_len: 17 -rushroom: - actor: Item_MushroomGet_D - is_material: True - id_len: 8 -rustybroadsword: - actor: Weapon_Sword_021 - is_material: False - id_len: 15 -rustyclaymore: - actor: Weapon_Lsword_020 - is_material: False - id_len: 13 -rustyhalberd: - actor: Weapon_Spear_021 - is_material: False - id_len: 12 -rustyshield: - actor: Weapon_Shield_021 - is_material: False - id_len: 11 -rutasemblem: - actor: Obj_DLC_HeroSeal_Zora - is_material: False - id_len: 11 -salmonmeuniere: - actor: Item_Cook_H_03 - is_material: False - id_len: 14 -salmonrisotto: - actor: Item_Cook_G_14 - is_material: False - id_len: 13 -saltgrilledcrab: - actor: Item_Cook_D_09 - is_material: False - id_len: 15 -saltgrilledfish: - actor: Item_Cook_D_03 - is_material: False - id_len: 15 -saltgrilledgourmetmeat: - actor: Item_Cook_D_06 - is_material: False - id_len: 22 -saltgrilledgreens: - actor: Item_Cook_D_02 - is_material: False - id_len: 17 -saltgrilledmeat: - actor: Item_Cook_D_04 - is_material: False - id_len: 15 -saltgrilledmushrooms: - actor: Item_Cook_D_01 - is_material: False - id_len: 20 -saltgrilledprimemeat: - actor: Item_Cook_D_05 - is_material: False - id_len: 20 -salvagerheadwear: - actor: Armor_185_Head - is_material: False - id_len: 16 -salvagertrousers: - actor: Armor_185_Lower - is_material: False - id_len: 16 -salvagervest: - actor: Armor_185_Upper - is_material: False - id_len: 12 -sandboots: - actor: Armor_049_Lower - is_material: False - id_len: 9 -sankecarp: - actor: Item_FishGet_Z - is_material: True - id_len: 9 -sapphire: - actor: Item_Ore_C - is_material: True - id_len: 8 -sapphirecirclet: - actor: Armor_026_Head - is_material: False - id_len: 15 -sauteednuts: - actor: Item_Cook_B_22 - is_material: False - id_len: 11 -sauteedpeppers: - actor: Item_Cook_B_21 - is_material: False - id_len: 14 -savagelynelbow: - actor: Weapon_Bow_032 - is_material: False - id_len: 14 -savagelynelcrusher: - actor: Weapon_Lsword_018 - is_material: False - id_len: 18 -savagelynelshield: - actor: Weapon_Shield_018 - is_material: False - id_len: 17 -savagelynelspear: - actor: Weapon_Spear_018 - is_material: False - id_len: 16 -savagelynelsword: - actor: Weapon_Sword_018 - is_material: False - id_len: 16 -scimitaroftheseven: - actor: Weapon_Sword_052 - is_material: False - id_len: 18 -seabreezeboomerang: - actor: Weapon_Sword_059 - is_material: False - id_len: 18 -seafoodcurry: - actor: Item_Cook_J_03 - is_material: False - id_len: 12 -seafoodfriedrice: - actor: Item_Cook_G_10 - is_material: False - id_len: 16 -seafoodmeuniere: - actor: Item_Cook_H_01 - is_material: False - id_len: 15 -seafoodpaella: - actor: Item_Cook_N_01 - is_material: False - id_len: 13 -seafoodriceballs: - actor: Item_Cook_G_02 - is_material: False - id_len: 16 -seafoodskewer: - actor: Item_Cook_B_23 - is_material: False - id_len: 13 -searedgourmetsteak: - actor: Item_Roast_45 - is_material: False - id_len: 18 -searedprimesteak: - actor: Item_Roast_40 - is_material: False - id_len: 16 -searedsteak: - actor: Item_Roast_01 - is_material: False - id_len: 11 -serpentinespear: - actor: Weapon_Spear_037 - is_material: False - id_len: 15 -shardofdinraalsfang: - actor: Item_Enemy_47 - is_material: True - id_len: 19 -shardofdinraalshorn: - actor: Item_Enemy_48 - is_material: True - id_len: 19 -shardoffaroshsfang: - actor: Item_Enemy_55 - is_material: True - id_len: 18 -shardoffaroshshornfaroshhorn: - actor: Item_Enemy_56 - is_material: True - id_len: 18 -shardofnaydrasfang: - actor: Item_Enemy_51 - is_material: True - id_len: 18 -shardofnaydrashorn: - actor: Item_Enemy_52 - is_material: True - id_len: 18 -sheikahslate: - actor: Obj_DRStone_Get - is_material: False - id_len: 12 -sheiksmask: - actor: Armor_220_Head - is_material: False - id_len: 10 -shieldofthemindseye: - actor: Weapon_Shield_041 - is_material: False - id_len: 19 -shockarrow: - actor: ElectricArrow - is_material: False - id_len: 10 -silentprincess: - actor: Item_PlantGet_J - is_material: True - id_len: 14 -silentshroom: - actor: Item_Mushroom_J - is_material: True - id_len: 12 -silverbow: - actor: Weapon_Bow_014 - is_material: False - id_len: 9 -silverlongsword: - actor: Weapon_Lsword_027 - is_material: False - id_len: 15 -silverscalespear: - actor: Weapon_Spear_028 - is_material: False - id_len: 16 -silvershield: - actor: Weapon_Shield_025 - is_material: False - id_len: 12 -simmeredfruit: - actor: Item_Cook_B_02 - is_material: False - id_len: 13 -sizzlefintrout: - actor: Item_FishGet_J - is_material: True - id_len: 14 -smotherwingbutterfly: - actor: Animal_Insect_AB - is_material: True - id_len: 20 -sneakyriverescargot: - actor: Item_RoastFish_13 - is_material: False - id_len: 19 -sneakyriversnail: - actor: Item_FishGet_M - is_material: True - id_len: 16 -snowboots: - actor: Armor_140_Lower - is_material: False - id_len: 9 -snowquillheaddress: - actor: Armor_009_Head - is_material: False - id_len: 18 -snowquilltrousers: - actor: Armor_009_Lower - is_material: False - id_len: 17 -snowquilltunic: - actor: Armor_009_Upper - is_material: False - id_len: 14 -soldiersarmor: - actor: Armor_020_Upper - is_material: False - id_len: 13 -soldiersbowsoldierbow: - actor: Weapon_Bow_002 - is_material: False - id_len: 11 -soldiersbroadswordsoldiersword: - actor: Weapon_Sword_002 - is_material: False - id_len: 18 -soldiersclaymoresoldierclaymore: - actor: Weapon_Lsword_002 - is_material: False - id_len: 16 -soldiersgreaves: - actor: Armor_020_Lower - is_material: False - id_len: 15 -soldiershelm: - actor: Armor_020_Head - is_material: False - id_len: 12 -soldiersshield: - actor: Weapon_Shield_002 - is_material: False - id_len: 14 -soldiersspear: - actor: Weapon_Spear_002 - is_material: False - id_len: 13 -soupladle: - actor: Weapon_Sword_022 - is_material: False - id_len: 9 -spicedmeatskewer: - actor: Item_Cook_P_03 - is_material: False - id_len: 16 -spicypepper: - actor: Item_Fruit_I - is_material: True - id_len: 11 -spikedbokobat: - actor: Weapon_Lsword_005 - is_material: False - id_len: 13 -spikedbokobow: - actor: Weapon_Bow_003 - is_material: False - id_len: 13 -spikedbokoclub: - actor: Weapon_Sword_005 - is_material: False - id_len: 14 -spikedbokoshield: - actor: Weapon_Shield_005 - is_material: False - id_len: 16 -spikedbokospear: - actor: Weapon_Spear_005 - is_material: False - id_len: 15 -spikedmoblinclub: - actor: Weapon_Lsword_011 - is_material: False - id_len: 16 -spikedmoblinspear: - actor: Weapon_Spear_011 - is_material: False - id_len: 17 -spiritorb: - actor: Obj_DungeonClearSeal - is_material: False - id_len: 9 -springloadedhammer: - actor: Weapon_Sword_040 - is_material: False - id_len: 18 -stamellashroom: - actor: Item_Mushroom_A - is_material: True - id_len: 14 -staminokabass: - actor: Item_FishGet_L - is_material: True - id_len: 13 -starfragment: - actor: Item_Ore_J - is_material: True - id_len: 12 -stealthchestguard: - actor: Armor_012_Upper - is_material: False - id_len: 17 -stealthfintrout: - actor: Item_FishGet_X - is_material: True - id_len: 15 -stealthmask: - actor: Armor_012_Head - is_material: False - id_len: 11 -stealthtights: - actor: Armor_012_Lower - is_material: False - id_len: 13 -steamedfish: - actor: Item_Cook_A_04 - is_material: False - id_len: 11 -steamedfruit: - actor: Item_Cook_A_03 - is_material: False - id_len: 12 -steamedmeat: - actor: Item_Cook_A_05 - is_material: False - id_len: 11 -steamedmushrooms: - actor: Item_Cook_A_02 - is_material: False - id_len: 16 -steellizalbow: - actor: Weapon_Bow_030 - is_material: False - id_len: 13 -steellizalshield: - actor: Weapon_Shield_009 - is_material: False - id_len: 16 -stonesmasher: - actor: Weapon_Lsword_037 - is_material: False - id_len: 12 -strengthenedlizalbow: - actor: Weapon_Bow_011 - is_material: False - id_len: 20 -summerwingbutterfly: - actor: Animal_Insect_Q - is_material: True - id_len: 19 -sunsetfirefly: - actor: Animal_Insect_E - is_material: True - id_len: 13 -sunshroom: - actor: Item_Mushroom_C - is_material: True - id_len: 9 -swallowbow: - actor: Weapon_Bow_016 - is_material: False - id_len: 10 -swiftcarrot: - actor: Item_PlantGet_M - is_material: True - id_len: 11 -swiftviolet: - actor: Item_PlantGet_O - is_material: True - id_len: 11 -sword: - actor: Weapon_Sword_058 - is_material: False - id_len: 5 -swordofthesixsages: - actor: Weapon_Lsword_057 - is_material: False - id_len: 18 -tabanthawheat: - actor: Item_Material_07 - is_material: True - id_len: 13 -throwingspear: - actor: Weapon_Spear_030 - is_material: False - id_len: 13 -thunderblade: - actor: Weapon_Sword_035 - is_material: False - id_len: 12 -thunderhelm: - actor: Armor_115_Head - is_material: False - id_len: 11 -thunderhelmkey: - actor: Obj_Armor_115_Head - is_material: False - id_len: 14 -thunderspear: - actor: Weapon_Spear_035 - is_material: False - id_len: 12 -thunderstormrod: - actor: Weapon_Sword_050 - is_material: False - id_len: 15 -thunderwingbutterfly: - actor: Animal_Insect_R - is_material: True - id_len: 20 -tingleshood: - actor: Armor_174_Head - is_material: False - id_len: 11 -tinglesshirt: - actor: Armor_174_Upper - is_material: False - id_len: 12 -tinglestights: - actor: Armor_174_Lower - is_material: False - id_len: 13 -tirelessfrog: - actor: Animal_Insect_B - is_material: True - id_len: 12 -toastedbigheartytruffle: - actor: Item_Roast_49 - is_material: False - id_len: 23 -toastedheartytruffle: - actor: Item_Roast_05 - is_material: False - id_len: 20 -toastychillshroom: - actor: Item_Roast_31 - is_material: False - id_len: 17 -toastyendurashroom: - actor: Item_Roast_53 - is_material: False - id_len: 18 -toastyhylianshroom: - actor: Item_Roast_06 - is_material: False - id_len: 18 -toastyironshroom: - actor: Item_Roast_38 - is_material: False - id_len: 16 -toastyrazorshroom: - actor: Item_Roast_37 - is_material: False - id_len: 17 -toastyrushroom: - actor: Item_Roast_36 - is_material: False - id_len: 14 -toastysilentshroom: - actor: Item_Roast_39 - is_material: False - id_len: 18 -toastystamellashroom: - actor: Item_Roast_04 - is_material: False - id_len: 20 -toastysunshroom: - actor: Item_Roast_32 - is_material: False - id_len: 15 -toastyzapshroom: - actor: Item_Roast_33 - is_material: False - id_len: 15 -topaz: - actor: Item_Ore_D - is_material: True - id_len: 5 -topazearrings: - actor: Armor_027_Head - is_material: False - id_len: 13 -torch: - actor: Weapon_Sword_043 - is_material: False - id_len: 5 -travelersbowtravellerbow: - actor: Weapon_Bow_001 - is_material: False - id_len: 12 -travelersbridle: - actor: GameRomHorseReins_01 - is_material: False - id_len: 15 -travelersclaymoretravelerclaymore: - actor: Weapon_Lsword_001 - is_material: False - id_len: 17 -travelerssaddle: - actor: GameRomHorseSaddle_01 - is_material: False - id_len: 15 -travelersshield: - actor: Weapon_Shield_035 - is_material: False - id_len: 15 -travelersspear: - actor: Weapon_Spear_001 - is_material: False - id_len: 14 -travelersswordtravelersword: - actor: Weapon_Sword_001 - is_material: False - id_len: 14 -travelmedallion: - actor: Obj_WarpDLC - is_material: False - id_len: 15 -treebranch: - actor: Weapon_Sword_044 - is_material: False - id_len: 10 -trousersofthehero: - actor: Armor_230_Lower - is_material: False - id_len: 17 -trousersofthesky: - actor: Armor_215_Lower - is_material: False - id_len: 16 -trousersofthewild: - actor: Armor_005_Lower - is_material: False - id_len: 17 -trousersofthewind: - actor: Armor_205_Lower - is_material: False - id_len: 17 -trousersoftime: - actor: Armor_200_Lower - is_material: False - id_len: 14 -trousersoftwilight: - actor: Armor_210_Lower - is_material: False - id_len: 18 -tunicofthehero: - actor: Armor_230_Upper - is_material: False - id_len: 14 -tunicofthesky: - actor: Armor_215_Upper - is_material: False - id_len: 13 -tunicofthewild: - actor: Armor_005_Upper - is_material: False - id_len: 14 -tunicofthewind: - actor: Armor_205_Upper - is_material: False - id_len: 14 -tunicoftime: - actor: Armor_200_Upper - is_material: False - id_len: 11 -tunicoftwilight: - actor: Armor_210_Upper - is_material: False - id_len: 15 -twilightbow: - actor: Weapon_Bow_072 - is_material: False - id_len: 11 -urbosasfury: - actor: Obj_HeroSoul_Gerudo - is_material: False - id_len: 11 -urbosasfuryplus: - actor: Obj_DLC_HeroSoul_Gerudo - is_material: False - id_len: 15 -vahmedohdivinehelm: - actor: Armor_182_Head - is_material: False - id_len: 18 -vahnaborisdivinehelm: - actor: Armor_168_Head - is_material: False - id_len: 20 -vahrudaniadivinehelm: - actor: Armor_183_Head - is_material: False - id_len: 20 -vahrutadivinehelm: - actor: Armor_181_Head - is_material: False - id_len: 17 -vegetablecurry: - actor: Item_Cook_J_02 - is_material: False - id_len: 14 -vegetableomelet: - actor: Item_Cook_N_03 - is_material: False - id_len: 15 -vegetablerisotto: - actor: Item_Cook_G_13 - is_material: False - id_len: 16 -veggiecreamsoup: - actor: Item_Cook_F_03 - is_material: False - id_len: 15 -veggiericeballs: - actor: Item_Cook_G_03 - is_material: False - id_len: 15 -vicioussickle: - actor: Weapon_Sword_053 - is_material: False - id_len: 13 -voltfintrout: - actor: Item_FishGet_D - is_material: True - id_len: 12 -voltfruit: - actor: Item_Fruit_C - is_material: True - id_len: 9 -warmdarner: - actor: Animal_Insect_T - is_material: True - id_len: 10 -warmdoublet: - actor: Armor_044_Upper - is_material: False - id_len: 11 -warmmilk: - actor: Item_Cook_K_09 - is_material: False - id_len: 8 -warmsafflina: - actor: Item_PlantGet_F - is_material: True - id_len: 12 -wellworntrousers: - actor: Armor_043_Lower - is_material: False - id_len: 16 -wheatbread: - actor: Item_Cook_M_01 - is_material: False - id_len: 10 -whitechuchujelly: - actor: Item_Enemy_17 - is_material: True - id_len: 16 -wildberry: - actor: Item_Fruit_B - is_material: True - id_len: 9 -wildberrycrepe: - actor: Item_Cook_I_11 - is_material: False - id_len: 14 -windcleaver: - actor: Weapon_Lsword_074 - is_material: False - id_len: 11 -winterwingbutterfly: - actor: Animal_Insect_N - is_material: True - id_len: 19 -wood: - actor: Obj_FireWoodBundle - is_material: True - id_len: 4 -woodcuttersaxe: - actor: Weapon_Lsword_032 - is_material: False - id_len: 14 -woodenbow: - actor: Weapon_Bow_038 - is_material: False - id_len: 9 -woodenmop: - actor: Weapon_Spear_036 - is_material: False - id_len: 9 -woodenshield: - actor: Weapon_Shield_001 - is_material: False - id_len: 12 -yellowchuchujelly: - actor: Item_Enemy_16 - is_material: True - id_len: 17 -yellowlizalfostail: - actor: Item_Enemy_43 - is_material: True - id_len: 18 -zantshelmet: - actor: Armor_178_Head - is_material: False - id_len: 11 -zapshroom: - actor: Item_Mushroom_H - is_material: True - id_len: 9 -zoraarmor: - actor: Armor_006_Upper - is_material: False - id_len: 9 -zoragreaves: - actor: Armor_006_Lower - is_material: False - id_len: 11 -zorahelm: - actor: Armor_006_Head - is_material: False - id_len: 8 -zoraspear: - actor: Weapon_Spear_027 - is_material: False - id_len: 9 -zorasword: - actor: Weapon_Sword_027 - is_material: False - id_len: 9 diff --git a/packages/parser/src/item_search.rs b/packages/parser/src/item_search.rs deleted file mode 100644 index 0a6f42e..0000000 --- a/packages/parser/src/item_search.rs +++ /dev/null @@ -1,21 +0,0 @@ -use crate::cir; - - -pub trait ItemResolver { - - /// Resolve an item to its actor name - async fn resolve(&self, word: &str) -> ResolvedItem; - - /// Resolve a quote item word "like this" to its actor name - async fn resolve_quoted(&self, word: &str) -> ResolvedItem; - - -} - -#[derive(Debug, PartialEq)] -pub struct ResolvedItem { - /// The actor found - pub actor: String, - /// The meta data of the item, if any - pub meta: Option, -} diff --git a/packages/parser/src/lib.rs b/packages/parser/src/lib.rs index 426ead8..c1bbd12 100644 --- a/packages/parser/src/lib.rs +++ b/packages/parser/src/lib.rs @@ -6,12 +6,14 @@ pub mod cir; mod error; -pub mod item_search; pub fn test_message(n: u64) -> String { format!("Hello from Rust! You passed in {}", n) } +/// Item searcher +pub mod search; + mod util; @@ -19,4 +21,6 @@ mod util; mod generated { mod armor_upgrade; pub use armor_upgrade::ARMOR_UPGRADE; + mod item_name; + pub use item_name::ITEM_NAMES; } diff --git a/packages/parser/src/search/mod.rs b/packages/parser/src/search/mod.rs new file mode 100644 index 0000000..89f7ee4 --- /dev/null +++ b/packages/parser/src/search/mod.rs @@ -0,0 +1,12 @@ + +mod search_name; +pub use search_name::*; + +mod search_result; +pub use search_result::*; + +mod search_impl; +pub use search_impl::*; + +mod resolver_types; +pub use resolver_types::*; diff --git a/packages/parser/src/search/resolver_types.rs b/packages/parser/src/search/resolver_types.rs new file mode 100644 index 0000000..c596317 --- /dev/null +++ b/packages/parser/src/search/resolver_types.rs @@ -0,0 +1,23 @@ +use std::future::Future; + +use crate::cir; + +/// A trait for resolving quoted (localized) items +/// +/// The parser itself does not contain the localization data +/// for resolving this, so the simulator runtime must provide +/// an implementation that is connected to the localization data. +pub trait QuotedItemResolver { + type Future: Future>; + /// Resolve a quote item word "like this" to its actor name + fn resolve_quoted(&self, word: &str) -> Self::Future; +} + +/// The result returned by item searcher +#[derive(Debug, PartialEq)] +pub struct ResolvedItem { + /// The actor found + pub actor: String, + /// The meta data of the item, if any + pub meta: Option, +} diff --git a/packages/runtime/src/item_search.rs b/packages/parser/src/search/search_impl.rs similarity index 67% rename from packages/runtime/src/item_search.rs rename to packages/parser/src/search/search_impl.rs index 5b2fd64..d459547 100644 --- a/packages/runtime/src/item_search.rs +++ b/packages/parser/src/search/search_impl.rs @@ -1,25 +1,9 @@ -use std::borrow::Cow; -use std::collections::{BTreeMap, BTreeSet}; +use std::collections::BTreeSet; -use skybook_parser::item_search::{ItemResolver, ResolvedItem}; -use skybook_parser::cir; - -use crate::item_name::SearchResult; - - -pub struct ItemSearch { -} - -// impl ItemResolver for ItemSearch { -// async fn resolve(&self, word: &str) -> skybook_parser::item_search::ResolvedItem { -// todo!() -// } -// -// async fn resolve_quoted(&self, word: &str) -> skybook_parser::item_search::ResolvedItem { -// todo!() -// } -// } +use crate::search::SearchResult; +use crate::cir; +use super::ResolvedItem; pub fn search_item_by_ident(search_str: &str) -> Option { // v2 food with effect @@ -73,7 +57,7 @@ pub fn search_item_by_ident(search_str: &str) -> Option { fn search_effect(maybe_effect: &str) -> Option { let mut found = None; - for (effect_name, effect_id) in crate::cook_effect_name::COOK_EFFECT_NAMES { + for (effect_name, effect_id) in COOK_EFFECT_NAMES { if effect_name.contains(maybe_effect) { if found.is_some() { // found multiple @@ -117,21 +101,12 @@ pub fn do_search_item_by_ident(search_str: &str) -> Option { } pub fn search_item_internal<'a>(search_str: &'a str, out_results: &mut BTreeSet>) { - // // if name is an id exactly, return that - // match crate::item_name_gen::ITEM_NAMES.binary_search_by(|n| n.id().cmp(search_str)) { - // Ok(n) => { - // let entry = &crate::item_name_gen::ITEM_NAMES[n]; - // out_results.insert(entry.to_result(search_str)); - // return; - // } - // _ => {} - // } // break name into _ or - separated search phrases let mut parts = search_str.split(|c| c == '_' || c == '-'); let Some(first_part) = parts.next() else { return; }; - let mut filtered = crate::item_name_gen::ITEM_NAMES.iter() + let mut filtered = crate::generated::ITEM_NAMES.iter() .filter_map(|n| { if n.search_str.contains(first_part) { Some(n.to_result(search_str)) @@ -139,9 +114,6 @@ pub fn search_item_internal<'a>(search_str: &'a str, out_results: &mut BTreeSet< None } }).collect::>(); - - // println!("input: {}", search_str); - // println!("first filtered: {:?}", filtered); for part in parts { if part.is_empty() { @@ -150,7 +122,6 @@ pub fn search_item_internal<'a>(search_str: &'a str, out_results: &mut BTreeSet< filtered.retain(|n| { n.result.search_str.contains(part) }); - // println!("filtered: {:?}", filtered); match filtered.len() { 0 => return, 1 => { @@ -165,27 +136,16 @@ pub fn search_item_internal<'a>(search_str: &'a str, out_results: &mut BTreeSet< } -/// Given any armor, get the armor actor with the number of stars -/// -/// Star is clamped between 0 and 4 -pub fn get_armor_with_star(mut actor: &str, star: u32) -> Cow { - // special case for Snow Boots - // change it to the version that's upgradable - if actor == "Armor_140_Lower" { - actor = "Armor_141_Lower"; - } - let star = star.min(4); - // if input is not armor, return as is - let Some(to_search) = actor.strip_prefix("Armor_") else { - return Cow::Borrowed(actor); - }; - for armor_group in crate::armor_upgrade_gen::ARMOR_UPGRADE { - for i in 0..5 { - if armor_group[i] == to_search { - return Cow::Owned(format!("Armor_{}", armor_group[star as usize])); - } - } - } - - Cow::Borrowed(actor) -} +pub static COOK_EFFECT_NAMES: &[(&str, i32)] = &[ + ("hearty", 2), + ("energizing", 14), + ("enduring", 15), + ("hasty", 13), + ("fireproof", 16), + ("spciy", 5), + ("chilly", 4), + ("electro", 6), + ("mighty", 10), + ("tough", 11), + ("sneaky", 12), +]; diff --git a/packages/parser/src/search/search_name.rs b/packages/parser/src/search/search_name.rs new file mode 100644 index 0000000..7e0caa2 --- /dev/null +++ b/packages/parser/src/search/search_name.rs @@ -0,0 +1,62 @@ +use super::SearchResult; + +/// A searchable item entry +#[derive(Debug, PartialEq, Eq)] +pub struct SearchName { + /// The string used to search for this item + pub search_str: &'static str, + /// The actor name for the item + pub actor: &'static str, + /// If the item is a material + pub is_material: bool, + /// Length of the id from search_str + pub id_len: u8, +} + +impl SearchName { + pub const fn new(search_str: &'static str, actor: &'static str, is_material: bool, id_len: u8) -> Self { + Self { + search_str, + actor, + is_material, + id_len, + } + } + + pub fn is_arrow(&self) -> bool { + self.search_str.contains("arrow") + } + + pub fn get_type_for_compare(&self) -> u8 { + if self.is_arrow() { + 1 + } else if self.is_material { + 2 + } else { + 3 + } + } + + pub fn get_priority(&self) -> u8 { + match self.search_str { + "treebranch" | "torch" + | "soupladle" | "lizaltriboomerang" + | "woodcuttersaxe" | "lightscaletrident" + | "bokospear" | "normalarrow" | + "potlid" | "hylianshroom" | "energeticrhinobeetle" + => 1, + _ => 2 + } + } + + pub fn id(&self) -> &str { + &self.search_str[..self.id_len as usize] + } + + pub fn to_result<'a, 'b>(&'b self, search_input: &'a str) -> SearchResult<'a, 'b> { + SearchResult { + search_input, + result: self, + } + } +} diff --git a/packages/runtime/src/item_name.rs b/packages/parser/src/search/search_result.rs similarity index 63% rename from packages/runtime/src/item_name.rs rename to packages/parser/src/search/search_result.rs index 56b53ef..747bb07 100644 --- a/packages/runtime/src/item_name.rs +++ b/packages/parser/src/search/search_result.rs @@ -1,67 +1,8 @@ use textdistance::{Algorithm, LCSStr}; +use super::SearchName; -#[derive(Debug, PartialEq, Eq)] -pub struct SearchName { - /// The string used to search for this item - pub search_str: &'static str, - /// The actor name for the item - pub actor: &'static str, - /// If the item is a material - pub is_material: bool, - /// Length of the id from search_str - pub id_len: u8, -} - -impl SearchName { - pub const fn new(search_str: &'static str, actor: &'static str, is_material: bool, id_len: u8) -> Self { - Self { - search_str, - actor, - is_material, - id_len, - } - } - - pub fn is_arrow(&self) -> bool { - self.search_str.contains("arrow") - } - - pub fn get_type_for_compare(&self) -> u8 { - if self.is_arrow() { - 1 - } else if self.is_material { - 2 - } else { - 3 - } - } - - pub fn get_priority(&self) -> u8 { - match self.search_str { - "treebranch" | "torch" - | "soupladle" | "lizaltriboomerang" - | "woodcuttersaxe" | "lightscaletrident" - | "bokospear" | "normalarrow" | - "potlid" | "hylianshroom" | "energeticrhinobeetle" - => 1, - _ => 2 - } - } - - pub fn id(&self) -> &str { - &self.search_str[..self.id_len as usize] - } - - pub fn to_result<'a, 'b>(&'b self, search_input: &'a str) -> SearchResult<'a, 'b> { - SearchResult { - search_input, - result: self, - } - } -} - - +/// A comparible search result associating the search input with the found name #[derive(PartialEq, Eq)] pub struct SearchResult<'a, 'b> { pub search_input: &'a str, diff --git a/packages/runtime/tests/item_search_v2.rs b/packages/parser/tests/item_search_v2.rs similarity index 97% rename from packages/runtime/tests/item_search_v2.rs rename to packages/parser/tests/item_search_v2.rs index 46a46a5..519a879 100644 --- a/packages/runtime/tests/item_search_v2.rs +++ b/packages/parser/tests/item_search_v2.rs @@ -1,5 +1,4 @@ -use skybook_runtime::item_search::search_item_by_ident; -use skybook_parser::item_search::{ItemResolver, ResolvedItem}; +use skybook_parser::search::{ResolvedItem, search_item_by_ident}; use skybook_parser::cir; /// Test items with hard coded names in V2 diff --git a/packages/runtime/tests/item_search_v3.rs b/packages/parser/tests/item_search_v3.rs similarity index 94% rename from packages/runtime/tests/item_search_v3.rs rename to packages/parser/tests/item_search_v3.rs index 5bed716..95bfe21 100644 --- a/packages/runtime/tests/item_search_v3.rs +++ b/packages/parser/tests/item_search_v3.rs @@ -1,6 +1,4 @@ - -use skybook_runtime::item_search::search_item_by_ident; -use skybook_parser::item_search::{ItemResolver, ResolvedItem}; +use skybook_parser::search::{ResolvedItem, search_item_by_ident, COOK_EFFECT_NAMES}; use skybook_parser::cir; /// Test items with priority in V3 @@ -65,7 +63,7 @@ fn test_item_search_v3_alias() { #[test] fn test_item_search_v3_effect() { - for (effect_name, effect_id) in skybook_runtime::cook_effect_name::COOK_EFFECT_NAMES { + for (effect_name, effect_id) in COOK_EFFECT_NAMES { assert_eq!(search_item_by_ident(&format!("{}_elixir", effect_name)), Some(ResolvedItem { actor: "Item_Cook_C_17".to_string(), meta: Some(cir::ItemMeta { diff --git a/packages/runtime/generate-item-names.py b/packages/runtime/generate-item-names.py deleted file mode 100644 index cfb7464..0000000 --- a/packages/runtime/generate-item-names.py +++ /dev/null @@ -1,37 +0,0 @@ -import yaml -import os - -if __name__ == "__main__": - home = os.path.dirname(os.path.realpath(__file__)) - input_path = os.path.join(home, "v3_item_names.yaml") - with open(input_path, "r", encoding="utf-8") as f: - item_names = yaml.safe_load(f) - - output_path = os.path.join(home, "src", "item_name_gen.rs") - - ids_by_search = [] - - header = """//! This file is generated by generate-item-names.py -//! Do not edit this file manually - -use crate::item_name::SearchName; - -pub static ITEM_NAMES: &[SearchName] = &[ -""" - - with open(output_path, "w", encoding="utf-8", newline="\n") as f: - f.write(header) - for item_name in sorted(item_names): - actor_name = item_names[item_name]["actor"] - is_material = item_names[item_name]["is_material"] - id_len = item_names[item_name]["id_len"] - ids_by_search.append(item_name[:id_len]) - f.write(f"SearchName::new(\"{item_name}\", \"{actor_name}\", {"true" if is_material else "false"}, {id_len}),\n") - - f.write("];\n") - - # verify search string and ids have the same sort order - ids = list(sorted(ids_by_search)) - if ids != ids_by_search: - print("Search string and ids have different sort order") - exit(1) diff --git a/packages/runtime/src/armor_upgrade_gen.rs b/packages/runtime/src/armor_upgrade_gen.rs deleted file mode 100644 index dfe87f8..0000000 --- a/packages/runtime/src/armor_upgrade_gen.rs +++ /dev/null @@ -1,72 +0,0 @@ - -//! This file is generated by resolve-icon-actor.py -//! DO NOT EDIT MANUALLY - -/** Actor name -> icon actor name, if different */ -pub static ARMOR_UPGRADE: &[[&str; 5]] = &[ - ["001_Head", "002_Head", "003_Head", "004_Head", "015_Head"], - ["001_Lower", "002_Lower", "003_Lower", "004_Lower", "015_Lower"], - ["001_Upper", "002_Upper", "003_Upper", "004_Upper", "015_Upper"], - ["005_Head", "035_Head", "039_Head", "060_Head", "061_Head"], - ["005_Lower", "035_Lower", "039_Lower", "060_Lower", "061_Lower"], - ["005_Upper", "035_Upper", "039_Upper", "060_Upper", "061_Upper"], - ["006_Head", "007_Head", "062_Head", "063_Head", "064_Head"], - ["006_Lower", "007_Lower", "062_Lower", "063_Lower", "064_Lower"], - ["006_Upper", "007_Upper", "062_Upper", "063_Upper", "064_Upper"], - ["008_Head", "040_Head", "065_Head", "066_Head", "067_Head"], - ["008_Lower", "040_Lower", "065_Lower", "066_Lower", "067_Lower"], - ["008_Upper", "040_Upper", "065_Upper", "066_Upper", "067_Upper"], - ["009_Head", "036_Head", "071_Head", "072_Head", "073_Head"], - ["009_Lower", "036_Lower", "071_Lower", "072_Lower", "073_Lower"], - ["009_Upper", "036_Upper", "071_Upper", "072_Upper", "073_Upper"], - ["011_Head", "037_Head", "074_Head", "075_Head", "076_Head"], - ["011_Lower", "037_Lower", "074_Lower", "075_Lower", "076_Lower"], - ["011_Upper", "037_Upper", "074_Upper", "075_Upper", "076_Upper"], - ["012_Head", "042_Head", "077_Head", "078_Head", "079_Head"], - ["012_Lower", "042_Lower", "077_Lower", "078_Lower", "079_Lower"], - ["012_Upper", "042_Upper", "077_Upper", "078_Upper", "079_Upper"], - ["014_Head", "083_Head", "084_Head", "085_Head", "086_Head"], - ["014_Lower", "083_Lower", "084_Lower", "085_Lower", "086_Lower"], - ["014_Upper", "083_Upper", "084_Upper", "085_Upper", "086_Upper"], - ["017_Head", "087_Head", "088_Head", "089_Head", "090_Head"], - ["017_Lower", "087_Lower", "088_Lower", "089_Lower", "090_Lower"], - ["017_Upper", "087_Upper", "088_Upper", "089_Upper", "090_Upper"], - ["020_Head", "095_Head", "096_Head", "097_Head", "098_Head"], - ["020_Lower", "095_Lower", "096_Lower", "097_Lower", "098_Lower"], - ["020_Upper", "095_Upper", "096_Upper", "097_Upper", "098_Upper"], - ["021_Head", "099_Head", "100_Head", "101_Head", "102_Head"], - ["021_Lower", "099_Lower", "100_Lower", "101_Lower", "102_Lower"], - ["021_Upper", "099_Upper", "100_Upper", "101_Upper", "102_Upper"], - ["046_Head", "103_Head", "104_Head", "105_Head", "106_Head"], - ["046_Lower", "103_Lower", "104_Lower", "105_Lower", "106_Lower"], - ["046_Upper", "103_Upper", "104_Upper", "105_Upper", "106_Upper"], - ["048_Head", "111_Head", "112_Head", "113_Head", "114_Head"], - ["048_Lower", "111_Lower", "112_Lower", "113_Lower", "114_Lower"], - ["048_Upper", "111_Upper", "112_Upper", "113_Upper", "114_Upper"], - ["049_Lower", "152_Lower", "153_Lower", "154_Lower", "155_Lower"], - ["116_Upper", "148_Upper", "149_Upper", "150_Upper", "151_Upper"], - ["141_Lower", "156_Lower", "157_Lower", "158_Lower", "159_Lower"], - ["168_Head", "169_Head", "184_Head", "198_Head", "199_Head"], - ["181_Head", "186_Head", "187_Head", "188_Head", "189_Head"], - ["182_Head", "190_Head", "191_Head", "192_Head", "193_Head"], - ["183_Head", "194_Head", "195_Head", "196_Head", "197_Head"], - ["200_Head", "201_Head", "202_Head", "203_Head", "204_Head"], - ["200_Lower", "201_Lower", "202_Lower", "203_Lower", "204_Lower"], - ["200_Upper", "201_Upper", "202_Upper", "203_Upper", "204_Upper"], - ["205_Head", "206_Head", "207_Head", "208_Head", "209_Head"], - ["205_Lower", "206_Lower", "207_Lower", "208_Lower", "209_Lower"], - ["205_Upper", "206_Upper", "207_Upper", "208_Upper", "209_Upper"], - ["210_Head", "211_Head", "212_Head", "213_Head", "214_Head"], - ["210_Lower", "211_Lower", "212_Lower", "213_Lower", "214_Lower"], - ["210_Upper", "211_Upper", "212_Upper", "213_Upper", "214_Upper"], - ["215_Head", "216_Head", "217_Head", "218_Head", "219_Head"], - ["215_Lower", "216_Lower", "217_Lower", "218_Lower", "219_Lower"], - ["215_Upper", "216_Upper", "217_Upper", "218_Upper", "219_Upper"], - ["220_Head", "221_Head", "222_Head", "223_Head", "224_Head"], - ["225_Head", "226_Head", "227_Head", "228_Head", "229_Head"], - ["225_Lower", "226_Lower", "227_Lower", "228_Lower", "229_Lower"], - ["225_Upper", "226_Upper", "227_Upper", "228_Upper", "229_Upper"], - ["230_Head", "231_Head", "232_Head", "233_Head", "234_Head"], - ["230_Lower", "231_Lower", "232_Lower", "233_Lower", "234_Lower"], - ["230_Upper", "231_Upper", "232_Upper", "233_Upper", "234_Upper"], -]; diff --git a/packages/runtime/src/cook_effect_name.rs b/packages/runtime/src/cook_effect_name.rs deleted file mode 100644 index ccad23f..0000000 --- a/packages/runtime/src/cook_effect_name.rs +++ /dev/null @@ -1,15 +0,0 @@ - - -pub static COOK_EFFECT_NAMES: &[(&str, i32)] = &[ - ("hearty", 2), - ("energizing", 14), - ("enduring", 15), - ("hasty", 13), - ("fireproof", 16), - ("spciy", 5), - ("chilly", 4), - ("electro", 6), - ("mighty", 10), - ("tough", 11), - ("sneaky", 12), -]; diff --git a/packages/runtime/src/item_name_gen.rs b/packages/runtime/src/item_name_gen.rs deleted file mode 100644 index 6f152ee..0000000 --- a/packages/runtime/src/item_name_gen.rs +++ /dev/null @@ -1,675 +0,0 @@ -//! This file is generated by generate-item-names.py -//! Do not edit this file manually - -use crate::item_name::SearchName; - -pub static ITEM_NAMES: &[SearchName] = &[ -SearchName::new("acorn", "Item_Fruit_K", true, 5), -SearchName::new("amber", "Item_Ore_F", true, 5), -SearchName::new("amberearrings", "Armor_029_Head", false, 13), -SearchName::new("ancientarrowaa", "AncientArrow", false, 12), -SearchName::new("ancientbattleaxe", "Weapon_Lsword_013", false, 16), -SearchName::new("ancientbattleaxeplus", "Weapon_Lsword_014", false, 20), -SearchName::new("ancientbattleaxeplusplus", "Weapon_Lsword_015", false, 24), -SearchName::new("ancientbladesaw", "Weapon_Lsword_023", false, 15), -SearchName::new("ancientbow", "Weapon_Bow_023", false, 10), -SearchName::new("ancientbridle", "GameRomHorseReins_10", false, 13), -SearchName::new("ancientcore", "Item_Enemy_30", true, 11), -SearchName::new("ancientcuirass", "Armor_021_Upper", false, 14), -SearchName::new("ancientgear", "Item_Enemy_26", true, 11), -SearchName::new("ancientgreaves", "Armor_021_Lower", false, 14), -SearchName::new("ancienthelm", "Armor_021_Head", false, 11), -SearchName::new("ancientsaddle", "GameRomHorseSaddle_10", false, 13), -SearchName::new("ancientscrew", "Item_Enemy_27", true, 12), -SearchName::new("ancientshaft", "Item_Enemy_29", true, 12), -SearchName::new("ancientshield", "Weapon_Shield_038", false, 13), -SearchName::new("ancientshortsword", "Weapon_Sword_023", false, 17), -SearchName::new("ancientspear", "Weapon_Spear_023", false, 12), -SearchName::new("ancientspring", "Item_Enemy_28", true, 13), -SearchName::new("apple", "Item_Fruit_A", true, 5), -SearchName::new("applepie", "Item_Cook_I_02", false, 8), -SearchName::new("armoranth", "Item_PlantGet_H", true, 9), -SearchName::new("armoredcarp", "Item_FishGet_H", true, 11), -SearchName::new("armoredporgy", "Item_FishGet_G", true, 12), -SearchName::new("bakedapple", "Item_Roast_03", false, 10), -SearchName::new("bakedfortifiedpumpkin", "Item_Roast_15", false, 21), -SearchName::new("bakedpalmfruit", "Item_Roast_10", false, 14), -SearchName::new("barbarianarmor", "Armor_048_Upper", false, 14), -SearchName::new("barbarianhelm", "Armor_048_Head", false, 13), -SearchName::new("barbarianlegwraps", "Armor_048_Lower", false, 17), -SearchName::new("biggoronssword", "Weapon_Lsword_059", false, 14), -SearchName::new("bigheartyradish", "Item_PlantGet_C", true, 15), -SearchName::new("bigheartytruffle", "Item_Mushroom_N", true, 16), -SearchName::new("birdegg", "Item_Material_04", true, 7), -SearchName::new("blackenedcrab", "Item_RoastFish_15", false, 13), -SearchName::new("bladedrhinobeetle", "Animal_Insect_G", true, 17), -SearchName::new("blizzardrod", "Weapon_Sword_049", false, 11), -SearchName::new("bluenightshade", "Item_PlantGet_I", true, 14), -SearchName::new("blueshellescargot", "Item_RoastFish_11", false, 17), -SearchName::new("boatoar", "Weapon_Lsword_038", false, 7), -SearchName::new("bokobat", "Weapon_Lsword_004", false, 7), -SearchName::new("bokoblinarm", "Weapon_Sword_019", false, 11), -SearchName::new("bokoblinfang", "Item_Enemy_01", true, 12), -SearchName::new("bokoblinguts", "Item_Enemy_02", true, 12), -SearchName::new("bokoblinhorn", "Item_Enemy_00", true, 12), -SearchName::new("bokoblinmask", "Armor_022_Head", false, 12), -SearchName::new("bokobow", "Weapon_Bow_004", false, 7), -SearchName::new("bokoclub", "Weapon_Sword_004", false, 8), -SearchName::new("bokoshield", "Weapon_Shield_004", false, 10), -SearchName::new("bokospear", "Weapon_Spear_004", false, 9), -SearchName::new("bombarrow", "BombArrow_A", false, 9), -SearchName::new("boomerang", "Weapon_Sword_051", false, 9), -SearchName::new("boulderbreaker", "Weapon_Lsword_054", false, 14), -SearchName::new("bowoflight", "Weapon_Bow_071", false, 10), -SearchName::new("brighteyedcrab", "Item_InsectGet_Z", true, 14), -SearchName::new("campfireegg", "Item_Roast_51", false, 11), -SearchName::new("canesugar", "Item_Material_01", true, 9), -SearchName::new("capofthehero", "Armor_230_Head", false, 12), -SearchName::new("capofthesky", "Armor_215_Head", false, 11), -SearchName::new("capofthewild", "Armor_005_Head", false, 12), -SearchName::new("capofthewind", "Armor_205_Head", false, 12), -SearchName::new("capoftime", "Armor_200_Head", false, 9), -SearchName::new("capoftwilight", "Armor_210_Head", false, 13), -SearchName::new("carrotcake", "Item_Cook_I_05", false, 10), -SearchName::new("carrotstew", "Item_Cook_K_08", false, 10), -SearchName::new("ceremonialtrident", "Weapon_Spear_049", false, 17), -SearchName::new("championstunic", "Armor_116_Upper", false, 14), -SearchName::new("charredpepper", "Item_Roast_13", false, 13), -SearchName::new("chickalootreenut", "Item_Fruit_L", true, 16), -SearchName::new("chillfintrout", "Item_FishGet_C", true, 13), -SearchName::new("chillshroom", "Item_Mushroom_B", true, 11), -SearchName::new("chuchujelly", "Item_Enemy_40", true, 11), -SearchName::new("clamchowder", "Item_Cook_K_04", false, 11), -SearchName::new("classifiedenvelope", "Obj_ProofBook", false, 18), -SearchName::new("climbersbandanna", "Armor_014_Head", false, 16), -SearchName::new("climbingboots", "Armor_014_Lower", false, 13), -SearchName::new("climbinggear", "Armor_014_Upper", false, 12), -SearchName::new("cobblecrusher", "Weapon_Lsword_036", false, 13), -SearchName::new("colddarner", "Animal_Insect_C", true, 10), -SearchName::new("coolsafflina", "Item_PlantGet_E", true, 12), -SearchName::new("copiousfriedwildgreens", "Item_Cook_B_11", false, 22), -SearchName::new("copiousmeatskewers", "Item_Cook_B_16", false, 18), -SearchName::new("copiousmushroomskewers", "Item_Cook_B_13", false, 22), -SearchName::new("copiousseafoodskewers", "Item_Cook_B_15", false, 21), -SearchName::new("copioussimmeredfruit", "Item_Cook_B_12", false, 20), -SearchName::new("courserbeehoney", "BeeHome", true, 15), -SearchName::new("crabomeletwithrice", "Item_Cook_G_16", false, 18), -SearchName::new("crabrisotto", "Item_Cook_G_17", false, 11), -SearchName::new("crabstirfry", "Item_Cook_D_10", false, 11), -SearchName::new("creamofmushroomsoup", "Item_Cook_K_06", false, 19), -SearchName::new("creamofvegetablesoup", "Item_Cook_K_07", false, 20), -SearchName::new("creamyheartsoup", "Item_Cook_F_04", false, 15), -SearchName::new("creamymeatsoup", "Item_Cook_F_01", false, 14), -SearchName::new("creamyseafoodsoup", "Item_Cook_F_02", false, 17), -SearchName::new("currypilaf", "Item_Cook_G_11", false, 10), -SearchName::new("curryrice", "Item_Cook_J_01", false, 9), -SearchName::new("darkhood", "Armor_160_Head", false, 8), -SearchName::new("darktrousers", "Armor_160_Lower", false, 12), -SearchName::new("darktunic", "Armor_160_Upper", false, 9), -SearchName::new("daruksprotection", "Obj_HeroSoul_Goron", false, 16), -SearchName::new("daruksprotectionplus", "Obj_DLC_HeroSoul_Goron", false, 20), -SearchName::new("daybreaker", "Weapon_Shield_037", false, 10), -SearchName::new("demoncarver", "Weapon_Sword_073", false, 11), -SearchName::new("desertvoeheadband", "Armor_008_Head", false, 17), -SearchName::new("desertvoespaulder", "Armor_008_Upper", false, 17), -SearchName::new("desertvoetrousers", "Armor_008_Lower", false, 17), -SearchName::new("diamond", "Item_Ore_A", true, 7), -SearchName::new("diamondcirclet", "Armor_024_Head", false, 14), -SearchName::new("dinraalsclaw", "Item_Enemy_39", true, 12), -SearchName::new("dinraalsscale", "Item_Enemy_38", true, 13), -SearchName::new("doubleaxe", "Weapon_Lsword_030", false, 9), -SearchName::new("dragonbonebokobat", "Weapon_Lsword_006", false, 17), -SearchName::new("dragonbonebokobow", "Weapon_Bow_027", false, 17), -SearchName::new("dragonbonebokoclub", "Weapon_Sword_006", false, 18), -SearchName::new("dragonbonebokoshield", "Weapon_Shield_006", false, 20), -SearchName::new("dragonbonebokospear", "Weapon_Spear_006", false, 19), -SearchName::new("dragonbonemoblinclub", "Weapon_Lsword_012", false, 20), -SearchName::new("dragonbonemoblinspear", "Weapon_Spear_012", false, 21), -SearchName::new("drillshaft", "Weapon_Spear_031", false, 10), -SearchName::new("dubiousfood", "Item_Cook_O_01", false, 11), -SearchName::new("duplexbow", "Weapon_Bow_040", false, 9), -SearchName::new("edgeofdualityeod", "Weapon_Lsword_055", false, 13), -SearchName::new("eggpudding", "Item_Cook_I_14", false, 10), -SearchName::new("eggtart", "Item_Cook_I_03", false, 7), -SearchName::new("eightfoldblade", "Weapon_Sword_041", false, 14), -SearchName::new("eightfoldlongblade", "Weapon_Lsword_041", false, 18), -SearchName::new("electricdarner", "Animal_Insect_I", true, 14), -SearchName::new("electrickeesewing", "Item_Enemy_45", true, 17), -SearchName::new("electricsafflina", "Item_PlantGet_L", true, 16), -SearchName::new("elixir", "Item_Cook_C_17", false, 6), -SearchName::new("emblazonedshield", "Weapon_Shield_034", false, 16), -SearchName::new("enduracarrot", "Item_PlantGet_Q", true, 12), -SearchName::new("endurashroom", "Item_Mushroom_O", true, 12), -SearchName::new("energeticrhinobeetle", "Animal_Insect_AA", true, 20), -SearchName::new("enhancedlizalspear", "Weapon_Spear_008", false, 18), -SearchName::new("extravagantbridle", "GameRomHorseReins_05", false, 17), -SearchName::new("extravagantsaddle", "GameRomHorseSaddle_05", false, 17), -SearchName::new("fairy", "Animal_Insect_F", true, 5), -SearchName::new("fairytonic", "Item_Cook_C_16", false, 10), -SearchName::new("falconbow", "Weapon_Bow_017", false, 9), -SearchName::new("farmerspitchfork", "Weapon_Spear_022", false, 16), -SearchName::new("farminghoe", "Weapon_Lsword_045", false, 10), -SearchName::new("faroshsclawfaroshclaw", "Item_Enemy_54", true, 11), -SearchName::new("faroshsscalefaroshscale", "Item_Enemy_53", true, 12), -SearchName::new("featherededge", "Weapon_Sword_031", false, 13), -SearchName::new("featheredspear", "Weapon_Spear_032", false, 14), -SearchName::new("fiercedeityarmor", "Armor_225_Upper", false, 16), -SearchName::new("fiercedeityboots", "Armor_225_Lower", false, 16), -SearchName::new("fiercedeitymask", "Armor_225_Head", false, 15), -SearchName::new("fiercedeitysword", "Weapon_Lsword_060", false, 16), -SearchName::new("firearrow", "FireArrow", false, 9), -SearchName::new("firekeesewing", "Item_Enemy_44", true, 13), -SearchName::new("fireprooflizard", "Animal_Insect_X", true, 15), -SearchName::new("firerod", "Weapon_Sword_060", false, 7), -SearchName::new("fishandmushroomskewer", "Item_Cook_A_08", false, 21), -SearchName::new("fishermansshield", "Weapon_Shield_032", false, 16), -SearchName::new("fishingharpoon", "Weapon_Spear_038", false, 14), -SearchName::new("fishpie", "Item_Cook_I_15", false, 7), -SearchName::new("fishskewer", "Item_Cook_B_05", false, 10), -SearchName::new("flameblade", "Weapon_Sword_033", false, 10), -SearchName::new("flamebreakerarmor", "Armor_011_Upper", false, 17), -SearchName::new("flamebreakerboots", "Armor_011_Lower", false, 17), -SearchName::new("flamebreakerhelm", "Armor_011_Head", false, 16), -SearchName::new("flamespear", "Weapon_Spear_033", false, 10), -SearchName::new("fleetlotusseeds", "Item_Fruit_E", true, 15), -SearchName::new("flint", "Item_Ore_I", true, 5), -SearchName::new("forestdwellersbowfdbow", "Weapon_Bow_013", false, 17), -SearchName::new("forestdwellersshieldfdshield", "Weapon_Shield_023", false, 20), -SearchName::new("forestdwellersspearfdspear", "Weapon_Spear_025", false, 19), -SearchName::new("forestdwellersswordfdsword", "Weapon_Sword_025", false, 19), -SearchName::new("forkedlizalspear", "Weapon_Spear_009", false, 16), -SearchName::new("fortifiedpumpkin", "Item_Fruit_J", true, 16), -SearchName::new("fragrantmushroomsaute", "Item_Cook_P_01", false, 21), -SearchName::new("freshmilk", "Item_Material_05", true, 9), -SearchName::new("friedbananas", "Item_Cook_I_13", false, 12), -SearchName::new("friedeggandrice", "Item_Cook_E_04", false, 15), -SearchName::new("friedwildgreens", "Item_Cook_B_01", false, 15), -SearchName::new("frostblade", "Weapon_Sword_034", false, 10), -SearchName::new("frostspear", "Weapon_Spear_034", false, 10), -SearchName::new("frozenbass", "Item_ChilledFish_01", false, 10), -SearchName::new("frozenbirddrumstick", "Item_Chilled_04", false, 19), -SearchName::new("frozenbirdthigh", "Item_Chilled_05", false, 15), -SearchName::new("frozencarp", "Item_ChilledFish_04", false, 10), -SearchName::new("frozencrab", "Item_ChilledFish_07", false, 10), -SearchName::new("frozenheartybass", "Item_ChilledFish_06", false, 16), -SearchName::new("frozenheartysalmon", "Item_ChilledFish_02", false, 18), -SearchName::new("frozenporgy", "Item_ChilledFish_05", false, 11), -SearchName::new("frozenriversnail", "Item_ChilledFish_08", false, 16), -SearchName::new("frozentrout", "Item_ChilledFish_03", false, 11), -SearchName::new("frozenwholebird", "Item_Chilled_06", false, 15), -SearchName::new("fruitandmushroommix", "Item_Cook_A_07", false, 19), -SearchName::new("fruitcake", "Item_Cook_N_02", false, 9), -SearchName::new("fruitpie", "Item_Cook_I_01", false, 8), -SearchName::new("gerudoscimitar", "Weapon_Sword_029", false, 14), -SearchName::new("gerudoshield", "Weapon_Shield_026", false, 12), -SearchName::new("gerudosirwal", "Armor_053_Lower", false, 12), -SearchName::new("gerudospear", "Weapon_Spear_029", false, 11), -SearchName::new("gerudotop", "Armor_053_Upper", false, 9), -SearchName::new("gerudoveil", "Armor_053_Head", false, 10), -SearchName::new("giantancientcore", "Item_Enemy_31", true, 16), -SearchName::new("giantboomerang", "Weapon_Lsword_051", false, 14), -SearchName::new("glazedmeat", "Item_Cook_A_12", false, 10), -SearchName::new("glazedmushrooms", "Item_Cook_A_11", false, 15), -SearchName::new("glazedseafood", "Item_Cook_A_13", false, 13), -SearchName::new("glazedveggies", "Item_Cook_A_14", false, 13), -SearchName::new("goatbutter", "Item_Material_06", true, 10), -SearchName::new("goddesssword", "Weapon_Sword_057", false, 12), -SearchName::new("goldenbow", "Weapon_Bow_015", false, 9), -SearchName::new("goldenclaymore", "Weapon_Lsword_029", false, 14), -SearchName::new("goronspice", "Item_Material_02", true, 10), -SearchName::new("gourmetmeatandricebowl", "Item_Cook_G_09", false, 22), -SearchName::new("gourmetmeatandseafoodfry", "Item_Cook_B_19", false, 24), -SearchName::new("gourmetmeatcurry", "Item_Cook_J_09", false, 16), -SearchName::new("gourmetmeatstew", "Item_Cook_K_05", false, 15), -SearchName::new("gourmetpoultrycurry", "Item_Cook_J_08", false, 19), -SearchName::new("gourmetpoultrypilaf", "Item_Cook_E_03", false, 19), -SearchName::new("gourmetspicedmeatskewer", "Item_Cook_P_05", false, 23), -SearchName::new("greateaglebowgebow", "Weapon_Bow_028", false, 13), -SearchName::new("greatflameblade", "Weapon_Lsword_033", false, 15), -SearchName::new("greatfrostblade", "Weapon_Lsword_034", false, 15), -SearchName::new("greatthunderblade", "Weapon_Lsword_035", false, 17), -SearchName::new("guardianshield", "Weapon_Shield_013", false, 14), -SearchName::new("guardianshieldplus", "Weapon_Shield_014", false, 18), -SearchName::new("guardianshieldplusplus", "Weapon_Shield_015", false, 22), -SearchName::new("guardianspear", "Weapon_Spear_013", false, 13), -SearchName::new("guardianspearplus", "Weapon_Spear_014", false, 17), -SearchName::new("guardianspearplusplus", "Weapon_Spear_015", false, 21), -SearchName::new("guardiansword", "Weapon_Sword_013", false, 13), -SearchName::new("guardianswordplus", "Weapon_Sword_014", false, 17), -SearchName::new("guardianswordplusplus", "Weapon_Sword_015", false, 21), -SearchName::new("hardboiledegg", "Item_Boiled_01", false, 13), -SearchName::new("heartybass", "Item_FishGet_B", true, 10), -SearchName::new("heartyblueshellsnail", "Item_FishGet_K", true, 20), -SearchName::new("heartydurian", "Item_Fruit_D", true, 12), -SearchName::new("heartylizard", "Animal_Insect_M", true, 12), -SearchName::new("heartyradish", "Item_PlantGet_B", true, 12), -SearchName::new("heartysalmon", "Item_FishGet_I", true, 12), -SearchName::new("heartytruffle", "Item_Mushroom_F", true, 13), -SearchName::new("herbsaute", "Item_Cook_P_02", false, 9), -SearchName::new("herosshield", "Weapon_Shield_057", false, 11), -SearchName::new("hestusgiftpoop", "Obj_ProofKorok", false, 10), -SearchName::new("hestusmaracas", "Obj_Maracas", false, 13), -SearchName::new("hightaillizard", "Animal_Insect_S", true, 14), -SearchName::new("hinoxguts", "Item_Enemy_34", true, 9), -SearchName::new("hinoxtoenail", "Item_Enemy_32", true, 12), -SearchName::new("hinoxtooth", "Item_Enemy_33", true, 10), -SearchName::new("honeycandy", "Item_Cook_I_16", false, 10), -SearchName::new("honeycrepe", "Item_Cook_I_17", false, 10), -SearchName::new("honeyedapple", "Item_Cook_I_08", false, 12), -SearchName::new("honeyedfruits", "Item_Cook_I_09", false, 13), -SearchName::new("hotbutteredapple", "Item_Cook_I_07", false, 16), -SearchName::new("hotfootedfrog", "Animal_Insect_A", true, 13), -SearchName::new("huntersshield", "Weapon_Shield_031", false, 13), -SearchName::new("hydromelon", "Item_Fruit_F", true, 10), -SearchName::new("hylianhood", "Armor_001_Head", false, 10), -SearchName::new("hylianrice", "Item_Material_03", true, 10), -SearchName::new("hylianshield", "Weapon_Shield_030", false, 12), -SearchName::new("hylianshroom", "Item_Mushroom_E", true, 12), -SearchName::new("hyliantrousers", "Armor_001_Lower", false, 14), -SearchName::new("hyliantunic", "Armor_001_Upper", false, 11), -SearchName::new("hyrulebass", "Item_FishGet_A", true, 10), -SearchName::new("hyruleherb", "Item_PlantGet_A", true, 10), -SearchName::new("icearrow", "IceArrow", false, 8), -SearchName::new("icekeesewing", "Item_Enemy_46", true, 12), -SearchName::new("icerod", "Weapon_Sword_061", false, 6), -SearchName::new("icygourmetmeat", "Item_Chilled_03", false, 14), -SearchName::new("icyheartyblueshellsnail", "Item_ChilledFish_09", false, 23), -SearchName::new("icylizalfostail", "Item_Enemy_42", true, 15), -SearchName::new("icymeat", "Item_Chilled_01", false, 7), -SearchName::new("icyprimemeat", "Item_Chilled_02", false, 12), -SearchName::new("ironshellcrab", "Item_InsectGet_O", true, 13), -SearchName::new("ironshroom", "Item_Mushroom_M", true, 10), -SearchName::new("ironsledgehammer", "Weapon_Lsword_031", false, 16), -SearchName::new("islandlobstershirt", "Armor_175_Upper", false, 18), -SearchName::new("keeseeyeball", "Item_Enemy_19", true, 12), -SearchName::new("keesewing", "Item_Enemy_18", true, 9), -SearchName::new("kiteshield", "Weapon_Shield_042", false, 10), -SearchName::new("knightsbowknightbow", "Weapon_Bow_035", false, 10), -SearchName::new("knightsbridle", "GameRomHorseReins_03", false, 13), -SearchName::new("knightsbroadswordknightsword", "Weapon_Sword_003", false, 17), -SearchName::new("knightsclaymoreknightclaymore", "Weapon_Lsword_003", false, 15), -SearchName::new("knightshalberd", "Weapon_Spear_003", false, 14), -SearchName::new("knightssaddle", "GameRomHorseSaddle_03", false, 13), -SearchName::new("knightsshield", "Weapon_Shield_003", false, 13), -SearchName::new("korokleaf", "Weapon_Lsword_056", false, 9), -SearchName::new("korokmask", "Armor_176_Head", false, 9), -SearchName::new("korokseed", "Obj_KorokNuts", false, 9), -SearchName::new("lightarrow", "BrightArrow", false, 10), -SearchName::new("lightarrowtp", "BrightArrowTP", false, 12), -SearchName::new("lightningrod", "Weapon_Sword_062", false, 12), -SearchName::new("lightscaletrident", "Weapon_Spear_050", false, 17), -SearchName::new("lizalboomerang", "Weapon_Sword_007", false, 14), -SearchName::new("lizalbow", "Weapon_Bow_006", false, 8), -SearchName::new("lizalforkedboomerang", "Weapon_Sword_008", false, 20), -SearchName::new("lizalfosarm", "Weapon_Sword_020", false, 11), -SearchName::new("lizalfoshorn", "Item_Enemy_03", true, 12), -SearchName::new("lizalfosmask", "Armor_055_Head", false, 12), -SearchName::new("lizalfostail", "Item_Enemy_05", true, 12), -SearchName::new("lizalfostalon", "Item_Enemy_04", true, 13), -SearchName::new("lizalshield", "Weapon_Shield_007", false, 11), -SearchName::new("lizalspear", "Weapon_Spear_007", false, 10), -SearchName::new("lizaltriboomerang", "Weapon_Sword_009", false, 17), -SearchName::new("luminousstone", "Item_Ore_G", true, 13), -SearchName::new("lynelbow", "Weapon_Bow_009", false, 8), -SearchName::new("lynelcrusher", "Weapon_Lsword_016", false, 12), -SearchName::new("lynelguts", "Item_Enemy_14", true, 9), -SearchName::new("lynelhoof", "Item_Enemy_13", true, 9), -SearchName::new("lynelhorn", "Item_Enemy_12", true, 9), -SearchName::new("lynelmask", "Armor_056_Head", false, 9), -SearchName::new("lynelshield", "Weapon_Shield_016", false, 11), -SearchName::new("lynelspear", "Weapon_Spear_016", false, 10), -SearchName::new("lynelsword", "Weapon_Sword_016", false, 10), -SearchName::new("majorasmask", "Armor_172_Head", false, 11), -SearchName::new("mastersword", "Weapon_Sword_070", false, 11), -SearchName::new("meatandmushroomskewer", "Item_Cook_A_09", false, 21), -SearchName::new("meatandricebowl", "Item_Cook_G_05", false, 15), -SearchName::new("meatandseafoodfry", "Item_Cook_B_17", false, 17), -SearchName::new("meatcurry", "Item_Cook_J_06", false, 9), -SearchName::new("meatpie", "Item_Cook_I_04", false, 7), -SearchName::new("meatskewer", "Item_Cook_B_06", false, 10), -SearchName::new("meatstew", "Item_Cook_K_01", false, 8), -SearchName::new("meatstuffedpumpkin", "Item_Cook_B_20", false, 18), -SearchName::new("meatyriceballs", "Item_Cook_G_15", false, 14), -SearchName::new("medalofhonorhinox", "Obj_ProofGiantKiller", false, 17), -SearchName::new("medalofhonormolduga", "Obj_ProofSandwormKiller", false, 19), -SearchName::new("medalofhonortalus", "Obj_ProofGolemKiller", false, 17), -SearchName::new("medohsemblem", "Obj_DLC_HeroSeal_Rito", false, 12), -SearchName::new("meteorrod", "Weapon_Sword_048", false, 9), -SearchName::new("midnashelmet", "Armor_173_Head", false, 12), -SearchName::new("mightybananas", "Item_Fruit_H", true, 13), -SearchName::new("mightycarp", "Item_FishGet_E", true, 10), -SearchName::new("mightylynelbow", "Weapon_Bow_026", false, 14), -SearchName::new("mightylynelcrusher", "Weapon_Lsword_017", false, 18), -SearchName::new("mightylynelshield", "Weapon_Shield_017", false, 17), -SearchName::new("mightylynelspear", "Weapon_Spear_017", false, 16), -SearchName::new("mightylynelsword", "Weapon_Sword_017", false, 16), -SearchName::new("mightyporgy", "Item_FishGet_F", true, 11), -SearchName::new("mightythistle", "Item_PlantGet_G", true, 13), -SearchName::new("miphasgrace", "Obj_HeroSoul_Zora", false, 11), -SearchName::new("miphasgraceplus", "Obj_DLC_HeroSoul_Zora", false, 15), -SearchName::new("moblinarm", "Weapon_Lsword_019", false, 9), -SearchName::new("moblinclub", "Weapon_Lsword_010", false, 10), -SearchName::new("moblinfang", "Item_Enemy_07", true, 10), -SearchName::new("moblinguts", "Item_Enemy_08", true, 10), -SearchName::new("moblinhorn", "Item_Enemy_06", true, 10), -SearchName::new("moblinmask", "Armor_045_Head", false, 10), -SearchName::new("moblinspear", "Weapon_Spear_010", false, 11), -SearchName::new("moldugafin", "Item_Enemy_24", true, 10), -SearchName::new("moldugaguts", "Item_Enemy_25", true, 11), -SearchName::new("monsterbridle", "GameRomHorseReins_04", false, 13), -SearchName::new("monstercake", "Item_Cook_L_03", false, 11), -SearchName::new("monstercurry", "Item_Cook_L_05", false, 12), -SearchName::new("monsterextract", "Item_Material_08", true, 14), -SearchName::new("monsterriceballs", "Item_Cook_L_04", false, 16), -SearchName::new("monstersaddle", "GameRomHorseSaddle_04", false, 13), -SearchName::new("monstersoup", "Item_Cook_L_02", false, 11), -SearchName::new("monsterstew", "Item_Cook_L_01", false, 11), -SearchName::new("moonlightscimitar", "Weapon_Sword_030", false, 17), -SearchName::new("mushroomomelet", "Item_Cook_N_04", false, 14), -SearchName::new("mushroomriceballs", "Item_Cook_G_04", false, 17), -SearchName::new("mushroomrisotto", "Item_Cook_G_12", false, 15), -SearchName::new("mushroomskewer", "Item_Cook_A_01", false, 14), -SearchName::new("naborissemblem", "Obj_DLC_HeroSeal_Gerudo", false, 14), -SearchName::new("naydrasclaw", "Item_Enemy_50", true, 11), -SearchName::new("naydrasscale", "Item_Enemy_49", true, 12), -SearchName::new("nintendoswitchshirt", "Armor_170_Upper", false, 19), -SearchName::new("normalarrow", "NormalArrow", false, 11), -SearchName::new("nutcake", "Item_Cook_I_12", false, 7), -SearchName::new("octoballoon", "Item_Enemy_57", true, 11), -SearchName::new("octorokeyeball", "Item_Enemy_21", true, 14), -SearchName::new("octoroktentacle", "Item_Enemy_20", true, 15), -SearchName::new("oldshirt", "Armor_043_Upper", false, 8), -SearchName::new("omelet", "Item_Cook_A_10", false, 6), -SearchName::new("onehitobliteratoroho", "Weapon_Sword_502", false, 17), -SearchName::new("opal", "Item_Ore_E", true, 4), -SearchName::new("opalearrings", "Armor_028_Head", false, 12), -SearchName::new("palmfruit", "Item_Fruit_G", true, 9), -SearchName::new("paraglider", "PlayerStole2", false, 10), -SearchName::new("pepperseafood", "Item_Cook_D_08", false, 13), -SearchName::new("peppersteak", "Item_Cook_D_07", false, 11), -SearchName::new("phantomarmor", "Armor_171_Upper", false, 12), -SearchName::new("phantomganonarmor", "Armor_180_Upper", false, 17), -SearchName::new("phantomganongreaves", "Armor_180_Lower", false, 19), -SearchName::new("phantomganonskull", "Armor_180_Head", false, 17), -SearchName::new("phantomgreaves", "Armor_171_Lower", false, 14), -SearchName::new("phantomhelmet", "Armor_171_Head", false, 13), -SearchName::new("phrenicbow", "Weapon_Bow_029", false, 10), -SearchName::new("pictureofthechampions", "Get_TwnObj_DLC_MemorialPicture_A_01", false, 21), -SearchName::new("plaincrepe", "Item_Cook_I_10", false, 10), -SearchName::new("porgymeuniere", "Item_Cook_H_02", false, 13), -SearchName::new("potlid", "Weapon_Shield_040", false, 6), -SearchName::new("poultrycurry", "Item_Cook_J_04", false, 12), -SearchName::new("poultrypilaf", "Item_Cook_E_01", false, 12), -SearchName::new("primemeatandricebowl", "Item_Cook_G_06", false, 20), -SearchName::new("primemeatandseafoodfry", "Item_Cook_B_18", false, 22), -SearchName::new("primemeatcurry", "Item_Cook_J_07", false, 14), -SearchName::new("primemeatstew", "Item_Cook_K_02", false, 13), -SearchName::new("primepoultrycurry", "Item_Cook_J_05", false, 17), -SearchName::new("primepoultrypilaf", "Item_Cook_E_02", false, 17), -SearchName::new("primespicedmeatskewer", "Item_Cook_P_04", false, 21), -SearchName::new("pumpkinpie", "Item_Cook_I_06", false, 10), -SearchName::new("pumpkinstew", "Item_Cook_K_03", false, 11), -SearchName::new("radiantmask", "Armor_017_Head", false, 11), -SearchName::new("radiantshield", "Weapon_Shield_036", false, 13), -SearchName::new("radiantshirt", "Armor_017_Upper", false, 12), -SearchName::new("radianttights", "Armor_017_Lower", false, 13), -SearchName::new("ravioshood", "Armor_177_Head", false, 10), -SearchName::new("rawbirddrumstick", "Item_Meat_06", true, 16), -SearchName::new("rawbirdthigh", "Item_Meat_07", true, 12), -SearchName::new("rawgourmetmeat", "Item_Meat_11", true, 14), -SearchName::new("rawmeat", "Item_Meat_01", true, 7), -SearchName::new("rawprimemeat", "Item_Meat_02", true, 12), -SearchName::new("rawwholebird", "Item_Meat_12", true, 12), -SearchName::new("razorclawcrab", "Item_InsectGet_K", true, 13), -SearchName::new("razorshroom", "Item_Mushroom_L", true, 11), -SearchName::new("redchuchujelly", "Item_Enemy_15", true, 14), -SearchName::new("redlizalfostail", "Item_Enemy_41", true, 15), -SearchName::new("reinforcedlizalshield", "Weapon_Shield_008", false, 21), -SearchName::new("restlesscricket", "Animal_Insect_H", true, 15), -SearchName::new("revalisgale", "Obj_HeroSoul_Rito", false, 11), -SearchName::new("revalisgaleplus", "Obj_DLC_HeroSoul_Rito", false, 15), -SearchName::new("roastedacorn", "Item_Roast_48", false, 12), -SearchName::new("roastedarmoranth", "Item_Roast_28", false, 16), -SearchName::new("roastedbass", "Item_RoastFish_01", false, 11), -SearchName::new("roastedbigradish", "Item_Roast_19", false, 16), -SearchName::new("roastedbirddrumstick", "Item_Roast_02", false, 20), -SearchName::new("roastedbirdthigh", "Item_Roast_41", false, 16), -SearchName::new("roastedcarp", "Item_RoastFish_07", false, 11), -SearchName::new("roastedenduracarrot", "Item_Roast_50", false, 19), -SearchName::new("roastedheartybass", "Item_RoastFish_02", false, 17), -SearchName::new("roastedheartydurian", "Item_Roast_09", false, 19), -SearchName::new("roastedheartysalmon", "Item_RoastFish_04", false, 19), -SearchName::new("roastedhydromelon", "Item_Roast_12", false, 17), -SearchName::new("roastedlotusseeds", "Item_Roast_16", false, 17), -SearchName::new("roastedmightybananas", "Item_Roast_11", false, 20), -SearchName::new("roastedmightythistle", "Item_Roast_27", false, 20), -SearchName::new("roastedporgy", "Item_RoastFish_09", false, 12), -SearchName::new("roastedradish", "Item_Roast_18", false, 13), -SearchName::new("roastedswiftcarrot", "Item_Roast_24", false, 18), -SearchName::new("roastedtreenut", "Item_Roast_52", false, 14), -SearchName::new("roastedtrout", "Item_RoastFish_03", false, 12), -SearchName::new("roastedvoltfruit", "Item_Roast_08", false, 16), -SearchName::new("roastedwholebird", "Item_Roast_46", false, 16), -SearchName::new("roastedwildberry", "Item_Roast_07", false, 16), -SearchName::new("rockhardfood", "Item_Cook_O_02", false, 12), -SearchName::new("rocksalt", "Item_Ore_H", true, 8), -SearchName::new("royalbowrbow", "Weapon_Bow_036", false, 8), -SearchName::new("royalbridle", "GameRomHorseReins_02", false, 11), -SearchName::new("royalbroadswordroyalswordrsword", "Weapon_Sword_024", false, 15), -SearchName::new("royalclaymorerclaymore", "Weapon_Lsword_024", false, 13), -SearchName::new("royalguardboots", "Armor_179_Lower", false, 15), -SearchName::new("royalguardcap", "Armor_179_Head", false, 13), -SearchName::new("royalguardsbowrgbow", "Weapon_Bow_033", false, 14), -SearchName::new("royalguardsclaymorergclaymore", "Weapon_Lsword_047", false, 19), -SearchName::new("royalguardsshieldrgshield", "Weapon_Shield_033", false, 17), -SearchName::new("royalguardsspearrgspear", "Weapon_Spear_047", false, 16), -SearchName::new("royalguardsswordrgsword", "Weapon_Sword_047", false, 16), -SearchName::new("royalguarduniform", "Armor_179_Upper", false, 17), -SearchName::new("royalhalberd", "Weapon_Spear_024", false, 12), -SearchName::new("royalsaddle", "GameRomHorseSaddle_02", false, 11), -SearchName::new("royalshieldrshield", "Weapon_Shield_022", false, 11), -SearchName::new("rubberarmor", "Armor_046_Upper", false, 11), -SearchName::new("rubberhelm", "Armor_046_Head", false, 10), -SearchName::new("rubbertights", "Armor_046_Lower", false, 12), -SearchName::new("ruby", "Item_Ore_B", true, 4), -SearchName::new("rubycirclet", "Armor_025_Head", false, 11), -SearchName::new("rudaniasemblem", "Obj_DLC_HeroSeal_Goron", false, 14), -SearchName::new("ruggedrhinobeetle", "Animal_Insect_P", true, 17), -SearchName::new("rushroom", "Item_MushroomGet_D", true, 8), -SearchName::new("rustybroadsword", "Weapon_Sword_021", false, 15), -SearchName::new("rustyclaymore", "Weapon_Lsword_020", false, 13), -SearchName::new("rustyhalberd", "Weapon_Spear_021", false, 12), -SearchName::new("rustyshield", "Weapon_Shield_021", false, 11), -SearchName::new("rutasemblem", "Obj_DLC_HeroSeal_Zora", false, 11), -SearchName::new("salmonmeuniere", "Item_Cook_H_03", false, 14), -SearchName::new("salmonrisotto", "Item_Cook_G_14", false, 13), -SearchName::new("saltgrilledcrab", "Item_Cook_D_09", false, 15), -SearchName::new("saltgrilledfish", "Item_Cook_D_03", false, 15), -SearchName::new("saltgrilledgourmetmeat", "Item_Cook_D_06", false, 22), -SearchName::new("saltgrilledgreens", "Item_Cook_D_02", false, 17), -SearchName::new("saltgrilledmeat", "Item_Cook_D_04", false, 15), -SearchName::new("saltgrilledmushrooms", "Item_Cook_D_01", false, 20), -SearchName::new("saltgrilledprimemeat", "Item_Cook_D_05", false, 20), -SearchName::new("salvagerheadwear", "Armor_185_Head", false, 16), -SearchName::new("salvagertrousers", "Armor_185_Lower", false, 16), -SearchName::new("salvagervest", "Armor_185_Upper", false, 12), -SearchName::new("sandboots", "Armor_049_Lower", false, 9), -SearchName::new("sankecarp", "Item_FishGet_Z", true, 9), -SearchName::new("sapphire", "Item_Ore_C", true, 8), -SearchName::new("sapphirecirclet", "Armor_026_Head", false, 15), -SearchName::new("sauteednuts", "Item_Cook_B_22", false, 11), -SearchName::new("sauteedpeppers", "Item_Cook_B_21", false, 14), -SearchName::new("savagelynelbow", "Weapon_Bow_032", false, 14), -SearchName::new("savagelynelcrusher", "Weapon_Lsword_018", false, 18), -SearchName::new("savagelynelshield", "Weapon_Shield_018", false, 17), -SearchName::new("savagelynelspear", "Weapon_Spear_018", false, 16), -SearchName::new("savagelynelsword", "Weapon_Sword_018", false, 16), -SearchName::new("scimitaroftheseven", "Weapon_Sword_052", false, 18), -SearchName::new("seabreezeboomerang", "Weapon_Sword_059", false, 18), -SearchName::new("seafoodcurry", "Item_Cook_J_03", false, 12), -SearchName::new("seafoodfriedrice", "Item_Cook_G_10", false, 16), -SearchName::new("seafoodmeuniere", "Item_Cook_H_01", false, 15), -SearchName::new("seafoodpaella", "Item_Cook_N_01", false, 13), -SearchName::new("seafoodriceballs", "Item_Cook_G_02", false, 16), -SearchName::new("seafoodskewer", "Item_Cook_B_23", false, 13), -SearchName::new("searedgourmetsteak", "Item_Roast_45", false, 18), -SearchName::new("searedprimesteak", "Item_Roast_40", false, 16), -SearchName::new("searedsteak", "Item_Roast_01", false, 11), -SearchName::new("serpentinespear", "Weapon_Spear_037", false, 15), -SearchName::new("shardofdinraalsfang", "Item_Enemy_47", true, 19), -SearchName::new("shardofdinraalshorn", "Item_Enemy_48", true, 19), -SearchName::new("shardoffaroshsfang", "Item_Enemy_55", true, 18), -SearchName::new("shardoffaroshshornfaroshhorn", "Item_Enemy_56", true, 18), -SearchName::new("shardofnaydrasfang", "Item_Enemy_51", true, 18), -SearchName::new("shardofnaydrashorn", "Item_Enemy_52", true, 18), -SearchName::new("sheikahslate", "Obj_DRStone_Get", false, 12), -SearchName::new("sheiksmask", "Armor_220_Head", false, 10), -SearchName::new("shieldofthemindseye", "Weapon_Shield_041", false, 19), -SearchName::new("shockarrow", "ElectricArrow", false, 10), -SearchName::new("silentprincess", "Item_PlantGet_J", true, 14), -SearchName::new("silentshroom", "Item_Mushroom_J", true, 12), -SearchName::new("silverbow", "Weapon_Bow_014", false, 9), -SearchName::new("silverlongsword", "Weapon_Lsword_027", false, 15), -SearchName::new("silverscalespear", "Weapon_Spear_028", false, 16), -SearchName::new("silvershield", "Weapon_Shield_025", false, 12), -SearchName::new("simmeredfruit", "Item_Cook_B_02", false, 13), -SearchName::new("sizzlefintrout", "Item_FishGet_J", true, 14), -SearchName::new("smotherwingbutterfly", "Animal_Insect_AB", true, 20), -SearchName::new("sneakyriverescargot", "Item_RoastFish_13", false, 19), -SearchName::new("sneakyriversnail", "Item_FishGet_M", true, 16), -SearchName::new("snowboots", "Armor_140_Lower", false, 9), -SearchName::new("snowquillheaddress", "Armor_009_Head", false, 18), -SearchName::new("snowquilltrousers", "Armor_009_Lower", false, 17), -SearchName::new("snowquilltunic", "Armor_009_Upper", false, 14), -SearchName::new("soldiersarmor", "Armor_020_Upper", false, 13), -SearchName::new("soldiersbowsoldierbow", "Weapon_Bow_002", false, 11), -SearchName::new("soldiersbroadswordsoldiersword", "Weapon_Sword_002", false, 18), -SearchName::new("soldiersclaymoresoldierclaymore", "Weapon_Lsword_002", false, 16), -SearchName::new("soldiersgreaves", "Armor_020_Lower", false, 15), -SearchName::new("soldiershelm", "Armor_020_Head", false, 12), -SearchName::new("soldiersshield", "Weapon_Shield_002", false, 14), -SearchName::new("soldiersspear", "Weapon_Spear_002", false, 13), -SearchName::new("soupladle", "Weapon_Sword_022", false, 9), -SearchName::new("spicedmeatskewer", "Item_Cook_P_03", false, 16), -SearchName::new("spicypepper", "Item_Fruit_I", true, 11), -SearchName::new("spikedbokobat", "Weapon_Lsword_005", false, 13), -SearchName::new("spikedbokobow", "Weapon_Bow_003", false, 13), -SearchName::new("spikedbokoclub", "Weapon_Sword_005", false, 14), -SearchName::new("spikedbokoshield", "Weapon_Shield_005", false, 16), -SearchName::new("spikedbokospear", "Weapon_Spear_005", false, 15), -SearchName::new("spikedmoblinclub", "Weapon_Lsword_011", false, 16), -SearchName::new("spikedmoblinspear", "Weapon_Spear_011", false, 17), -SearchName::new("spiritorb", "Obj_DungeonClearSeal", false, 9), -SearchName::new("springloadedhammer", "Weapon_Sword_040", false, 18), -SearchName::new("stamellashroom", "Item_Mushroom_A", true, 14), -SearchName::new("staminokabass", "Item_FishGet_L", true, 13), -SearchName::new("starfragment", "Item_Ore_J", true, 12), -SearchName::new("stealthchestguard", "Armor_012_Upper", false, 17), -SearchName::new("stealthfintrout", "Item_FishGet_X", true, 15), -SearchName::new("stealthmask", "Armor_012_Head", false, 11), -SearchName::new("stealthtights", "Armor_012_Lower", false, 13), -SearchName::new("steamedfish", "Item_Cook_A_04", false, 11), -SearchName::new("steamedfruit", "Item_Cook_A_03", false, 12), -SearchName::new("steamedmeat", "Item_Cook_A_05", false, 11), -SearchName::new("steamedmushrooms", "Item_Cook_A_02", false, 16), -SearchName::new("steellizalbow", "Weapon_Bow_030", false, 13), -SearchName::new("steellizalshield", "Weapon_Shield_009", false, 16), -SearchName::new("stonesmasher", "Weapon_Lsword_037", false, 12), -SearchName::new("strengthenedlizalbow", "Weapon_Bow_011", false, 20), -SearchName::new("summerwingbutterfly", "Animal_Insect_Q", true, 19), -SearchName::new("sunsetfirefly", "Animal_Insect_E", true, 13), -SearchName::new("sunshroom", "Item_Mushroom_C", true, 9), -SearchName::new("swallowbow", "Weapon_Bow_016", false, 10), -SearchName::new("swiftcarrot", "Item_PlantGet_M", true, 11), -SearchName::new("swiftviolet", "Item_PlantGet_O", true, 11), -SearchName::new("sword", "Weapon_Sword_058", false, 5), -SearchName::new("swordofthesixsages", "Weapon_Lsword_057", false, 18), -SearchName::new("tabanthawheat", "Item_Material_07", true, 13), -SearchName::new("throwingspear", "Weapon_Spear_030", false, 13), -SearchName::new("thunderblade", "Weapon_Sword_035", false, 12), -SearchName::new("thunderhelm", "Armor_115_Head", false, 11), -SearchName::new("thunderhelmkey", "Obj_Armor_115_Head", false, 14), -SearchName::new("thunderspear", "Weapon_Spear_035", false, 12), -SearchName::new("thunderstormrod", "Weapon_Sword_050", false, 15), -SearchName::new("thunderwingbutterfly", "Animal_Insect_R", true, 20), -SearchName::new("tingleshood", "Armor_174_Head", false, 11), -SearchName::new("tinglesshirt", "Armor_174_Upper", false, 12), -SearchName::new("tinglestights", "Armor_174_Lower", false, 13), -SearchName::new("tirelessfrog", "Animal_Insect_B", true, 12), -SearchName::new("toastedbigheartytruffle", "Item_Roast_49", false, 23), -SearchName::new("toastedheartytruffle", "Item_Roast_05", false, 20), -SearchName::new("toastychillshroom", "Item_Roast_31", false, 17), -SearchName::new("toastyendurashroom", "Item_Roast_53", false, 18), -SearchName::new("toastyhylianshroom", "Item_Roast_06", false, 18), -SearchName::new("toastyironshroom", "Item_Roast_38", false, 16), -SearchName::new("toastyrazorshroom", "Item_Roast_37", false, 17), -SearchName::new("toastyrushroom", "Item_Roast_36", false, 14), -SearchName::new("toastysilentshroom", "Item_Roast_39", false, 18), -SearchName::new("toastystamellashroom", "Item_Roast_04", false, 20), -SearchName::new("toastysunshroom", "Item_Roast_32", false, 15), -SearchName::new("toastyzapshroom", "Item_Roast_33", false, 15), -SearchName::new("topaz", "Item_Ore_D", true, 5), -SearchName::new("topazearrings", "Armor_027_Head", false, 13), -SearchName::new("torch", "Weapon_Sword_043", false, 5), -SearchName::new("travelersbowtravellerbow", "Weapon_Bow_001", false, 12), -SearchName::new("travelersbridle", "GameRomHorseReins_01", false, 15), -SearchName::new("travelersclaymoretravelerclaymore", "Weapon_Lsword_001", false, 17), -SearchName::new("travelerssaddle", "GameRomHorseSaddle_01", false, 15), -SearchName::new("travelersshield", "Weapon_Shield_035", false, 15), -SearchName::new("travelersspear", "Weapon_Spear_001", false, 14), -SearchName::new("travelersswordtravelersword", "Weapon_Sword_001", false, 14), -SearchName::new("travelmedallion", "Obj_WarpDLC", false, 15), -SearchName::new("treebranch", "Weapon_Sword_044", false, 10), -SearchName::new("trousersofthehero", "Armor_230_Lower", false, 17), -SearchName::new("trousersofthesky", "Armor_215_Lower", false, 16), -SearchName::new("trousersofthewild", "Armor_005_Lower", false, 17), -SearchName::new("trousersofthewind", "Armor_205_Lower", false, 17), -SearchName::new("trousersoftime", "Armor_200_Lower", false, 14), -SearchName::new("trousersoftwilight", "Armor_210_Lower", false, 18), -SearchName::new("tunicofthehero", "Armor_230_Upper", false, 14), -SearchName::new("tunicofthesky", "Armor_215_Upper", false, 13), -SearchName::new("tunicofthewild", "Armor_005_Upper", false, 14), -SearchName::new("tunicofthewind", "Armor_205_Upper", false, 14), -SearchName::new("tunicoftime", "Armor_200_Upper", false, 11), -SearchName::new("tunicoftwilight", "Armor_210_Upper", false, 15), -SearchName::new("twilightbow", "Weapon_Bow_072", false, 11), -SearchName::new("urbosasfury", "Obj_HeroSoul_Gerudo", false, 11), -SearchName::new("urbosasfuryplus", "Obj_DLC_HeroSoul_Gerudo", false, 15), -SearchName::new("vahmedohdivinehelm", "Armor_182_Head", false, 18), -SearchName::new("vahnaborisdivinehelm", "Armor_168_Head", false, 20), -SearchName::new("vahrudaniadivinehelm", "Armor_183_Head", false, 20), -SearchName::new("vahrutadivinehelm", "Armor_181_Head", false, 17), -SearchName::new("vegetablecurry", "Item_Cook_J_02", false, 14), -SearchName::new("vegetableomelet", "Item_Cook_N_03", false, 15), -SearchName::new("vegetablerisotto", "Item_Cook_G_13", false, 16), -SearchName::new("veggiecreamsoup", "Item_Cook_F_03", false, 15), -SearchName::new("veggiericeballs", "Item_Cook_G_03", false, 15), -SearchName::new("vicioussickle", "Weapon_Sword_053", false, 13), -SearchName::new("voltfintrout", "Item_FishGet_D", true, 12), -SearchName::new("voltfruit", "Item_Fruit_C", true, 9), -SearchName::new("warmdarner", "Animal_Insect_T", true, 10), -SearchName::new("warmdoublet", "Armor_044_Upper", false, 11), -SearchName::new("warmmilk", "Item_Cook_K_09", false, 8), -SearchName::new("warmsafflina", "Item_PlantGet_F", true, 12), -SearchName::new("wellworntrousers", "Armor_043_Lower", false, 16), -SearchName::new("wheatbread", "Item_Cook_M_01", false, 10), -SearchName::new("whitechuchujelly", "Item_Enemy_17", true, 16), -SearchName::new("wildberry", "Item_Fruit_B", true, 9), -SearchName::new("wildberrycrepe", "Item_Cook_I_11", false, 14), -SearchName::new("windcleaver", "Weapon_Lsword_074", false, 11), -SearchName::new("winterwingbutterfly", "Animal_Insect_N", true, 19), -SearchName::new("wood", "Obj_FireWoodBundle", true, 4), -SearchName::new("woodcuttersaxe", "Weapon_Lsword_032", false, 14), -SearchName::new("woodenbow", "Weapon_Bow_038", false, 9), -SearchName::new("woodenmop", "Weapon_Spear_036", false, 9), -SearchName::new("woodenshield", "Weapon_Shield_001", false, 12), -SearchName::new("yellowchuchujelly", "Item_Enemy_16", true, 17), -SearchName::new("yellowlizalfostail", "Item_Enemy_43", true, 18), -SearchName::new("zantshelmet", "Armor_178_Head", false, 11), -SearchName::new("zapshroom", "Item_Mushroom_H", true, 9), -SearchName::new("zoraarmor", "Armor_006_Upper", false, 9), -SearchName::new("zoragreaves", "Armor_006_Lower", false, 11), -SearchName::new("zorahelm", "Armor_006_Head", false, 8), -SearchName::new("zoraspear", "Weapon_Spear_027", false, 9), -SearchName::new("zorasword", "Weapon_Sword_027", false, 9), -]; diff --git a/packages/runtime/src/lib.rs b/packages/runtime/src/lib.rs index 3096f3e..6f15c2f 100644 --- a/packages/runtime/src/lib.rs +++ b/packages/runtime/src/lib.rs @@ -5,13 +5,6 @@ use blueflame::{error::Error, memory::{Memory, Proxies}}; mod scheduler; use scheduler::Scheduler; -mod armor_upgrade_gen; -mod item_name_gen; -mod item_name; -pub mod cook_effect_name; - -pub mod item_search; - pub struct Runtime { scheduler: S, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3ca1e6f..c67ae50 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,6 +6,12 @@ settings: catalogs: default: + '@fluentui/react-components': + specifier: ^9.58.2 + version: 9.58.2 + '@fluentui/react-icons': + specifier: ^2.0.271 + version: 2.0.271 '@griffel/react': specifier: ^1.5.29 version: 1.5.29 @@ -105,6 +111,52 @@ importers: specifier: 'catalog:' version: 5.4.14 + packages/item-system: + dependencies: + '@fluentui/react-components': + specifier: 'catalog:' + version: 9.58.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': + specifier: 'catalog:' + version: 2.0.271(react@18.3.1) + botw-item-assets: + specifier: workspace:* + version: link:../item-assets + react: + specifier: 'catalog:' + version: 18.3.1 + react-dom: + specifier: 'catalog:' + version: 18.3.1(react@18.3.1) + skybook-localization: + specifier: workspace:* + version: link:../localization + devDependencies: + '@modyfi/vite-plugin-yaml': + specifier: 'catalog:' + version: 1.1.0(rollup@4.31.0)(vite@5.4.14) + '@types/react': + specifier: 'catalog:' + version: 18.3.18 + '@types/react-dom': + specifier: 'catalog:' + version: 18.3.5(@types/react@18.3.18) + '@vitejs/plugin-react': + specifier: 'catalog:' + version: 4.3.4(vite@5.4.14) + eslint: + specifier: 'catalog:' + version: 9.18.0 + mono-dev: + specifier: workspace:* + version: link:../mono-dev + typescript: + specifier: 'catalog:' + version: 5.7.3 + vite: + specifier: 'catalog:' + version: 5.4.14 + packages/localization: dependencies: '@pistonite/pure': @@ -438,6 +490,520 @@ packages: resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@floating-ui/core@1.6.9': + resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} + + '@floating-ui/devtools@0.2.1': + resolution: {integrity: sha512-8PHJLbD6VhBh+LJ1uty/Bz30qs02NXCE5u8WpOhSewlYXUWl03GNXknr9AS2yaAWJEQaY27x7eByJs44gODBcw==} + peerDependencies: + '@floating-ui/dom': '>=1.5.4' + + '@floating-ui/dom@1.6.13': + resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==} + + '@floating-ui/utils@0.2.9': + resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} + + '@fluentui/keyboard-keys@9.0.8': + resolution: {integrity: sha512-iUSJUUHAyTosnXK8O2Ilbfxma+ZyZPMua5vB028Ys96z80v+LFwntoehlFsdH3rMuPsA8GaC1RE7LMezwPBPdw==} + + '@fluentui/priority-overflow@9.1.14': + resolution: {integrity: sha512-tIH8EhvjZF4MhxSjqrWOyodrQQW+RlVZqxuNFQF5OWRdSqcIK8g+Z+UbC5fYHQooCgVsthk2mFurfGMKFtf9ug==} + + '@fluentui/react-accordion@9.5.14': + resolution: {integrity: sha512-mS9NHxeZn3WwRR0T/D7JKfLY2QEksCewrZIcSvYdgyPmlJCyd71YlkICn3PIvZIpySpoSEA/dqwWTYcC8cU8Zg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-alert@9.0.0-beta.124': + resolution: {integrity: sha512-yFBo3B5H9hnoaXxlkuz8wRz04DEyQ+ElYA/p5p+Vojf19Zuta8DmFZZ6JtWdtxcdnnQ4LvAfC5OYYlzdReozPA==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-aria@9.13.14': + resolution: {integrity: sha512-+RbBh5sTJ9CguPfj9Bw6AUgTC05ts2XqBepNFZ3H51rZMF3PB/YCPftebmySIW6jp1ZbJ10EtQZ/EqJqgJH7YQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-avatar@9.6.50': + resolution: {integrity: sha512-xhgOIm9l/yPsSbMvwWOk1LbylcoYGsWotghgX8Nurgek4wST+xzegIogKr7PHIEid1InMgzHJmwqZxPtYvpFtw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-badge@9.2.50': + resolution: {integrity: sha512-rMptIUeUWwbTvzSo917GOVDY5nKeNbcSfvtvop54zrFNrcMicAZIfrJK8fB1hFggT2cuaiI9qWdWuSTd+q1LZw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-breadcrumb@9.0.51': + resolution: {integrity: sha512-MbENUOemhk67clcnrZXXTNITyDqbbO0xWx7dxeaygM/Cu0DmRer9UYs1V5z5ExT+xrwgYXVvPyODqDyeWwGBgQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-button@9.3.101': + resolution: {integrity: sha512-FHGtiQW4vNb8M1JvOTEfmzEpwZgc4yMhPPIMprfDELMIkKI1iZWK43tBOaYTb4az3M8m1Vv5UqL+kQoc/1PAyw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-card@9.0.103': + resolution: {integrity: sha512-jv8KQMXOYlEaKns8T6a1sQ3lzM/jCL4epR4/7Avt21ysBRrJU+mMZ69nOZA45Wz6eVFootGjks8O7wwjIb2J3g==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-carousel@9.4.6': + resolution: {integrity: sha512-LpVcav9oF0iKiSqmjw9mXUKafvgxhO2snKJjNkoNs46DB15twpA+d+i3HZPYhm4qKMVdHnvbO7d+6iIirbvgvg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-checkbox@9.2.47': + resolution: {integrity: sha512-3XETLtPUpRpztQphWZ4Md/pqkDDcE2CqH0gVAEUb7rnLHfimrRvDC+tlccKmqvlK3QoPfX2oDy3nvz/YwxWoTg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-combobox@9.13.18': + resolution: {integrity: sha512-t1sF+TpC0BGwSxY0FSM4GUUyo+ToLgWNyt80usoOe6j4vIP1N6O2JSaWg5/+24mn+whnsheyDTby5kpmyI1rwg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-components@9.58.2': + resolution: {integrity: sha512-8gikFFqaRKtkh/AjBGk+8Mn0AyR/SM4dt7RVmfaJdE2NKlQVxIfJOLKwpqYhrQS3z4jOSlH5MQFRiFT5Y1hz4w==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-context-selector@9.1.72': + resolution: {integrity: sha512-n9M7o81fuIzKuvrzdOK9Rcc+SyYg9hkr0bXhdclTHWKBYw2RgIEzXuld1qL3+gOFcSYS6AoNKpqrd9mithWYpw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + scheduler: '>=0.19.0 <=0.23.0' + + '@fluentui/react-dialog@9.11.30': + resolution: {integrity: sha512-PbK/6GTjWYDLr0J1u5jBPrMYN2lhKJ0zxpHkl+TPULNcRMBSweoEAcRTF2+cdy3aLmyxZrP89viLzTqz5gn+hw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-divider@9.2.82': + resolution: {integrity: sha512-U3krzGswRxpFgMkXafkl12+R7R1SeX+JdTZpw8SMnvQsBroEWgy6hq8bWhh8AFUcqCoHIbieBOrRFV68pvIvGg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-drawer@9.6.10': + resolution: {integrity: sha512-ZxzQnT3IZuz/YSNseNkUmywmn0XEF8VtVd60a9c16F8JaSDH+FQaoSnE8bH+ccy1RggnKKCBQ2JyqmHBClIS3A==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-field@9.1.86': + resolution: {integrity: sha512-InM4y61PzKp2Y17VdkXYTHKLJhEZLYW0roeBDxMwUbnII059RtC/O30zBIS6n4Cn1+/y1tMZK6NEjTcI1HIVmQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-icons@2.0.271': + resolution: {integrity: sha512-I5rFvmZTzf1OQduU5Lal8yNMFcjCsfLnFDEwYjpwTdcyAPoIY2MTZMb4hCbGoohAreQL4cbItkWugxZc7N1wdw==} + peerDependencies: + react: '>=16.8.0 <19.0.0' + + '@fluentui/react-image@9.1.80': + resolution: {integrity: sha512-Vw6cPJaGSGy9usjXxaK0If9Ow3wo0e2yUIsKRWpWtiX7CTwENGP7N6WYbJFw26gY4AVer/S9bfGlen/gqq3cHg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-infobutton@9.0.0-beta.102': + resolution: {integrity: sha512-3kA4F0Vga8Ds6JGlBajLCCDOo/LmPuS786Wg7ui4ZTDYVIMzy1yp2XuVcZniifBFvEp0HQCUoDPWUV0VI3FfzQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-infolabel@9.0.57': + resolution: {integrity: sha512-jIDJvV1Zzqc6gbD+JWGx2xMmoS9dO0pjMC17tlx1oNpmYe0rBdzu7BJqZrEt+uVt/wFUh39YinrPdhtQdQaXIg==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + + '@fluentui/react-input@9.4.99': + resolution: {integrity: sha512-6TEjYtw+PSgkbudNjmAlGgxO5ZQUqrYk0AVlulB202MwKflJ+2A8XcHC5aMuLUI4xRrLWRoYwZTzgxiXa2obsQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-jsx-runtime@9.0.50': + resolution: {integrity: sha512-dnelPmz0x591tr58B/jbIHVzgjWskMkBmWEvZJc2rlbGH1oZl+MPJqvVdOAMvLTKJzqVmNkeSDtQmkjzjccogA==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + + '@fluentui/react-label@9.1.83': + resolution: {integrity: sha512-XJF78Vwn4sSRJUyWcTj/F6hJVcHlPozDBcGWipMpnFgKBljuVmE2sg581CUGKn4AOTa9/blc81DLv0AE3itNtQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-link@9.3.7': + resolution: {integrity: sha512-kjl/TjFO66ROFFXL9FExmoTYWgIb/p6pKqXA+eGTaQZ+7S1qTAKma0cTQtjnqAfj7UcimnWLLmXnlWaXx4FixA==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-list@9.0.2': + resolution: {integrity: sha512-bXwwkzayFMwXPldwZSAQWkhQIUJyPoBYKUpDU+e1Z4wHod8mkTspWqoUTZHkL+t2zLMGR7v9c5PqyjSeYVhXYw==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + + '@fluentui/react-menu@9.15.0': + resolution: {integrity: sha512-G/WhGTrhQpoa0nbzEEQB8aK4pvtYym2m/sMeN9+fLFVZzAv9hyigzTwaSouQUoMfvIj2bmw5lcfXBKgJ4Rzreg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-message-bar@9.3.2': + resolution: {integrity: sha512-mo4/Pon3xJlWgavpeDBrfIijA3niP7D2OCAOZ5RrS5klrX5VkTSH/Zocp6GIUywGpkTDk5DcXHemQ3iiLIIWIg==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + + '@fluentui/react-motion-components-preview@0.4.3': + resolution: {integrity: sha512-g6ACukFXcZ8TFYP30WnVjkvRuQkkx2Q48jI7TowTsJBQg01FFT4w22ii5s2ABuO6L1TR02kAL3wvvo5O2KP5Ew==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-motion@9.6.7': + resolution: {integrity: sha512-xvNsN8n7e7OOMnNK1ynIZcREpoYY+97WuI+qnEiqkwJWKA+WzWYN+ydvH7IFI1PV7wz7qhyXUga5L10CjFeCAA==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + + '@fluentui/react-overflow@9.2.8': + resolution: {integrity: sha512-x9RsbQWFv8cgJ8scU6G61IVltliiY/07TT3t1nNtHBJP3tECttphn6EmJHIaKwmCpNzLq8pCYobj8/GxGZ0Kkw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-persona@9.2.109': + resolution: {integrity: sha512-APEuGmInsWTojToruDJ41cjx0qTvOFAozPe1NC3itS3QIBeaz1YHkj/72QKCfSQHpqa2b5bjK6WN9/bBjIAOjA==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-popover@9.9.32': + resolution: {integrity: sha512-8bEjFqWokvk8oB408ZRerGx/+1r+rHB/+KBodBVt8BBlv20Zb4WZbPTN7zt4N1rlkIyFbf4v5otGJCO36PTOGw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-portal@9.4.42': + resolution: {integrity: sha512-x7mH9Y4/ziHKGAL+NnJGJdlH/eqBGpqNRbFLCyAithcpS1TCCROzyTzSxli0f8BcZGy9GMDoxIN9wiHP4wZf/A==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-positioning@9.16.3': + resolution: {integrity: sha512-z8phNPD0BhREOPsqt4iMsIvzzkBbfuA3TaXwQeLhM0imISWBnctTAaLjDZDQno/Bt/pbEd+qulPV7fagL20tWQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-progress@9.1.97': + resolution: {integrity: sha512-tVqm64vnFNJJygLHPo+ul3CR2fWo0/mwGdUVkvzyQKi6PMNuSHzRAQjrj09c0S12+vbOxuxgpICBQNYw8xzXUw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-provider@9.19.0': + resolution: {integrity: sha512-fha+QqD7JW3eo+rLOYvfROOkiSLotH7NnpfJ67EBHIh5JGAn3KyiSJj42RvFTo05LyQGYXME6oQ5yitbDT5YIg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-radio@9.2.42': + resolution: {integrity: sha512-Tk84/6THneFTInCoXxLuCR/wGogPX40eScoKzrqD82oTlDmLfgaiWM6hh5VsLSLyhnarINVjkaP6ZFqD8lRfZA==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-rating@9.0.28': + resolution: {integrity: sha512-eEU9NeYDg6qTw/6kev8uvfOs0wG3obwFQ14Aix64dZngaG+t00VuCiCSvAs7GpR6ofRwQljqTzWyylmD8Q4m3w==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + + '@fluentui/react-search@9.0.29': + resolution: {integrity: sha512-RJKwdomLYpgj11tyS8aqtb1wfuOesl3ZA/E3q/Uj3eNNu6hqT676cxrOwlWSBUYNCYbZbKhFQcoKXQGqB+FBHg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-select@9.1.97': + resolution: {integrity: sha512-tdhakc4UC+jtWHw7/wuYo71zzszukSGdpjl6AYUs0Edxm9LZzJ/zLWEr1y1/OpDZiXnjOcTABzfBc2simRN9VQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-shared-contexts@9.21.2': + resolution: {integrity: sha512-5hw9CfCmKaEbxmFi+ZF4EZzYWFKrfRLq9pXFIoJWprP1D3ZAds/ymtIOG/CsJzig8zQ1LQ3cNSUzNB75XWg6IQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + + '@fluentui/react-skeleton@9.1.26': + resolution: {integrity: sha512-vrFaHRF4DuJneAjRSklb27qICVY3yGETQNv0AFS3IRjb8iwS7gWg5aI9Viy9Su7Zg9lIKes4teAafdkjvLUoyg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-slider@9.2.6': + resolution: {integrity: sha512-YHdoKLeyvImc9DH7waJ8cbmVJ7yJI9arqdw+ZuHXLIJoSa5zBrYf7hUfk/GA3M6BQ+kMcTDEkUyRgy7Db80UBQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-spinbutton@9.2.98': + resolution: {integrity: sha512-fJx+a45jTLJs/O5CVum950c8qRLRDirXi+myJHlVF9CyyjXABmosd43WUxa/zQ8H4spSWxKOo4pgUBwST2hYbA==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-spinner@9.5.7': + resolution: {integrity: sha512-DdfQAbdiz50V2DqRSX1MfN6ehw+9etcLysueSeH2n1PnpZ8TVEZYrJzBW608S/bCWrR8OAEVoY/3W/nDjwf8qw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-swatch-picker@9.1.20': + resolution: {integrity: sha512-XJ5OKBSjQyXxTJjkNm9Orfc3ypDUn56Ylbmx2njOa8xxy4TBov/B0x5/mk++qCgYVgh0MUdf8ugpeYuXPabjRA==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + + '@fluentui/react-switch@9.1.104': + resolution: {integrity: sha512-MKw9hUPLNVSOkQlYr4QHTymU2R7MVwaAFDFRhT6q45POL/YbbJnSBJCtkkPuc5qMQN62RkarMkOTdLhzxJPe6Q==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-table@9.15.29': + resolution: {integrity: sha512-z38vjSJGKqRCCtI9oAzyIO2A15Kre5JAlLr73vE+v4n0bbrIvtpfBi5eQ2CbpyCIWBPO5LKTTNupd267rcu4yg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-tabs@9.6.7': + resolution: {integrity: sha512-7EFDetqfGBb8X0aVBSIB6Ab9V9NiBhju3NqlW9zN8nvXovzkhjTtSY6LOxEdWHEl8NFTW8jQsBpiJTcM+oe8zw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-tabster@9.23.3': + resolution: {integrity: sha512-sGLePr6QmUbYq/rGkaE6MUTRCFucY5HphKEvWoB8ec32btQmAsMlv9YT5BzJ+YQ2Byc39mm1Uthz/Pw5H+tCpA==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-tag-picker@9.4.2': + resolution: {integrity: sha512-etdXfX+ANDY1s30I8X6xrI5XgVZrlvUahmCgagohlUW6YW6fh+7CJm4PGNrfxgUYCLGmqSPZfzTv2Cd3KE9ung==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-tags@9.3.30': + resolution: {integrity: sha512-EyGhog+wUuPhrMleDe0RpvzZMagsPz8y9xU572CbMbk0B8HKe9NV7I2YoHn9ITQInu2l2c0FPbS+eneqcbO+0w==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-teaching-popover@9.2.3': + resolution: {integrity: sha512-bLpdhgbUxkHQMo2F09sSykdcwiKLIf3iorQVMFmkscJKgUpM50s+LwNXl8gz/Lrpl+I++voOqgTRwzzLnqcodA==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + + '@fluentui/react-text@9.4.32': + resolution: {integrity: sha512-unEqjCSX8MjcW7+ZavEZ2D+JYM8DEpkIlgNb8lF1ye/ACqTQINKFEc9ShAeXIk/1yVNlA02P3pjbHOWL2Vgwhg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-textarea@9.3.98': + resolution: {integrity: sha512-dsdASrLG7XgELMB8ddQgHaOU5vN1G+YAgXqFvFXn1IkQZCz439lxnSKyzmMSRhrsg2IPOZNOPiwILj8GOJGgXQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-theme@9.1.24': + resolution: {integrity: sha512-OhVKYD7CMYHxzJEn4PtIszledj8hbQJNWBMfIZsp4Sytdp9vCi0txIQUx4BhS1WqtQPhNGCF16eW9Q3NRrnIrQ==} + + '@fluentui/react-toast@9.3.65': + resolution: {integrity: sha512-rQ3jvvKWjankXpjyrazRtw56pPR7sWF9QF81z7mMdTsIdPpyZTclHJ7tYShk2Qzt0s+WglNO7k4qXw/txemA9w==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-toolbar@9.2.17': + resolution: {integrity: sha512-33aNufE6yd2gt1Do7hBbkPSY0HhsmbRZ4SHAG26ddD4IcOlOtF3IY+lLnenEbSKumLD3Juwa6qfm27bgdTCLxg==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-tooltip@9.5.5': + resolution: {integrity: sha512-+cA6BRu04LIJEIifnQzL0N0mEkkPOty3LysFklsXSDGKa4kJ1NKgLqbAZivcRPh0pX0Xleq+pCYfB5TI6s7uTw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-tree@9.9.2': + resolution: {integrity: sha512-ToIR8rdOJtvHdlBiMWOJ/ERul+prK2dv63VEbvr4HSXZ0uP0bfRQHOtMNRYjYbJcze6UgADMMtVuYCxJga0gZQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/react-utilities@9.18.20': + resolution: {integrity: sha512-4uIgf4e4yP1HWAQapFQKNN88+L88NqbzXyQPf+NWE9lmP5xRyyMePKRX7i4PcJFdSt7lN4BYvwUxJ7DkQ/Npnw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + + '@fluentui/react-virtualizer@9.0.0-alpha.91': + resolution: {integrity: sha512-ZbI1D4vT493B7YVuaghOed+IDqpaF+BQjL6RwJEL4fTRdiaD1KOJ30JbmyJlSj+9iTWWrhANhXN/4mQx1tBA9A==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + + '@fluentui/tokens@1.0.0-alpha.21': + resolution: {integrity: sha512-xQ1T56sNgDFGl+kJdIwhz67mHng8vcwO7Dvx5Uja4t+NRULQBgMcJ4reUo4FGF3TjufHj08pP0/OnKQgnOaSVg==} + '@griffel/core@1.19.1': resolution: {integrity: sha512-ZItAAOm8YH1FW0ebzOxS3jwENqd+Dz4CGiPEdgkL4kr7D6mBpjjBbQC6VRXxnA+VqHeEQGy69Ll4M1peY8MX/g==} @@ -620,6 +1186,9 @@ packages: cpu: [x64] os: [win32] + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -881,6 +1450,19 @@ packages: electron-to-chromium@1.5.88: resolution: {integrity: sha512-K3C2qf1o+bGzbilTDCTBhTQcMS9KW60yTAaTeeXsfvQuTDDwlokLam/AdqlqcSy9u4UainDgsHV23ksXAOgamw==} + embla-carousel-autoplay@8.5.2: + resolution: {integrity: sha512-27emJ0px3q/c0kCHCjwRrEbYcyYUPfGO3g5IBWF1i7714TTzE6L9P81V6PHLoSMAKJ1aHoT2e7YFOsuFKCbyag==} + peerDependencies: + embla-carousel: 8.5.2 + + embla-carousel-fade@8.5.2: + resolution: {integrity: sha512-QJ46Xy+mpijjquQeIY0d0sPSy34XduREUnz7tn1K20hcKyZYTONNIXQZu3GGNwG59cvhMqYJMw9ki92Rjd14YA==} + peerDependencies: + embla-carousel: 8.5.2 + + embla-carousel@8.5.2: + resolution: {integrity: sha512-xQ9oVLrun/eCG/7ru3R+I5bJ7shsD8fFwLEY7yPe27/+fDHCNj0OT5EoG5ZbFyOxOcG6yTwW8oTz/dWyFnyGpg==} + es-abstract@1.23.9: resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} engines: {node: '>= 0.4'} @@ -1327,6 +1909,9 @@ packages: kasi@1.1.1: resolution: {integrity: sha512-pzBwGWFIjf84T/8aD0XzMli1T3Ckr/jVLh6v0Jskwiv5ehmcgDM+vpYFSk8WzGn4ed4HqgaifTgQUHzzZHa+Qw==} + keyborg@2.6.0: + resolution: {integrity: sha512-o5kvLbuTF+o326CMVYpjlaykxqYP9DphFQZ2ZpgrvBouyvOxyEB7oqe8nOLFpiV5VCtz0D3pt8gXQYWpLpBnmA==} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -1520,6 +2105,9 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} @@ -1672,6 +2260,9 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + tabster@8.3.0: + resolution: {integrity: sha512-Y1IKWVe0Xk1P8WLSL+Wj+1jkov69OLST6crAG86ye35WM4mLhr/IeW7vIF+8oQKLNPf0FQ7F1lg5cmXUAQeSdA==} + tiny-bin@1.10.2: resolution: {integrity: sha512-zsxzzGBJowuhDQ/QUTqCYNxBEurjILd3o6m0Wawxzfn64+XYo81hD8dv7u5pWg3fWn5Y1cn5PmltlqIvWzIysQ==} @@ -1770,6 +2361,19 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + use-disposable@1.0.4: + resolution: {integrity: sha512-j83t6AMLWUyb5zwlTDqf6dP9LezM9R0yTbI/b6olmdaGtCKQUe9pgJWV6dRaaQLcozypjIEp4EmZr2DkZGKLSg==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + + use-sync-external-store@1.4.0: + resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + vite@5.4.14: resolution: {integrity: sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -2100,6 +2704,1117 @@ snapshots: '@eslint/core': 0.10.0 levn: 0.4.1 + '@floating-ui/core@1.6.9': + dependencies: + '@floating-ui/utils': 0.2.9 + + '@floating-ui/devtools@0.2.1(@floating-ui/dom@1.6.13)': + dependencies: + '@floating-ui/dom': 1.6.13 + + '@floating-ui/dom@1.6.13': + dependencies: + '@floating-ui/core': 1.6.9 + '@floating-ui/utils': 0.2.9 + + '@floating-ui/utils@0.2.9': {} + + '@fluentui/keyboard-keys@9.0.8': + dependencies: + '@swc/helpers': 0.5.15 + + '@fluentui/priority-overflow@9.1.14': + dependencies: + '@swc/helpers': 0.5.15 + + '@fluentui/react-accordion@9.5.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-motion': 9.6.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-motion-components-preview': 0.4.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-alert@9.0.0-beta.124(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-avatar': 9.6.50(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-button': 9.3.101(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-aria@9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-avatar@9.6.50(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-badge': 9.2.50(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-popover': 9.9.32(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-tooltip': 9.5.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-badge@9.2.50(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-breadcrumb@9.0.51(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-button': 9.3.101(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-link': 9.3.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-button@9.3.101(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-card@9.0.103(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-text': 9.4.32(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-carousel@9.4.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-button': 9.3.101(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + embla-carousel: 8.5.2 + embla-carousel-autoplay: 8.5.2(embla-carousel@8.5.2) + embla-carousel-fade: 8.5.2(embla-carousel@8.5.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-checkbox@9.2.47(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-label': 9.1.83(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-combobox@9.13.18(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-portal': 9.4.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-positioning': 9.16.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-components@9.58.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-accordion': 9.5.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-alert': 9.0.0-beta.124(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-avatar': 9.6.50(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-badge': 9.2.50(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-breadcrumb': 9.0.51(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-button': 9.3.101(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-card': 9.0.103(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-carousel': 9.4.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-checkbox': 9.2.47(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-combobox': 9.13.18(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-dialog': 9.11.30(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-divider': 9.2.82(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-drawer': 9.6.10(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-image': 9.1.80(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-infobutton': 9.0.0-beta.102(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-infolabel': 9.0.57(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-input': 9.4.99(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-label': 9.1.83(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-link': 9.3.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-list': 9.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-menu': 9.15.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-message-bar': 9.3.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-motion': 9.6.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-overflow': 9.2.8(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-persona': 9.2.109(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-popover': 9.9.32(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-portal': 9.4.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-positioning': 9.16.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-progress': 9.1.97(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-provider': 9.19.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-radio': 9.2.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-rating': 9.0.28(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-search': 9.0.29(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-select': 9.1.97(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-skeleton': 9.1.26(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-slider': 9.2.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-spinbutton': 9.2.98(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-spinner': 9.5.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-swatch-picker': 9.1.20(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-switch': 9.1.104(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-table': 9.15.29(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabs': 9.6.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-tag-picker': 9.4.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tags': 9.3.30(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-teaching-popover': 9.2.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-text': 9.4.32(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-textarea': 9.3.98(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-toast': 9.3.65(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-toolbar': 9.2.17(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tooltip': 9.5.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-tree': 9.9.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-virtualizer': 9.0.0-alpha.91(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-context-selector@9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + scheduler: 0.23.2 + + '@fluentui/react-dialog@9.11.30(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-motion': 9.6.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-motion-components-preview': 0.4.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-portal': 9.4.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-divider@9.2.82(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-drawer@9.6.10(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-dialog': 9.11.30(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-motion': 9.6.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-portal': 9.4.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-field@9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-label': 9.1.83(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-icons@2.0.271(react@18.3.1)': + dependencies: + '@griffel/react': 1.5.29(react@18.3.1) + react: 18.3.1 + tslib: 2.8.1 + + '@fluentui/react-image@9.1.80(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-infobutton@9.0.0-beta.102(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-label': 9.1.83(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-popover': 9.9.32(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-infolabel@9.0.57(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-label': 9.1.83(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-popover': 9.9.32(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-input@9.4.99(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-jsx-runtime@9.0.50(@types/react@18.3.18)(react@18.3.1)': + dependencies: + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + react: 18.3.1 + react-is: 17.0.2 + + '@fluentui/react-label@9.1.83(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-link@9.3.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-list@9.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-checkbox': 9.2.47(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-menu@9.15.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-portal': 9.4.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-positioning': 9.16.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-message-bar@9.3.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-button': 9.3.101(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-link': 9.3.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-motion': 9.6.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-motion-components-preview': 0.4.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-motion-components-preview@0.4.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-motion': 9.6.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-motion@9.6.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-is: 17.0.2 + + '@fluentui/react-overflow@9.2.8(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/priority-overflow': 9.1.14 + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-persona@9.2.109(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-avatar': 9.6.50(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-badge': 9.2.50(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-popover@9.9.32(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-portal': 9.4.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-positioning': 9.16.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-portal@9.4.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + use-disposable: 1.0.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@fluentui/react-positioning@9.16.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/devtools': 0.2.1(@floating-ui/dom@1.6.13) + '@floating-ui/dom': 1.6.13 + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-progress@9.1.97(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-provider@9.19.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/core': 1.19.1 + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-radio@9.2.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-label': 9.1.83(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-rating@9.0.28(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-search@9.0.29(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-input': 9.4.99(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-select@9.1.97(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-shared-contexts@9.21.2(@types/react@18.3.18)(react@18.3.1)': + dependencies: + '@fluentui/react-theme': 9.1.24 + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + react: 18.3.1 + + '@fluentui/react-skeleton@9.1.26(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-slider@9.2.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-spinbutton@9.2.98(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-spinner@9.5.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-label': 9.1.83(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-swatch-picker@9.1.20(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-switch@9.1.104(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-label': 9.1.83(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-table@9.15.29(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-avatar': 9.6.50(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-checkbox': 9.2.47(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-radio': 9.2.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-tabs@9.6.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-tabster@9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + keyborg: 2.6.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tabster: 8.3.0 + + '@fluentui/react-tag-picker@9.4.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-combobox': 9.13.18(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-portal': 9.4.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-positioning': 9.16.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-tags': 9.3.30(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-tags@9.3.30(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-avatar': 9.6.50(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-teaching-popover@9.2.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-button': 9.3.101(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-popover': 9.9.32(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + use-sync-external-store: 1.4.0(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-text@9.4.32(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-textarea@9.3.98(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-field': 9.1.86(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-theme@9.1.24': + dependencies: + '@fluentui/tokens': 1.0.0-alpha.21 + '@swc/helpers': 0.5.15 + + '@fluentui/react-toast@9.3.65(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-motion': 9.6.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-motion-components-preview': 0.4.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-portal': 9.4.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-toolbar@9.2.17(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/react-button': 9.3.101(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-divider': 9.2.82(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-radio': 9.2.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-tooltip@9.5.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-portal': 9.4.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-positioning': 9.16.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/react-tree@9.9.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-aria': 9.13.14(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-avatar': 9.6.50(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-button': 9.3.101(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-checkbox': 9.2.47(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-context-selector': 9.1.72(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.271(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-motion': 9.6.7(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-motion-components-preview': 0.4.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-radio': 9.2.42(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-tabster': 9.23.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@fluentui/react-theme': 9.1.24 + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - scheduler + + '@fluentui/react-utilities@9.18.20(@types/react@18.3.18)(react@18.3.1)': + dependencies: + '@fluentui/keyboard-keys': 9.0.8 + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + react: 18.3.1 + + '@fluentui/react-virtualizer@9.0.0-alpha.91(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@fluentui/react-jsx-runtime': 9.0.50(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.21.2(@types/react@18.3.18)(react@18.3.1) + '@fluentui/react-utilities': 9.18.20(@types/react@18.3.18)(react@18.3.1) + '@griffel/react': 1.5.29(react@18.3.1) + '@swc/helpers': 0.5.15 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@fluentui/tokens@1.0.0-alpha.21': + dependencies: + '@swc/helpers': 0.5.15 + '@griffel/core@1.19.1': dependencies: '@emotion/hash': 0.9.2 @@ -2270,6 +3985,10 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.31.0': optional: true + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.26.7 @@ -2605,6 +4324,16 @@ snapshots: electron-to-chromium@1.5.88: {} + embla-carousel-autoplay@8.5.2(embla-carousel@8.5.2): + dependencies: + embla-carousel: 8.5.2 + + embla-carousel-fade@8.5.2(embla-carousel@8.5.2): + dependencies: + embla-carousel: 8.5.2 + + embla-carousel@8.5.2: {} + es-abstract@1.23.9: dependencies: array-buffer-byte-length: 1.0.2 @@ -3168,6 +4897,8 @@ snapshots: kasi@1.1.1: {} + keyborg@2.6.0: {} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -3346,6 +5077,8 @@ snapshots: react-is@16.13.1: {} + react-is@17.0.2: {} + react-refresh@0.14.2: {} react@18.3.1: @@ -3569,6 +5302,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + tabster@8.3.0: + dependencies: + keyborg: 2.6.0 + tslib: 2.8.1 + tiny-bin@1.10.2: dependencies: ansi-purge: 1.0.1 @@ -3703,6 +5441,17 @@ snapshots: dependencies: punycode: 2.3.1 + use-disposable@1.0.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + use-sync-external-store@1.4.0(react@18.3.1): + dependencies: + react: 18.3.1 + vite@5.4.14: dependencies: esbuild: 0.21.5 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 1bf2d40..a2e3006 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,12 +1,15 @@ packages: - packages/intwc - packages/item-assets + - packages/item-system - packages/localization - packages/mono-dev - packages/workex catalog: "@griffel/react": ^1.5.29 + "@fluentui/react-components": ^9.58.2 + "@fluentui/react-icons": ^2.0.271 "@modyfi/vite-plugin-yaml": ^1.1.0 "@pistonite/pure": ^0.0.18 "@types/react": ^18.3.17