diff --git a/assets/data/characters/albedo/en.json b/assets/data/characters/albedo/en.json index c08923d3..fb6e5716 100644 --- a/assets/data/characters/albedo/en.json +++ b/assets/data/characters/albedo/en.json @@ -87,4 +87,4 @@ ], "vision_key": "GEO", "weapon_type": "SWORD" -} \ No newline at end of file +} diff --git a/assets/data/characters/amber/en.json b/assets/data/characters/amber/en.json index 4f1814e6..59aad84e 100644 --- a/assets/data/characters/amber/en.json +++ b/assets/data/characters/amber/en.json @@ -164,4 +164,4 @@ ], "vision_key": "PYRO", "weapon_type": "BOW" -} \ No newline at end of file +} diff --git a/assets/data/characters/amber/fr.json b/assets/data/characters/amber/fr.json index 919f80e4..5bc2e6c6 100644 --- a/assets/data/characters/amber/fr.json +++ b/assets/data/characters/amber/fr.json @@ -163,4 +163,4 @@ ], "vision_key": "PYRO", "weapon_type": "BOW" -} \ No newline at end of file +} diff --git a/assets/data/characters/amber/ru.json b/assets/data/characters/amber/ru.json index 50259079..14076f94 100644 --- a/assets/data/characters/amber/ru.json +++ b/assets/data/characters/amber/ru.json @@ -9,4 +9,4 @@ "specialDish": "Стейк скаута-чемпиона!", "constellation": "Озорной Кролик", "description": "Наивная и задорная девушка, скаут Ордо Фавониус. Благодаря отличному владению планером она стала трехкратным чемпионом Мондштадта по полётам. Будучи восходящей звездой Ордо Фавониус, Эмбер всегда готова к задачам любой сложности." -} \ No newline at end of file +} diff --git a/assets/data/characters/barbara/en.json b/assets/data/characters/barbara/en.json index ead13fbd..b9c30f5e 100644 --- a/assets/data/characters/barbara/en.json +++ b/assets/data/characters/barbara/en.json @@ -157,4 +157,4 @@ ], "vision_key": "HYDRO", "weapon_type": "CATALYST" -} \ No newline at end of file +} diff --git a/assets/data/characters/beidou/en.json b/assets/data/characters/beidou/en.json index 9c91bea9..05fde473 100644 --- a/assets/data/characters/beidou/en.json +++ b/assets/data/characters/beidou/en.json @@ -177,4 +177,4 @@ ], "vision_key": "ELECTRO", "weapon_type": "CLAYMORE" -} \ No newline at end of file +} diff --git a/assets/data/characters/bennett/en.json b/assets/data/characters/bennett/en.json index 6892793c..23c28af6 100644 --- a/assets/data/characters/bennett/en.json +++ b/assets/data/characters/bennett/en.json @@ -173,4 +173,4 @@ ], "vision_key": "PYRO", "weapon_type": "SWORD" -} \ No newline at end of file +} diff --git a/assets/data/characters/chongyun/en.json b/assets/data/characters/chongyun/en.json index dc65fadc..f756de38 100644 --- a/assets/data/characters/chongyun/en.json +++ b/assets/data/characters/chongyun/en.json @@ -161,4 +161,4 @@ ], "vision_key": "CRYO", "weapon_type": "CLAYMORE" -} \ No newline at end of file +} diff --git a/assets/data/characters/diluc/en.json b/assets/data/characters/diluc/en.json index e81dcc93..3345316d 100644 --- a/assets/data/characters/diluc/en.json +++ b/assets/data/characters/diluc/en.json @@ -173,4 +173,4 @@ ], "vision_key": "PYRO", "weapon_type": "CLAYMORE" -} \ No newline at end of file +} diff --git a/assets/data/characters/diona/en.json b/assets/data/characters/diona/en.json index f52bb0ff..f89cfbd4 100644 --- a/assets/data/characters/diona/en.json +++ b/assets/data/characters/diona/en.json @@ -173,4 +173,4 @@ ], "vision_key": "CRYO", "weapon_type": "BOW" -} \ No newline at end of file +} diff --git a/assets/data/characters/fischl/en.json b/assets/data/characters/fischl/en.json index fae02013..40d92221 100644 --- a/assets/data/characters/fischl/en.json +++ b/assets/data/characters/fischl/en.json @@ -157,4 +157,4 @@ ], "vision_key": "ELECTRO", "weapon_type": "BOW" -} \ No newline at end of file +} diff --git a/assets/data/characters/ganyu/en.json b/assets/data/characters/ganyu/en.json index 325882f8..893ab70a 100644 --- a/assets/data/characters/ganyu/en.json +++ b/assets/data/characters/ganyu/en.json @@ -177,4 +177,4 @@ ], "vision_key": "CRYO", "weapon_type": "BOW" -} \ No newline at end of file +} diff --git a/assets/data/characters/hu-tao/en.json b/assets/data/characters/hu-tao/en.json index 15e60ba4..b27b5322 100644 --- a/assets/data/characters/hu-tao/en.json +++ b/assets/data/characters/hu-tao/en.json @@ -87,4 +87,4 @@ ], "vision_key": "PYRO", "weapon_type": "POLEARM" -} \ No newline at end of file +} diff --git a/assets/data/characters/jean/en.json b/assets/data/characters/jean/en.json index 3df6341f..8af5454e 100644 --- a/assets/data/characters/jean/en.json +++ b/assets/data/characters/jean/en.json @@ -169,4 +169,4 @@ ], "vision_key": "ANEMO", "weapon_type": "SWORD" -} \ No newline at end of file +} diff --git a/assets/data/characters/kaeya/en.json b/assets/data/characters/kaeya/en.json index 7b1c75df..50f0ee49 100644 --- a/assets/data/characters/kaeya/en.json +++ b/assets/data/characters/kaeya/en.json @@ -153,4 +153,4 @@ ], "vision_key": "CRYO", "weapon_type": "SWORD" -} \ No newline at end of file +} diff --git a/assets/data/characters/keqing/en.json b/assets/data/characters/keqing/en.json index 6a4d350b..213216c8 100644 --- a/assets/data/characters/keqing/en.json +++ b/assets/data/characters/keqing/en.json @@ -165,4 +165,4 @@ ], "vision_key": "ELECTRO", "weapon_type": "SWORD" -} \ No newline at end of file +} diff --git a/assets/data/characters/klee/en.json b/assets/data/characters/klee/en.json index 8a8a16b0..c3b0a331 100644 --- a/assets/data/characters/klee/en.json +++ b/assets/data/characters/klee/en.json @@ -153,4 +153,4 @@ ], "vision_key": "PYRO", "weapon_type": "CATALYST" -} \ No newline at end of file +} diff --git a/assets/data/characters/lisa/en.json b/assets/data/characters/lisa/en.json index 4c028cee..9631c725 100644 --- a/assets/data/characters/lisa/en.json +++ b/assets/data/characters/lisa/en.json @@ -169,4 +169,4 @@ ], "vision_key": "ELECTRO", "weapon_type": "CATALYST" -} \ No newline at end of file +} diff --git a/assets/data/characters/mona/en.json b/assets/data/characters/mona/en.json index 470e88df..5d2d466b 100644 --- a/assets/data/characters/mona/en.json +++ b/assets/data/characters/mona/en.json @@ -176,4 +176,4 @@ ], "vision_key": "HYDRO", "weapon_type": "CATALYST" -} \ No newline at end of file +} diff --git a/assets/data/characters/ningguang/en.json b/assets/data/characters/ningguang/en.json index 4a0c6da5..be356927 100644 --- a/assets/data/characters/ningguang/en.json +++ b/assets/data/characters/ningguang/en.json @@ -141,4 +141,4 @@ ], "vision_key": "GEO", "weapon_type": "CATALYST" -} \ No newline at end of file +} diff --git a/assets/data/characters/noelle/en.json b/assets/data/characters/noelle/en.json index f88e2eff..38b62419 100644 --- a/assets/data/characters/noelle/en.json +++ b/assets/data/characters/noelle/en.json @@ -181,4 +181,4 @@ ], "vision_key": "GEO", "weapon_type": "CLAYMORE" -} \ No newline at end of file +} diff --git a/assets/data/characters/qiqi/en.json b/assets/data/characters/qiqi/en.json index 7640664b..1faac2a1 100644 --- a/assets/data/characters/qiqi/en.json +++ b/assets/data/characters/qiqi/en.json @@ -173,4 +173,4 @@ ], "vision_key": "CRYO", "weapon_type": "SWORD" -} \ No newline at end of file +} diff --git a/assets/data/characters/razor/en.json b/assets/data/characters/razor/en.json index 9fdcda50..4ec3b003 100644 --- a/assets/data/characters/razor/en.json +++ b/assets/data/characters/razor/en.json @@ -189,4 +189,4 @@ ], "vision_key": "ELECTRO", "weapon_type": "CLAYMORE" -} \ No newline at end of file +} diff --git a/assets/data/characters/sucrose/en.json b/assets/data/characters/sucrose/en.json index 3f962c94..a5fb7c8b 100644 --- a/assets/data/characters/sucrose/en.json +++ b/assets/data/characters/sucrose/en.json @@ -153,4 +153,4 @@ ], "vision_key": "ANEMO", "weapon_type": "CATALYST" -} \ No newline at end of file +} diff --git a/assets/data/characters/tartaglia/en.json b/assets/data/characters/tartaglia/en.json index 941934b2..c6a336ee 100644 --- a/assets/data/characters/tartaglia/en.json +++ b/assets/data/characters/tartaglia/en.json @@ -221,4 +221,4 @@ ], "vision_key": "HYDRO", "weapon_type": "BOW" -} \ No newline at end of file +} diff --git a/assets/data/characters/traveler-anemo/en.json b/assets/data/characters/traveler-anemo/en.json index 733d8a4c..b1d7ac7d 100644 --- a/assets/data/characters/traveler-anemo/en.json +++ b/assets/data/characters/traveler-anemo/en.json @@ -161,4 +161,4 @@ ], "vision_key": "ANEMO", "weapon_type": "SWORD" -} \ No newline at end of file +} diff --git a/assets/data/characters/traveler-geo/en.json b/assets/data/characters/traveler-geo/en.json index 2a04b5c0..8406f669 100644 --- a/assets/data/characters/traveler-geo/en.json +++ b/assets/data/characters/traveler-geo/en.json @@ -149,4 +149,4 @@ ], "vision_key": "GEO", "weapon_type": "SWORD" -} \ No newline at end of file +} diff --git a/assets/data/characters/venti/en.json b/assets/data/characters/venti/en.json index 52f3725c..f5f20da9 100644 --- a/assets/data/characters/venti/en.json +++ b/assets/data/characters/venti/en.json @@ -169,4 +169,4 @@ ], "vision_key": "ANEMO", "weapon_type": "BOW" -} \ No newline at end of file +} diff --git a/assets/data/characters/xiangling/en.json b/assets/data/characters/xiangling/en.json index 362ae9fa..3b6b8d29 100644 --- a/assets/data/characters/xiangling/en.json +++ b/assets/data/characters/xiangling/en.json @@ -165,4 +165,4 @@ ], "vision_key": "PYRO", "weapon_type": "POLEARM" -} \ No newline at end of file +} diff --git a/assets/data/characters/xiao/en.json b/assets/data/characters/xiao/en.json index dbc14907..fdc28609 100644 --- a/assets/data/characters/xiao/en.json +++ b/assets/data/characters/xiao/en.json @@ -153,4 +153,4 @@ ], "vision_key": "ANEMO", "weapon_type": "POLEARM" -} \ No newline at end of file +} diff --git a/assets/data/characters/xingqiu/en.json b/assets/data/characters/xingqiu/en.json index 3b174919..51609ecf 100644 --- a/assets/data/characters/xingqiu/en.json +++ b/assets/data/characters/xingqiu/en.json @@ -161,4 +161,4 @@ ], "vision_key": "HYDRO", "weapon_type": "SWORD" -} \ No newline at end of file +} diff --git a/assets/data/characters/xinyan/en.json b/assets/data/characters/xinyan/en.json index 64929f40..878d14a6 100644 --- a/assets/data/characters/xinyan/en.json +++ b/assets/data/characters/xinyan/en.json @@ -87,4 +87,4 @@ ], "vision_key": "PYRO", "weapon_type": "CLAYMORE" -} \ No newline at end of file +} diff --git a/assets/data/characters/zhongli/en.json b/assets/data/characters/zhongli/en.json index 30432311..3238d188 100644 --- a/assets/data/characters/zhongli/en.json +++ b/assets/data/characters/zhongli/en.json @@ -87,4 +87,4 @@ ], "vision_key": "GEO", "weapon_type": "POLEARM" -} \ No newline at end of file +} diff --git a/assets/data/domains/cecilia-garden/en.json b/assets/data/domains/cecilia-garden/en.json index ace1145b..a9e089f0 100644 --- a/assets/data/domains/cecilia-garden/en.json +++ b/assets/data/domains/cecilia-garden/en.json @@ -752,4 +752,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/assets/data/domains/domain-of-guyun/en.json b/assets/data/domains/domain-of-guyun/en.json index 9e26dfee..0967ef42 100644 --- a/assets/data/domains/domain-of-guyun/en.json +++ b/assets/data/domains/domain-of-guyun/en.json @@ -1 +1 @@ -{} \ No newline at end of file +{} diff --git a/assets/data/domains/hidden-palace-of-lianshan-formula/en.json b/assets/data/domains/hidden-palace-of-lianshan-formula/en.json index 9e26dfee..0967ef42 100644 --- a/assets/data/domains/hidden-palace-of-lianshan-formula/en.json +++ b/assets/data/domains/hidden-palace-of-lianshan-formula/en.json @@ -1 +1 @@ -{} \ No newline at end of file +{} diff --git a/assets/data/domains/midsummer-courtyard/en.json b/assets/data/domains/midsummer-courtyard/en.json index 9e26dfee..0967ef42 100644 --- a/assets/data/domains/midsummer-courtyard/en.json +++ b/assets/data/domains/midsummer-courtyard/en.json @@ -1 +1 @@ -{} \ No newline at end of file +{} diff --git a/assets/data/elements/anemo/en.json b/assets/data/elements/anemo/en.json index df593d7d..aeb932b3 100644 --- a/assets/data/elements/anemo/en.json +++ b/assets/data/elements/anemo/en.json @@ -1,4 +1,4 @@ { "name": "Anemo", "key": "ANEMO" -} \ No newline at end of file +} diff --git a/assets/data/elements/cryo/en.json b/assets/data/elements/cryo/en.json index c301ea24..18058016 100644 --- a/assets/data/elements/cryo/en.json +++ b/assets/data/elements/cryo/en.json @@ -1,4 +1,4 @@ { "name": "Cryo", "key": "CRYO" -} \ No newline at end of file +} diff --git a/assets/data/elements/dendro/en.json b/assets/data/elements/dendro/en.json index 5261683d..deac0d8b 100644 --- a/assets/data/elements/dendro/en.json +++ b/assets/data/elements/dendro/en.json @@ -1,4 +1,4 @@ { "name": "Dendro", "key": "DENDRO" -} \ No newline at end of file +} diff --git a/assets/data/elements/electro/en.json b/assets/data/elements/electro/en.json index 61e492cb..2bb06a39 100644 --- a/assets/data/elements/electro/en.json +++ b/assets/data/elements/electro/en.json @@ -1,4 +1,4 @@ { "name": "Electro", "key": "ELECTRO" -} \ No newline at end of file +} diff --git a/assets/data/elements/geo/en.json b/assets/data/elements/geo/en.json index 3706a9c2..3777253b 100644 --- a/assets/data/elements/geo/en.json +++ b/assets/data/elements/geo/en.json @@ -1,4 +1,4 @@ { "name": "Geo", "key": "GEO" -} \ No newline at end of file +} diff --git a/assets/data/elements/hydro/en.json b/assets/data/elements/hydro/en.json index dd1fb360..e452633d 100644 --- a/assets/data/elements/hydro/en.json +++ b/assets/data/elements/hydro/en.json @@ -1,4 +1,4 @@ { "name": "Hydro", "key": "HYDRO" -} \ No newline at end of file +} diff --git a/assets/data/elements/pyro/en.json b/assets/data/elements/pyro/en.json index 2190fe31..ef5e6407 100644 --- a/assets/data/elements/pyro/en.json +++ b/assets/data/elements/pyro/en.json @@ -1,4 +1,4 @@ { "name": "Pyro", "key": "PYRO" -} \ No newline at end of file +} diff --git a/assets/data/materials/boss-material/en.json b/assets/data/materials/boss-material/en.json index c765ed3b..682bc702 100644 --- a/assets/data/materials/boss-material/en.json +++ b/assets/data/materials/boss-material/en.json @@ -1,37 +1,37 @@ { - "anemo": { - "id": "hurricane-seed", - "name": "Hurrican Seed", - "source": "Anemo Hypostasis" - }, - "cryo": { - "id": "hoarfrost-core", - "name": "Hoarfrost Core", - "source": "Cryo Regisvine" - }, - "electro": { - "id": "lightning-prism", - "name": "Lightning Prism", - "source": "Electro Hypostasis" - }, - "geo": { - "id": "basalt-pillar", - "name": "Basalt Pillar", - "source": "Geo Hypostasis" - }, - "hydro": { - "id": "cleansing-heart", - "name": "Cleansing Heart", - "source": "Oceanid" - }, - "pyro": { - "id": "everflame-seed", - "name": "Everflame Seed", - "source": "Pyro Regisvine" - }, - "multiple": { - "id": "juvenile-jade", - "name": "Juvenile Jade", - "source": "Primo Geovishap" - } -} \ No newline at end of file + "anemo": { + "id": "hurricane-seed", + "name": "Hurrican Seed", + "source": "Anemo Hypostasis" + }, + "cryo": { + "id": "hoarfrost-core", + "name": "Hoarfrost Core", + "source": "Cryo Regisvine" + }, + "electro": { + "id": "lightning-prism", + "name": "Lightning Prism", + "source": "Electro Hypostasis" + }, + "geo": { + "id": "basalt-pillar", + "name": "Basalt Pillar", + "source": "Geo Hypostasis" + }, + "hydro": { + "id": "cleansing-heart", + "name": "Cleansing Heart", + "source": "Oceanid" + }, + "pyro": { + "id": "everflame-seed", + "name": "Everflame Seed", + "source": "Pyro Regisvine" + }, + "multiple": { + "id": "juvenile-jade", + "name": "Juvenile Jade", + "source": "Primo Geovishap" + } +} diff --git a/assets/data/materials/character-ascension/en.json b/assets/data/materials/character-ascension/en.json index 77f1cdde..1e042ee8 100644 --- a/assets/data/materials/character-ascension/en.json +++ b/assets/data/materials/character-ascension/en.json @@ -1,449 +1,467 @@ { - "anemo": { - "sliver": { - "id": "vayuda-turquoise-sliver", - "name": "Vayuda Turquoise Sliver", - "sources": [ - "Anemo Hypostasis", - "Wolf of the North", - "Souvenir shop", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 2 - }, - "fragment": { - "id": "vayuda-turquoise-fragment", - "name": "Vayuda Turquoise Fragment", - "sources": [ - "Anemo Hypostasis", - "Wolf of the North", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV"], - "rarity": 3 - }, - "chunk": { - "id": "vayuda-turquoise-chunk", - "name": "Vayuda Turquoise Chunk", - "sources": [ - "Anemo Hypostasis", - "Wolf of the North", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV"], - "rarity": 4 - }, - "gemstone": { - "id": "vayuda-turquoise-gemstone", - "name": "Vayuda Turquoise Gemstone", - "sources": [ - "Anemo Hypostasis", - "Wolf of the North", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 5 - } + "anemo": { + "sliver": { + "id": "vayuda-turquoise-sliver", + "name": "Vayuda Turquoise Sliver", + "sources": [ + "Anemo Hypostasis", + "Wolf of the North", + "Souvenir shop", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 2 }, - "cryo": { - "sliver": { - "id": "shivada-jade-sliver", - "name": "Shivada Jade Sliver", - "sources": [ - "Cryo Regisvine", - "Wolf of the North", - "Souvenir shop", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV"], - "rarity": 2 - }, - "fragment": { - "id": "shivada-jade-fragment", - "name": "Shivada Jade Fragment", - "sources": [ - "Cryo Regisvine", - "Wolf of the North", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV"], - "rarity": 3 - }, - "chunk": { - "id": "shivada-jade-chunk", - "name": "Shivada Jade Chunk", - "sources": [ - "Cryo Regisvine", - "Wolf of the North", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 4 - }, - "gemstone": { - "id": "shivada-jade-gemstone", - "name": "Shivada Jade Gemstone", - "sources": [ - "Cryo Regisvine", - "Wolf of the North", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 5 - } + "fragment": { + "id": "vayuda-turquoise-fragment", + "name": "Vayuda Turquoise Fragment", + "sources": [ + "Anemo Hypostasis", + "Wolf of the North", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 3 }, - "electro": { - "sliver": { - "id": "vajrada-amethyst-sliver", - "name": "Vajrada Amethyst Sliver", - "sources": [ - "Electro Hypostasis", - "Wolf of the North", - "Souvenir shop", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV"], - "rarity": 2 - }, - "fragment": { - "id": "vajrada-amethyst-fragment", - "name": "Vajrada Amethyst Fragment", - "sources": [ - "Electro Hypostasis", - "Wolf of the North", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 3 - }, - "chunk": { - "id": "vajrada-amethyst-chunk", - "name": "Vajrada Amethyst Chunk", - "sources": [ - "Electro Hypostasis", - "Wolf of the North", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 4 - }, - "gemstone": { - "id": "vajrada-amethyst-gemstone", - "name": "Vajrada Amethyst Gemstone", - "sources": [ - "Electro Hypostasis", - "Wolf of the North", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 5 - } + "chunk": { + "id": "vayuda-turquoise-chunk", + "name": "Vayuda Turquoise Chunk", + "sources": [ + "Anemo Hypostasis", + "Wolf of the North", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 4 }, - "geo": { - "sliver": { - "id": "prithiva-topaz-sliver", - "name": "Prithiva Topaz Sliver", - "sources": [ - "Geo Hypostasis", - "Wolf of the North", - "Souvenir shop", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 2 - }, - "fragment": { - "id": "prithiva-topaz-fragment", - "name": "Prithiva Topaz Fragment", - "sources": [ - "Geo Hypostasis", - "Wolf of the North", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 3 - }, - "chunk": { - "id": "prithiva-topaz-chunk", - "name": "Prithiva Topaz Chunk", - "sources": [ - "Geo Hypostasis", - "Wolf of the North", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 4 - }, - "gemstone": { - "id": "prithiva-topaz-gemstone", - "name": "Prithiva Topaz Gemstone", - "sources": [ - "Geo Hypostasis", - "Wolf of the North", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 5 - } + "gemstone": { + "id": "vayuda-turquoise-gemstone", + "name": "Vayuda Turquoise Gemstone", + "sources": [ + "Anemo Hypostasis", + "Wolf of the North", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 5 + } + }, + "cryo": { + "sliver": { + "id": "shivada-jade-sliver", + "name": "Shivada Jade Sliver", + "sources": [ + "Cryo Regisvine", + "Wolf of the North", + "Souvenir shop", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 2 + }, + "fragment": { + "id": "shivada-jade-fragment", + "name": "Shivada Jade Fragment", + "sources": [ + "Cryo Regisvine", + "Wolf of the North", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 3 + }, + "chunk": { + "id": "shivada-jade-chunk", + "name": "Shivada Jade Chunk", + "sources": [ + "Cryo Regisvine", + "Wolf of the North", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 4 + }, + "gemstone": { + "id": "shivada-jade-gemstone", + "name": "Shivada Jade Gemstone", + "sources": [ + "Cryo Regisvine", + "Wolf of the North", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 5 + } + }, + "electro": { + "sliver": { + "id": "vajrada-amethyst-sliver", + "name": "Vajrada Amethyst Sliver", + "sources": [ + "Electro Hypostasis", + "Wolf of the North", + "Souvenir shop", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 2 + }, + "fragment": { + "id": "vajrada-amethyst-fragment", + "name": "Vajrada Amethyst Fragment", + "sources": [ + "Electro Hypostasis", + "Wolf of the North", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 3 + }, + "chunk": { + "id": "vajrada-amethyst-chunk", + "name": "Vajrada Amethyst Chunk", + "sources": [ + "Electro Hypostasis", + "Wolf of the North", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 4 + }, + "gemstone": { + "id": "vajrada-amethyst-gemstone", + "name": "Vajrada Amethyst Gemstone", + "sources": [ + "Electro Hypostasis", + "Wolf of the North", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 5 + } + }, + "geo": { + "sliver": { + "id": "prithiva-topaz-sliver", + "name": "Prithiva Topaz Sliver", + "sources": [ + "Geo Hypostasis", + "Wolf of the North", + "Souvenir shop", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 2 + }, + "fragment": { + "id": "prithiva-topaz-fragment", + "name": "Prithiva Topaz Fragment", + "sources": [ + "Geo Hypostasis", + "Wolf of the North", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 3 + }, + "chunk": { + "id": "prithiva-topaz-chunk", + "name": "Prithiva Topaz Chunk", + "sources": [ + "Geo Hypostasis", + "Wolf of the North", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 4 + }, + "gemstone": { + "id": "prithiva-topaz-gemstone", + "name": "Prithiva Topaz Gemstone", + "sources": [ + "Geo Hypostasis", + "Wolf of the North", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 5 + } + }, + "hydro": { + "sliver": { + "id": "varunada-lazurite-sliver", + "name": "Varunada Lazurite Sliver", + "sources": [ + "Oceanid", + "Wolf of the North", + "Souvenir shop", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 2 + }, + "fragment": { + "id": "varunada-lazurite-fragment", + "name": "Varunada Lazurite Fragment", + "sources": [ + "Oceanid", + "Wolf of the North", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 3 + }, + "chunk": { + "id": "varunada-lazurite-chunk", + "name": "Varunada Lazurite Chunk", + "sources": [ + "Oceanid", + "Wolf of the North", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 4 + }, + "gemstone": { + "id": "varunada-lazurite-gemstone", + "name": "Varunada Lazurite Gemstone", + "sources": [ + "Oceanid", + "Wolf of the North", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 5 + } + }, + "pyro": { + "sliver": { + "id": "agnidus-agate-sliver", + "name": "Agnidus Agate Sliver", + "sources": [ + "Pyro Regisvine", + "Wolf of the North", + "Souvenir shop", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 2 + }, + "fragment": { + "id": "agnidus-agate-fragment", + "name": "Agnidus Agate Fragment", + "sources": [ + "Pyro Regisvine", + "Wolf of the North", + "Memories: Storming Terror I", + "Memories: Storming Terror II", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 3 + }, + "chunk": { + "id": "agnidus-agate-chunk", + "name": "Agnidus Agate Chunk", + "sources": [ + "Pyro Regisvine", + "Wolf of the North", + "Memories: Storming Terror III", + "Memories: Storming Terror IV", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow I", + "Memories: The Golden Shadow II", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 4 + }, + "gemstone": { + "id": "agnidus-agate-gemstone", + "name": "Agnidus Agate Gemstone", + "sources": [ + "Pyro Regisvine", + "Wolf of the North", + "Memories: Storming Terror V", + "Memories: Storming Terror VI", + "Memories: The Golden Shadow III", + "Memories: The Golden Shadow IV" + ], + "rarity": 5 + } + }, + "traveler": { + "sliver": { + "id": "brilliant-diamond-sliver", + "name": "Brilliant Diamond Sliver", + "sources": ["Adventure Rank 15"], + "rarity": 2 }, - "hydro": { - "sliver": { - "id": "varunada-lazurite-sliver", - "name": "Varunada Lazurite Sliver", - "sources": [ - "Oceanid", - "Wolf of the North", - "Souvenir shop", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 2 - }, - "fragment": { - "id": "varunada-lazurite-fragment", - "name": "Varunada Lazurite Fragment", - "sources": [ - "Oceanid", - "Wolf of the North", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 3 - }, - "chunk": { - "id": "varunada-lazurite-chunk", - "name": "Varunada Lazurite Chunk", - "sources": [ - "Oceanid", - "Wolf of the North", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 4 - }, - "gemstone": { - "id": "varunada-lazurite-gemstone", - "name": "Varunada Lazurite Gemstone", - "sources": [ - "Oceanid", - "Wolf of the North", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 5 - } + "fragment": { + "id": "brilliant-diamond-fragment", + "name": "Brilliant Diamond Fragment", + "sources": [ + "Adventure Rank 25", + "Adventure Rank 26", + "Adventure Rank 28", + "Adventure Rank 30" + ], + "rarity": 3 }, - "pyro": { - "sliver": { - "id": "agnidus-agate-sliver", - "name": "Agnidus Agate Sliver", - "sources": [ - "Pyro Regisvine", - "Wolf of the North", - "Souvenir shop", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 2 - }, - "fragment": { - "id": "agnidus-agate-fragment", - "name": "Agnidus Agate Fragment", - "sources": [ - "Pyro Regisvine", - "Wolf of the North", - "Memories: Storming Terror I", - "Memories: Storming Terror II", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 3 - }, - "chunk": { - "id": "agnidus-agate-chunk", - "name": "Agnidus Agate Chunk", - "sources": [ - "Pyro Regisvine", - "Wolf of the North", - "Memories: Storming Terror III", - "Memories: Storming Terror IV", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow I", - "Memories: The Golden Shadow II", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 4 - }, - "gemstone": { - "id": "agnidus-agate-gemstone", - "name": "Agnidus Agate Gemstone", - "sources": [ - "Pyro Regisvine", - "Wolf of the North", - "Memories: Storming Terror V", - "Memories: Storming Terror VI", - "Memories: The Golden Shadow III", - "Memories: The Golden Shadow IV" - ], - "rarity": 5 - } + "chunk": { + "id": "brilliant-diamond-chunk", + "name": "Brilliant Diamond Chunk", + "sources": [ + "Adventure Rank 35", + "Adventure Rank 38", + "Adventure Rank 40" + ], + "rarity": 4 }, - "traveler": { - "sliver": { - "id": "brilliant-diamond-sliver", - "name": "Brilliant Diamond Sliver", - "sources": ["Adventure Rank 15"], - "rarity": 2 - }, - "fragment": { - "id": "brilliant-diamond-fragment", - "name": "Brilliant Diamond Fragment", - "sources": ["Adventure Rank 25", "Adventure Rank 26", "Adventure Rank 28", "Adventure Rank 30"], - "rarity": 3 - }, - "chunk": { - "id": "brilliant-diamond-chunk", - "name": "Brilliant Diamond Chunk", - "sources": ["Adventure Rank 35", "Adventure Rank 38", "Adventure Rank 40"], - "rarity": 4 - }, - "gemstone": { - "id": "brilliant-diamond-gemstone", - "name": "Brilliant Diamond Gemstone", - "sources": ["Adventure Rank 41", "Adventure Rank 42", "Adventure Rank 45"], - "rarity": 5 - } + "gemstone": { + "id": "brilliant-diamond-gemstone", + "name": "Brilliant Diamond Gemstone", + "sources": [ + "Adventure Rank 41", + "Adventure Rank 42", + "Adventure Rank 45" + ], + "rarity": 5 } -} \ No newline at end of file + } +} diff --git a/assets/data/materials/character-experience/en.json b/assets/data/materials/character-experience/en.json index b869fd1b..2fcdb4b7 100644 --- a/assets/data/materials/character-experience/en.json +++ b/assets/data/materials/character-experience/en.json @@ -1,22 +1,22 @@ { - "items": [ - { - "id": "wanderer's-advice", - "name": "Wanderer's Advice", - "experience": 1000, - "rarity": 1 - }, - { - "id": "adventurer's-experience", - "name": "Adventurer's Experience", - "experience": 5000, - "rarity": 2 - }, - { - "id": "hero's-wit", - "name": "Hero's Wit", - "experience": 20000, - "rarity": 3 - } - ] -} \ No newline at end of file + "items": [ + { + "id": "wanderer's-advice", + "name": "Wanderer's Advice", + "experience": 1000, + "rarity": 1 + }, + { + "id": "adventurer's-experience", + "name": "Adventurer's Experience", + "experience": 5000, + "rarity": 2 + }, + { + "id": "hero's-wit", + "name": "Hero's Wit", + "experience": 20000, + "rarity": 3 + } + ] +} diff --git a/assets/data/materials/common-ascension/en.json b/assets/data/materials/common-ascension/en.json index 517c9694..1576866d 100644 --- a/assets/data/materials/common-ascension/en.json +++ b/assets/data/materials/common-ascension/en.json @@ -1,414 +1,386 @@ { - "slime": { - "characters": [ - "lisa", - "venti", - "xiangling", - "zhongli" - ], - "items": [ - { - "id": "slime-condensate", - "name": "Slime Condensate", - "rarity": 1 - }, - { - "id": "slime-secretions", - "name": "Slime Secretions", - "rarity": 2 - }, - { - "id": "slime-concentrate", - "name": "Slime Concentrate", - "rarity": 3 - } - ], - "sources": ["Slime"] - }, - "hilichurl-masks": { - "characters": [ - "jean", - "noelle", - "razor", - "chongyun", - "xingqiu" - ], - "items": [ - { - "id": "damaged-mask", - "name": "Damaged Mask", - "rarity": 1 - }, - { - "id": "stained-mask", - "name": "Stained Mask", - "rarity": 2 - }, - { - "id": "ominous-mask", - "name": "Ominous Mask", - "rarity": 3 - } - ], - "sources": ["Hilichurl", "Samachurl", "Mitachurl", "Lawachurl"] - }, - "hilichurl-arrowheads": { - "characters": [ - "amber", - "diona", - "fischl" - ], - "items": [ - { - "id": "firm-arrowhead", - "name": "Firm Arrowhead", - "rarity": 1 - }, - { - "id": "sharp-arrowhead", - "name": "Sharp Arrowhead", - "rarity": 2 - }, - { - "id": "weathered-arrowhead", - "name": "Weathered Arrowhead", - "rarity": 3 - } - ], - "sources": ["Hilichurl Archer"] - }, - "samachurl-scrolls": { - "characters": [ - "albedo", - "barbara", - "klee", - "qiqi", - "traveler-anemo", - "traveler-geo" - ], - "items": [ - { - "id": "divining-scroll", - "name": "Divining Scroll", - "rarity": 1 - }, - { - "id": "sealed-scroll", - "name": "Sealed Scroll", - "rarity": 2 - }, - { - "id": "forbidden-curse-scroll", - "name": "Forbidden Curse Scroll", - "rarity": 3 - } - ], - "sources": ["Samachurl"] - }, - "treasure-hoarder-insignias": { - "characters": [ - "kaeya", - "bennett", - "beidou", - "xinyan" - ], - "items": [ - { - "id": "treasure-hoarder-insignia", - "name": "Treasure Hoarder Insignia", - "rarity": 1 - }, - { - "id": "silver-raven-insignia", - "name": "Silver Raven Insignia", - "rarity": 2 - }, - { - "id": "golden-raven-insignia", - "name": "Golden Raven Insignia", - "rarity": 3 - } - ], - "sources": ["Treasure Hoarder"] - }, - "fatui-insignias": { - "characters": [ - "diluc", - "ningguang", - "tartaglia" - ], - "items": [ - { - "id": "recruit's-insignia", - "name": "Recruit's Insignia", - "rarity": 1 - }, - { - "id": "sergeant's-insignia", - "name": "Sergeant's Insignia", - "rarity": 2 - }, - { - "id": "lieutenant's-insignia", - "name": "Lieutenant's Insignia", - "rarity": 3 - } - ], - "sources": ["Fatui Skirmisher", "Fatui Cicin Mage", "Fatui Agent"] - }, - "whopperflower-nectar": { - "characters": [ - "mona", - "sucrose", - "keqing" - ], - "items": [ - { - "id": "whopperflower-nectar", - "name": "Whopperflower Nectar", - "rarity": 1 - }, - { - "id": "shimmering-nectar", - "name": "Shimmering Nectar", - "rarity": 2 - }, - { - "id": "energy-nectar", - "name": "Energy Nectar", - "rarity": 3 - } - ], - "sources": ["Whopperflower"] - }, - "hilichurl-horns": { - "weapons": [ - "apprentice's-notes", - "aquila-favonia", - "cool-steel", - "dull-blade", - "favonius-codex", - "favonius-sword", - "ferrous-shadow", - "festering-desire", - "magic-guide", - "pocket-grimoire", - "raven-bow", - "royal-grimoire", - "royal-longsword", - "silver-sword", - "snow-tombed-starsilver", - "the-bell", - "the-stringless", - "the-viridescent-hunt" - ], - "items": [ - { - "id": "heavy-horn", - "name": "Heavy Horn", - "rarity": 2 - }, - { - "id": "black-bronze-horn", - "name": "Black Bronze Horn", - "rarity": 3 - }, - { - "id": "black-crystal-horn", - "name": "Black Crystal Horn", - "rarity": 4 - } - ], - "sources": ["Mitachurl", "Lawachurl"] - }, - "ley-line": { - "weapons": [ - "alley-hunter", - "bloodtainted-greatsword", - "deathmatch", - "dragonspine-spear", - "harbinger-of-dawn", - "hunter's-bow", - "old-merc's-pal", - "sacrificial-bow", - "sacrificial-greatsword", - "seasoned-hunter's-bow", - "sharpshooter's-oath", - "skyward-atlas", - "skyward-blade", - "skyward-harp", - "skyward-pride", - "sword-of-descension", - "the-black-sword", - "the-flute", - "the-widsith", - "thrilling-tales-of-dragon-slayers", - "waster-greatsword", - "wine-and-song" - ], - "items": [ - { - "id": "dead-ley-line-branch", - "name": "Dead Ley Line Branch", - "rarity": 2 - }, - { - "id": "dead-ley-line-leaves", - "name": "Dead Ley Line Leaves", - "rarity": 3 - }, - { - "id": "ley-line-sprout", - "name": "Ley Line Sprout", - "rarity": 4 - } - ], - "sources": ["Abyss Mage"] - }, - "bone-shards": { - "weapons": [ - "black-tassel", - "compound-bow", - "iron-sting", - "mappa-mare", - "memory-of-dust", - "prototype-archaic", - "prototype-starglitter", - "serpent-spine", - "skyrider-greatsword", - "skyrider-sword", - "vortex-vanquisher" - ], - "items": [ - { - "id": "fragile-bone-shard", - "name": "Fragile Bone Shard", - "rarity": 2 - }, - { - "id": "sturdy-bone-shard", - "name": "Sturdy Bone Shard", - "rarity": 3 - }, - { - "id": "fossilized-bone-shard", - "name": "Fossilized Bone Shard", - "rarity": 4 - } - ], - "sources": ["Geovishap Hatchling"] - }, - "mist-grass": { - "weapons": [ - "blackcliff-slasher", - "debate-club", - "dragon's-bane", - "dragonspine-spear", - "eye-of-perception", - "fillet-blade", - "halberd", - "messenger", - "prototype-amber", - "prototype-crescent", - "prototype-rancour", - "rainslasher", - "royal-spear", - "the-unforged", - "twin-nephrite" - ], - "items": [ - { - "id": "mist-grass-pollen", - "name": "Mist Grass Pollen", - "rarity": 2 - }, - { - "id": "mist-grass", - "name": "Mist Grass", - "rarity": 3 - }, - { - "id": "mist-grass-wick", - "name": "Mist Grass Wick", - "rarity": 4 - } - ], - "sources": ["Fatui Cicin Mage"] - }, - "fatui-knives": { - "weapons": [ - "blackcliff-agate", - "blackcliff-longsword", - "blackcliff-warbow", - "crescent-pike", - "dark-iron-sword", - "emerald-orb", - "lion's-roar", - "primordial-jade-winged-spear", - "rust", - "slingshot", - "solar-pearl", - "summit-shaper", - "white-tassel", - "whiteblind" - ], - "items": [ - { - "id": "hunter's-sacrificial-knife", - "name": "Hunter's Sacrificial Knife", - "rarity": 2 - }, - { - "id": "agent's-sacrificial-knife", - "name": "Agent's Sacrificial Knife", - "rarity": 3 - }, - { - "id": "inspector's-sacrificial-knife", - "name": "Inspector's Sacrificial Knife", - "rarity": 4 - } - ], - "sources": ["Fatui Agent"] - }, - "chaos-parts": { - "weapons": [ - "amos'-bow", - "beginner's-protector", - "favonius-greatsword", - "favonius-lance", - "favonius-warbow", - "frostbearer", - "iron-point", - "lost-prayer-to-the-sacred-winds", - "otherworldly-story", - "recurve-bow", - "royal-bow", - "royal-greatsword", - "sacrificial-fragments", - "sacrificial-sword", - "skyward-spine", - "traveler's-handy-sword", - "white-iron-greatsword", - "wolf's-gravestone" - ], - "items": [ - { - "id": "chaos-device", - "name": "Chaos Device", - "rarity": 2 - }, - { - "id": "chaos-circuit", - "name": "Chaos Circuit", - "rarity": 3 - }, - { - "id": "chaos-core", - "name": "Chaos Core", - "rarity": 4 - } - ], - "sources": ["Ruin Guard", "Ruin Hunter", "Ruin Grader"] - } -} \ No newline at end of file + "slime": { + "characters": ["lisa", "venti", "xiangling", "zhongli"], + "items": [ + { + "id": "slime-condensate", + "name": "Slime Condensate", + "rarity": 1 + }, + { + "id": "slime-secretions", + "name": "Slime Secretions", + "rarity": 2 + }, + { + "id": "slime-concentrate", + "name": "Slime Concentrate", + "rarity": 3 + } + ], + "sources": ["Slime"] + }, + "hilichurl-masks": { + "characters": ["jean", "noelle", "razor", "chongyun", "xingqiu"], + "items": [ + { + "id": "damaged-mask", + "name": "Damaged Mask", + "rarity": 1 + }, + { + "id": "stained-mask", + "name": "Stained Mask", + "rarity": 2 + }, + { + "id": "ominous-mask", + "name": "Ominous Mask", + "rarity": 3 + } + ], + "sources": ["Hilichurl", "Samachurl", "Mitachurl", "Lawachurl"] + }, + "hilichurl-arrowheads": { + "characters": ["amber", "diona", "fischl"], + "items": [ + { + "id": "firm-arrowhead", + "name": "Firm Arrowhead", + "rarity": 1 + }, + { + "id": "sharp-arrowhead", + "name": "Sharp Arrowhead", + "rarity": 2 + }, + { + "id": "weathered-arrowhead", + "name": "Weathered Arrowhead", + "rarity": 3 + } + ], + "sources": ["Hilichurl Archer"] + }, + "samachurl-scrolls": { + "characters": [ + "albedo", + "barbara", + "klee", + "qiqi", + "traveler-anemo", + "traveler-geo" + ], + "items": [ + { + "id": "divining-scroll", + "name": "Divining Scroll", + "rarity": 1 + }, + { + "id": "sealed-scroll", + "name": "Sealed Scroll", + "rarity": 2 + }, + { + "id": "forbidden-curse-scroll", + "name": "Forbidden Curse Scroll", + "rarity": 3 + } + ], + "sources": ["Samachurl"] + }, + "treasure-hoarder-insignias": { + "characters": ["kaeya", "bennett", "beidou", "xinyan"], + "items": [ + { + "id": "treasure-hoarder-insignia", + "name": "Treasure Hoarder Insignia", + "rarity": 1 + }, + { + "id": "silver-raven-insignia", + "name": "Silver Raven Insignia", + "rarity": 2 + }, + { + "id": "golden-raven-insignia", + "name": "Golden Raven Insignia", + "rarity": 3 + } + ], + "sources": ["Treasure Hoarder"] + }, + "fatui-insignias": { + "characters": ["diluc", "ningguang", "tartaglia"], + "items": [ + { + "id": "recruit's-insignia", + "name": "Recruit's Insignia", + "rarity": 1 + }, + { + "id": "sergeant's-insignia", + "name": "Sergeant's Insignia", + "rarity": 2 + }, + { + "id": "lieutenant's-insignia", + "name": "Lieutenant's Insignia", + "rarity": 3 + } + ], + "sources": ["Fatui Skirmisher", "Fatui Cicin Mage", "Fatui Agent"] + }, + "whopperflower-nectar": { + "characters": ["mona", "sucrose", "keqing"], + "items": [ + { + "id": "whopperflower-nectar", + "name": "Whopperflower Nectar", + "rarity": 1 + }, + { + "id": "shimmering-nectar", + "name": "Shimmering Nectar", + "rarity": 2 + }, + { + "id": "energy-nectar", + "name": "Energy Nectar", + "rarity": 3 + } + ], + "sources": ["Whopperflower"] + }, + "hilichurl-horns": { + "weapons": [ + "apprentice's-notes", + "aquila-favonia", + "cool-steel", + "dull-blade", + "favonius-codex", + "favonius-sword", + "ferrous-shadow", + "festering-desire", + "magic-guide", + "pocket-grimoire", + "raven-bow", + "royal-grimoire", + "royal-longsword", + "silver-sword", + "snow-tombed-starsilver", + "the-bell", + "the-stringless", + "the-viridescent-hunt" + ], + "items": [ + { + "id": "heavy-horn", + "name": "Heavy Horn", + "rarity": 2 + }, + { + "id": "black-bronze-horn", + "name": "Black Bronze Horn", + "rarity": 3 + }, + { + "id": "black-crystal-horn", + "name": "Black Crystal Horn", + "rarity": 4 + } + ], + "sources": ["Mitachurl", "Lawachurl"] + }, + "ley-line": { + "weapons": [ + "alley-hunter", + "bloodtainted-greatsword", + "deathmatch", + "dragonspine-spear", + "harbinger-of-dawn", + "hunter's-bow", + "old-merc's-pal", + "sacrificial-bow", + "sacrificial-greatsword", + "seasoned-hunter's-bow", + "sharpshooter's-oath", + "skyward-atlas", + "skyward-blade", + "skyward-harp", + "skyward-pride", + "sword-of-descension", + "the-black-sword", + "the-flute", + "the-widsith", + "thrilling-tales-of-dragon-slayers", + "waster-greatsword", + "wine-and-song" + ], + "items": [ + { + "id": "dead-ley-line-branch", + "name": "Dead Ley Line Branch", + "rarity": 2 + }, + { + "id": "dead-ley-line-leaves", + "name": "Dead Ley Line Leaves", + "rarity": 3 + }, + { + "id": "ley-line-sprout", + "name": "Ley Line Sprout", + "rarity": 4 + } + ], + "sources": ["Abyss Mage"] + }, + "bone-shards": { + "weapons": [ + "black-tassel", + "compound-bow", + "iron-sting", + "mappa-mare", + "memory-of-dust", + "prototype-archaic", + "prototype-starglitter", + "serpent-spine", + "skyrider-greatsword", + "skyrider-sword", + "vortex-vanquisher" + ], + "items": [ + { + "id": "fragile-bone-shard", + "name": "Fragile Bone Shard", + "rarity": 2 + }, + { + "id": "sturdy-bone-shard", + "name": "Sturdy Bone Shard", + "rarity": 3 + }, + { + "id": "fossilized-bone-shard", + "name": "Fossilized Bone Shard", + "rarity": 4 + } + ], + "sources": ["Geovishap Hatchling"] + }, + "mist-grass": { + "weapons": [ + "blackcliff-slasher", + "debate-club", + "dragon's-bane", + "dragonspine-spear", + "eye-of-perception", + "fillet-blade", + "halberd", + "messenger", + "prototype-amber", + "prototype-crescent", + "prototype-rancour", + "rainslasher", + "royal-spear", + "the-unforged", + "twin-nephrite" + ], + "items": [ + { + "id": "mist-grass-pollen", + "name": "Mist Grass Pollen", + "rarity": 2 + }, + { + "id": "mist-grass", + "name": "Mist Grass", + "rarity": 3 + }, + { + "id": "mist-grass-wick", + "name": "Mist Grass Wick", + "rarity": 4 + } + ], + "sources": ["Fatui Cicin Mage"] + }, + "fatui-knives": { + "weapons": [ + "blackcliff-agate", + "blackcliff-longsword", + "blackcliff-warbow", + "crescent-pike", + "dark-iron-sword", + "emerald-orb", + "lion's-roar", + "primordial-jade-winged-spear", + "rust", + "slingshot", + "solar-pearl", + "summit-shaper", + "white-tassel", + "whiteblind" + ], + "items": [ + { + "id": "hunter's-sacrificial-knife", + "name": "Hunter's Sacrificial Knife", + "rarity": 2 + }, + { + "id": "agent's-sacrificial-knife", + "name": "Agent's Sacrificial Knife", + "rarity": 3 + }, + { + "id": "inspector's-sacrificial-knife", + "name": "Inspector's Sacrificial Knife", + "rarity": 4 + } + ], + "sources": ["Fatui Agent"] + }, + "chaos-parts": { + "weapons": [ + "amos'-bow", + "beginner's-protector", + "favonius-greatsword", + "favonius-lance", + "favonius-warbow", + "frostbearer", + "iron-point", + "lost-prayer-to-the-sacred-winds", + "otherworldly-story", + "recurve-bow", + "royal-bow", + "royal-greatsword", + "sacrificial-fragments", + "sacrificial-sword", + "skyward-spine", + "traveler's-handy-sword", + "white-iron-greatsword", + "wolf's-gravestone" + ], + "items": [ + { + "id": "chaos-device", + "name": "Chaos Device", + "rarity": 2 + }, + { + "id": "chaos-circuit", + "name": "Chaos Circuit", + "rarity": 3 + }, + { + "id": "chaos-core", + "name": "Chaos Core", + "rarity": 4 + } + ], + "sources": ["Ruin Guard", "Ruin Hunter", "Ruin Grader"] + } +} diff --git a/assets/data/materials/local-specialties/en.json b/assets/data/materials/local-specialties/en.json index ed6efc6b..474f1478 100644 --- a/assets/data/materials/local-specialties/en.json +++ b/assets/data/materials/local-specialties/en.json @@ -1,86 +1,86 @@ { - "mondstadt": [ - { - "id": "calla-lily", - "name": "Calla Lily", - "characters": ["diona", "kaeya"] - }, - { - "id": "cecilia", - "name": "Cecilia", - "characters": ["albedo", "venti"] - }, - { - "id": "dandelion-seed", - "name": "Dandelion Seed", - "characters": ["jean"] - }, - { - "id": "philanemo-mushroom", - "name": "Philanemo Mushroom", - "characters": ["barbara", "klee", "mona"] - }, - { - "id": "small-lamp-grass", - "name": "Small Lamp Grass", - "characters": ["amber", "diluc", "fischl"] - }, - { - "id": "valberry", - "name": "Valberry", - "characters": ["lisa", "noelle"] - }, - { - "id": "windwheel-aster", - "name": "Windwheel Aster", - "characters": ["bennett", "sucrose", "traveler-anemo", "traveler-geo"] - }, - { - "id": "wolfhook", - "name": "Wolfhook", - "characters": ["razor"] - } - ], - "liyue": [ - { - "id": "cor-lapis", - "name": "Cor Lapis", - "characters": ["chongyun", "keqing", "zhongli"] - }, - { - "id": "glaze-lily", - "name": "Glaze Lily", - "characters": ["ningguang"] - }, - { - "id": "jueyun-chili", - "name": "Jueyun Chili", - "characters": ["xiangling"] - }, - { - "id": "noctilucous-jade", - "name": "Noctilucous Jade", - "characters": ["beidou"] - }, - { - "id": "qingxin", - "name": "Qingxin", - "characters": ["ganyu", "xiao"] - }, - { - "id": "silk-flower", - "name": "Silk Flower", - "characters": ["xingqiu"] - }, - { - "id": "starconch", - "name": "Starconch", - "characters": ["tartaglia"] - }, - { - "id": "violetgrass", - "name": "Violetgrass", - "characters": ["qiqi", "xinyan"] - } - ] -} \ No newline at end of file + "mondstadt": [ + { + "id": "calla-lily", + "name": "Calla Lily", + "characters": ["diona", "kaeya"] + }, + { + "id": "cecilia", + "name": "Cecilia", + "characters": ["albedo", "venti"] + }, + { + "id": "dandelion-seed", + "name": "Dandelion Seed", + "characters": ["jean"] + }, + { + "id": "philanemo-mushroom", + "name": "Philanemo Mushroom", + "characters": ["barbara", "klee", "mona"] + }, + { + "id": "small-lamp-grass", + "name": "Small Lamp Grass", + "characters": ["amber", "diluc", "fischl"] + }, + { + "id": "valberry", + "name": "Valberry", + "characters": ["lisa", "noelle"] + }, + { + "id": "windwheel-aster", + "name": "Windwheel Aster", + "characters": ["bennett", "sucrose", "traveler-anemo", "traveler-geo"] + }, + { + "id": "wolfhook", + "name": "Wolfhook", + "characters": ["razor"] + } + ], + "liyue": [ + { + "id": "cor-lapis", + "name": "Cor Lapis", + "characters": ["chongyun", "keqing", "zhongli"] + }, + { + "id": "glaze-lily", + "name": "Glaze Lily", + "characters": ["ningguang"] + }, + { + "id": "jueyun-chili", + "name": "Jueyun Chili", + "characters": ["xiangling"] + }, + { + "id": "noctilucous-jade", + "name": "Noctilucous Jade", + "characters": ["beidou"] + }, + { + "id": "qingxin", + "name": "Qingxin", + "characters": ["ganyu", "xiao"] + }, + { + "id": "silk-flower", + "name": "Silk Flower", + "characters": ["xingqiu"] + }, + { + "id": "starconch", + "name": "Starconch", + "characters": ["tartaglia"] + }, + { + "id": "violetgrass", + "name": "Violetgrass", + "characters": ["qiqi", "xinyan"] + } + ] +} diff --git a/assets/data/materials/talent-book/en.json b/assets/data/materials/talent-book/en.json index c164fa1f..a7ef1abc 100644 --- a/assets/data/materials/talent-book/en.json +++ b/assets/data/materials/talent-book/en.json @@ -1,174 +1,158 @@ { - "freedom": { - "characters": [ - "amber", - "barbara", - "diona", - "sucrose", - "tartaglia", - "traveler-anemo", - "traveler-geo" - ], - "availability": ["Monday", "Thursday", "Sunday"], - "source": "forsaken-rift", - "items": [ - { - "id": "teachings-of-freedom", - "name": "Teachings of Freedom", - "rarity": 2 - }, - { - "id": "guide-to-freedom", - "name": "Guide to Freedom", - "rarity": 3 - }, - { - "id": "philosophies-of-freedom", - "name": "Philosophies of Freedom", - "rarity": 4 - } - ] - }, - "resistance": { - "characters": [ - "bennett", - "diluc", - "jean", - "mona", - "razor", - "traveler-anemo", - "traveler-geo" - ], - "availability": ["Tuesday", "Friday", "Sunday"], - "source": "forsaken-rift", - "items": [ - { - "id": "teachings-of-resistance", - "name": "Teachings of Resistance", - "rarity": 2 - }, - { - "id": "guide-to-resistance", - "name": "Guide to Resistance", - "rarity": 3 - }, - { - "id": "philosophies-of-resistance", - "name": "Philosophies of Resistance", - "rarity": 4 - } - ] - }, - "ballad": { - "characters": [ - "albedo", - "fischl", - "kaeya", - "lisa", - "venti", - "traveler-anemo", - "traveler-geo" - ], - "availability": ["Wednesday", "Saturday", "Sunday"], - "source": "forsaken-rift", - "items": [ - { - "id": "teachings-of-ballad", - "name": "Teachings of Ballad", - "rarity": 2 - }, - { - "id": "guide-to-ballad", - "name": "Guide to Ballad", - "rarity": 3 - }, - { - "id": "philosophies-of-ballad", - "name": "Philosophies of Ballad", - "rarity": 4 - } - ] - }, - "prosperity": { - "characters": [ - "keqing", - "ningguang", - "qiqi", - "traveler-geo" - ], - "availability": ["Monday", "Thursday", "Sunday"], - "source": "taishan-mansion", - "items": [ - { - "id": "teachings-of-prosperity", - "name": "Teachings of Prosperity", - "rarity": 2 - }, - { - "id": "guide-to-prosperity", - "name": "Guide to Prosperity", - "rarity": 3 - }, - { - "id": "philosophies-of-prosperity", - "name": "Philosophies of Prosperity", - "rarity": 4 - } - ] - }, - "diligence": { - "characters": [ - "chongyun", - "ganyu", - "xiangling", - "traveler-geo" - ], - "availability": ["Tuesday", "Friday", "Sunday"], - "source": "taishan-mansion", - "items": [ - { - "id": "teachings-of-diligence", - "name": "Teachings of Diligence", - "rarity": 2 - }, - { - "id": "guide-to-diligence", - "name": "Guide to Diligence", - "rarity": 3 - }, - { - "id": "philosophies-of-diligence", - "name": "Philosophies of Diligence", - "rarity": 4 - } - ] - }, - "gold": { - "characters": [ - "beidou", - "xingqiu", - "xinyan", - "zhongli", - "traveler-geo" - ], - "availability": ["Wednesday", "Saturday", "Sunday"], - "source": "taishan-mansion", - "items": [ - { - "id": "teachings-of-gold", - "name": "Teachings of Gold", - "rarity": 2 - }, - { - "id": "guide-to-gold", - "name": "Guide to Gold", - "rarity": 3 - }, - { - "id": "philosophies-of-gold", - "name": "Philosophies of Gold", - "rarity": 4 - } - ] - } -} \ No newline at end of file + "freedom": { + "characters": [ + "amber", + "barbara", + "diona", + "sucrose", + "tartaglia", + "traveler-anemo", + "traveler-geo" + ], + "availability": ["Monday", "Thursday", "Sunday"], + "source": "forsaken-rift", + "items": [ + { + "id": "teachings-of-freedom", + "name": "Teachings of Freedom", + "rarity": 2 + }, + { + "id": "guide-to-freedom", + "name": "Guide to Freedom", + "rarity": 3 + }, + { + "id": "philosophies-of-freedom", + "name": "Philosophies of Freedom", + "rarity": 4 + } + ] + }, + "resistance": { + "characters": [ + "bennett", + "diluc", + "jean", + "mona", + "razor", + "traveler-anemo", + "traveler-geo" + ], + "availability": ["Tuesday", "Friday", "Sunday"], + "source": "forsaken-rift", + "items": [ + { + "id": "teachings-of-resistance", + "name": "Teachings of Resistance", + "rarity": 2 + }, + { + "id": "guide-to-resistance", + "name": "Guide to Resistance", + "rarity": 3 + }, + { + "id": "philosophies-of-resistance", + "name": "Philosophies of Resistance", + "rarity": 4 + } + ] + }, + "ballad": { + "characters": [ + "albedo", + "fischl", + "kaeya", + "lisa", + "venti", + "traveler-anemo", + "traveler-geo" + ], + "availability": ["Wednesday", "Saturday", "Sunday"], + "source": "forsaken-rift", + "items": [ + { + "id": "teachings-of-ballad", + "name": "Teachings of Ballad", + "rarity": 2 + }, + { + "id": "guide-to-ballad", + "name": "Guide to Ballad", + "rarity": 3 + }, + { + "id": "philosophies-of-ballad", + "name": "Philosophies of Ballad", + "rarity": 4 + } + ] + }, + "prosperity": { + "characters": ["keqing", "ningguang", "qiqi", "traveler-geo"], + "availability": ["Monday", "Thursday", "Sunday"], + "source": "taishan-mansion", + "items": [ + { + "id": "teachings-of-prosperity", + "name": "Teachings of Prosperity", + "rarity": 2 + }, + { + "id": "guide-to-prosperity", + "name": "Guide to Prosperity", + "rarity": 3 + }, + { + "id": "philosophies-of-prosperity", + "name": "Philosophies of Prosperity", + "rarity": 4 + } + ] + }, + "diligence": { + "characters": ["chongyun", "ganyu", "xiangling", "traveler-geo"], + "availability": ["Tuesday", "Friday", "Sunday"], + "source": "taishan-mansion", + "items": [ + { + "id": "teachings-of-diligence", + "name": "Teachings of Diligence", + "rarity": 2 + }, + { + "id": "guide-to-diligence", + "name": "Guide to Diligence", + "rarity": 3 + }, + { + "id": "philosophies-of-diligence", + "name": "Philosophies of Diligence", + "rarity": 4 + } + ] + }, + "gold": { + "characters": ["beidou", "xingqiu", "xinyan", "zhongli", "traveler-geo"], + "availability": ["Wednesday", "Saturday", "Sunday"], + "source": "taishan-mansion", + "items": [ + { + "id": "teachings-of-gold", + "name": "Teachings of Gold", + "rarity": 2 + }, + { + "id": "guide-to-gold", + "name": "Guide to Gold", + "rarity": 3 + }, + { + "id": "philosophies-of-gold", + "name": "Philosophies of Gold", + "rarity": 4 + } + ] + } +} diff --git a/assets/data/materials/talent-boss/en.json b/assets/data/materials/talent-boss/en.json index c2bb4641..276adf71 100644 --- a/assets/data/materials/talent-boss/en.json +++ b/assets/data/materials/talent-boss/en.json @@ -1,86 +1,53 @@ { - "tail-of-boreas": { - "id": "tail-of-boreas", - "name": "Tail of Boreas", - "characters": [ - "qiqi", - "venti", - "xingqiu", - "traveler-geo" - ] - }, - "ring-of-boreas": { - "id": "ring-of-boreas", - "name": "Ring of Boreas", - "characters": [ - "barbara", - "keqing", - "klee", - "mona" - ] - }, - "spirit-locket-of-boreas": { - "id": "spirit-locket-of-boreas", - "name": "Spirit Locket of Boreas", - "characters": [ - "fischl", - "kaeya", - "ningguang", - "sucrose" - ] - }, - "dvalin's-plume": { - "id": "dvalin's-plume", - "name": "Dvalin's Plume", - "characters": [ - "bennett", - "diluc", - "jean" - ] - }, - "dvalin's-claw": { - "id": "dvalin's-claw", - "name": "Dvalin's Claw", - "characters": [ - "lisa", - "noelle", - "razor", - "xiangling" - ] - }, - "dvalin's-sigh": { - "id": "dvalin's-sigh", - "name": "Dvalin's Sigh", - "characters": [ - "amber", - "beidou", - "chongyun", - "traveler-anemo", - "traveler-geo" - ] - }, - "tusk-of-monoceros-caeli": { - "id": "tusk-of-monoceros-caeli", - "name": "Tusk of Monoceros Caeli", - "characters": [ - "albedo", - "xinyan", - "zhongli" - ] - }, - "shard-of-a-foul-legacy": { - "id": "shard-of-a-foul-legacy", - "name": "Shard of a Foul Legacy", - "characters": [ - "diona", - "tartagli" - ] - }, - "shadow-of-the-warrior": { - "id": "shadow-of-the-warrior", - "name": "Shadow of the Warrior", - "characters": [ - "ganyu" - ] - } -} \ No newline at end of file + "tail-of-boreas": { + "id": "tail-of-boreas", + "name": "Tail of Boreas", + "characters": ["qiqi", "venti", "xingqiu", "traveler-geo"] + }, + "ring-of-boreas": { + "id": "ring-of-boreas", + "name": "Ring of Boreas", + "characters": ["barbara", "keqing", "klee", "mona"] + }, + "spirit-locket-of-boreas": { + "id": "spirit-locket-of-boreas", + "name": "Spirit Locket of Boreas", + "characters": ["fischl", "kaeya", "ningguang", "sucrose"] + }, + "dvalin's-plume": { + "id": "dvalin's-plume", + "name": "Dvalin's Plume", + "characters": ["bennett", "diluc", "jean"] + }, + "dvalin's-claw": { + "id": "dvalin's-claw", + "name": "Dvalin's Claw", + "characters": ["lisa", "noelle", "razor", "xiangling"] + }, + "dvalin's-sigh": { + "id": "dvalin's-sigh", + "name": "Dvalin's Sigh", + "characters": [ + "amber", + "beidou", + "chongyun", + "traveler-anemo", + "traveler-geo" + ] + }, + "tusk-of-monoceros-caeli": { + "id": "tusk-of-monoceros-caeli", + "name": "Tusk of Monoceros Caeli", + "characters": ["albedo", "xinyan", "zhongli"] + }, + "shard-of-a-foul-legacy": { + "id": "shard-of-a-foul-legacy", + "name": "Shard of a Foul Legacy", + "characters": ["diona", "tartagli"] + }, + "shadow-of-the-warrior": { + "id": "shadow-of-the-warrior", + "name": "Shadow of the Warrior", + "characters": ["ganyu"] + } +} diff --git a/assets/data/materials/weapon-ascension/en.json b/assets/data/materials/weapon-ascension/en.json index a31b2880..d3db98e9 100644 --- a/assets/data/materials/weapon-ascension/en.json +++ b/assets/data/materials/weapon-ascension/en.json @@ -1,267 +1,267 @@ { - "decarabian": { - "weapons": [ - "apprentice's-notes", - "aquila-favonia", - "cool-steel", - "dull-blade", - "favonius-codex", - "favonius-sword", - "ferrous-shadow", - "magic-guide", - "pocket-grimoire", - "raven-bow", - "royal-grimoire", - "royal-longsword", - "silver-sword", - "snow-tombed-starsilver", - "the-bell", - "the-stringless", - "the-viridescent-hunt" - ], - "availability": ["Monday", "Thursday", "Sunday"], - "source": "cecilia-garden", - "items": [ - { - "id": "tile-of-decarabian's-tower", - "name": "Tile of Decarabian's Tower", - "rarity": 2 - }, - { - "id": "debris-of-decarabian's-city", - "name": "Debris of Decarabian's City", - "rarity": 3 - }, - { - "id": "fragment-of-decarabian's-epic", - "name": "Fragment of Decarabian's Epic", - "rarity": 4 - }, - { - "id": "scattered-piece-of-decarabian's-dream", - "name": "Scattered Piece of Decarabian's Dream", - "rarity": 5 - } - ] - }, - "boreal": { - "weapons": [ - "alley-hunter", - "bloodtainted-greatsword", - "deathmatch", - "dragonspine-spear", - "harbinger-of-dawn", - "hunter's-bow", - "old-merc's-pal", - "sacrificial-bow", - "sacrificial-greatsword", - "seasoned-hunter's-bow", - "sharpshooter's-oath", - "skyward-atlas", - "skyward-blade", - "skyward-harp", - "skyward-pride", - "sword-of-descension", - "the-black-sword", - "the-flute", - "the-widsith", - "thrilling-tales-of-dragon-slayers", - "waster-greatsword", - "wine-and-song" - ], - "availability": ["Tuesday", "Friday", "Sunday"], - "source": "cecilia-garden", - "items": [ - { - "id": "boreal-wolf's-milk-tooth", - "name": "Boreal Wolf's Milk Tooth", - "rarity": 2 - }, - { - "id": "boreal-wolf's-cracked-tooth", - "name": "Boreal Wolf's Cracked Tooth", - "rarity": 3 - }, - { - "id": "boreal-wolf's-broken-fang", - "name": "Boreal Wolf's Broken Fang", - "rarity": 4 - }, - { - "id": "boreal-wolf's-nostalgia", - "name": "Boreal Wolf's Nostalgia", - "rarity": 5 - } - ] - }, - "dandelion": { - "weapons": [ - "amos'-bow", - "beginner's-protector", - "favonius-greatsword", - "favonius-lance", - "favonius-warbow", - "frostbearer", - "iron-point", - "lost-prayer-to-the-sacred-winds", - "otherworldly-story", - "recurve-bow", - "royal-bow", - "royal-greatsword", - "sacrificial-fragments", - "sacrificial-sword", - "skyward-spine", - "traveler's-handy-sword", - "white-iron-greatsword", - "wolf's-gravestone" - ], - "availability": ["Wednesday", "Saturday", "Sunday"], - "source": "cecilia-garden", - "items": [ - { - "id": "fetters-of-the-dandelion-gladiator", - "name": "Fetters of the Dandelion Gladiator", - "rarity": 2 - }, - { - "id": "chains-of-the-dandelion-gladiator", - "name": "Chains of the Dandelion Gladiator", - "rarity": 3 - }, - { - "id": "shackles-of-the-dandelion-gladiator", - "name": "Shackles of the Dandelion Gladiator", - "rarity": 4 - }, - { - "id": "dream-of-the-dandelion-gladiator", - "name": "Dream of the Dandelion Gladiator", - "rarity": 5 - } - ] - }, - "guyun": { - "weapons": [ - "blackcliff-agate", - "blackcliff-longsword", - "blackcliff-warbow", - "crescent-pike", - "dark-iron-sword", - "emerald-orb", - "lion's-roar", - "primordial-jade-winged-spear", - "rust", - "slingshot", - "solar-pearl", - "summit-shaper", - "white-tassel", - "whiteblind" - ], - "availability": ["Monday", "Thursday", "Sunday"], - "source": "hidden-palace-of-lianshan", - "items": [ - { - "id": "luminous-sands-from-guyun", - "name": "Luminous Sands from Guyun", - "rarity": 2 - }, - { - "id": "lustrous-stone-from-guyun", - "name": "Lustrous Stone from Guyun", - "rarity": 3 - }, - { - "id": "relic-from-guyun", - "name": "Relic from Guyun", - "rarity": 4 - }, - { - "id": "divine-body-from-guyun", - "name": "Divine Body from Guyun", - "rarity": 5 - } - ] - }, - "elixir": { - "weapons": [ - "blackcliff-slasher", - "debate-club", - "dragon's-bane", - "dragonspine-spear", - "eye-of-perception", - "fillet-blade", - "halberd", - "messenger", - "prototype-amber", - "prototype-crescent", - "prototype-rancour", - "rainslasher", - "royal-spear", - "the-unforged", - "twin-nephrite" - ], - "availability": ["Tuesday", "Friday", "Sunday"], - "source": "hidden-palace-of-lianshan", - "items": [ - { - "id": "mist-veiled-lead-elixir", - "name": "Mist Veiled Lead Elixir", - "rarity": 2 - }, - { - "id": "mist-veiled-mercury-elixir", - "name": "Mist Veiled Mercury Elixir", - "rarity": 3 - }, - { - "id": "mist-veiled-gold-elixir", - "name": "Mist Veiled Gold Elixir", - "rarity": 4 - }, - { - "id": "mist-veiled-primo-elixir", - "name": "Mist Veiled Primo Elixir", - "rarity": 5 - } - ] - }, - "aerosiderite": { - "weapons": [ - "black-tassel", - "compound-bow", - "iron-sting", - "mappa-mare", - "memory-of-dust", - "prototype-archaic", - "prototype-starglitter", - "serpent-spine", - "skyrider-greatsword", - "skyrider-sword", - "vortex-vanquisher" - ], - "availability": ["Wednesday", "Saturday", "Sunday"], - "source": "hidden-palace-of-lianshan", - "items": [ - { - "id": "grain-of-aerosiderite", - "name": "Grain of Aerosiderite", - "rarity": 2 - }, - { - "id": "piece-of-aerosiderite", - "name": "Piece of Aerosiderite", - "rarity": 3 - }, - { - "id": "bit-of-aerosiderite", - "name": "Bit of Aerosiderite", - "rarity": 4 - }, - { - "id": "chunk-of-aerosiderite", - "name": "Chunk of Aerosiderite", - "rarity": 5 - } - ] - } -} \ No newline at end of file + "decarabian": { + "weapons": [ + "apprentice's-notes", + "aquila-favonia", + "cool-steel", + "dull-blade", + "favonius-codex", + "favonius-sword", + "ferrous-shadow", + "magic-guide", + "pocket-grimoire", + "raven-bow", + "royal-grimoire", + "royal-longsword", + "silver-sword", + "snow-tombed-starsilver", + "the-bell", + "the-stringless", + "the-viridescent-hunt" + ], + "availability": ["Monday", "Thursday", "Sunday"], + "source": "cecilia-garden", + "items": [ + { + "id": "tile-of-decarabian's-tower", + "name": "Tile of Decarabian's Tower", + "rarity": 2 + }, + { + "id": "debris-of-decarabian's-city", + "name": "Debris of Decarabian's City", + "rarity": 3 + }, + { + "id": "fragment-of-decarabian's-epic", + "name": "Fragment of Decarabian's Epic", + "rarity": 4 + }, + { + "id": "scattered-piece-of-decarabian's-dream", + "name": "Scattered Piece of Decarabian's Dream", + "rarity": 5 + } + ] + }, + "boreal": { + "weapons": [ + "alley-hunter", + "bloodtainted-greatsword", + "deathmatch", + "dragonspine-spear", + "harbinger-of-dawn", + "hunter's-bow", + "old-merc's-pal", + "sacrificial-bow", + "sacrificial-greatsword", + "seasoned-hunter's-bow", + "sharpshooter's-oath", + "skyward-atlas", + "skyward-blade", + "skyward-harp", + "skyward-pride", + "sword-of-descension", + "the-black-sword", + "the-flute", + "the-widsith", + "thrilling-tales-of-dragon-slayers", + "waster-greatsword", + "wine-and-song" + ], + "availability": ["Tuesday", "Friday", "Sunday"], + "source": "cecilia-garden", + "items": [ + { + "id": "boreal-wolf's-milk-tooth", + "name": "Boreal Wolf's Milk Tooth", + "rarity": 2 + }, + { + "id": "boreal-wolf's-cracked-tooth", + "name": "Boreal Wolf's Cracked Tooth", + "rarity": 3 + }, + { + "id": "boreal-wolf's-broken-fang", + "name": "Boreal Wolf's Broken Fang", + "rarity": 4 + }, + { + "id": "boreal-wolf's-nostalgia", + "name": "Boreal Wolf's Nostalgia", + "rarity": 5 + } + ] + }, + "dandelion": { + "weapons": [ + "amos'-bow", + "beginner's-protector", + "favonius-greatsword", + "favonius-lance", + "favonius-warbow", + "frostbearer", + "iron-point", + "lost-prayer-to-the-sacred-winds", + "otherworldly-story", + "recurve-bow", + "royal-bow", + "royal-greatsword", + "sacrificial-fragments", + "sacrificial-sword", + "skyward-spine", + "traveler's-handy-sword", + "white-iron-greatsword", + "wolf's-gravestone" + ], + "availability": ["Wednesday", "Saturday", "Sunday"], + "source": "cecilia-garden", + "items": [ + { + "id": "fetters-of-the-dandelion-gladiator", + "name": "Fetters of the Dandelion Gladiator", + "rarity": 2 + }, + { + "id": "chains-of-the-dandelion-gladiator", + "name": "Chains of the Dandelion Gladiator", + "rarity": 3 + }, + { + "id": "shackles-of-the-dandelion-gladiator", + "name": "Shackles of the Dandelion Gladiator", + "rarity": 4 + }, + { + "id": "dream-of-the-dandelion-gladiator", + "name": "Dream of the Dandelion Gladiator", + "rarity": 5 + } + ] + }, + "guyun": { + "weapons": [ + "blackcliff-agate", + "blackcliff-longsword", + "blackcliff-warbow", + "crescent-pike", + "dark-iron-sword", + "emerald-orb", + "lion's-roar", + "primordial-jade-winged-spear", + "rust", + "slingshot", + "solar-pearl", + "summit-shaper", + "white-tassel", + "whiteblind" + ], + "availability": ["Monday", "Thursday", "Sunday"], + "source": "hidden-palace-of-lianshan", + "items": [ + { + "id": "luminous-sands-from-guyun", + "name": "Luminous Sands from Guyun", + "rarity": 2 + }, + { + "id": "lustrous-stone-from-guyun", + "name": "Lustrous Stone from Guyun", + "rarity": 3 + }, + { + "id": "relic-from-guyun", + "name": "Relic from Guyun", + "rarity": 4 + }, + { + "id": "divine-body-from-guyun", + "name": "Divine Body from Guyun", + "rarity": 5 + } + ] + }, + "elixir": { + "weapons": [ + "blackcliff-slasher", + "debate-club", + "dragon's-bane", + "dragonspine-spear", + "eye-of-perception", + "fillet-blade", + "halberd", + "messenger", + "prototype-amber", + "prototype-crescent", + "prototype-rancour", + "rainslasher", + "royal-spear", + "the-unforged", + "twin-nephrite" + ], + "availability": ["Tuesday", "Friday", "Sunday"], + "source": "hidden-palace-of-lianshan", + "items": [ + { + "id": "mist-veiled-lead-elixir", + "name": "Mist Veiled Lead Elixir", + "rarity": 2 + }, + { + "id": "mist-veiled-mercury-elixir", + "name": "Mist Veiled Mercury Elixir", + "rarity": 3 + }, + { + "id": "mist-veiled-gold-elixir", + "name": "Mist Veiled Gold Elixir", + "rarity": 4 + }, + { + "id": "mist-veiled-primo-elixir", + "name": "Mist Veiled Primo Elixir", + "rarity": 5 + } + ] + }, + "aerosiderite": { + "weapons": [ + "black-tassel", + "compound-bow", + "iron-sting", + "mappa-mare", + "memory-of-dust", + "prototype-archaic", + "prototype-starglitter", + "serpent-spine", + "skyrider-greatsword", + "skyrider-sword", + "vortex-vanquisher" + ], + "availability": ["Wednesday", "Saturday", "Sunday"], + "source": "hidden-palace-of-lianshan", + "items": [ + { + "id": "grain-of-aerosiderite", + "name": "Grain of Aerosiderite", + "rarity": 2 + }, + { + "id": "piece-of-aerosiderite", + "name": "Piece of Aerosiderite", + "rarity": 3 + }, + { + "id": "bit-of-aerosiderite", + "name": "Bit of Aerosiderite", + "rarity": 4 + }, + { + "id": "chunk-of-aerosiderite", + "name": "Chunk of Aerosiderite", + "rarity": 5 + } + ] + } +} diff --git a/assets/data/materials/weapon-experience/en.json b/assets/data/materials/weapon-experience/en.json index f4b1394d..5246c81b 100644 --- a/assets/data/materials/weapon-experience/en.json +++ b/assets/data/materials/weapon-experience/en.json @@ -1,25 +1,25 @@ { - "items": [ - { - "id": "enhancement-ore", - "name": "Enhancement Ore", - "experience": 400, - "rarity": 1, - "source": ["Crafting"] - }, - { - "id": "fine-enhancement-ore", - "name": "Fine Enhancement Ore", - "experience": 2000, - "rarity": 2, - "source": ["Crafting"] - }, - { - "id": "mystic-enhancement-ore", - "name": "Mystic Enhancement Ore", - "experience": 10000, - "rarity": 3, - "source": ["Crafting"] - } - ] -} \ No newline at end of file + "items": [ + { + "id": "enhancement-ore", + "name": "Enhancement Ore", + "experience": 400, + "rarity": 1, + "source": ["Crafting"] + }, + { + "id": "fine-enhancement-ore", + "name": "Fine Enhancement Ore", + "experience": 2000, + "rarity": 2, + "source": ["Crafting"] + }, + { + "id": "mystic-enhancement-ore", + "name": "Mystic Enhancement Ore", + "experience": 10000, + "rarity": 3, + "source": ["Crafting"] + } + ] +} diff --git a/assets/data/weapons/alley-hunter/en.json b/assets/data/weapons/alley-hunter/en.json index 666420c4..507a4ec0 100755 --- a/assets/data/weapons/alley-hunter/en.json +++ b/assets/data/weapons/alley-hunter/en.json @@ -2,7 +2,7 @@ "name": "Alley Hunter", "type": "Bow", "rarity": 4, - "baseAttack": "41", + "baseAttack": 41, "subStat": "CRIT Rate", "passiveName": "Urban Guerrilla", "passiveDesc": "Every 4s a character is on the field, their ATK increases by 4/5/6/7/8% and their CRIT DMG increases by 4/5/6/7/8%. This effect has a maximum of 5 stacks and will not be reset if the character leaves the field, but will be cleared when the character takes DMG.", diff --git a/assets/data/weapons/amber-catalyst/en.json b/assets/data/weapons/amber-catalyst/en.json index ef4ac4a5..11802414 100755 --- a/assets/data/weapons/amber-catalyst/en.json +++ b/assets/data/weapons/amber-catalyst/en.json @@ -2,7 +2,7 @@ "name": "Amber Catalyst", "type": "Catalyst", "rarity": 3, - "baseAttack": "40", + "baseAttack": 40, "subStat": "Elemental Mastery", "passiveName": "Elemental Mastery", "passiveDesc": "Normal Attack hits increase all Elemental DMG by 6/7.5/9/10.5/12% for 6s. Max 2 stacks.", diff --git a/assets/data/weapons/amos'-bow/en.json b/assets/data/weapons/amos'-bow/en.json index b65c65e2..9f9a7d06 100755 --- a/assets/data/weapons/amos'-bow/en.json +++ b/assets/data/weapons/amos'-bow/en.json @@ -2,7 +2,7 @@ "name": "Amos' Bow", "type": "Bow", "rarity": 5, - "baseAttack": "46", + "baseAttack": 46, "subStat": "ATK", "passiveName": "Strong-Willed", "passiveDesc": "Increases Normal Attack and Aimed Shot DMG by 12/15/18/21/24%. Increases DMG from arrows shot by a further 8/10/12/14/16% for every 0.1s that the arrow is in flight, up to 0.5s. Stacks up to 5 times on each arrow.", diff --git a/assets/data/weapons/apprentice's-notes/en.json b/assets/data/weapons/apprentice's-notes/en.json index 804179fe..2564d4ee 100755 --- a/assets/data/weapons/apprentice's-notes/en.json +++ b/assets/data/weapons/apprentice's-notes/en.json @@ -2,7 +2,7 @@ "name": "Apprentice's Notes", "type": "Catalyst", "rarity": 1, - "baseAttack": "23", + "baseAttack": 23, "subStat": "-", "passiveName": "-", "passiveDesc": "-", diff --git a/assets/data/weapons/aquila-favonia/en.json b/assets/data/weapons/aquila-favonia/en.json index cb4c7e8f..1ff6ec2e 100755 --- a/assets/data/weapons/aquila-favonia/en.json +++ b/assets/data/weapons/aquila-favonia/en.json @@ -2,7 +2,7 @@ "name": "Aquila Favonia", "type": "Sword", "rarity": 5, - "baseAttack": "48", + "baseAttack": 48, "subStat": "Physical DMG Bonus", "passiveName": "Falcon's Defiance", "passiveDesc": "ATK is increased by 20/25/30/35/40%. Triggers on taking DMG: the soul of the Falcon of the West awakens, holding the banner of the resistance aloft, regenerating HP equal to 100/115/130/145/160% of ATK and dealing 200/230/260/290/320% of ATK as DMG to surrounding enemies. This effect can only occur once every 15s.", diff --git a/assets/data/weapons/beginner's-protector/en.json b/assets/data/weapons/beginner's-protector/en.json index 388528e5..69a774ec 100755 --- a/assets/data/weapons/beginner's-protector/en.json +++ b/assets/data/weapons/beginner's-protector/en.json @@ -2,7 +2,7 @@ "name": "Beginner's Protector", "type": "Polearm", "rarity": 1, - "baseAttack": "23", + "baseAttack": 23, "subStat": "-", "passiveName": "-", "passiveDesc": "-", diff --git a/assets/data/weapons/black-tassel/en.json b/assets/data/weapons/black-tassel/en.json index cc7e9b1c..62925b65 100755 --- a/assets/data/weapons/black-tassel/en.json +++ b/assets/data/weapons/black-tassel/en.json @@ -2,7 +2,7 @@ "name": "Black Tassel", "type": "Polearm", "rarity": 3, - "baseAttack": "38", + "baseAttack": 38, "subStat": "HP", "passiveName": "Bane of the Soft", "passiveDesc": "Increases DMG against slimes by 40/50/60/70/80%.", diff --git a/assets/data/weapons/blackcliff-amulet/en.json b/assets/data/weapons/blackcliff-amulet/en.json index c55f6601..2712220a 100755 --- a/assets/data/weapons/blackcliff-amulet/en.json +++ b/assets/data/weapons/blackcliff-amulet/en.json @@ -2,7 +2,7 @@ "name": "Blackcliff Amulet", "type": "Catalyst", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "CRIT DMG", "passiveName": "Press the Advantage", "passiveDesc": "After defeating an enemy, ATK is increased by 12/15/18/21/24% for 30s. This effect has a maximum of 3 stacks, and the duration of each stack is independent of the others.", diff --git a/assets/data/weapons/blackcliff-longsword/en.json b/assets/data/weapons/blackcliff-longsword/en.json index d24aab28..9a0e6520 100755 --- a/assets/data/weapons/blackcliff-longsword/en.json +++ b/assets/data/weapons/blackcliff-longsword/en.json @@ -2,7 +2,7 @@ "name": "Blackcliff Longsword", "type": "Sword", "rarity": 4, - "baseAttack": "44", + "baseAttack": 44, "subStat": "CRIT DMG", "passiveName": "Press the Advantage", "passiveDesc": "After defeating an enemy, ATK is increased by 12/15/18/21/24% for 30s. This effect has a maximum of 3 stacks, and the duration of each stack is independent of the others.", diff --git a/assets/data/weapons/blackcliff-pole/en.json b/assets/data/weapons/blackcliff-pole/en.json index 9e6f41ff..2c65eb42 100755 --- a/assets/data/weapons/blackcliff-pole/en.json +++ b/assets/data/weapons/blackcliff-pole/en.json @@ -2,7 +2,7 @@ "name": "Blackcliff Pole", "type": "Polearm", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "CRIT DMG", "passiveName": "Press the Advantage", "passiveDesc": "After defeating an enemy, ATK is increased by 12/15/18/21/24% for 30s. This effect has a maximum of 3 stacks, and the duration of each stack is independent of the others.", diff --git a/assets/data/weapons/blackcliff-slasher/en.json b/assets/data/weapons/blackcliff-slasher/en.json index 7c39007d..ef833d2d 100755 --- a/assets/data/weapons/blackcliff-slasher/en.json +++ b/assets/data/weapons/blackcliff-slasher/en.json @@ -2,7 +2,7 @@ "name": "Blackcliff Slasher", "type": "Claymore", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "CRIT DMG", "passiveName": "Press the Advantage", "passiveDesc": "After defeating an enemy, ATK is increased by 12/15/18/21/24% for 30s. This effect has a maximum of 3 stacks, and the duration of each stack is independent of the others.", diff --git a/assets/data/weapons/blackcliff-warbow/en.json b/assets/data/weapons/blackcliff-warbow/en.json index 55c987d9..42e13ad3 100755 --- a/assets/data/weapons/blackcliff-warbow/en.json +++ b/assets/data/weapons/blackcliff-warbow/en.json @@ -2,7 +2,7 @@ "name": "Blackcliff Warbow", "type": "Bow", "rarity": 4, - "baseAttack": "44", + "baseAttack": 44, "subStat": "CRIT DMG", "passiveName": "Press the Advantage", "passiveDesc": "After defeating an enemy, ATK is increased by 12/15/18/21/24% for 30s. This effect has a maximum of 3 stacks, and the duration of each stack is independent of the others.", diff --git a/assets/data/weapons/bloodtainted-greatsword/en.json b/assets/data/weapons/bloodtainted-greatsword/en.json index 3577aa24..53c5518e 100755 --- a/assets/data/weapons/bloodtainted-greatsword/en.json +++ b/assets/data/weapons/bloodtainted-greatsword/en.json @@ -2,7 +2,7 @@ "name": "Bloodtainted Greatsword", "type": "Claymore", "rarity": 3, - "baseAttack": "38", + "baseAttack": 38, "subStat": "Elemental Mastery", "passiveName": "Bane of Fire and Thunder", "passiveDesc": "Increases DMG against enemies affected by Pyro or Electro by 12/15/18/21/24%.", diff --git a/assets/data/weapons/compound-bow/en.json b/assets/data/weapons/compound-bow/en.json index a8fe51fe..334accf3 100755 --- a/assets/data/weapons/compound-bow/en.json +++ b/assets/data/weapons/compound-bow/en.json @@ -2,7 +2,7 @@ "name": "Compound Bow", "type": "Bow", "rarity": 4, - "baseAttack": "41", + "baseAttack": 41, "subStat": "Physical DMG Bonus", "passiveName": "Infusion Arrow", "passiveDesc": "Normal Attack and Aimed Shot hits increase ATK by 4/5/6/7/8% and Normal Attack SPD by 1.2/1.5/1.8/2.1/2.4% for 6s. Max 4 stacks. Can only occur once every 0.3s.", diff --git a/assets/data/weapons/cool-steel/en.json b/assets/data/weapons/cool-steel/en.json index 91981103..a86ae138 100755 --- a/assets/data/weapons/cool-steel/en.json +++ b/assets/data/weapons/cool-steel/en.json @@ -2,7 +2,7 @@ "name": "Cool Steel", "type": "Sword", "rarity": 3, - "baseAttack": "39", + "baseAttack": 39, "subStat": "ATK", "passiveName": "Bane of Water and Ice", "passiveDesc": "Increases DMG against enemies affected by Hydro or Cryo by 12/15/18/21/24%.", diff --git a/assets/data/weapons/crescent-pike/en.json b/assets/data/weapons/crescent-pike/en.json index d23a103f..ce6e6de3 100755 --- a/assets/data/weapons/crescent-pike/en.json +++ b/assets/data/weapons/crescent-pike/en.json @@ -2,7 +2,7 @@ "name": "Crescent Pike", "type": "Polearm", "rarity": 4, - "baseAttack": "44", + "baseAttack": 44, "subStat": "Physical DMG Bonus", "passiveName": "Infusion Needle", "passiveDesc": "After picking up an Elemental Orb/Particle, Normal and Charged Attacks deal an additional 20% ATK as DMG for 5s.", diff --git a/assets/data/weapons/dark-iron-sword/en.json b/assets/data/weapons/dark-iron-sword/en.json index 198fc14e..e94c939c 100755 --- a/assets/data/weapons/dark-iron-sword/en.json +++ b/assets/data/weapons/dark-iron-sword/en.json @@ -2,7 +2,7 @@ "name": "Dark Iron Sword", "type": "Sword", "rarity": 3, - "baseAttack": "40", + "baseAttack": 40, "subStat": "Elemental Mastery", "passiveName": "Overloaded", "passiveDesc": "Upon causing an Overloaded, Superconduct, Electro-Charged, or an Electro-infused Swirl reaction, increases Base ATK by 20/25/30/35/40% for 12s.", diff --git a/assets/data/weapons/deathmatch/en.json b/assets/data/weapons/deathmatch/en.json index 0f1aaa8a..e906b3ff 100755 --- a/assets/data/weapons/deathmatch/en.json +++ b/assets/data/weapons/deathmatch/en.json @@ -2,7 +2,7 @@ "name": "Deathmatch", "type": "Polearm", "rarity": 4, - "baseAttack": "41", + "baseAttack": 41, "subStat": "CRIT Rate", "passiveName": "Gladiator", "passiveDesc": "If there are at least 2 opponents nearby, ATK is increased by 16% and DEF is increased by 16%. If there are less than 2 enemies nearby, ATK is increased by 24%.", diff --git a/assets/data/weapons/debate-club/en.json b/assets/data/weapons/debate-club/en.json index 872bc1a8..d6160539 100755 --- a/assets/data/weapons/debate-club/en.json +++ b/assets/data/weapons/debate-club/en.json @@ -2,7 +2,7 @@ "name": "Debate Club", "type": "Claymore", "rarity": 3, - "baseAttack": "39", + "baseAttack": 39, "subStat": "ATK", "passiveName": "Blunt Conclusion", "passiveDesc": "After using an Elemental Skill, Normal or Charged Attacks, on hit, deal an additional 60/75/90/105/120% ATK DMG in a small area. Effect lasts 15s. DMG can only occur once every 3s.", diff --git a/assets/data/weapons/dragon's-bane/en.json b/assets/data/weapons/dragon's-bane/en.json index 32ec3448..4221bc2b 100755 --- a/assets/data/weapons/dragon's-bane/en.json +++ b/assets/data/weapons/dragon's-bane/en.json @@ -2,7 +2,7 @@ "name": "Dragon's Bane", "type": "Polearm", "rarity": 4, - "baseAttack": "41", + "baseAttack": 41, "subStat": "Elemental Mastery", "passiveName": "Bane of Flame and Water", "passiveDesc": "Increases DMG against enemies affected by Hydro or Pyro by 20/24/28/32/36%.", diff --git a/assets/data/weapons/dragonspine-spear/en.json b/assets/data/weapons/dragonspine-spear/en.json index 32782e4b..fdd9d3a5 100644 --- a/assets/data/weapons/dragonspine-spear/en.json +++ b/assets/data/weapons/dragonspine-spear/en.json @@ -1,11 +1,10 @@ { - "name": "Dragonspine Spear", - "type": "Polearm", - "rarity": 4, - "baseAttack": "41", - "subStat": "Physical DMG Bonus", - "passiveName": "", - "passiveDesc": "Hitting an opponent with Normal and Charged Attacks has a 60% chance of forming and dropping an Everfrost Icicle above them, dealing 80% AoE ATK DMG. Opponents affected by Cryo are dealt 200% ATK DMG. Can only occur once every 10s.", - "location": "Crafting" - } - \ No newline at end of file + "name": "Dragonspine Spear", + "type": "Polearm", + "rarity": 4, + "baseAttack": 41, + "subStat": "Physical DMG Bonus", + "passiveName": "", + "passiveDesc": "Hitting an opponent with Normal and Charged Attacks has a 60% chance of forming and dropping an Everfrost Icicle above them, dealing 80% AoE ATK DMG. Opponents affected by Cryo are dealt 200% ATK DMG. Can only occur once every 10s.", + "location": "Crafting" +} diff --git a/assets/data/weapons/dull-blade/en.json b/assets/data/weapons/dull-blade/en.json index 514b98bd..c254444f 100755 --- a/assets/data/weapons/dull-blade/en.json +++ b/assets/data/weapons/dull-blade/en.json @@ -2,7 +2,7 @@ "name": "Dull Blade", "type": "Sword", "rarity": 1, - "baseAttack": "23", + "baseAttack": 23, "subStat": "-", "passiveName": "-", "passiveDesc": "-", diff --git a/assets/data/weapons/ebony-bow/en.json b/assets/data/weapons/ebony-bow/en.json index 3eaf9168..1e2b08a0 100755 --- a/assets/data/weapons/ebony-bow/en.json +++ b/assets/data/weapons/ebony-bow/en.json @@ -2,7 +2,7 @@ "name": "Ebony Bow", "type": "Bow", "rarity": 3, - "baseAttack": "40", + "baseAttack": 40, "subStat": "ATK", "passiveName": "Decimate", "passiveDesc": "Increases DMG against mechanoid Ruin enemies by 40/50/60/70/80%.", diff --git a/assets/data/weapons/emerald-orb/en.json b/assets/data/weapons/emerald-orb/en.json index 85a4e58c..f14c17f0 100755 --- a/assets/data/weapons/emerald-orb/en.json +++ b/assets/data/weapons/emerald-orb/en.json @@ -2,7 +2,7 @@ "name": "Emerald Orb", "type": "Catalyst", "rarity": 3, - "baseAttack": "40", + "baseAttack": 40, "subStat": "Elemental Mastery", "passiveName": "Rapids", "passiveDesc": "Upon causing a Vaporize, Electro-Charged, Frozen, or a Hydro-infused Swirl reaction, increases Base ATK by 20/25/30/35/40% for 12s.", diff --git a/assets/data/weapons/eye-of-perception/en.json b/assets/data/weapons/eye-of-perception/en.json index 46a2ebb1..fefef95b 100755 --- a/assets/data/weapons/eye-of-perception/en.json +++ b/assets/data/weapons/eye-of-perception/en.json @@ -2,7 +2,7 @@ "name": "Eye of Perception", "type": "Catalyst", "rarity": 4, - "baseAttack": "41", + "baseAttack": 41, "subStat": "ATK", "passiveName": "Echo", "passiveDesc": "Normal and Charged Attacks have a 50% chance to fire a Bolt of Perception, dealing 240/270/300/330/360% ATK as DMG. This bolt can bounce between enemies a maximum of 4 times. This effect can occur once every 12/11/10/9/8s.", diff --git a/assets/data/weapons/favonius-codex/en.json b/assets/data/weapons/favonius-codex/en.json index d05d19a9..a82348ce 100755 --- a/assets/data/weapons/favonius-codex/en.json +++ b/assets/data/weapons/favonius-codex/en.json @@ -2,7 +2,7 @@ "name": "Favonius Codex", "type": "Catalyst", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "Energy Recharge", "passiveName": "Windfall", "passiveDesc": "CRIT hits have a 60/70/80/90/100% chance to generate 1 Elemental Orb, which will regenerate 6 Energy for the character. Can only occur once every 12/10.5/9/7.5/6s.", diff --git a/assets/data/weapons/favonius-greatsword/en.json b/assets/data/weapons/favonius-greatsword/en.json index 39ffe98a..1881b98f 100755 --- a/assets/data/weapons/favonius-greatsword/en.json +++ b/assets/data/weapons/favonius-greatsword/en.json @@ -2,7 +2,7 @@ "name": "Favonius Greatsword", "type": "Claymore", "rarity": 4, - "baseAttack": "41", + "baseAttack": 41, "subStat": "Energy Recharge", "passiveName": "Windfall", "passiveDesc": "CRIT hits have a 60/70/80/90/100% chance to generate 1 Elemental Orb, which will regenerate 6 Energy for the character. Can only occur once every 12/10.5/9/7.5/6s.", diff --git a/assets/data/weapons/favonius-lance/en.json b/assets/data/weapons/favonius-lance/en.json index 92964f21..fd18a5db 100755 --- a/assets/data/weapons/favonius-lance/en.json +++ b/assets/data/weapons/favonius-lance/en.json @@ -2,7 +2,7 @@ "name": "Favonius Lance", "type": "Polearm", "rarity": 4, - "baseAttack": "44", + "baseAttack": 44, "subStat": "Energy Recharge", "passiveName": "Windfall", "passiveDesc": "CRIT hits have a 60/70/80/90/100% chance to generate 1 Elemental Orb, which will regenerate 6 Energy for the character. Can only occur once every 12/10.5/9/7.5/6s.", diff --git a/assets/data/weapons/favonius-sword/en.json b/assets/data/weapons/favonius-sword/en.json index 7ec1d9cd..d4b24db5 100755 --- a/assets/data/weapons/favonius-sword/en.json +++ b/assets/data/weapons/favonius-sword/en.json @@ -2,7 +2,7 @@ "name": "Favonius Sword", "type": "Sword", "rarity": 4, - "baseAttack": "41", + "baseAttack": 41, "subStat": "Energy Recharge", "passiveName": "Windfall", "passiveDesc": "CRIT hits have a 60/70/80/90/100% chance to generate 1 Elemental Orb, which will regenerate 6 Energy for the character. Can only occur once every 12/10.5/9/7.5/6s.", diff --git a/assets/data/weapons/favonius-warbow/en.json b/assets/data/weapons/favonius-warbow/en.json index f1f8fc9a..a0fd94a5 100755 --- a/assets/data/weapons/favonius-warbow/en.json +++ b/assets/data/weapons/favonius-warbow/en.json @@ -2,7 +2,7 @@ "name": "Favonius Warbow", "type": "Bow", "rarity": 4, - "baseAttack": "41", + "baseAttack": 41, "subStat": "Energy Recharge", "passiveName": "Windfall", "passiveDesc": "CRIT hits have a 60/70/80/90/100% chance to generate 1 Elemental Orb, which will regenerate 6 Energy for the character. Can only occur once every 12/10.5/9/7.5/6s.", diff --git a/assets/data/weapons/ferrous-shadow/en.json b/assets/data/weapons/ferrous-shadow/en.json index 4cc4436b..013d9d68 100755 --- a/assets/data/weapons/ferrous-shadow/en.json +++ b/assets/data/weapons/ferrous-shadow/en.json @@ -2,7 +2,7 @@ "name": "Ferrous Shadow", "type": "Claymore", "rarity": 3, - "baseAttack": "39", + "baseAttack": 39, "subStat": "HP", "passiveName": "Unbending", "passiveDesc": "When HP falls below 70/75/80/85/90%, increases Charged Attack DMG by 30/35/40/45/50%, and Charged Attacks become much harder to interrupt.", diff --git a/assets/data/weapons/festering-desire/en.json b/assets/data/weapons/festering-desire/en.json index bd123f48..695f5df1 100644 --- a/assets/data/weapons/festering-desire/en.json +++ b/assets/data/weapons/festering-desire/en.json @@ -1,11 +1,10 @@ { - "name": "Festering Desire", - "type": "Sword", - "rarity": 4, - "baseAttack": "42", - "subStat": "Energy Recharge", - "passiveName": "", - "passiveDesc": "Increases Elemental Skill DMG by 16/20/24/28/32% and Elemental Skill CRIT Rate by 6/7.5/9/10.5/12%.", - "location": "Story Quest" - } - \ No newline at end of file + "name": "Festering Desire", + "type": "Sword", + "rarity": 4, + "baseAttack": 42, + "subStat": "Energy Recharge", + "passiveName": "", + "passiveDesc": "Increases Elemental Skill DMG by 16/20/24/28/32% and Elemental Skill CRIT Rate by 6/7.5/9/10.5/12%.", + "location": "Story Quest" +} diff --git a/assets/data/weapons/fillet-blade/en.json b/assets/data/weapons/fillet-blade/en.json index 581f180a..ebd57095 100755 --- a/assets/data/weapons/fillet-blade/en.json +++ b/assets/data/weapons/fillet-blade/en.json @@ -2,7 +2,7 @@ "name": "Fillet Blade", "type": "Sword", "rarity": 3, - "baseAttack": "39", + "baseAttack": 39, "subStat": "ATK", "passiveName": "Gash", "passiveDesc": "On hit, has 50% chance to deal 240/280/320/360/400% ATK DMG to a single enemy. Can only occur once every 15/14/13/12/11s.", diff --git a/assets/data/weapons/frostbearer/en.json b/assets/data/weapons/frostbearer/en.json index f8fa0fba..1bbc186c 100644 --- a/assets/data/weapons/frostbearer/en.json +++ b/assets/data/weapons/frostbearer/en.json @@ -1,11 +1,10 @@ { - "name": "Frostbearer", - "type": "Catalyst", - "rarity": 4, - "baseAttack": "42", - "subStat": "ATK", - "passiveName": "", - "passiveDesc": "Hitting an opponent with Normal and Charged Attacks has a 60% chance of forming and dropping an Everfrost Icicle above them, dealing 80% AoE ATK DMG. Opponents affected by Cryo are dealt 200% ATK DMG. Can only occur once every 10s.", - "location": "Crafting" - } - \ No newline at end of file + "name": "Frostbearer", + "type": "Catalyst", + "rarity": 4, + "baseAttack": 42, + "subStat": "ATK", + "passiveName": "", + "passiveDesc": "Hitting an opponent with Normal and Charged Attacks has a 60% chance of forming and dropping an Everfrost Icicle above them, dealing 80% AoE ATK DMG. Opponents affected by Cryo are dealt 200% ATK DMG. Can only occur once every 10s.", + "location": "Crafting" +} diff --git a/assets/data/weapons/halberd/en.json b/assets/data/weapons/halberd/en.json index 782c1876..8018a1be 100755 --- a/assets/data/weapons/halberd/en.json +++ b/assets/data/weapons/halberd/en.json @@ -2,7 +2,7 @@ "name": "Halberd", "type": "Polearm", "rarity": 3, - "baseAttack": "40", + "baseAttack": 40, "subStat": "ATK", "passiveName": "Heavy", "passiveDesc": "Normal Attacks deal an additional 160/200/240/280/320% DMG. Can only occur once every 10s.", diff --git a/assets/data/weapons/harbinger-of-dawn/en.json b/assets/data/weapons/harbinger-of-dawn/en.json index 99702ea7..43fe2234 100755 --- a/assets/data/weapons/harbinger-of-dawn/en.json +++ b/assets/data/weapons/harbinger-of-dawn/en.json @@ -2,7 +2,7 @@ "name": "Harbinger of Dawn", "type": "Sword", "rarity": 3, - "baseAttack": "39", + "baseAttack": 39, "subStat": "CRIT DMG", "passiveName": "Vigorous", "passiveDesc": "When HP is above 90%, increases CRIT Rate by 14/18/22/24/28%.", diff --git a/assets/data/weapons/hunter's-bow/en.json b/assets/data/weapons/hunter's-bow/en.json index 46a65750..3a71d163 100755 --- a/assets/data/weapons/hunter's-bow/en.json +++ b/assets/data/weapons/hunter's-bow/en.json @@ -2,7 +2,7 @@ "name": "Hunter's Bow", "type": "Bow", "rarity": 1, - "baseAttack": "23", + "baseAttack": 23, "subStat": "-", "passiveName": "-", "passiveDesc": "-", diff --git a/assets/data/weapons/iron-point/en.json b/assets/data/weapons/iron-point/en.json index 4f6db858..87f48b89 100755 --- a/assets/data/weapons/iron-point/en.json +++ b/assets/data/weapons/iron-point/en.json @@ -2,7 +2,7 @@ "name": "Iron Point", "type": "Polearm", "rarity": 2, - "baseAttack": "33", + "baseAttack": 33, "subStat": "-", "passiveName": "-", "passiveDesc": "-", diff --git a/assets/data/weapons/iron-sting/en.json b/assets/data/weapons/iron-sting/en.json index 2c6e24c4..fc16dc18 100755 --- a/assets/data/weapons/iron-sting/en.json +++ b/assets/data/weapons/iron-sting/en.json @@ -2,7 +2,7 @@ "name": "Iron Sting", "type": "Sword", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "Elemental Mastery", "passiveName": "Infusion Stinger", "passiveDesc": "Dealing Elemental DMG increases all DMG by 6% for 6s. Max 2 stacks. Can only occur once every 1s.", diff --git a/assets/data/weapons/kunwu's-iris-rift/en.json b/assets/data/weapons/kunwu's-iris-rift/en.json index bf7d9e81..8ea4f838 100755 --- a/assets/data/weapons/kunwu's-iris-rift/en.json +++ b/assets/data/weapons/kunwu's-iris-rift/en.json @@ -2,7 +2,7 @@ "name": "Kunwu's Iris Rift", "type": "Polearm", "rarity": 5, - "baseAttack": "46", + "baseAttack": 46, "subStat": "ATK", "passiveName": "Rainbow-Piercing Stinger", "passiveDesc": "Normal Attack hits have a 20% chance of causing the next Charged Attack performed in the following 10s to deal 40% increased DMG.", diff --git a/assets/data/weapons/lion's-roar/en.json b/assets/data/weapons/lion's-roar/en.json index db01f6e7..92571c60 100755 --- a/assets/data/weapons/lion's-roar/en.json +++ b/assets/data/weapons/lion's-roar/en.json @@ -2,7 +2,7 @@ "name": "Lion's Roar", "type": "Sword", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "ATK", "passiveName": "Bane of Fire and Thunder", "passiveDesc": "Increases DMG against enemies affected by Pyro or Electro by 20/24/28/32/36%.", diff --git a/assets/data/weapons/lithic-blade/en.json b/assets/data/weapons/lithic-blade/en.json index 7a18a686..6900f0ec 100755 --- a/assets/data/weapons/lithic-blade/en.json +++ b/assets/data/weapons/lithic-blade/en.json @@ -2,7 +2,7 @@ "name": "Lithic Blade", "type": "Claymore", "rarity": 4, - "baseAttack": "41", + "baseAttack": 41, "subStat": "CRIT DMG", "passiveName": "Lithic Axiom - Unity", "passiveDesc": "For every character in the party who hails from Liyue, the character who equips this weapon gains 6/7/8/9/10% ATK increase and 2/3/4/5/6% CRIT Rate increase.", diff --git a/assets/data/weapons/lithic-spear/en.json b/assets/data/weapons/lithic-spear/en.json index 5ece661f..aa7b35b7 100755 --- a/assets/data/weapons/lithic-spear/en.json +++ b/assets/data/weapons/lithic-spear/en.json @@ -2,7 +2,7 @@ "name": "Lithic Spear", "type": "Polearm", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "Physical DMG Bonus", "passiveName": "Lithic Axiom - Subjugating Evil", "passiveDesc": "-", diff --git a/assets/data/weapons/lost-prayer-to-the-sacred-winds/en.json b/assets/data/weapons/lost-prayer-to-the-sacred-winds/en.json index c90c2ef1..218bcd0f 100755 --- a/assets/data/weapons/lost-prayer-to-the-sacred-winds/en.json +++ b/assets/data/weapons/lost-prayer-to-the-sacred-winds/en.json @@ -2,7 +2,7 @@ "name": "Lost Prayer to the Sacred Winds", "type": "Catalyst", "rarity": 5, - "baseAttack": "44", + "baseAttack": 44, "subStat": "CRIT Rate", "passiveName": "Boundless Blessing", "passiveDesc": "Increases Movement SPD by 10%. When in battle, earn a 6/8/10/12/14% Elemental DMG Bonus every 4s. Max 4 stacks. Lasts until the character falls or leaves combat.", diff --git a/assets/data/weapons/magic-guide/en.json b/assets/data/weapons/magic-guide/en.json index c19dca48..daabb877 100755 --- a/assets/data/weapons/magic-guide/en.json +++ b/assets/data/weapons/magic-guide/en.json @@ -2,7 +2,7 @@ "name": "Magic Guide", "type": "Catalyst", "rarity": 3, - "baseAttack": "38", + "baseAttack": 38, "subStat": "Elemental Mastery", "passiveName": "Bane of Storm and Tide", "passiveDesc": "Increases DMG against enemies affected by Hydro or Electro by 12/15/18/21/24%.", diff --git a/assets/data/weapons/mappa-mare/en.json b/assets/data/weapons/mappa-mare/en.json index b31ba2ae..94d19afc 100755 --- a/assets/data/weapons/mappa-mare/en.json +++ b/assets/data/weapons/mappa-mare/en.json @@ -2,7 +2,7 @@ "name": "Mappa Mare", "type": "Catalyst", "rarity": 4, - "baseAttack": "44", + "baseAttack": 44, "subStat": "Elemental Mastery", "passiveName": "Infusion Scroll", "passiveDesc": "Triggering an Elemental reaction grants a 8/10/12/14/16% Elemental DMG Bonus for 10s. Max 2 stacks.", diff --git a/assets/data/weapons/memory-of-dust/en.json b/assets/data/weapons/memory-of-dust/en.json index 343c0476..23790d74 100755 --- a/assets/data/weapons/memory-of-dust/en.json +++ b/assets/data/weapons/memory-of-dust/en.json @@ -2,7 +2,7 @@ "name": "Memory of Dust", "type": "Catalyst", "rarity": 5, - "baseAttack": "46", + "baseAttack": 46, "subStat": "ATK", "passiveName": "Golden Majesty", "passiveDesc": "Increase Shield Strength by 20/25/30/35/40%. Scoring hits on opponents increases ATK by 4/5/6/7/8% for 8s. Max 5 stacks. Can only occur once every 0.3s. While protected by a shield, this ATK increase effect is increased by 100%.", diff --git a/assets/data/weapons/messenger/en.json b/assets/data/weapons/messenger/en.json index 619986b2..22cc7fd1 100755 --- a/assets/data/weapons/messenger/en.json +++ b/assets/data/weapons/messenger/en.json @@ -2,7 +2,7 @@ "name": "Messenger", "type": "Bow", "rarity": 3, - "baseAttack": "40", + "baseAttack": 40, "subStat": "CRIT DMG", "passiveName": "Archer's Message", "passiveDesc": "Aimed Shot hits on weak spots deal an additional 100/125/150/175/200% ATK DMG as CRIT DMG. Can only occur once every 10s.", diff --git a/assets/data/weapons/old-merc's-pal/en.json b/assets/data/weapons/old-merc's-pal/en.json index 60d42b37..bf20378d 100755 --- a/assets/data/weapons/old-merc's-pal/en.json +++ b/assets/data/weapons/old-merc's-pal/en.json @@ -2,7 +2,7 @@ "name": "Old Merc's Pal", "type": "Claymore", "rarity": 2, - "baseAttack": "33", + "baseAttack": 33, "subStat": "-", "passiveName": "-", "passiveDesc": "-", diff --git a/assets/data/weapons/otherworldly-story/en.json b/assets/data/weapons/otherworldly-story/en.json index b45432b7..33f5cf9a 100755 --- a/assets/data/weapons/otherworldly-story/en.json +++ b/assets/data/weapons/otherworldly-story/en.json @@ -2,7 +2,7 @@ "name": "Otherworldly Story", "type": "Catalyst", "rarity": 3, - "baseAttack": "39", + "baseAttack": 39, "subStat": "Energy Recharge", "passiveName": "Energy Shower", "passiveDesc": "Each Elemental Orb or Particle collected restores 1/1.25/1.5/1.75/2% HP.", diff --git a/assets/data/weapons/pocket-grimoire/en.json b/assets/data/weapons/pocket-grimoire/en.json index 956c99d5..2627a68c 100755 --- a/assets/data/weapons/pocket-grimoire/en.json +++ b/assets/data/weapons/pocket-grimoire/en.json @@ -2,7 +2,7 @@ "name": "Pocket Grimoire", "type": "Catalyst", "rarity": 2, - "baseAttack": "33", + "baseAttack": 33, "subStat": "-", "passiveName": "-", "passiveDesc": "-", diff --git a/assets/data/weapons/primordial-jade-winged-spear/en.json b/assets/data/weapons/primordial-jade-winged-spear/en.json index 6ad48b88..f3f4d2cf 100755 --- a/assets/data/weapons/primordial-jade-winged-spear/en.json +++ b/assets/data/weapons/primordial-jade-winged-spear/en.json @@ -2,7 +2,7 @@ "name": "Primordial Jade Winged-Spear", "type": "Polearm", "rarity": 5, - "baseAttack": "48", + "baseAttack": 48, "subStat": "CRIT Rate", "passiveName": "Eagle Spear of Justice", "passiveDesc": "On hit, increases ATK by 3.2/3.9/4.6/5.3/6% for 6s. Max 7 stacks. Can only occur once every 0.3s. Full stacks increase Skill DMG by 12/16/20/24/28%.", diff --git a/assets/data/weapons/prototype-aminus/en.json b/assets/data/weapons/prototype-aminus/en.json index 5f0e64ef..9c1a8064 100755 --- a/assets/data/weapons/prototype-aminus/en.json +++ b/assets/data/weapons/prototype-aminus/en.json @@ -2,7 +2,7 @@ "name": "Prototype Aminus", "type": "Claymore", "rarity": 4, - "baseAttack": "44", + "baseAttack": 44, "subStat": "ATK", "passiveName": "Crush", "passiveDesc": "On hit, Normal or Charged Attacks have a 50% chance to deal an additional 240/300/360/420/480% ATK DMG to enemies within a small radius. Can only occur once every 15s.", diff --git a/assets/data/weapons/prototype-crescent/en.json b/assets/data/weapons/prototype-crescent/en.json index 3ffe1e49..95c21e16 100755 --- a/assets/data/weapons/prototype-crescent/en.json +++ b/assets/data/weapons/prototype-crescent/en.json @@ -2,7 +2,7 @@ "name": "Prototype Crescent", "type": "Bow", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "ATK", "passiveName": "Unreturning", "passiveDesc": "Aimed Shot hits on weak points increase Movement SPD by 10% and ATK by 6% for 10s.", diff --git a/assets/data/weapons/prototype-grudge/en.json b/assets/data/weapons/prototype-grudge/en.json index 4c2dbf28..53507273 100755 --- a/assets/data/weapons/prototype-grudge/en.json +++ b/assets/data/weapons/prototype-grudge/en.json @@ -2,7 +2,7 @@ "name": "Prototype Grudge", "type": "Polearm", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "Energy Recharge", "passiveName": "Magic Affinity", "passiveDesc": "After using an Elemental Skill, increases Normal and Charged Attack DMG by 8% for 12s. Max 2 stacks.", diff --git a/assets/data/weapons/prototype-malice/en.json b/assets/data/weapons/prototype-malice/en.json index ca09c460..3bdc7871 100755 --- a/assets/data/weapons/prototype-malice/en.json +++ b/assets/data/weapons/prototype-malice/en.json @@ -2,7 +2,7 @@ "name": "Prototype Malice", "type": "Catalyst", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "HP", "passiveName": "Gilding", "passiveDesc": "Using an Elemental Burst regenerates 4/4.5/5/5.5/6 Energy every 2s for 6s. Additionally, all party members will regenerate 4/4.5/5/5.5/6% HP every 2s for this duration.", diff --git a/assets/data/weapons/prototype-rancour/en.json b/assets/data/weapons/prototype-rancour/en.json index 4b9a9b9e..fed16188 100755 --- a/assets/data/weapons/prototype-rancour/en.json +++ b/assets/data/weapons/prototype-rancour/en.json @@ -2,7 +2,7 @@ "name": "Prototype Rancour", "type": "Sword", "rarity": 4, - "baseAttack": "44", + "baseAttack": 44, "subStat": "Physical DMG Bonus", "passiveName": "Smashed Stone", "passiveDesc": "On hit, Normal or Charged Attacks increase Base ATK and DEF by 4/4.5/5/5.5/6% for 6s. Max 4 stacks. Can only occur once every 0.3s.", diff --git a/assets/data/weapons/quartz/en.json b/assets/data/weapons/quartz/en.json index f5b45ff1..f0258504 100755 --- a/assets/data/weapons/quartz/en.json +++ b/assets/data/weapons/quartz/en.json @@ -2,7 +2,7 @@ "name": "Quartz", "type": "Claymore", "rarity": 3, - "baseAttack": "40", + "baseAttack": 40, "subStat": "Elemental Mastery", "passiveName": "Residual Heat", "passiveDesc": "Upon causing an Overloaded, Melt, Burning, Vaporize, or a Pyro-infused Swirl reaction, increases Base ATK by 20/25/30/35/40% for 12s.", diff --git a/assets/data/weapons/rainslasher/en.json b/assets/data/weapons/rainslasher/en.json index 7cae97eb..b544374a 100755 --- a/assets/data/weapons/rainslasher/en.json +++ b/assets/data/weapons/rainslasher/en.json @@ -2,7 +2,7 @@ "name": "Rainslasher", "type": "Claymore", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "Elemental Mastery", "passiveName": "Bane of Storm and Tide", "passiveDesc": "Increases DMG against enemies affected by Hydro or Electro by 20/25/30/35/40%.", diff --git a/assets/data/weapons/raven-bow/en.json b/assets/data/weapons/raven-bow/en.json index 2a9fa1c7..6ebd477c 100755 --- a/assets/data/weapons/raven-bow/en.json +++ b/assets/data/weapons/raven-bow/en.json @@ -2,7 +2,7 @@ "name": "Raven Bow", "type": "Bow", "rarity": 3, - "baseAttack": "40", + "baseAttack": 40, "subStat": "Elemental Mastery", "passiveName": "Bane of Flame and Water", "passiveDesc": "Increases DMG against enemies affected by Hydro or Pyro by 12/15/18/21/24%.", diff --git a/assets/data/weapons/recurve-bow/en.json b/assets/data/weapons/recurve-bow/en.json index f083a4fb..716b64aa 100755 --- a/assets/data/weapons/recurve-bow/en.json +++ b/assets/data/weapons/recurve-bow/en.json @@ -2,7 +2,7 @@ "name": "Recurve Bow", "type": "Bow", "rarity": 3, - "baseAttack": "38", + "baseAttack": 38, "subStat": "HP", "passiveName": "Cull the Weak", "passiveDesc": "Defeating an opponent restores 8/10/12/14/16% HP.", diff --git a/assets/data/weapons/royal-bow/en.json b/assets/data/weapons/royal-bow/en.json index 0ff58ce0..e2f4b9b7 100755 --- a/assets/data/weapons/royal-bow/en.json +++ b/assets/data/weapons/royal-bow/en.json @@ -2,7 +2,7 @@ "name": "Royal Bow", "type": "Bow", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "ATK", "passiveName": "Focus", "passiveDesc": "Upon damaging an enemy, increases CRIT Rate by 8%. Max 5 stacks. A CRIT hit removes all stacks.", diff --git a/assets/data/weapons/royal-greatsword/en.json b/assets/data/weapons/royal-greatsword/en.json index 7957ee35..5f6aa10c 100755 --- a/assets/data/weapons/royal-greatsword/en.json +++ b/assets/data/weapons/royal-greatsword/en.json @@ -2,7 +2,7 @@ "name": "Royal Greatsword", "type": "Claymore", "rarity": 4, - "baseAttack": "43", + "baseAttack": 43, "subStat": "ATK", "passiveName": "Focus", "passiveDesc": "Upon damaging an enemy, increases CRIT Rate by 8%. Max 5 stacks. A CRIT hit removes all stacks.", diff --git a/assets/data/weapons/royal-grimoire/en.json b/assets/data/weapons/royal-grimoire/en.json index b7be0808..f51dbba1 100755 --- a/assets/data/weapons/royal-grimoire/en.json +++ b/assets/data/weapons/royal-grimoire/en.json @@ -2,7 +2,7 @@ "name": "Royal Grimoire", "type": "Catalyst", "rarity": 4, - "baseAttack": "44", + "baseAttack": 44, "subStat": "ATK", "passiveName": "Focus", "passiveDesc": "Upon damaging an enemy, increases CRIT Rate by 8%. Max 5 stacks. A CRIT hit removes all stacks.", diff --git a/assets/data/weapons/royal-longsword/en.json b/assets/data/weapons/royal-longsword/en.json index 68bd118a..6b00b4d6 100755 --- a/assets/data/weapons/royal-longsword/en.json +++ b/assets/data/weapons/royal-longsword/en.json @@ -2,7 +2,7 @@ "name": "Royal Longsword", "type": "Sword", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "ATK", "passiveName": "Focus", "passiveDesc": "Upon damaging an enemy, increases CRIT Rate by 8%. Max 5 stacks. A CRIT hit removes all stacks.", diff --git a/assets/data/weapons/rust/en.json b/assets/data/weapons/rust/en.json index 44b4f398..b16a2d25 100755 --- a/assets/data/weapons/rust/en.json +++ b/assets/data/weapons/rust/en.json @@ -2,7 +2,7 @@ "name": "Rust", "type": "Bow", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "ATK", "passiveName": "Rapid Firing", "passiveDesc": "Increases Normal Attack DMG by 40/50/60/70/80% but decreases Aimed Shot DMG by 8/9/10/11/12%", diff --git a/assets/data/weapons/sacrificial-bow/en.json b/assets/data/weapons/sacrificial-bow/en.json index aa0c201e..b2fba377 100755 --- a/assets/data/weapons/sacrificial-bow/en.json +++ b/assets/data/weapons/sacrificial-bow/en.json @@ -2,7 +2,7 @@ "name": "Sacrificial Bow", "type": "Bow", "rarity": 4, - "baseAttack": "44", + "baseAttack": 44, "subStat": "Energy Recharge", "passiveName": "Composed", "passiveDesc": "After damaging an opponent with an Elemental Skill, the skill has a 40/50/60/70/80% chance to end its own CD. Can only occur once every 30/26/22/18/14s.", diff --git a/assets/data/weapons/sacrificial-fragments/en.json b/assets/data/weapons/sacrificial-fragments/en.json index 29430cf8..4b9f64c7 100755 --- a/assets/data/weapons/sacrificial-fragments/en.json +++ b/assets/data/weapons/sacrificial-fragments/en.json @@ -2,7 +2,7 @@ "name": "Sacrificial Fragments", "type": "Catalyst", "rarity": 4, - "baseAttack": "41", + "baseAttack": 41, "subStat": "Elemental Mastery", "passiveName": "Composed", "passiveDesc": "After damaging an opponent with an Elemental Skill, the skill has a 40/50/60/70/80% chance to end its own CD. Can only occur once every 30/26/22/18/14s.", diff --git a/assets/data/weapons/sacrificial-greatsword/en.json b/assets/data/weapons/sacrificial-greatsword/en.json index 5288b9dc..8ab76afc 100755 --- a/assets/data/weapons/sacrificial-greatsword/en.json +++ b/assets/data/weapons/sacrificial-greatsword/en.json @@ -2,7 +2,7 @@ "name": "Sacrificial Greatsword", "type": "Claymore", "rarity": 4, - "baseAttack": "44", + "baseAttack": 44, "subStat": "Energy Recharge", "passiveName": "Composed", "passiveDesc": "After damaging an opponent with an Elemental Skill, the skill has a 40/50/60/70/80% chance to end its own CD. Can only occur once every 30/26/22/18/14s.", diff --git a/assets/data/weapons/sacrificial-sword/en.json b/assets/data/weapons/sacrificial-sword/en.json index 2873e631..e9b5f685 100755 --- a/assets/data/weapons/sacrificial-sword/en.json +++ b/assets/data/weapons/sacrificial-sword/en.json @@ -2,7 +2,7 @@ "name": "Sacrificial Sword", "type": "Sword", "rarity": 4, - "baseAttack": "41", + "baseAttack": 41, "subStat": "Energy Recharge", "passiveName": "Composed", "passiveDesc": "After damaging an opponent with an Elemental Skill, the skill has a 40/50/60/70/80% chance to end its own CD. Can only occur once every 30/26/22/18/14s.", diff --git a/assets/data/weapons/seasoned-hunter's-bow/en.json b/assets/data/weapons/seasoned-hunter's-bow/en.json index 487869c5..3ae6291b 100755 --- a/assets/data/weapons/seasoned-hunter's-bow/en.json +++ b/assets/data/weapons/seasoned-hunter's-bow/en.json @@ -2,7 +2,7 @@ "name": "Seasoned Hunter's Bow", "type": "Bow", "rarity": 2, - "baseAttack": "33", + "baseAttack": 33, "subStat": "-", "passiveName": "-", "passiveDesc": "-", diff --git a/assets/data/weapons/serpent-spine/en.json b/assets/data/weapons/serpent-spine/en.json index dac5c9e1..18835fbb 100755 --- a/assets/data/weapons/serpent-spine/en.json +++ b/assets/data/weapons/serpent-spine/en.json @@ -2,7 +2,7 @@ "name": "Serpent Spine", "type": "Claymore", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "CRIT Rate", "passiveName": "Wavesplitter", "passiveDesc": "Every 4s a character is on the field, they will deal 6% more DMG and take 3% more DMG. This effect has a maximum of 5 stacks and will not be reset if the character leaves the field, but will be cleared when the character takes DMG.", diff --git a/assets/data/weapons/sharpshooter's-oath/en.json b/assets/data/weapons/sharpshooter's-oath/en.json index 1fc9e9ba..eff34c37 100755 --- a/assets/data/weapons/sharpshooter's-oath/en.json +++ b/assets/data/weapons/sharpshooter's-oath/en.json @@ -2,7 +2,7 @@ "name": "Sharpshooter's Oath", "type": "Bow", "rarity": 3, - "baseAttack": "39", + "baseAttack": 39, "subStat": "CRIT DMG", "passiveName": "Precise", "passiveDesc": "Increases DMG against weak spots by 24/30/36/42/48%.", diff --git a/assets/data/weapons/silver-sword/en.json b/assets/data/weapons/silver-sword/en.json index 5724c95d..28d1f9b4 100755 --- a/assets/data/weapons/silver-sword/en.json +++ b/assets/data/weapons/silver-sword/en.json @@ -2,7 +2,7 @@ "name": "Silver Sword", "type": "Sword", "rarity": 2, - "baseAttack": "33", + "baseAttack": 33, "subStat": "-", "passiveName": "-", "passiveDesc": "-", diff --git a/assets/data/weapons/skyrider-greatsword/en.json b/assets/data/weapons/skyrider-greatsword/en.json index 85335a34..980931a3 100755 --- a/assets/data/weapons/skyrider-greatsword/en.json +++ b/assets/data/weapons/skyrider-greatsword/en.json @@ -2,7 +2,7 @@ "name": "Skyrider Greatsword", "type": "Claymore", "rarity": 3, - "baseAttack": "39", + "baseAttack": 39, "subStat": "Physical DMG Bonus", "passiveName": "Courage", "passiveDesc": "On hit, Normal or Charged Attacks increase ATK by 6/7/8/9/10% for 6s. Max 4 stacks. Can only occur once every 0.5s.", diff --git a/assets/data/weapons/skyrider-sword/en.json b/assets/data/weapons/skyrider-sword/en.json index 863c4135..6fc42e88 100755 --- a/assets/data/weapons/skyrider-sword/en.json +++ b/assets/data/weapons/skyrider-sword/en.json @@ -2,7 +2,7 @@ "name": "Skyrider Sword", "type": "Sword", "rarity": 3, - "baseAttack": "38", + "baseAttack": 38, "subStat": "Energy Recharge", "passiveName": "Determination", "passiveDesc": "Using an Elemental Burst grants a 12/15/18/21/24% increase in ATK and Movement SPD for 12s.", diff --git a/assets/data/weapons/skyward-atlas/en.json b/assets/data/weapons/skyward-atlas/en.json index b8ac1249..88aff553 100755 --- a/assets/data/weapons/skyward-atlas/en.json +++ b/assets/data/weapons/skyward-atlas/en.json @@ -2,7 +2,7 @@ "name": "Skyward Atlas", "type": "Catalyst", "rarity": 5, - "baseAttack": "45", + "baseAttack": 45, "subStat": "ATK", "passiveName": "Wandering Clouds", "passiveDesc": "Increases Elemental DMG Bonus by 12/15/18/21/24%. Normal Attack hits have a 50% chance to earn the favor of the clouds. which actively seek out nearby enemies to attack for 15s, dealing 160/200/240/280/320% ATK DMG. Can only occur once every 30s.", diff --git a/assets/data/weapons/skyward-blade/en.json b/assets/data/weapons/skyward-blade/en.json index b2b768df..b294e23c 100755 --- a/assets/data/weapons/skyward-blade/en.json +++ b/assets/data/weapons/skyward-blade/en.json @@ -2,7 +2,7 @@ "name": "Skyward Blade", "type": "Sword", "rarity": 5, - "baseAttack": "44", + "baseAttack": 44, "subStat": "Energy Recharge", "passiveName": "Sky-Piercing Fang", "passiveDesc": "CRIT Rate increased by 4%. Gains Skypiercing Might upon using an Elemental Burst:\nIncreases Movement SPD by 10%, increases ATK SPD by 10%, and increases the DMG of Normal and Charged Attack hits by 20% for 12s.", diff --git a/assets/data/weapons/skyward-harp/en.json b/assets/data/weapons/skyward-harp/en.json index 4e089ccd..a54ab046 100755 --- a/assets/data/weapons/skyward-harp/en.json +++ b/assets/data/weapons/skyward-harp/en.json @@ -2,7 +2,7 @@ "name": "Skyward Harp", "type": "Bow", "rarity": 5, - "baseAttack": "45", + "baseAttack": 45, "subStat": "CRIT Rate", "passiveName": "Echoing Ballad", "passiveDesc": "Increases CRIT DMG by 20/25/30/35/40%. Hits have a 60/70/80/90/100% chance to inflict a small AoE attack, dealing 100% Physical ATK DMG. Can only occur once every 4s.", diff --git a/assets/data/weapons/skyward-pride/en.json b/assets/data/weapons/skyward-pride/en.json index 1c0106dc..fba32b0e 100755 --- a/assets/data/weapons/skyward-pride/en.json +++ b/assets/data/weapons/skyward-pride/en.json @@ -2,7 +2,7 @@ "name": "Skyward Pride", "type": "Claymore", "rarity": 5, - "baseAttack": "45", + "baseAttack": 45, "subStat": "Energy Recharge", "passiveName": "Sky-Ripping Dragon Spine", "passiveDesc": "Increases all DMG by 8/10/12/14/16%. After using an Elemental Burst, Normal or Charged Attack, on hit, creates a vacuum blade that does 80/100/120/140/160% Physical DMG to enemies along its path. Lasts for 20s or 8 vacuum blades.", diff --git a/assets/data/weapons/skyward-spine/en.json b/assets/data/weapons/skyward-spine/en.json index bf58f067..24d1467b 100755 --- a/assets/data/weapons/skyward-spine/en.json +++ b/assets/data/weapons/skyward-spine/en.json @@ -2,7 +2,7 @@ "name": "Skyward Spine", "type": "Polearm", "rarity": 5, - "baseAttack": "48", + "baseAttack": 48, "subStat": "Energy Recharge", "passiveName": "Black Wing", "passiveDesc": "Increases CRIT Rate by 8% and increases Normal ATK SPD by 12%. Additionally, Normal and Charged Attacks hits on enemies have a 50% chance to trigger a vacuum blade that deals 40% of ATK as DMG in a small AoE. This effect can occur no more than once every 2s.", diff --git a/assets/data/weapons/slingshot/en.json b/assets/data/weapons/slingshot/en.json index 5a73a3c6..c873f2e5 100755 --- a/assets/data/weapons/slingshot/en.json +++ b/assets/data/weapons/slingshot/en.json @@ -2,7 +2,7 @@ "name": "Slingshot", "type": "Bow", "rarity": 3, - "baseAttack": "38", + "baseAttack": 38, "subStat": "CRIT Rate", "passiveName": "Slingshot", "passiveDesc": "If a Normal Attack or Aimed Shot hits a target within 0.3s of being fired, increases DMG by 36/42/48/54/60%; otherwise, it decreases DMG by 10%.", diff --git a/assets/data/weapons/snow-tombed-starsilver/en.json b/assets/data/weapons/snow-tombed-starsilver/en.json index 7632a453..2163e0de 100644 --- a/assets/data/weapons/snow-tombed-starsilver/en.json +++ b/assets/data/weapons/snow-tombed-starsilver/en.json @@ -1,10 +1,10 @@ { - "name": "Snow-Tombed Starsilver", - "type": "Claymore", - "rarity": 4, - "baseAttack": "44", - "subStat": "Physical DMG Bonus", - "passiveName": "", - "passiveDesc": "Hitting an opponent with Normal and Charged Attacks has a 60% chance of forming and dropping an Everfrost Icicle above them, dealing 80% AoE ATK DMG. Opponents affected by Cryo are dealt 200% ATK DMG. Can only occur once every 10s.", - "location": "Crafting" -} \ No newline at end of file + "name": "Snow-Tombed Starsilver", + "type": "Claymore", + "rarity": 4, + "baseAttack": 44, + "subStat": "Physical DMG Bonus", + "passiveName": "", + "passiveDesc": "Hitting an opponent with Normal and Charged Attacks has a 60% chance of forming and dropping an Everfrost Icicle above them, dealing 80% AoE ATK DMG. Opponents affected by Cryo are dealt 200% ATK DMG. Can only occur once every 10s.", + "location": "Crafting" +} diff --git a/assets/data/weapons/solar-pearl/en.json b/assets/data/weapons/solar-pearl/en.json index 35f320d3..7a89f83c 100755 --- a/assets/data/weapons/solar-pearl/en.json +++ b/assets/data/weapons/solar-pearl/en.json @@ -2,7 +2,7 @@ "name": "Solar Pearl", "type": "Catalyst", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "CRIT Rate", "passiveName": "Solar Shine", "passiveDesc": "Normal Attack hits increase Elemental Skill and Elemental Burst DMG by 20/25/30/35/40% for 6s. Likewise, Elemental Skill or Elemental Burst hits increase Normal Attack DMG by 20/25/30/35/40% for 6s.", diff --git a/assets/data/weapons/staff-of-homa/en.json b/assets/data/weapons/staff-of-homa/en.json index b5e26846..fa27329f 100644 --- a/assets/data/weapons/staff-of-homa/en.json +++ b/assets/data/weapons/staff-of-homa/en.json @@ -2,7 +2,7 @@ "name": "Staff of Homa", "type": "Polearm", "rarity": 5, - "baseAttack": "46", + "baseAttack": 46, "subStat": "CRIT DMG", "passiveName": "Reckless Cinnabar", "passiveDesc": "HP increased by 20/25/30/35/40%. Additionally, provides an ATK Bonus based on 0.8/1/1.2/1.4/1.6% of the wielder's Max HP. When the wielder's HP is less than 50%, this ATK Bonus is increased by an additional 1/1.2/1.4/1.6/1.8% of Max HP.", diff --git a/assets/data/weapons/summit-shaper/en.json b/assets/data/weapons/summit-shaper/en.json index c78e60d7..9802acde 100644 --- a/assets/data/weapons/summit-shaper/en.json +++ b/assets/data/weapons/summit-shaper/en.json @@ -1,11 +1,10 @@ { - "name": "Summit Shaper", - "type": "Sword", - "rarity": 5, - "baseAttack": "46", - "subStat": "ATK", - "passiveName": "", - "passiveDesc": "Increases Shield Strength by 20/25/30/35/40%. Scoring hits on opponents increases ATK by 4/5/6/7/8% for 8s. Max 5 stacks. Can only occur once every 0.3s. While protected by a shield, this ATK increase effect is increased by 100%.", - "location": "Gacha" - } - \ No newline at end of file + "name": "Summit Shaper", + "type": "Sword", + "rarity": 5, + "baseAttack": 46, + "subStat": "ATK", + "passiveName": "", + "passiveDesc": "Increases Shield Strength by 20/25/30/35/40%. Scoring hits on opponents increases ATK by 4/5/6/7/8% for 8s. Max 5 stacks. Can only occur once every 0.3s. While protected by a shield, this ATK increase effect is increased by 100%.", + "location": "Gacha" +} diff --git a/assets/data/weapons/the-alley-flash/en.json b/assets/data/weapons/the-alley-flash/en.json index c75867cf..43d1c446 100755 --- a/assets/data/weapons/the-alley-flash/en.json +++ b/assets/data/weapons/the-alley-flash/en.json @@ -2,7 +2,7 @@ "name": "The Alley Flash", "type": "Sword", "rarity": 4, - "baseAttack": "44", + "baseAttack": 44, "subStat": "CRIT Rate", "passiveName": "Itinerant Hero", "passiveDesc": "Continuosly sprinting for at least 1s increases ATK by 28% for 6s. This effect cannot stack.", diff --git a/assets/data/weapons/the-bell/en.json b/assets/data/weapons/the-bell/en.json index 7732ceb0..311a10db 100755 --- a/assets/data/weapons/the-bell/en.json +++ b/assets/data/weapons/the-bell/en.json @@ -2,7 +2,7 @@ "name": "The Bell", "type": "Claymore", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "HP", "passiveName": "Rebellious Guardian", "passiveDesc": "Taking DMG generates a shield which absorbs DMG up to 20/23/26/29/32% of Max HP. This shield lasts for 10s or until broken, and can only be triggered once every 45s. While protected by the shield, the character gains 12/15/18/21/24% increased DMG.", diff --git a/assets/data/weapons/the-black-sword/en.json b/assets/data/weapons/the-black-sword/en.json index 36d1fc50..5425c52c 100755 --- a/assets/data/weapons/the-black-sword/en.json +++ b/assets/data/weapons/the-black-sword/en.json @@ -2,7 +2,7 @@ "name": "The Black Sword", "type": "Sword", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "CRIT Rate", "passiveName": "Justice", "passiveDesc": "Increases DMG dealt by Normal and Charged Attacks by 20%.\nAdditionally, regenerates 60% of ATK as HP when Normal and Charged Attacks score a CRIT Hit. This effect can occur once every 5s.", diff --git a/assets/data/weapons/the-flute/en.json b/assets/data/weapons/the-flute/en.json index 3ca611ed..30df0d48 100755 --- a/assets/data/weapons/the-flute/en.json +++ b/assets/data/weapons/the-flute/en.json @@ -2,7 +2,7 @@ "name": "The Flute", "type": "Sword", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "ATK", "passiveName": "Chord", "passiveDesc": "Normal or Charged Attacks grant Harmonic on hits. Gaining 5 Harmonics triggers the power of music and deals 100/125/150/175/200% ATK DMG to surrounding enemies. Harmonics last up to 30s, and a maximum of 1 can be gained every 0.5s.", diff --git a/assets/data/weapons/the-stringless/en.json b/assets/data/weapons/the-stringless/en.json index a9a231b0..60a45940 100755 --- a/assets/data/weapons/the-stringless/en.json +++ b/assets/data/weapons/the-stringless/en.json @@ -2,7 +2,7 @@ "name": "The Stringless", "type": "Bow", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "Elemental Mastery", "passiveName": "Arrowless Song", "passiveDesc": "Increases Elemental Skill and Elemental Burst DMG by 24/30/36/42/48%.", diff --git a/assets/data/weapons/the-viridescent-hunt/en.json b/assets/data/weapons/the-viridescent-hunt/en.json index bda29c4b..9c5770dd 100755 --- a/assets/data/weapons/the-viridescent-hunt/en.json +++ b/assets/data/weapons/the-viridescent-hunt/en.json @@ -2,7 +2,7 @@ "name": "The Viridescent Hunt", "type": "Bow", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "CRIT Rate", "passiveName": "Verdant Wind", "passiveDesc": "Upon hit, Normal and Aimed Shot Attacks have a 50% chance to generate a Cyclone, which will continuously attract surrounding enemies, dealing 40% of ATK as DMG to these enemies every 0.5s for 4s. This effect can only occur once every 14s.", diff --git a/assets/data/weapons/the-widsith/en.json b/assets/data/weapons/the-widsith/en.json index 1825e6b8..4f0721f6 100755 --- a/assets/data/weapons/the-widsith/en.json +++ b/assets/data/weapons/the-widsith/en.json @@ -2,7 +2,7 @@ "name": "The Widsith", "type": "Catalyst", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "CRIT DMG", "passiveName": "Debut", "passiveDesc": "When the character takes the field, they gain a random theme song for 10s:\nRecitative: Increases Base ATK by 60%\nInterlude: Elemental Mastery is increased by 240\nAria: Increases all Elemental DMG by 48%\nCan only occur once every 30s", diff --git a/assets/data/weapons/thrilling-tales-of-dragon-slayers/en.json b/assets/data/weapons/thrilling-tales-of-dragon-slayers/en.json index dbbf9f21..56f596d6 100755 --- a/assets/data/weapons/thrilling-tales-of-dragon-slayers/en.json +++ b/assets/data/weapons/thrilling-tales-of-dragon-slayers/en.json @@ -2,7 +2,7 @@ "name": "Thrilling Tales of Dragon Slayers", "type": "Catalyst", "rarity": 3, - "baseAttack": "39", + "baseAttack": 39, "subStat": "HP", "passiveName": "Legacy", "passiveDesc": "When switching characters, the new character taking the field has their ATK increased by 24/30/36/42/48% for 10s. This effect can only occur once every 20s.", diff --git a/assets/data/weapons/traveler's-handy-sword/en.json b/assets/data/weapons/traveler's-handy-sword/en.json index 6b167f05..b65c46a5 100755 --- a/assets/data/weapons/traveler's-handy-sword/en.json +++ b/assets/data/weapons/traveler's-handy-sword/en.json @@ -2,7 +2,7 @@ "name": "Traveler's Handy Sword", "type": "Sword", "rarity": 3, - "baseAttack": "40", + "baseAttack": 40, "subStat": "DEF", "passiveName": "Journey", "passiveDesc": "Each Elemental Orb or Particle collected restores 1/1.25/1.5/1.75/2% HP.", diff --git a/assets/data/weapons/twin-nephrite/en.json b/assets/data/weapons/twin-nephrite/en.json index 82f62873..d9ee207f 100755 --- a/assets/data/weapons/twin-nephrite/en.json +++ b/assets/data/weapons/twin-nephrite/en.json @@ -2,7 +2,7 @@ "name": "Twin Nephrite", "type": "Catalyst", "rarity": 3, - "baseAttack": "40", + "baseAttack": 40, "subStat": "CRIT Rate", "passiveName": "Guerilla Tactic", "passiveDesc": "Defeating an enemy increases Movement SPD and ATK by 12/14/16/18/20% for 15s.", diff --git a/assets/data/weapons/waster-greatsword/en.json b/assets/data/weapons/waster-greatsword/en.json index a668b3cf..4417786b 100755 --- a/assets/data/weapons/waster-greatsword/en.json +++ b/assets/data/weapons/waster-greatsword/en.json @@ -2,7 +2,7 @@ "name": "Waster Greatsword", "type": "Claymore", "rarity": 1, - "baseAttack": "23", + "baseAttack": 23, "subStat": "-", "passiveName": "-", "passiveDesc": "-", diff --git a/assets/data/weapons/white-iron-greatsword/en.json b/assets/data/weapons/white-iron-greatsword/en.json index 926faaeb..bbe685fe 100755 --- a/assets/data/weapons/white-iron-greatsword/en.json +++ b/assets/data/weapons/white-iron-greatsword/en.json @@ -2,7 +2,7 @@ "name": "White Iron Greatsword", "type": "Claymore", "rarity": 3, - "baseAttack": "39", + "baseAttack": 39, "subStat": "DEF", "passiveName": "Cull the Weak", "passiveDesc": "Defeating an opponent restores 8/10/12/14/16% HP.", diff --git a/assets/data/weapons/white-tassel/en.json b/assets/data/weapons/white-tassel/en.json index 7c66aba9..9901b3f1 100755 --- a/assets/data/weapons/white-tassel/en.json +++ b/assets/data/weapons/white-tassel/en.json @@ -2,7 +2,7 @@ "name": "White Tassel", "type": "Polearm", "rarity": 3, - "baseAttack": "39", + "baseAttack": 39, "subStat": "CRIT Rate", "passiveName": "Sharp", "passiveDesc": "Increases Normal Attack DMG by 24/30/36/42/48%.", diff --git a/assets/data/weapons/whiteblind/en.json b/assets/data/weapons/whiteblind/en.json index 8ec815d9..2b9d1630 100755 --- a/assets/data/weapons/whiteblind/en.json +++ b/assets/data/weapons/whiteblind/en.json @@ -2,7 +2,7 @@ "name": "Whiteblind", "type": "Claymore", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "DEF", "passiveName": "Infusion Blade", "passiveDesc": "On hit, Normal or Charged Attacks increase Base ATK and DEF by 6/7.5/9/10.5/12% for 6s. Max 4 stacks. Can only occur once every 0.5s.", diff --git a/assets/data/weapons/windblume-ode/en.json b/assets/data/weapons/windblume-ode/en.json index ef1e4e4c..370fd151 100644 --- a/assets/data/weapons/windblume-ode/en.json +++ b/assets/data/weapons/windblume-ode/en.json @@ -1,11 +1,10 @@ { - "name": "Windblume Ode", - "type": "Bow", - "rarity": 4, - "baseAttack": "42", - "subStat": "Elemental Mastery", - "passiveName": "Windblume Wish", - "passiveDesc": "After using an Elemental Skill, receive a boon from the ancient wish of the Windblume, increasing ATK by 16/20/24/28/32% for 6s.", - "location": "Invitation to Windblume (v1.4) Event Shop" - } - \ No newline at end of file + "name": "Windblume Ode", + "type": "Bow", + "rarity": 4, + "baseAttack": 42, + "subStat": "Elemental Mastery", + "passiveName": "Windblume Wish", + "passiveDesc": "After using an Elemental Skill, receive a boon from the ancient wish of the Windblume, increasing ATK by 16/20/24/28/32% for 6s.", + "location": "Invitation to Windblume (v1.4) Event Shop" +} diff --git a/assets/data/weapons/wine-and-song/en.json b/assets/data/weapons/wine-and-song/en.json index 83fc2177..edfdff0b 100755 --- a/assets/data/weapons/wine-and-song/en.json +++ b/assets/data/weapons/wine-and-song/en.json @@ -2,7 +2,7 @@ "name": "Wine and Song", "type": "Catalyst", "rarity": 4, - "baseAttack": "42", + "baseAttack": 42, "subStat": "Energy Recharge", "passiveName": "Wind in the Square", "passiveDesc": "For every character in the party who hails from Mondstadt, the character who equips this weapon gains 8/10/12/14/16% ATK increase and 3/3.5/4/4.5/5% Movement SPD increase.", diff --git a/assets/data/weapons/wolf's-gravestone/en.json b/assets/data/weapons/wolf's-gravestone/en.json index 095eecca..35ef0329 100755 --- a/assets/data/weapons/wolf's-gravestone/en.json +++ b/assets/data/weapons/wolf's-gravestone/en.json @@ -2,7 +2,7 @@ "name": "Wolf's Gravestone", "type": "Claymore", "rarity": 5, - "baseAttack": "46", + "baseAttack": 46, "subStat": "ATK", "passiveName": "Wolfish Tracker", "passiveDesc": "Increases Base ATK by 20/25/30/35/40%. On hit, attacks against enemies with less than 30% HP increase all party members' Base ATK by 40/50/60/70/80% for 12s. Can only occur once every 30s.", diff --git a/docker-compose.yml b/docker-compose.yml index 2e78ef49..82645504 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,4 +5,4 @@ services: build: ./ container_name: genshin_api ports: - - '5000:5000' \ No newline at end of file + - '5000:5000' diff --git a/scripts/add_keys.js b/scripts/add_keys.js index f213bd66..e29f2fad 100644 --- a/scripts/add_keys.js +++ b/scripts/add_keys.js @@ -1,40 +1,38 @@ -const fs = require("fs"); +const fs = require('fs'); const readDirectoryRecursiveWithFilter = (baseDir, prefix, predicate) => { - const traverse = (folder) => { - const items = fs.readdirSync(`${prefix}/${folder}`); - items.forEach((file) => { - const path = `${folder}/${file}`; - if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { - traverse(path); - return; - } - - predicate(path); - }); - }; - traverse(baseDir); + const traverse = (folder) => { + const items = fs.readdirSync(`${prefix}/${folder}`); + items.forEach((file) => { + const path = `${folder}/${file}`; + if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { + traverse(path); + return; + } + + predicate(path); + }); }; + traverse(baseDir); +}; - const maps = { - 'Normal Attack': 'NORMAL_ATTACK', - 'Attaque normale': 'NORMAL_ATTACK', - 'Elemental Skill': 'ELEMENTAL_SKILL', - 'Compétence élémentaire': 'ELEMENTAL_SKILL', - 'Elemental Burst': 'ELEMENTAL_BURST', - 'Déchainement élémentaire': 'ELEMENTAL_BURST' - } +const maps = { + 'Normal Attack': 'NORMAL_ATTACK', + 'Attaque normale': 'NORMAL_ATTACK', + 'Elemental Skill': 'ELEMENTAL_SKILL', + 'Compétence élémentaire': 'ELEMENTAL_SKILL', + 'Elemental Burst': 'ELEMENTAL_BURST', + 'Déchainement élémentaire': 'ELEMENTAL_BURST', +}; - readDirectoryRecursiveWithFilter("", "../assets/data/characters", (file) => { - const content = fs.readFileSync("../assets/data/characters" + file, "utf-8"); - const parsed = JSON.parse(content); +readDirectoryRecursiveWithFilter('', '../assets/data/characters', (file) => { + const content = fs.readFileSync('../assets/data/characters' + file, 'utf-8'); + const parsed = JSON.parse(content); - if(parsed.skillTalents) { - parsed.skillTalents.forEach(elem => { - if(maps[elem.unlock]) elem.type = maps[elem.unlock] - }) - const encoded = JSON.stringify(parsed, undefined, 2); - fs.writeFileSync("../assets/data/characters" + file, encoded); - - } - }); - \ No newline at end of file + if (parsed.skillTalents) { + parsed.skillTalents.forEach((elem) => { + if (maps[elem.unlock]) elem.type = maps[elem.unlock]; + }); + const encoded = JSON.stringify(parsed, undefined, 2); + fs.writeFileSync('../assets/data/characters' + file, encoded); + } +}); diff --git a/scripts/add_type_to_character.js b/scripts/add_type_to_character.js index c5406b42..7ff394f2 100644 --- a/scripts/add_type_to_character.js +++ b/scripts/add_type_to_character.js @@ -1,47 +1,38 @@ -const fs = require("fs"); +const fs = require('fs'); const readDirectoryRecursiveWithFilter = (baseDir, prefix, predicate) => { - const traverse = (folder) => { - const items = fs.readdirSync(`${prefix}/${folder}`); - items.forEach((file) => { - const path = `${folder}/${file}`; - if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { - traverse(path); - return; - } - - predicate(path); - }); - }; - traverse(baseDir); - }; + const traverse = (folder) => { + const items = fs.readdirSync(`${prefix}/${folder}`); + items.forEach((file) => { + const path = `${folder}/${file}`; + if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { + traverse(path); + return; + } - const elements = { + predicate(path); + }); + }; + traverse(baseDir); +}; - } +const elements = {}; - readDirectoryRecursiveWithFilter("", "../assets/data/elements", (file) => { - const content = fs.readFileSync("../assets/data/elements" + file, "utf-8"); - const parsed = JSON.parse(content); +readDirectoryRecursiveWithFilter('', '../assets/data/elements', (file) => { + const content = fs.readFileSync('../assets/data/elements' + file, 'utf-8'); + const parsed = JSON.parse(content); - if(file.endsWith("en.json")) { - elements[parsed.name] = parsed.key; - - } - }); - - readDirectoryRecursiveWithFilter("", "../assets/data/characters", (file) => { - const content = fs.readFileSync("../assets/data/characters" + file, "utf-8"); - const parsed = JSON.parse(content); + if (file.endsWith('en.json')) { + elements[parsed.name] = parsed.key; + } +}); - if(parsed.vision) { - parsed.vision_key = elements[parsed.vision] - const encoded = JSON.stringify(parsed, undefined, 2); - fs.writeFileSync("../assets/data/characters" + file, encoded); - - +readDirectoryRecursiveWithFilter('', '../assets/data/characters', (file) => { + const content = fs.readFileSync('../assets/data/characters' + file, 'utf-8'); + const parsed = JSON.parse(content); - - - } - }); - \ No newline at end of file + if (parsed.vision) { + parsed.vision_key = elements[parsed.vision]; + const encoded = JSON.stringify(parsed, undefined, 2); + fs.writeFileSync('../assets/data/characters' + file, encoded); + } +}); diff --git a/scripts/add_weapon_type.js b/scripts/add_weapon_type.js index ecb1535f..3957fed3 100644 --- a/scripts/add_weapon_type.js +++ b/scripts/add_weapon_type.js @@ -1,46 +1,41 @@ -const fs = require("fs"); +const fs = require('fs'); const readDirectoryRecursiveWithFilter = (baseDir, prefix, predicate) => { - const traverse = (folder) => { - const items = fs.readdirSync(`${prefix}/${folder}`); - items.forEach((file) => { - const path = `${folder}/${file}`; - if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { - traverse(path); - return; - } - - predicate(path); - }); - }; - traverse(baseDir); + const traverse = (folder) => { + const items = fs.readdirSync(`${prefix}/${folder}`); + items.forEach((file) => { + const path = `${folder}/${file}`; + if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { + traverse(path); + return; + } + + predicate(path); + }); }; + traverse(baseDir); +}; - const map = { +const map = {}; - } +readDirectoryRecursiveWithFilter('', '../assets/data/characters', (file) => { + const content = fs.readFileSync('../assets/data/characters' + file, 'utf-8'); + const parsed = JSON.parse(content); - readDirectoryRecursiveWithFilter("", "../assets/data/characters", (file) => { - const content = fs.readFileSync("../assets/data/characters" + file, "utf-8"); - const parsed = JSON.parse(content); + if (parsed.weapon && file.endsWith('en.json')) { + parsed.weapon_type = parsed.weapon.toUpperCase(); + map[parsed.name] = parsed.weapon_type; + const encoded = JSON.stringify(parsed, undefined, 2); + fs.writeFileSync('../assets/data/characters' + file, encoded); + } +}); +readDirectoryRecursiveWithFilter('', '../assets/data/characters', (file) => { + const content = fs.readFileSync('../assets/data/characters' + file, 'utf-8'); + const parsed = JSON.parse(content); - if(parsed.weapon && file.endsWith("en.json")) { - parsed.weapon_type = parsed.weapon.toUpperCase(); - map[parsed.name] = parsed.weapon_type - const encoded = JSON.stringify(parsed, undefined, 2); - fs.writeFileSync("../assets/data/characters" + file, encoded); - - } - }); - readDirectoryRecursiveWithFilter("", "../assets/data/characters", (file) => { - const content = fs.readFileSync("../assets/data/characters" + file, "utf-8"); - const parsed = JSON.parse(content); + if (!file.endsWith('en.json')) { + parsed.weapon_type = map[parsed.name]; - if(!file.endsWith("en.json")) { - parsed.weapon_type = map[parsed.name] - - const encoded = JSON.stringify(parsed, undefined, 2); - fs.writeFileSync("../assets/data/characters" + file, encoded); - - } - }); - \ No newline at end of file + const encoded = JSON.stringify(parsed, undefined, 2); + fs.writeFileSync('../assets/data/characters' + file, encoded); + } +}); diff --git a/scripts/fix_domains.js b/scripts/fix_domains.js index 0e9fba1e..0d787f75 100644 --- a/scripts/fix_domains.js +++ b/scripts/fix_domains.js @@ -1,72 +1,72 @@ -const fs = require("fs"); +const fs = require('fs'); const readDirectoryRecursiveWithFilter = (baseDir, prefix, predicate) => { - const traverse = (folder) => { - const items = fs.readdirSync(`${prefix}/${folder}`); - items.forEach((file) => { - const path = `${folder}/${file}`; - if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { - traverse(path); - return; - } - - predicate(path); - }); - }; - traverse(baseDir); + const traverse = (folder) => { + const items = fs.readdirSync(`${prefix}/${folder}`); + items.forEach((file) => { + const path = `${folder}/${file}`; + if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { + traverse(path); + return; + } + + predicate(path); + }); }; + traverse(baseDir); +}; - const elements = { +const elements = {}; +readDirectoryRecursiveWithFilter('', '../assets/data/elements', (file) => { + const content = fs.readFileSync('../assets/data/elements' + file, 'utf-8'); + const parsed = JSON.parse(content); + + if (file.endsWith('en.json')) { + elements[parsed.key.toLowerCase()] = parsed.key; } +}); - readDirectoryRecursiveWithFilter("", "../assets/data/elements", (file) => { - const content = fs.readFileSync("../assets/data/elements" + file, "utf-8"); - const parsed = JSON.parse(content); +readDirectoryRecursiveWithFilter('', '../assets/data/domains', (file) => { + const content = fs.readFileSync('../assets/data/domains' + file, 'utf-8'); + const parsed = JSON.parse(content); - if(file.endsWith("en.json")) { - elements[parsed.key.toLowerCase()] = parsed.key; - + if (file.endsWith('en.json') && parsed.requirements) { + parsed.requirements.forEach((elem) => { + elem.level = Number.parseInt(elem.level); + elem.adventureRank = Number.parseInt(elem.adventureRank); + elem.recommendedLevel = Number.parseInt(elem.recommendedLevel); + }); + parsed.recommendedElements.forEach((elem) => { + elem.element = elements[elem.element]; + }); + parsed.rewards.forEach((elem) => { + elem.details.forEach((detail) => { + detail.level = Number.parseInt(detail.level); + detail.adventureExperience = Number.parseInt( + detail.adventureExperience, + ); + detail.companionshipExperience = Number.parseInt( + detail.companionshipExperience, + ); + detail.mora = Number.parseInt(detail.mora); + if (detail.drops) { + detail.drops = detail.drops.map((entry) => ({ + name: entry.name, + drop_min: Number.parseInt(entry.rate.split('-')[0]), + drop_max: Number.parseInt(entry.rate.split('-')[1]), + })); } - }); - - readDirectoryRecursiveWithFilter("", "../assets/data/domains", (file) => { - const content = fs.readFileSync("../assets/data/domains" + file, "utf-8"); - const parsed = JSON.parse(content); - - if(file.endsWith("en.json") && parsed.requirements) { - - parsed.requirements.forEach(elem => { - elem.level = Number.parseInt(elem.level) - elem.adventureRank = Number.parseInt(elem.adventureRank) - elem.recommendedLevel = Number.parseInt(elem.recommendedLevel) - }) - parsed.recommendedElements.forEach(elem => { - elem.element = elements[elem.element] - }) - parsed.rewards.forEach(elem => { - elem.details.forEach(detail => { - detail.level = Number.parseInt(detail.level) - detail.adventureExperience = Number.parseInt(detail.adventureExperience) - detail.companionshipExperience = Number.parseInt(detail.companionshipExperience) - detail.mora = Number.parseInt(detail.mora) - if(detail.drops) { - detail.drops = detail.drops.map(entry => ({name: entry.name, drop_min: Number.parseInt(entry.rate.split('-')[0]), drop_max: Number.parseInt(entry.rate.split('-')[1])})) - - } - if(detail.items) { - detail.items = detail.items.map(entry => ({name: entry.name, drop_min: Number.parseInt(entry.rate.split('-')[0]), drop_max: Number.parseInt(entry.rate.split('-')[1])})) - - } - }) - }) - - const encoded = JSON.stringify(parsed, undefined, 2); - fs.writeFileSync("../assets/data/domains" + file, encoded); - - - - - + if (detail.items) { + detail.items = detail.items.map((entry) => ({ + name: entry.name, + drop_min: Number.parseInt(entry.rate.split('-')[0]), + drop_max: Number.parseInt(entry.rate.split('-')[1]), + })); } - }); - \ No newline at end of file + }); + }); + + const encoded = JSON.stringify(parsed, undefined, 2); + fs.writeFileSync('../assets/data/domains' + file, encoded); + } +}); diff --git a/scripts/fix_elements.js b/scripts/fix_elements.js index ee77c1b8..b208b8e6 100644 --- a/scripts/fix_elements.js +++ b/scripts/fix_elements.js @@ -1,30 +1,27 @@ -const fs = require("fs"); +const fs = require('fs'); const readDirectoryRecursiveWithFilter = (baseDir, prefix, predicate) => { - const traverse = (folder) => { - const items = fs.readdirSync(`${prefix}/${folder}`); - items.forEach((file) => { - const path = `${folder}/${file}`; - if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { - traverse(path); - return; - } - - predicate(path); - }); - }; - traverse(baseDir); - }; + const traverse = (folder) => { + const items = fs.readdirSync(`${prefix}/${folder}`); + items.forEach((file) => { + const path = `${folder}/${file}`; + if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { + traverse(path); + return; + } + predicate(path); + }); + }; + traverse(baseDir); +}; - readDirectoryRecursiveWithFilter("", "../assets/data/elements", (file) => { - const content = fs.readFileSync("../assets/data/elements" + file, "utf-8"); - const parsed = JSON.parse(content); +readDirectoryRecursiveWithFilter('', '../assets/data/elements', (file) => { + const content = fs.readFileSync('../assets/data/elements' + file, 'utf-8'); + const parsed = JSON.parse(content); - if(file.endsWith("en.json")) { - parsed.key = parsed.name.toUpperCase(); - const encoded = JSON.stringify(parsed, undefined, 2); - fs.writeFileSync("../assets/data/elements" + file, encoded); - - } - }); - \ No newline at end of file + if (file.endsWith('en.json')) { + parsed.key = parsed.name.toUpperCase(); + const encoded = JSON.stringify(parsed, undefined, 2); + fs.writeFileSync('../assets/data/elements' + file, encoded); + } +}); diff --git a/scripts/level_passives.js b/scripts/level_passives.js index aa6c0cee..261d1c83 100644 --- a/scripts/level_passives.js +++ b/scripts/level_passives.js @@ -1,37 +1,34 @@ -const fs = require("fs"); +const fs = require('fs'); const readDirectoryRecursiveWithFilter = (baseDir, prefix, predicate) => { - const traverse = (folder) => { - const items = fs.readdirSync(`${prefix}/${folder}`); - items.forEach((file) => { - const path = `${folder}/${file}`; - if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { - traverse(path); - return; - } - - predicate(path); - }); - }; - traverse(baseDir); - }; + const traverse = (folder) => { + const items = fs.readdirSync(`${prefix}/${folder}`); + items.forEach((file) => { + const path = `${folder}/${file}`; + if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { + traverse(path); + return; + } + predicate(path); + }); + }; + traverse(baseDir); +}; - readDirectoryRecursiveWithFilter("", "../assets/data/characters", (file) => { - const content = fs.readFileSync("../assets/data/characters" + file, "utf-8"); - const parsed = JSON.parse(content); +readDirectoryRecursiveWithFilter('', '../assets/data/characters', (file) => { + const content = fs.readFileSync('../assets/data/characters' + file, 'utf-8'); + const parsed = JSON.parse(content); - if(parsed.passiveTalents) { - parsed.passiveTalents.forEach(elem => { - const {unlock} = elem; - if(!unlock) return; - const parsed = Number.parseInt(unlock.substr(unlock.length -1)) - if(!Number.isNaN(parsed)) { - elem.level = parsed; - } - }) - const encoded = JSON.stringify(parsed, undefined, 2); - fs.writeFileSync("../assets/data/characters" + file, encoded); - - } - }); - \ No newline at end of file + if (parsed.passiveTalents) { + parsed.passiveTalents.forEach((elem) => { + const { unlock } = elem; + if (!unlock) return; + const parsed = Number.parseInt(unlock.substr(unlock.length - 1)); + if (!Number.isNaN(parsed)) { + elem.level = parsed; + } + }); + const encoded = JSON.stringify(parsed, undefined, 2); + fs.writeFileSync('../assets/data/characters' + file, encoded); + } +}); diff --git a/scripts/num_constelations.js b/scripts/num_constelations.js index 5e28c3d6..0168909e 100644 --- a/scripts/num_constelations.js +++ b/scripts/num_constelations.js @@ -1,37 +1,34 @@ -const fs = require("fs"); +const fs = require('fs'); const readDirectoryRecursiveWithFilter = (baseDir, prefix, predicate) => { - const traverse = (folder) => { - const items = fs.readdirSync(`${prefix}/${folder}`); - items.forEach((file) => { - const path = `${folder}/${file}`; - if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { - traverse(path); - return; - } - - predicate(path); - }); - }; - traverse(baseDir); - }; + const traverse = (folder) => { + const items = fs.readdirSync(`${prefix}/${folder}`); + items.forEach((file) => { + const path = `${folder}/${file}`; + if (fs.lstatSync(`${prefix}/${path}`).isDirectory()) { + traverse(path); + return; + } + predicate(path); + }); + }; + traverse(baseDir); +}; - readDirectoryRecursiveWithFilter("", "../assets/data/characters", (file) => { - const content = fs.readFileSync("../assets/data/characters" + file, "utf-8"); - const parsed = JSON.parse(content); +readDirectoryRecursiveWithFilter('', '../assets/data/characters', (file) => { + const content = fs.readFileSync('../assets/data/characters' + file, 'utf-8'); + const parsed = JSON.parse(content); - if(parsed.constellations) { - parsed.constellations.forEach(elem => { - const {unlock} = elem; - if(!unlock) return; - const parsed = Number.parseInt(unlock.substr(unlock.length -1)) - if(!Number.isNaN(parsed)) { - elem.level = parsed; - } - }) - const encoded = JSON.stringify(parsed, undefined, 2); - fs.writeFileSync("../assets/data/characters" + file, encoded); - - } - }); - \ No newline at end of file + if (parsed.constellations) { + parsed.constellations.forEach((elem) => { + const { unlock } = elem; + if (!unlock) return; + const parsed = Number.parseInt(unlock.substr(unlock.length - 1)); + if (!Number.isNaN(parsed)) { + elem.level = parsed; + } + }); + const encoded = JSON.stringify(parsed, undefined, 2); + fs.writeFileSync('../assets/data/characters' + file, encoded); + } +});