localization

This commit is contained in:
mhwikicn 2025-08-30 19:41:51 +08:00
parent 3597e1107d
commit f4d1024aab
16 changed files with 2613 additions and 2630 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
[ [
{ {
"name": "Attack Jewel 1", "name": "腕力珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -9,7 +9,7 @@
} }
}, },
{ {
"name": "Attack Jewel 2", "name": "怪力珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -18,7 +18,7 @@
} }
}, },
{ {
"name": "Attack Jewel 3", "name": "刚力珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 3, "requiredSlots": 3,
"skills": { "skills": {
@ -27,7 +27,7 @@
} }
}, },
{ {
"name": "Defense Jewel 1", "name": "守护珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -35,7 +35,7 @@
} }
}, },
{ {
"name": "Defense Jewel 2", "name": "防御珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -43,7 +43,7 @@
} }
}, },
{ {
"name": "Defense Jewel 3", "name": "刚体珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 3, "requiredSlots": 3,
"skills": { "skills": {
@ -51,7 +51,7 @@
} }
}, },
{ {
"name": "Steadfast Jewel 1", "name": "耐绝珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -60,7 +60,7 @@
} }
}, },
{ {
"name": "Steadfast Jewel 2", "name": "抗绝珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -69,7 +69,7 @@
} }
}, },
{ {
"name": "Steadfast Jewel 3", "name": "觉醒珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -78,7 +78,7 @@
} }
}, },
{ {
"name": "Paralysis Jewel 1", "name": "耐麻痹珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -87,7 +87,7 @@
} }
}, },
{ {
"name": "Paralysis Jewel 2", "name": "抗麻痹珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -96,7 +96,7 @@
} }
}, },
{ {
"name": "Pep Jewel 1", "name": "耐眠珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -104,7 +104,7 @@
} }
}, },
{ {
"name": "Pep Jewel 2", "name": "绝眠珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -112,7 +112,7 @@
} }
}, },
{ {
"name": "Antidote Jewel 1", "name": "抗毒珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -121,7 +121,7 @@
} }
}, },
{ {
"name": "Antidote Jewel 2", "name": "断毒珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -130,7 +130,7 @@
} }
}, },
{ {
"name": "Antibacterial Jewel 1", "name": "抗力珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -138,7 +138,7 @@
} }
}, },
{ {
"name": "Antibacterial Jewel 2", "name": "抗菌珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -146,7 +146,7 @@
} }
}, },
{ {
"name": "Steady Jewel", "name": "强腰珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -155,7 +155,7 @@
} }
}, },
{ {
"name": "Minstrel's Jewel", "name": "美声珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -164,7 +164,7 @@
} }
}, },
{ {
"name": "Snow Resistance Jewel", "name": "雪玉珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -173,7 +173,7 @@
} }
}, },
{ {
"name": "Ninja Jewel", "name": "忍脚珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -181,7 +181,7 @@
} }
}, },
{ {
"name": "Vitality Jewel 1", "name": "元气珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -190,7 +190,7 @@
} }
}, },
{ {
"name": "Vitality Jewel 2", "name": "体力珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -198,7 +198,7 @@
} }
}, },
{ {
"name": "Vitality Jewel 3", "name": "霸力珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -207,7 +207,7 @@
} }
}, },
{ {
"name": "Handicraft Jewel", "name": "匠珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -216,16 +216,7 @@
} }
}, },
{ {
"name": "Handicraft Jewel", "name": "斩铁珠",
"rarity": 4,
"requiredSlots": 1,
"skills": {
"27": 1,
"44": -1
}
},
{
"name": "Razor Jewel 1",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -234,7 +225,7 @@
} }
}, },
{ {
"name": "Razor Jewel 2", "name": "斩空珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -243,7 +234,7 @@
} }
}, },
{ {
"name": "Expert Jewel 1", "name": "达人珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -252,7 +243,7 @@
} }
}, },
{ {
"name": "Expert Jewel 2", "name": "仙人珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -261,7 +252,7 @@
} }
}, },
{ {
"name": "Grinder Jewel", "name": "研磨珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -269,7 +260,7 @@
} }
}, },
{ {
"name": "Ironwall Jewel", "name": "铁壁珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -278,7 +269,7 @@
} }
}, },
{ {
"name": "Guard Jewel 1", "name": "天盾珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -287,7 +278,7 @@
} }
}, },
{ {
"name": "Guard Jewel 2", "name": "天壁珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 3, "requiredSlots": 3,
"skills": { "skills": {
@ -296,7 +287,7 @@
} }
}, },
{ {
"name": "Throwing Jewel", "name": "力投珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -304,7 +295,7 @@
} }
}, },
{ {
"name": "Absorber Jewel 1", "name": "抑反珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -313,7 +304,7 @@
} }
}, },
{ {
"name": "Absorber Jewel 2", "name": "反动珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -322,7 +313,7 @@
} }
}, },
{ {
"name": "Forceshot Jewel", "name": "强弹珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -331,7 +322,7 @@
} }
}, },
{ {
"name": "Pierce Jewel", "name": "贯通珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -340,7 +331,7 @@
} }
}, },
{ {
"name": "Pellet Jewel", "name": "散弹珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -349,7 +340,7 @@
} }
}, },
{ {
"name": "Shot Plus Jewel 1", "name": "加弹珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -358,7 +349,7 @@
} }
}, },
{ {
"name": "Pierce Plus Jewel 1", "name": "加贯珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -367,7 +358,7 @@
} }
}, },
{ {
"name": "Pellet Plus Jewel 1", "name": "加散珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -376,7 +367,7 @@
} }
}, },
{ {
"name": "Crag Plus Jewel 1", "name": "加榴珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -385,7 +376,7 @@
} }
}, },
{ {
"name": "Cluster Plus Jewel 1", "name": "加扩珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -394,7 +385,7 @@
} }
}, },
{ {
"name": "Shot Plus Jewel 2", "name": "增弹珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -403,7 +394,7 @@
} }
}, },
{ {
"name": "Pierce Plus Jewel 2", "name": "增贯珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -412,7 +403,7 @@
} }
}, },
{ {
"name": "Pellet Plus Jewel 2", "name": "增散珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -421,7 +412,7 @@
} }
}, },
{ {
"name": "Crag Plus Jewel 2", "name": "增榴珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -430,7 +421,7 @@
} }
}, },
{ {
"name": "Cluster Plus Jewel 2", "name": "增扩珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -439,7 +430,7 @@
} }
}, },
{ {
"name": "Loading Jewel", "name": "弹穴珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -448,7 +439,7 @@
} }
}, },
{ {
"name": "Precision Jewel", "name": "针穴珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -456,7 +447,7 @@
} }
}, },
{ {
"name": "Status Jewel", "name": "属攻珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -465,7 +456,7 @@
} }
}, },
{ {
"name": "Bombardier Jewel", "name": "爆师珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -473,7 +464,7 @@
} }
}, },
{ {
"name": "Satiation Jewel", "name": "满腹珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -482,7 +473,7 @@
} }
}, },
{ {
"name": "Metabolic Jewel", "name": "食汉珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -490,7 +481,7 @@
} }
}, },
{ {
"name": "Ravenous Jewel", "name": "气短珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -498,7 +489,7 @@
} }
}, },
{ {
"name": "BBQ Jewel", "name": "美食珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -506,7 +497,7 @@
} }
}, },
{ {
"name": "Stamina Jewel", "name": "强精珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -515,7 +506,7 @@
} }
}, },
{ {
"name": "Divine Jewel", "name": "天力珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -523,7 +514,7 @@
} }
}, },
{ {
"name": "Earplug Jewel 1", "name": "防音珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -532,7 +523,7 @@
} }
}, },
{ {
"name": "Earplug Jewel 2", "name": "音无珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 3, "requiredSlots": 3,
"skills": { "skills": {
@ -541,7 +532,7 @@
} }
}, },
{ {
"name": "Heavy Jewel 1", "name": "文镇珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -550,7 +541,7 @@
} }
}, },
{ {
"name": "Heavy Jewel 2", "name": "重块珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -559,7 +550,7 @@
} }
}, },
{ {
"name": "Traveller's Jewel", "name": "旅人珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -568,7 +559,7 @@
} }
}, },
{ {
"name": "Evasion Jewel 1", "name": "轻足珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -577,7 +568,7 @@
} }
}, },
{ {
"name": "Evasion Jewel 2", "name": "神足珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -586,7 +577,7 @@
} }
}, },
{ {
"name": "Riskbreaker Jewel", "name": "危机珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -594,7 +585,7 @@
} }
}, },
{ {
"name": "Anti-Theft Jewel", "name": "键珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -602,7 +593,7 @@
} }
}, },
{ {
"name": "Enduring Jewel 1", "name": "持续珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -611,7 +602,7 @@
} }
}, },
{ {
"name": "Enduring Jewel 2", "name": "恒久珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -620,7 +611,7 @@
} }
}, },
{ {
"name": "Friendship Jewel 1", "name": "友爱珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -629,7 +620,7 @@
} }
}, },
{ {
"name": "Friendship Jewel 2", "name": "友情珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -638,7 +629,7 @@
} }
}, },
{ {
"name": "Transport Jewel 1", "name": "快足珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -647,7 +638,7 @@
} }
}, },
{ {
"name": "Transport Jewel 2", "name": "快速珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -655,7 +646,7 @@
} }
}, },
{ {
"name": "Resistance Jewel 1", "name": "耐性珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -664,7 +655,7 @@
} }
}, },
{ {
"name": "Resistance Jewel 2", "name": "万耐珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -673,7 +664,7 @@
} }
}, },
{ {
"name": "Resistance Jewel 3", "name": "天耐珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 3, "requiredSlots": 3,
"skills": { "skills": {
@ -682,7 +673,7 @@
} }
}, },
{ {
"name": "Blaze Jewel 1", "name": "火炎珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -691,7 +682,7 @@
} }
}, },
{ {
"name": "Blaze Jewel 2", "name": "红莲珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -700,7 +691,7 @@
} }
}, },
{ {
"name": "Blaze Jewel 3", "name": "狱炎珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 3, "requiredSlots": 3,
"skills": { "skills": {
@ -709,7 +700,7 @@
} }
}, },
{ {
"name": "Stream Jewel 1", "name": "流水珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -718,7 +709,7 @@
} }
}, },
{ {
"name": "Stream Jewel 2", "name": "爆水珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -727,7 +718,7 @@
} }
}, },
{ {
"name": "Stream Jewel 3", "name": "水鬼珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 3, "requiredSlots": 3,
"skills": { "skills": {
@ -736,7 +727,7 @@
} }
}, },
{ {
"name": "Frost Jewel 1", "name": "冰珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -745,7 +736,7 @@
} }
}, },
{ {
"name": "Frost Jewel 2", "name": "冰河珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -754,7 +745,7 @@
} }
}, },
{ {
"name": "Frost Jewel 3", "name": "永冰珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 3, "requiredSlots": 3,
"skills": { "skills": {
@ -763,7 +754,7 @@
} }
}, },
{ {
"name": "Bolt Jewel 1", "name": "雷光珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -772,7 +763,7 @@
} }
}, },
{ {
"name": "Bolt Jewel 2", "name": "雷鸣珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -781,7 +772,7 @@
} }
}, },
{ {
"name": "Bolt Jewel 3", "name": "雷神珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 3, "requiredSlots": 3,
"skills": { "skills": {
@ -790,7 +781,7 @@
} }
}, },
{ {
"name": "Dragon Jewel 1", "name": "破龍珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -799,7 +790,7 @@
} }
}, },
{ {
"name": "Dragon Jewel 2", "name": "灭龍珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -808,7 +799,7 @@
} }
}, },
{ {
"name": "Dragon Jewel 3", "name": "龍王珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 3, "requiredSlots": 3,
"skills": { "skills": {
@ -817,7 +808,7 @@
} }
}, },
{ {
"name": "Cold Jewel 1", "name": "凉风珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -825,7 +816,7 @@
} }
}, },
{ {
"name": "Cold Jewel 2", "name": "冷风珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -833,7 +824,7 @@
} }
}, },
{ {
"name": "Hot Jewel 1", "name": "温风珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -841,7 +832,7 @@
} }
}, },
{ {
"name": "Hot Jewel 2", "name": "暖风珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -849,7 +840,7 @@
} }
}, },
{ {
"name": "Map Jewel", "name": "锐眼珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -857,7 +848,7 @@
} }
}, },
{ {
"name": "Gathering Jewel 1", "name": "百手珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -865,7 +856,7 @@
} }
}, },
{ {
"name": "Gathering Jewel 2", "name": "千手珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -873,7 +864,7 @@
} }
}, },
{ {
"name": "Gathering Jewel 3", "name": "万手珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -882,7 +873,7 @@
} }
}, },
{ {
"name": "Snatcher Jewel 1", "name": "早手珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -890,7 +881,7 @@
} }
}, },
{ {
"name": "Snatcher Jewel 2", "name": "速手珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -898,7 +889,7 @@
} }
}, },
{ {
"name": "Blessing Jewel 1", "name": "祝珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -906,7 +897,7 @@
} }
}, },
{ {
"name": "Blessing Jewel 2", "name": "祝福珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -914,7 +905,7 @@
} }
}, },
{ {
"name": "Carver Jewel 1", "name": "皮剥珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -923,7 +914,7 @@
} }
}, },
{ {
"name": "Carver Jewel 2", "name": "兽剥珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -932,7 +923,7 @@
} }
}, },
{ {
"name": "Fate Jewel 1", "name": "宝珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -941,7 +932,7 @@
} }
}, },
{ {
"name": "Fate Jewel 2", "name": "报珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -950,7 +941,7 @@
} }
}, },
{ {
"name": "Fisher's Jewel", "name": "钓力珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -958,7 +949,7 @@
} }
}, },
{ {
"name": "Psychic Jewel 1", "name": "透眼珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -967,7 +958,7 @@
} }
}, },
{ {
"name": "Psychic Jewel 2", "name": "千里珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -976,7 +967,7 @@
} }
}, },
{ {
"name": "Psychic Jewel 3", "name": "万里珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 3, "requiredSlots": 3,
"skills": { "skills": {
@ -985,7 +976,7 @@
} }
}, },
{ {
"name": "Recovery Jewel 1", "name": "回复珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -994,7 +985,7 @@
} }
}, },
{ {
"name": "Recovery Jewel 2", "name": "快复珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {
@ -1003,7 +994,7 @@
} }
}, },
{ {
"name": "Medicine Jewel", "name": "治愈珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -1012,16 +1003,7 @@
} }
}, },
{ {
"name": "Medicine Jewel", "name": "博士珠",
"rarity": 4,
"requiredSlots": 1,
"skills": {
"51": 1,
"70": -1
}
},
{
"name": "Professor Jewel",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -1029,7 +1011,7 @@
} }
}, },
{ {
"name": "Combination Jewel", "name": "弹制珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -1038,7 +1020,7 @@
} }
}, },
{ {
"name": "Alchemical Jewel", "name": "秘术珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -1046,7 +1028,7 @@
} }
}, },
{ {
"name": "Giant Jewel", "name": "巨兽珠",
"rarity": 4, "rarity": 4,
"requiredSlots": 1, "requiredSlots": 1,
"skills": { "skills": {
@ -1054,7 +1036,7 @@
} }
}, },
{ {
"name": "Cannoneer's Jewel", "name": "大炮珠",
"rarity": 5, "rarity": 5,
"requiredSlots": 2, "requiredSlots": 2,
"skills": { "skills": {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,10 @@
[ [
"Attack and Defense", "攻击/防御相关",
"Health and Stamina", "体力/耐力相关",
"Evade and Blocking", "回避/抵挡相关",
"Resistances", "耐性相关",
"Item Related", "道具相关",
"Blademaster Exclusives", "剑士专属",
"Gunner Exclusives", "射手专属",
"Misc." "其他"
] ]

View File

@ -1,75 +1,75 @@
{ {
"0": "Alchemy", "0": "炼金术",
"1": "Ammo Maker", "1": "弹调合",
"2": "Anti-Theft", "2": "偷盗无效",
"3": "Antiseptic", "3": "抗菌・抗毒",
"4": "Artillery", "4": "炮术师",
"5": "Attack", "5": "攻击",
"6": "Auto-Guard", "6": "自动防御",
"7": "Bomb Boost", "7": "爆弹强化",
"8": "Carving", "8": "剥取",
"9": "Clust S+", "9": "扩散弹追加",
"10": "Cold Resistance", "10": "耐寒",
"11": "Combo Rate", "11": "调合成功率",
"12": "Cooking", "12": "烤肉",
"13": "Crag S+", "13": "榴弹追加",
"14": "Defense", "14": "防御",
"15": "Dragon Resistance", "15": "龍耐性",
"16": "Earplugs", "16": "听觉保护",
"17": "Eating", "17": "食事",
"18": "Element Resistance", "18": "全耐性UP",
"19": "Evasion", "19": "回避性能",
"20": "Expert", "20": "达人",
"21": "Fate", "21": "运气",
"22": "Fire Resistance", "22": "火耐性",
"23": "Fisher", "23": "垂钓",
"24": "Gathering", "24": "采取",
"25": "Gluttony", "25": "贪吃鬼",
"26": "Guard", "26": "防御性能",
"27": "Handicraft", "27": "",
"28": "Health", "28": "体力",
"29": "Heat Resistance", "29": "耐暑",
"30": "Hunger", "30": "饥饿",
"31": "Ice Resistance", "31": "冰耐性",
"32": "Lasting Power", "32": "效果持续",
"33": "Load", "33": "装填数",
"34": "Map", "34": "地图",
"35": "Monster", "35": "怪物",
"36": "Normal S+", "36": "通常弹追加",
"37": "Normal S Up", "37": "通常弹强化",
"38": "Paralysis", "38": "麻痹",
"39": "Pellet S+", "39": "散弹追加",
"40": "Pellet S Up", "40": "散弹强化",
"41": "Pierce S+", "41": "贯通弹追加",
"42": "Pierce S Up", "42": "贯通弹强化",
"43": "Poison", "43": "",
"44": "Potential", "44": "底力",
"45": "Precision", "45": "精密射击",
"46": "Protection", "46": "加护",
"47": "Psychic", "47": "千里眼",
"48": "Rapid-Fire", "48": "连射",
"49": "Recoil", "49": "反动",
"50": "Recover Speed", "50": "回复速度",
"51": "Recovery Items", "51": "回复",
"52": "Reload Speed", "52": "装填",
"53": "Sense", "53": "气息",
"54": "Sharpness", "54": "锐利",
"55": "Sleep", "55": "睡眠",
"56": "Snow Resistance", "56": "耐雪",
"57": "Speed Gathering", "57": "高速收集",
"58": "Speed Sharpening", "58": "研磨师",
"59": "Stamina", "59": "耐力",
"60": "Status", "60": "特殊攻击",
"61": "Stun", "61": "气绝",
"62": "Terrain", "62": "地形",
"63": "Throw", "63": "投掷",
"64": "Thunder Resistance", "64": "雷耐性",
"65": "Torso Up", "65": "胴系统倍加",
"66": "Transporter", "66": "搬运",
"67": "Tremor Resistance", "67": "耐震",
"68": "Vocal Chords", "68": "声带",
"69": "Water Resistance", "69": "水耐性",
"70": "Whim", "70": "反覆无常",
"71": "Wide-Range", "71": "广域",
"72": "Wind Pressure" "72": "风压"
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,38 +5,39 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>MH2 Armor Set Searcher</title> <title>怪物猎人2在线配装搜索器</title>
<meta <meta
name="description" name="description"
content="Armor Set Searcher for Monster Hunter Dos" content="怪物猎人2dos的在线配装搜索器"
/> />
<meta name="author" content="TimH96" /> <meta name="author" content="TimH96" />
<meta property="og:title" content="MH2 Armor Set Searcher" /> <meta property="og:title" content="怪物猎人2在线配装搜索器" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta <meta
property="og:url" property="og:url"
content="https://timh96.github.io/mhdos-armor-set-searcher/" content="https://mhwikicn.github.io/mhdos-armor-set-searcher/"
/> />
<meta <meta
property="og:description" property="og:description"
content="Armor Set Searcher for Monster Hunter Dos" content="怪物猎人2dos的在线配装搜索器"
/> />
<link rel="stylesheet" href="styles.css" /> <link rel="stylesheet" href="styles.css" />
</head> </head>
<body> <body>
<div id="header">MH Dos Armor Set Searcher</div> <div id="header">怪物猎人2在线配装搜索器</div>
<div id="open-source" class="banner"> <div id="open-source" class="banner">
<p> <p>
This is an open-source project hosted on gh-pages, 这是一个托管于GitHub Pages的开源项目
<a href="https://github.com/TimH96/mhdos-armor-set-searcher" <a href="https://github.com/mhwikicn/mhdos-armor-set-searcher"
>here is the repository</a >这里是仓库地址</a
>. If you have a feature request or find any bugs, please create an >。 项目分支来自于
issue on GitHub. You are also welcome to integrate them yourself via a <a href="https://timh96.github.io/mhdos-armor-set-searcher/"
Pull Request. >TimH96</a
>。<br>如需提交功能请求或反馈错误/bug信息请在GitHub提交议题同样欢迎有能力之人士的拉取请求。
</p> </p>
</div> </div>
@ -44,8 +45,8 @@
<!-- navbar --> <!-- navbar -->
<div id="navbar-container"> <div id="navbar-container">
<ul class="navbar"> <ul class="navbar">
<li class="navbar-option" data-selection="0">Search</li> <li class="navbar-option" data-selection="0">搜索</li>
<li class="navbar-option" data-selection="2">Equipment</li> <li class="navbar-option" data-selection="2">装备</li>
</ul> </ul>
</div> </div>
@ -56,35 +57,35 @@
<ul> <ul>
<li> <li>
<select name="armor-type" id="armor-type"> <select name="armor-type" id="armor-type">
<option value="1">Blademaster</option> <option value="1">剑士</option>
<option value="2">Gunner</option> <option value="2">射手</option>
</select> </select>
</li> </li>
<li> <li>
<select name="weapon-slots" id="weapon-slots"> <select name="weapon-slots" id="weapon-slots">
<option value="0">0 Weapon Slots</option> <option value="0">0孔武器</option>
<option value="1">1 Weapon Slots</option> <option value="1">1孔武器</option>
<option value="2">2 Weapon Slots</option> <option value="2">2孔武器</option>
<option value="3">3 Weapon Slots</option> <option value="3">3孔武器</option>
</select> </select>
</li> </li>
<li> <li>
<select name="armor-rarity" id="armor-rarity"> <select name="armor-rarity" id="armor-rarity">
<option value="7">Armor RARE7</option> <option value="7">防具稀有度7以下</option>
<option value="6">Armor RARE6</option> <option value="6">防具稀有度6以下</option>
<option value="5">Armor RARE5</option> <option value="5">防具稀有度5以下</option>
<option value="4">Armor RARE4</option> <option value="4">防具稀有度4以下</option>
<option value="3">Armor RARE3</option> <option value="3">防具稀有度3以下</option>
<option value="2">Armor RARE2</option> <option value="2">防具稀有度2以下</option>
<option value="1">Armor RARE1</option> <option value="1">防具稀有度1以下</option>
</select> </select>
</li> </li>
<li> <li>
<select name="deco-rarity" id="deco-rarity"> <select name="deco-rarity" id="deco-rarity">
<option value="7">Deco RARE7</option> <option value="7">装饰珠稀有度7以下</option>
<option value="6">Deco RARE6</option> <option value="6">装饰珠稀有度6以下</option>
<option value="5">Deco RARE5</option> <option value="5">装饰珠稀有度5以下</option>
<option value="4">Deco RARE4</option> <option value="4">装饰珠稀有度4以下</option>
</select> </select>
</li> </li>
<li> <li>
@ -106,9 +107,9 @@
<!-- controls --> <!-- controls -->
<div id="search-controls"> <div id="search-controls">
<ul> <ul>
<li><button id="search-btn">Search</button></li> <li><button id="search-btn">搜索</button></li>
<li><button id="more-btn">More Skills</button></li> <li><button id="more-btn">追加更多技能</button></li>
<li><button id="reset-btn">Reset</button></li> <li><button id="reset-btn">重置</button></li>
</ul> </ul>
</div> </div>

View File

@ -28,7 +28,7 @@ body {
line-height: 1.4; line-height: 1.4;
color: var(--color-text); color: var(--color-text);
margin: 0 0 8em 0; margin: 0 0 8em 0;
font: 12px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
} }

View File

@ -41,7 +41,7 @@ const getPinPicker = (cat: EquipmentCategory, eq: EquipmentMin[]) => {
const content = document.createElement('select') const content = document.createElement('select')
content.setAttribute('id', `eq-${cat}-pin-picker`) content.setAttribute('id', `eq-${cat}-pin-picker`)
content.style.width = '72%' content.style.width = '72%'
for (const x of [{ name: 'None', category: cat }].concat(...eq)) { for (const x of [{ name: '', category: cat }].concat(...eq)) {
content.appendChild( content.appendChild(
htmlToElement(`<option value="${x.name}">${x.name}</option>`), htmlToElement(`<option value="${x.name}">${x.name}</option>`),
) )
@ -63,11 +63,11 @@ const getPinPicker = (cat: EquipmentCategory, eq: EquipmentMin[]) => {
const renderColumns = (armor: EquipmentMin[][]) => { const renderColumns = (armor: EquipmentMin[][]) => {
const parent = document.getElementById('eq-container') const parent = document.getElementById('eq-container')
for (const item of [ for (const item of [
[EquipmentCategory.HEAD, 'Head', armor[0]], [EquipmentCategory.HEAD, '', armor[0]],
[EquipmentCategory.CHEST, 'Chest', armor[1]], [EquipmentCategory.CHEST, '', armor[1]],
[EquipmentCategory.ARMS, 'Arms', armor[2]], [EquipmentCategory.ARMS, '', armor[2]],
[EquipmentCategory.WAIST, 'Waist', armor[3]], [EquipmentCategory.WAIST, '', armor[3]],
[EquipmentCategory.LEGS, 'Legs', armor[4]], [EquipmentCategory.LEGS, '', armor[4]],
]) { ]) {
const cat = item[0] as EquipmentCategory const cat = item[0] as EquipmentCategory
const name = item[1] as string const name = item[1] as string
@ -76,13 +76,13 @@ const renderColumns = (armor: EquipmentMin[][]) => {
const root = htmlToElement(`<div class="eq-column" data-eq-column-type="${cat}"></div>`) const root = htmlToElement(`<div class="eq-column" data-eq-column-type="${cat}"></div>`)
// pins // pins
const pinHeader = htmlToElement(`<div class="eq-column-item eq-column-header">${name} Pinned</div>`) const pinHeader = htmlToElement(`<div class="eq-column-item eq-column-header">${name} 固定</div>`)
const pinContent = htmlToElement('<div class="eq-column-item eq-column-content eq-column-pin"></div>') const pinContent = htmlToElement('<div class="eq-column-item eq-column-content eq-column-pin"></div>')
const pinElement = getPinPicker(cat, eq) const pinElement = getPinPicker(cat, eq)
pinContent.appendChild(pinElement) pinContent.appendChild(pinElement)
// exclusions // exclusions
const exclusionHeader = htmlToElement(`<div class="eq-column-item eq-column-header">${name} Excluded</div>`) const exclusionHeader = htmlToElement(`<div class="eq-column-item eq-column-header">${name} 排除</div>`)
const exclusionContent = htmlToElement(`<div id="eq-${cat}-exclusion" class="eq-column-item eq-column-content eq-column-exclusion"></div>`) const exclusionContent = htmlToElement(`<div id="eq-${cat}-exclusion" class="eq-column-item eq-column-content eq-column-exclusion"></div>`)
root.appendChild(pinHeader) root.appendChild(pinHeader)
@ -125,7 +125,7 @@ export const addExclusion = (x: EquipmentMin) => {
} }
export const addPin = (x: EquipmentMin) => { export const addPin = (x: EquipmentMin) => {
if (x.name === 'None') { if (x.name === '') {
UserEquipmentSettings.Instance.removePin(x.category) UserEquipmentSettings.Instance.removePin(x.category)
saveToStorage() saveToStorage()
return return

View File

@ -54,7 +54,7 @@ const searchLogic = (equData: StaticEquipmentData, skillData: StaticSkillData) =
const searchParams = arrangeSearchData() const searchParams = arrangeSearchData()
if (!searchParams) { if (!searchParams) {
alert('Please select at least one skill') alert('请至少选择1个技能')
return return
} }
@ -75,7 +75,7 @@ const moreSkillsLogic = async (equData: StaticEquipmentData, skillData: StaticSk
const searchParams = arrangeSearchData() const searchParams = arrangeSearchData()
if (!searchParams) { if (!searchParams) {
alert('Please select at least one skill') alert('请至少选择1个技能')
return return
} }

View File

@ -16,7 +16,7 @@ export function * moreSkillsIterator (skillActivations: SkillActivationMap) {
.reduce((sum, c) => sum + c.length, 0) .reduce((sum, c) => sum + c.length, 0)
for (let i = 0; i < totalActCount; i++) { for (let i = 0; i < totalActCount; i++) {
countDiv.innerHTML = `Checked ${i} possible skills ...` countDiv.innerHTML = `检查可能的 ${i} 个技能 ...`
yield i yield i
} }
} }
@ -37,7 +37,7 @@ const onSetClick = (tbNode: Node, viewGetter: () => Node) => {
const PINS_OR_EXCL_ACTIVE_BANNER = htmlToElement(` const PINS_OR_EXCL_ACTIVE_BANNER = htmlToElement(`
<div class="results-banner banner"> <div class="results-banner banner">
You have some pins or exclusions active, which may be limiting results. You may find some results by removing those pins or exclusions.
<div> <div>
`) `)
@ -45,16 +45,16 @@ const getExpandedView = (set: ArmorSet, skillData: StaticSkillData, searchParams
// build header // build header
const header = htmlToElement(` const header = htmlToElement(`
<tr> <tr>
<th>Skill</th> <th></th>
<th style="width: 6%">Weapon</th> <th style="width: 6%"></th>
<th style="width: 6%">Head</th> <th style="width: 6%"></th>
<th style="width: 6%">Chest</th> <th style="width: 6%"></th>
<th style="width: 6%">Arms</th> <th style="width: 6%"></th>
<th style="width: 6%">Waist</th> <th style="width: 6%"></th>
<th style="width: 6%">Legs</th> <th style="width: 6%"></th>
<th style="width: 6%">Deco</th> <th style="width: 6%"></th>
<th style="width: 6%">Total</th> <th style="width: 6%"></th>
<th>Active</th> <th></th>
</tr> </tr>
`) `)
@ -82,7 +82,7 @@ const getExpandedView = (set: ArmorSet, skillData: StaticSkillData, searchParams
// build slot list // build slot list
const slotRow = document.createElement('tr') const slotRow = document.createElement('tr')
slotRow.appendChild(htmlToElement('<td>Slots</td>')) slotRow.appendChild(htmlToElement('<td>孔位</td>'))
const rawSlowList = [searchParams.weaponSlots, ...set.getPieces().map(x => x.slots)] const rawSlowList = [searchParams.weaponSlots, ...set.getPieces().map(x => x.slots)]
rawSlowList.forEach(s => slotRow.appendChild(htmlToElement(`<td>${s}</td>`))) rawSlowList.forEach(s => slotRow.appendChild(htmlToElement(`<td>${s}</td>`)))
@ -107,7 +107,7 @@ const getExpandedView = (set: ArmorSet, skillData: StaticSkillData, searchParams
// build piece table // build piece table
const pieceTable = htmlToElement('<table class="result-set-piece-table"></table>') const pieceTable = htmlToElement('<table class="result-set-piece-table"></table>')
const pieceTableHeader = htmlToElement('<tr><th>Def</th><th>Piece</th><th>Pin</th><th>Excl</th></tr>') const pieceTableHeader = htmlToElement('<tr><th>防御</th><th>防具</th><th>固定</th><th>排除</th></tr>')
pieceTable.appendChild(pieceTableHeader) pieceTable.appendChild(pieceTableHeader)
for (const piece of set.getPieces()) { for (const piece of set.getPieces()) {
const pieceTableEle = document.createElement('tr') const pieceTableEle = document.createElement('tr')
@ -189,12 +189,12 @@ const getSetElement = (set: ArmorSet, skillData: StaticSkillData, searchParams:
const row2 = htmlToElement(` const row2 = htmlToElement(`
<tr class="result-set-row result-set-row2"> <tr class="result-set-row result-set-row2">
<td colspan="6"> <td colspan="6">
<p><span class="def">DEF</span> <span>${set.evaluation.defense.max}</span></p> <p><span class="def"></span> <span>${set.evaluation.defense.max}</span></p>
<p><span class="fir">FIR</span> <span>${set.evaluation.resistance[0]}</span></p> <p><span class="fir"></span> <span>${set.evaluation.resistance[0]}</span></p>
<p><span class="wat">WAT</span> <span>${set.evaluation.resistance[1]}</span></p> <p><span class="wat"></span> <span>${set.evaluation.resistance[1]}</span></p>
<p><span class="ice">ICE</span> <span>${set.evaluation.resistance[2]}</span></p> <p><span class="thn"></span> <span>${set.evaluation.resistance[3]}</span></p>
<p><span class="thn">THN</span> <span>${set.evaluation.resistance[3]}</span></p> <p><span class="drg"></span> <span>${set.evaluation.resistance[4]}</span></p>
<p><span class="drg">DRG</span> <span>${set.evaluation.resistance[4]}</span></p> <p><span class="ice"></span> <span>${set.evaluation.resistance[2]}</span></p>
<span class="result-set-unrelated">${unrelatedHtmlStrings.join('')}</span> <span class="result-set-unrelated">${unrelatedHtmlStrings.join('')}</span>
</td> </td>
</tr>`) </tr>`)
@ -233,7 +233,7 @@ export const renderMoreSkills = (activations: SkillActivation[], pinsOrExclActiv
if (activations.length === 0) { if (activations.length === 0) {
resultContainer.appendChild(htmlToElement(` resultContainer.appendChild(htmlToElement(`
<div class="results-banner banner"> <div class="results-banner banner">
Can't fit more skills
<div> <div>
`)) `))
@ -255,14 +255,14 @@ export const renderResults = (sets: ArmorSet[], skillData: StaticSkillData, sear
// add search param element // add search param element
resultContainer.appendChild(htmlToElement(` resultContainer.appendChild(htmlToElement(`
<div class="results-title">Results for ${searchParams.skillActivations.map(x => x.name).join(', ')} (${sets.length} matches)</div> <div class="results-title"> ${searchParams.skillActivations.map(x => x.name).join(', ')} ( ${sets.length} )</div>
`)) `))
// return if no results // return if no results
if (sets.length === 0) { if (sets.length === 0) {
resultContainer.appendChild(htmlToElement(` resultContainer.appendChild(htmlToElement(`
<div class="results-banner banner"> <div class="results-banner banner">
No matching armor sets
<div> <div>
`)) `))
@ -273,7 +273,7 @@ export const renderResults = (sets: ArmorSet[], skillData: StaticSkillData, sear
// build table and table header // build table and table header
const table = htmlToElement('<table class="results-table" id="results-table"></table>') const table = htmlToElement('<table class="results-table" id="results-table"></table>')
const header = htmlToElement('<tr><th>Head</th><th>Torso</th><th>Arms</th><th>Waist</th><th>Legs</th></tr>') const header = htmlToElement('<tr><th>头</th><th>胴</th><th>腕</th><th>腰</th><th>脚</th></tr>')
resultContainer.appendChild(table) resultContainer.appendChild(table)
table.appendChild(header) table.appendChild(header)

View File

@ -41,7 +41,7 @@ const applyCharmFilter = (charms: Charm[], skills: SkillActivation[]) => {
const x = charms.find(c => c.slots === slots) const x = charms.find(c => c.slots === slots)
if (x) { if (x) {
const newC: Charm = { const newC: Charm = {
name: `${slots} Slot Charm`, name: `${slots}孔护符`,
slots: slots as Slots, slots: slots as Slots,
category: EquipmentCategory.CHARM, category: EquipmentCategory.CHARM,
rarity: 0, rarity: 0,
@ -94,7 +94,7 @@ const applyArmorFilter = (
type: x.type, type: x.type,
defense: x.defense, defense: x.defense,
resistance: x.resistance, resistance: x.resistance,
name: `${slots} Slot Piece`, name: `${slots}孔防具`,
slots: slots as Slots, slots: slots as Slots,
category: x.category, category: x.category,
rarity: x.rarity, rarity: x.rarity,
@ -111,7 +111,7 @@ const applyArmorFilter = (
.map(x => { .map(x => {
const renamed: ArmorPiece = { const renamed: ArmorPiece = {
...x!, ...x!,
name: 'Torso Up Piece', name: '胴系统倍加防具',
isGeneric: true, isGeneric: true,
} }
return renamed return renamed

View File

@ -54,7 +54,7 @@ const getDecorationVariationsPerSlotLevel = (
// create dummy for unused slots // create dummy for unused slots
const dummy: Decoration = { const dummy: Decoration = {
name: 'None', name: '',
rarity: 0, rarity: 0,
requiredSlots: 0, requiredSlots: 0,
skills: new EquipmentSkills(), skills: new EquipmentSkills(),