Merge pull request #611 from test137E29B/fix/fractured-item-parse

This commit is contained in:
Kvan7
2025-09-05 14:56:11 -05:00
committed by GitHub
10 changed files with 27 additions and 8 deletions

View File

@@ -124,5 +124,6 @@ export default {
TIMELESS_SMALL_PASSIVES: '範圍內小型天賦也會賦予 {0}',
TIMELESS_NOTABLE_PASSIVES: '範圍內核心天賦也會賦予 {0}',
GRANTS_SKILL: '賦予技能: ',
RELOAD_SPEED: '重新裝填時間: '
RELOAD_SPEED: '重新裝填時間: ',
FRACTURED_ITEM: '破裂之物'
}

View File

@@ -124,6 +124,7 @@ export default {
TIMELESS_SMALL_PASSIVES: 'Kleine Passive Fertigkeiten im Radius gewähren auch {0}',
TIMELESS_NOTABLE_PASSIVES: 'Bedeutende Passive Fertigkeiten im Radius gewähren auch {0}',
GRANTS_SKILL: 'Gewährt Fertigkeit: ',
RELOAD_SPEED: 'Nachladezeit: '
RELOAD_SPEED: 'Nachladezeit: ',
FRACTURED_ITEM: 'Brüchiger Gegenstand'
}

View File

@@ -225,5 +225,7 @@ export default {
// ItemDisplayGrantsSkill
GRANTS_SKILL: 'Grants Skill: ',
// SkillPopupReloadTime
RELOAD_SPEED: 'Reload Time: '
RELOAD_SPEED: 'Reload Time: ',
// TODO CLIENT_STRINGS Id
FRACTURED_ITEM: 'Fractured Item'
}

View File

@@ -123,5 +123,6 @@ export default {
TIMELESS_SMALL_PASSIVES: 'Las habilidades pasivas pequeñas dentro del radio también otorgan {0}',
TIMELESS_NOTABLE_PASSIVES: 'Las habilidades pasivas notables dentro del radio también otorgan {0}',
GRANTS_SKILL: 'Otorga la habilidad: ',
RELOAD_SPEED: 'Tiempo de recarga: '
RELOAD_SPEED: 'Tiempo de recarga: ',
FRACTURED_ITEM: 'Objeto fracturado'
}

View File

@@ -124,5 +124,6 @@ export default {
TIMELESS_SMALL_PASSIVES: '範囲内の通常パッシブスキルは{0}も付与する',
TIMELESS_NOTABLE_PASSIVES: '範囲内の特殊パッシブスキルは{0}も付与する',
GRANTS_SKILL: 'スキルを付与: ',
RELOAD_SPEED: '再装填時間: '
RELOAD_SPEED: '再装填時間: ',
FRACTURED_ITEM: 'フラクチャーアイテム'
}

View File

@@ -124,5 +124,6 @@ export default {
TIMELESS_SMALL_PASSIVES: '반경 내 소형 패시브 스킬이 {0}도 부여',
TIMELESS_NOTABLE_PASSIVES: '반경 내 주요 패시브 스킬이 {0}도 부여',
GRANTS_SKILL: '스킬 부여: ',
RELOAD_SPEED: '재장전 시간: '
RELOAD_SPEED: '재장전 시간: ',
FRACTURED_ITEM: '분열된 아이템'
}

View File

@@ -224,5 +224,6 @@ export default {
TIMELESS_NOTABLE_PASSIVES: 'Habilidades Passivas Notáveis no Raio também concedem {0}',
// ItemDisplayGrantsSkill
GRANTS_SKILL: 'Concede Habilidade: ',
RELOAD_SPEED: 'Tempo de Recarregamento: '
RELOAD_SPEED: 'Tempo de Recarregamento: ',
FRACTURED_ITEM: 'Item Fixado'
}

View File

@@ -158,5 +158,6 @@ export default {
TIMELESS_SMALL_PASSIVES: 'Малые пассивные умения в радиусе также дают: {0}',
TIMELESS_NOTABLE_PASSIVES: 'Значимые пассивные умения в радиусе также дают: {0}',
GRANTS_SKILL: 'Дарует умение: ',
RELOAD_SPEED: 'Время перезарядки: '
RELOAD_SPEED: 'Время перезарядки: ',
FRACTURED_ITEM: 'Расколотый предмет'
}

View File

@@ -231,6 +231,7 @@ export interface TranslationDict {
TIMELESS_NOTABLE_PASSIVES: string;
GRANTS_SKILL: string;
RELOAD_SPEED: string;
FRACTURED_ITEM: string;
}
export interface Filter {

View File

@@ -77,6 +77,7 @@ const parsers: Array<ParserFn | { virtual: VirtualParserFn }> = [
parseSpirit,
parsePriceNote,
parseUnneededText,
parseFracturedText,
parseTimelostRadius,
parseStackSize,
parseCorrupted,
@@ -136,6 +137,7 @@ export function parseClipboard(clipboard: string): Result<ParsedItem, string> {
parsed.value.rawText = clipboard;
// each section can be parsed at most by one parser
// and each parser can only be used to parse one section
for (const parser of parsers) {
if (typeof parser === "object") {
const error = parser.virtual(parsed.value);
@@ -1150,6 +1152,13 @@ function parsePriceNote(section: string[], item: ParsedItem) {
return isParsed;
}
function parseFracturedText(section: string[], _item: ParsedItem) {
for (const line of section) {
if (line === _$.FRACTURED_ITEM) return "SECTION_PARSED";
}
return "SECTION_SKIPPED";
}
function parseUnneededText(section: string[], item: ParsedItem) {
if (
item.category !== ItemCategory.Quiver &&