From d985abed626cae5239316f29c480ca2077dafbe1 Mon Sep 17 00:00:00 2001 From: kvan7 Date: Thu, 4 Sep 2025 17:00:30 -0500 Subject: [PATCH] Fix for exceptional white items Co-authored-by: Jason --- renderer/public/data/cmn-Hant/client_strings.js | 1 + renderer/public/data/de/client_strings.js | 1 + renderer/public/data/en/client_strings.js | 2 ++ renderer/public/data/es/client_strings.js | 1 + renderer/public/data/ja/client_strings.js | 1 + renderer/public/data/pt/client_strings.js | 2 ++ renderer/public/data/ru/client_strings.js | 1 + renderer/src/assets/data/interfaces.ts | 1 + renderer/src/parser/Parser.ts | 14 ++++++++++++++ 9 files changed, 24 insertions(+) diff --git a/renderer/public/data/cmn-Hant/client_strings.js b/renderer/public/data/cmn-Hant/client_strings.js index 56b79e7f..fee35470 100644 --- a/renderer/public/data/cmn-Hant/client_strings.js +++ b/renderer/public/data/cmn-Hant/client_strings.js @@ -30,6 +30,7 @@ export default { CORRUPTED: '已汙染', UNIDENTIFIED: '未鑑定', ITEM_SUPERIOR: /^精良的 (.*)$/, + ITEM_EXCEPTIONAL: /^卓越 (.+)$/, MAP_BLIGHTED: /^凋落的 (.*)$/, MAP_BLIGHT_RAVAGED: /^凋落蔓延的 (.*)$/, INFLUENCE_SHAPER: '塑者之物', diff --git a/renderer/public/data/de/client_strings.js b/renderer/public/data/de/client_strings.js index 4b1c2aae..7d78b716 100644 --- a/renderer/public/data/de/client_strings.js +++ b/renderer/public/data/de/client_strings.js @@ -33,6 +33,7 @@ export default { CORRUPTED: 'Verderbt', UNIDENTIFIED: 'Nicht identifiziert', ITEM_SUPERIOR: /^(.*) \(hochwertig\)$/, + ITEM_EXCEPTIONAL: /^Außergewöhnlich (.*)$/, MAP_BLIGHTED: /^Befallene (.*)$/, MAP_BLIGHT_RAVAGED: /^Extrem befallene (.*)$/, INFLUENCE_SHAPER: 'Schöpfer-Gegenstand', diff --git a/renderer/public/data/en/client_strings.js b/renderer/public/data/en/client_strings.js index 7a6de13e..ffa927d6 100644 --- a/renderer/public/data/en/client_strings.js +++ b/renderer/public/data/en/client_strings.js @@ -65,6 +65,8 @@ export default { UNIDENTIFIED: 'Unidentified', // QualityItem ITEM_SUPERIOR: /^Superior (.*)$/, + // ExceptionalItem + ITEM_EXCEPTIONAL: /^Exceptional (.*)$/, // InfectedMap MAP_BLIGHTED: /^Blighted (.*)$/, // UberInfectedMap diff --git a/renderer/public/data/es/client_strings.js b/renderer/public/data/es/client_strings.js index eb490581..c9b53673 100644 --- a/renderer/public/data/es/client_strings.js +++ b/renderer/public/data/es/client_strings.js @@ -30,6 +30,7 @@ export default { CORRUPTED: 'Corrupto', UNIDENTIFIED: 'Sin identificar', ITEM_SUPERIOR: /^Superior (.*)$/, + ITEM_EXCEPTIONAL: /^Excepcional (.*)$/, MAP_BLIGHTED: /^infestado (.*)$/, MAP_BLIGHT_RAVAGED: /^devastado por la plaga (.*)$/, INFLUENCE_SHAPER: 'Objeto del Creador', diff --git a/renderer/public/data/ja/client_strings.js b/renderer/public/data/ja/client_strings.js index f080de5c..d35fa664 100644 --- a/renderer/public/data/ja/client_strings.js +++ b/renderer/public/data/ja/client_strings.js @@ -33,6 +33,7 @@ export default { CORRUPTED: 'コラプト状態', UNIDENTIFIED: '未鑑定', ITEM_SUPERIOR: /^上質な (.*)$/, + ITEM_EXCEPTIONAL: /^例外 (.*)$/, MAP_BLIGHTED: /^ブライトに覆われた(.*)$/, MAP_BLIGHT_RAVAGED: /^ブライトに破壊された(.*)$/, INFLUENCE_SHAPER: 'シェイパーアイテム', diff --git a/renderer/public/data/pt/client_strings.js b/renderer/public/data/pt/client_strings.js index 9c747308..57757e4a 100644 --- a/renderer/public/data/pt/client_strings.js +++ b/renderer/public/data/pt/client_strings.js @@ -65,6 +65,8 @@ export default { UNIDENTIFIED: 'Não Identificado', // QualityItem ITEM_SUPERIOR: /^(.*)$ Superior/, + // ExceptionalItem + ITEM_EXCEPTIONAL: /^(.*) Excepcional$/, // InfectedMap MAP_BLIGHTED: /^(.*)$ Infestado/, // UberInfectedMap diff --git a/renderer/public/data/ru/client_strings.js b/renderer/public/data/ru/client_strings.js index bf5e2a38..314873a6 100644 --- a/renderer/public/data/ru/client_strings.js +++ b/renderer/public/data/ru/client_strings.js @@ -30,6 +30,7 @@ export default { CORRUPTED: 'Осквернено', UNIDENTIFIED: 'Неопознано', ITEM_SUPERIOR: /^(.*) высокого качества$/, + ITEM_EXCEPTIONAL: /^Образцовый предмет: (.*)$/, MAP_BLIGHTED: /^Заражённая (.*)$/, MAP_BLIGHT_RAVAGED: /^Разорённая Скверной (.*)$/, INFLUENCE_SHAPER: 'Предмет Создателя', diff --git a/renderer/src/assets/data/interfaces.ts b/renderer/src/assets/data/interfaces.ts index 3871e6f2..ca2e4f75 100644 --- a/renderer/src/assets/data/interfaces.ts +++ b/renderer/src/assets/data/interfaces.ts @@ -135,6 +135,7 @@ export interface TranslationDict { CORRUPTED: string; UNIDENTIFIED: string; ITEM_SUPERIOR: RegExp; + ITEM_EXCEPTIONAL: RegExp; MAP_BLIGHTED: RegExp; MAP_BLIGHT_RAVAGED: RegExp; INFLUENCE_SHAPER: string; diff --git a/renderer/src/parser/Parser.ts b/renderer/src/parser/Parser.ts index c06ac9e6..47081483 100644 --- a/renderer/src/parser/Parser.ts +++ b/renderer/src/parser/Parser.ts @@ -56,6 +56,7 @@ interface ParserState extends ParsedItem { const parsers: Array = [ parseUnidentified, { virtual: parseSuperior }, + { virtual: parseExceptional }, parseSynthesised, parseCategoryByHelpText, { virtual: normalizeName }, @@ -1232,6 +1233,19 @@ function parseSuperior(item: ParserState) { } } +function parseExceptional(item: ParserState) { + if ( + item.rarity === ItemRarity.Normal || + (item.rarity === ItemRarity.Magic && item.isUnidentified) || + (item.rarity === ItemRarity.Rare && item.isUnidentified) || + (item.rarity === ItemRarity.Unique && item.isUnidentified) + ) { + if (_$.ITEM_EXCEPTIONAL.test(item.name)) { + item.name = _$REF.ITEM_EXCEPTIONAL.exec(item.name)![1]; + } + } +} + function parseCategoryByHelpText(section: string[], item: ParsedItem) { if (section[0] === _$.BEAST_HELP) { item.category = ItemCategory.CapturedBeast;