add desecrated

Co-authored-by: Jason <badxnameless@gmail.com>
This commit is contained in:
kvan7
2025-09-04 19:46:07 -05:00
parent 8d88acbc92
commit e71c4abdd4
31 changed files with 197 additions and 187 deletions

View File

@@ -184,7 +184,8 @@
"tag_explicit_incursion": "穿越",
"tag_rune": "符文",
"tag_added_rune": "符文",
"tag_sanctum": "Sanctum",
"tag_sanctum": "聖域聯盟",
"tag_desecrated": "褻瀆",
"fill_rune_iron": "Fill Runes(Iron)",
"grade": "等級 {0}",
"hybrid_note": "階級可能因複合詞綴的存在而顯示不正確"

View File

@@ -41,8 +41,8 @@ export default {
INFLUENCE_WARLORD: '總督軍物品',
SECTION_SYNTHESISED: '追憶之物',
ITEM_SYNTHESISED: /^追憶之 (.*)$/,
VEILED_PREFIX: '隱匿前綴',
VEILED_SUFFIX: '隱匿後綴',
VEILED_PREFIX: '褻瀆前綴',
VEILED_SUFFIX: '褻瀆後綴',
FLASK_CHARGES: /^目前有 \d+ 充能次數$/,
METAMORPH_HELP: '在塔恩的鍊金室將此與其他四個不同的樣本合成。',
BEAST_HELP: '點擊右鍵將此加入你的獸獵寓言。',

File diff suppressed because one or more lines are too long

View File

@@ -189,6 +189,7 @@
"tag_rune": "Rune",
"tag_added_rune": "Rune",
"tag_sanctum": "Sanctum",
"tag_desecrated": "Entweihtes",
"fill_rune_iron": "Fill Runes(Iron)",
"grade": "Grad {0}",
"hybrid_note": "Das Tier könnte aufgrund eines potenziellen Hybrid-Mods falsch sein"

View File

@@ -44,8 +44,8 @@ export default {
INFLUENCE_WARLORD: 'Kriegsfürst-Gegenstand',
SECTION_SYNTHESISED: 'Synthetisierter Gegenstand',
ITEM_SYNTHESISED: /^Synthesised (.*)$/,
VEILED_PREFIX: 'Verhülltes Präfix',
VEILED_SUFFIX: 'Verhülltes Suffix',
VEILED_PREFIX: 'Entweihtes Präfix',
VEILED_SUFFIX: 'Entweihtes Suffix',
FLASK_CHARGES: /^Hat derzeit \d+ Füllungen$/,
METAMORPH_HELP: "Kombiniere dies mit vier anderen unterschiedlichen Proben in Tanes Laboratorium.",
BEAST_HELP: 'Füge diese Bestie mit Rechtsklick deinem Bestiarium hinzu.',

File diff suppressed because one or more lines are too long

View File

@@ -189,6 +189,7 @@
"tag_rune": "Rune",
"tag_added_rune": "Rune",
"tag_sanctum": "Sanctum",
"tag_desecrated": "Desecrated",
"fill_rune_iron": "Fill Runes(Iron)",
"grade": "Grade {0}",
"hybrid_note": "Tier may be incorrect due to the potential for a hybrid mod"

View File

@@ -88,9 +88,9 @@ export default {
// SynthesisedItem
ITEM_SYNTHESISED: /^Synthesised (.*)$/,
// ItemDisplayVeiledPrefix
VEILED_PREFIX: 'Veiled Prefix',
VEILED_PREFIX: 'Desecrated Prefix',
// ItemDisplayVeiledSuffix
VEILED_SUFFIX: 'Veiled Suffix',
VEILED_SUFFIX: 'Desecrated Suffix',
// ItemDisplayChargesNCharges
FLASK_CHARGES: /^Currently has \d+ Charges$/,
// MetamorphosisItemisedMapBoss

File diff suppressed because one or more lines are too long

View File

@@ -189,6 +189,7 @@
"tag_rune": "Runa",
"tag_added_rune": "Runa",
"tag_sanctum": "Sanctum",
"tag_desecrated": "profanado",
"fill_rune_iron": "Fill Runes(Iron)",
"grade": "Grade {0}",
"hybrid_note": "Tier may be incorrect due to the potential for a hybrid mod"

View File

@@ -41,8 +41,8 @@ export default {
INFLUENCE_WARLORD: 'Objeto del Jefe de guerra',
SECTION_SYNTHESISED: 'Objeto Sintetizado',
ITEM_SYNTHESISED: /^Sintetizado (.*)$/,
VEILED_PREFIX: 'Prefijo encriptado',
VEILED_SUFFIX: 'Sufijo encriptado',
VEILED_PREFIX: 'Prefijo profanado',
VEILED_SUFFIX: 'Sufijo profanado',
FLASK_CHARGES: /^Actualmente tiene \d+ cargas$/,
METAMORPH_HELP: 'Combina esto con otras cuatro muestras distintas en el laboratorio de Tane.',
BEAST_HELP: 'Haz clic derecho para añadirla a tu Bestiario.',

File diff suppressed because one or more lines are too long

View File

@@ -185,6 +185,7 @@
"tag_rune": "ルーン",
"tag_added_rune": "ルーン",
"tag_sanctum": "Sanctum",
"tag_desecrated": "冒涜",
"fill_rune_iron": "Fill Runes(Iron)",
"grade": "グレード {0}",
"hybrid_note": "Tier may be incorrect due to the potential for a hybrid mod"

View File

@@ -44,8 +44,8 @@ export default {
INFLUENCE_WARLORD: 'ウォーロードアイテム',
SECTION_SYNTHESISED: 'シンセシスアイテム',
ITEM_SYNTHESISED: /^シンセサイズされた (.*)$/,
VEILED_PREFIX: 'ヴェールプレフィックス',
VEILED_SUFFIX: 'ヴェールサフィックス',
VEILED_PREFIX: '冒涜プレフィックス',
VEILED_SUFFIX: '冒涜サフィックス',
FLASK_CHARGES: /^現在 \d+ チャージ$/,
METAMORPH_HELP: "これをTaneの研究所で他の4つの異なるサンプルと組み合わせてください。",
BEAST_HELP: '右クリックしてベスティアリーに追加します。',

File diff suppressed because one or more lines are too long

View File

@@ -181,7 +181,8 @@
"tag_explicit_incursion": "기습",
"tag_rune": "룬",
"tag_added_rune": "룬",
"tag_sanctum": "Sanctum",
"tag_sanctum": "성역",
"tag_desecrated": "훼손된",
"fill_rune_iron": "Fill Runes(Iron)",
"grade": "등급 {0}",
"hybrid_note": "ハイブリッドモッドであるためティアが誤っている可能性があります"

View File

@@ -30,6 +30,7 @@ export default {
CORRUPTED: '타락',
UNIDENTIFIED: '미확인',
ITEM_SUPERIOR: /^상급 (.*)$/,
ITEM_EXCEPTIONAL: /^특출난 (.*)$/,
MAP_BLIGHTED: /^역병 걸린 (.*)$/,
MAP_BLIGHT_RAVAGED: /^역병에 유린당한 (.*)$/,
INFLUENCE_SHAPER: '쉐이퍼 아이템',
@@ -40,8 +41,8 @@ export default {
INFLUENCE_WARLORD: '전쟁군주 아이템',
SECTION_SYNTHESISED: '결합된 아이템',
ITEM_SYNTHESISED: /^결합된 (.*)$/,
VEILED_PREFIX: '장막 접두어',
VEILED_SUFFIX: '장막 접미어',
VEILED_PREFIX: '훼손된 접두어',
VEILED_SUFFIX: '훼손된 접미어',
FLASK_CHARGES: /^현재 충전량: \d+$/,
METAMORPH_HELP: '테인의 연구실에서 이 아이템을 다른 샘플과 조합하십시오.',
BEAST_HELP: '우클릭으로 이것을 야수 도감에 추가하십시오.',

File diff suppressed because one or more lines are too long

View File

@@ -180,7 +180,8 @@
"tag_explicit_delve": "Exploração",
"tag_explicit_veiled": "Velado",
"tag_explicit_incursion": "Incursão",
"tag_rune": "Runa"
"tag_rune": "Runa",
"tag_desecrated": "Profanado"
},
"online_filter": {
"offline_toggle": "Desconectado & Online",

View File

@@ -88,9 +88,9 @@ export default {
// SynthesisedItem
ITEM_SYNTHESISED: /^(.*)$ Sintetizado/,
// ItemDisplayVeiledPrefix
VEILED_PREFIX: 'Prefixo Oculto',
VEILED_PREFIX: 'Prefixo Profanado',
// ItemDisplayVeiledSuffix
VEILED_SUFFIX: 'Sufixo Oculto',
VEILED_SUFFIX: 'Sufixo Profanado',
// ItemDisplayChargesNCharges
FLASK_CHARGES: /^Atualmente tem \d+ Cargas$/,
// MetamorphosisItemisedMapBoss

File diff suppressed because one or more lines are too long

View File

@@ -200,7 +200,8 @@
"tag_explicit_incursion": "Вмешательство",
"tag_rune": "Руна",
"tag_added_rune": "Руна",
"tag_sanctum": "Sanctum",
"tag_sanctum": "Святилище",
"tag_desecrated": "Очернённый",
"fill_rune_iron": "Fill Runes(Iron)",
"grade": "Грейд {0}",
"hybrid_note": "Tier may be incorrect due to the potential for a hybrid mod"

View File

@@ -41,8 +41,8 @@ export default {
INFLUENCE_WARLORD: 'Предмет Вождя',
SECTION_SYNTHESISED: 'Синтезированный предмет',
ITEM_SYNTHESISED: /^(?:Синтезированный|Синтезированная|Синтезированное|Синтезированные) (.*?)\u00a0*$/,
VEILED_PREFIX: 'Завуалированный префикс',
VEILED_SUFFIX: 'Завуалированный суффикс',
VEILED_PREFIX: 'Очернённый префикс',
VEILED_SUFFIX: 'Очернённый суффикс',
FLASK_CHARGES: /^Содержит зарядов: \d+$/,
METAMORPH_HELP: 'Объедините эту часть с четырьмя другими в Лаборатории Танэ.',
BEAST_HELP: 'Нажмите ПКМ, чтобы добавить это в ваш Бестиарий.',

File diff suppressed because one or more lines are too long

View File

@@ -36,6 +36,7 @@ import {
groupLinesByMod,
parseModInfoLine,
ADDED_RUNE_LINE,
DESECRATED_LINE,
} from "./advanced-mod-desc";
import { calcPropPercentile, QUALITY_STATS } from "./calc-q20";
@@ -916,7 +917,7 @@ export function parseModifiersPoe2(section: string[], item: ParsedItem) {
let foundAnyMods = false;
const enchantOrScourgeOrRune = section.find(
const hasEndingTag = section.find(
(line) =>
line.endsWith(ENCHANT_LINE) ||
line.endsWith(SCOURGE_LINE) ||
@@ -924,16 +925,23 @@ export function parseModifiersPoe2(section: string[], item: ParsedItem) {
line.endsWith(ADDED_RUNE_LINE),
);
if (enchantOrScourgeOrRune) {
if (hasEndingTag) {
const { lines } = parseModType(section);
let modType;
if (hasEndingTag.endsWith(ENCHANT_LINE)) {
modType = ModifierType.Enchant;
} else if (hasEndingTag.endsWith(SCOURGE_LINE)) {
modType = ModifierType.Scourge;
} else if (hasEndingTag.endsWith(ADDED_RUNE_LINE)) {
modType = ModifierType.AddedRune;
} else if (hasEndingTag.endsWith(RUNE_LINE)) {
modType = ModifierType.Rune;
} else {
throw new Error("Invalid ending tag");
}
const modInfo: ModifierInfo = {
type: enchantOrScourgeOrRune.endsWith(ENCHANT_LINE)
? ModifierType.Enchant
: enchantOrScourgeOrRune.endsWith(SCOURGE_LINE)
? ModifierType.Scourge
: enchantOrScourgeOrRune.endsWith(ADDED_RUNE_LINE)
? ModifierType.AddedRune
: ModifierType.Rune,
type: modType,
tags: [],
};
foundAnyMods = parseStatsFromMod(lines, item, { info: modInfo, stats: [] });
@@ -977,6 +985,7 @@ function parseModifiers(section: string[], item: ParsedItem) {
line.endsWith(ENCHANT_LINE) ||
line.endsWith(SCOURGE_LINE) ||
line.endsWith(RUNE_LINE) ||
line.endsWith(DESECRATED_LINE) ||
isModInfoLine(line),
);
@@ -1431,20 +1440,6 @@ function parseStatsFromMod(
item.newMods.push(modifier);
if (modifier.info.type === ModifierType.Veiled) {
const found = STAT_BY_MATCH_STR(modifier.info.name!);
if (found) {
modifier.stats.push({
stat: found.stat,
translation: found.matcher,
});
} else {
if (item.rarity !== ItemRarity.Unique) {
item.unknownModifiers.push({
text: modifier.info.name!,
type: modifier.info.type,
});
}
}
return true;
}

View File

@@ -8,6 +8,7 @@ export const RUNE_LINE = " (rune)";
export const ADDED_RUNE_LINE = " (added rune)";
export const ENCHANT_LINE = " (enchant)";
export const IMPLICIT_LINE = " (implicit)";
export const DESECRATED_LINE = " (desecrated)";
const CRAFTED_LINE = " (crafted)";
const FRACTURED_LINE = " (fractured)";
@@ -170,6 +171,9 @@ export function parseModType(lines: string[]): {
} else if (lines.some((line) => line.endsWith(ADDED_RUNE_LINE))) {
modType = ModifierType.AddedRune;
lines = removeLinesEnding(lines, ADDED_RUNE_LINE);
} else if (lines.some((line) => line.endsWith(DESECRATED_LINE))) {
modType = ModifierType.Desecrated;
lines = removeLinesEnding(lines, DESECRATED_LINE);
} else {
modType = ModifierType.Explicit;
}

View File

@@ -146,4 +146,5 @@ export enum ModifierType {
Rune = "rune",
AddedRune = "added-rune",
Sanctum = "sanctum",
Desecrated = "desecrated",
}

View File

@@ -494,7 +494,8 @@ export default defineComponent({
@apply bg-yellow-400 text-black;
}
.tag-crafted,
.tag-synthesised {
.tag-synthesised,
.tag-rune {
@apply bg-blue-600 text-blue-100;
}
.tag-implicit,
@@ -511,9 +512,7 @@ export default defineComponent({
.tag-pseudo {
@apply bg-gray-700 text-black;
}
.tag-rune {
@apply bg-blue-600 text-blue-100;
}
.tag-added-rune {
@apply text-blue-100 relative overflow-hidden;
@@ -528,6 +527,9 @@ export default defineComponent({
.tag-sanctum {
@apply border;
}
.tag-desecrated {
@apply bg-green-900 text-green-100;
}
</style>
<style lang="postcss">

View File

@@ -41,6 +41,7 @@ export default defineComponent({
if (
(filter.tag === FilterTag.Explicit ||
filter.tag === FilterTag.Desecrated ||
filter.tag === FilterTag.Pseudo ||
filter.tag === FilterTag.Property) &&
item.category !== ItemCategory.Jewel &&

View File

@@ -203,4 +203,5 @@ export enum FilterTag {
Incursion = "explicit-incursion",
Rune = "rune",
AddedRune = "added-rune",
Desecrated = "desecrated",
}

View File

@@ -214,6 +214,7 @@ interface TradeRequest {
mirrored?: FilterBoolean;
sanctum_gold?: FilterRange;
unidentified_tier?: FilterRange;
veiled?: FilterBoolean;
};
};
trade_filters?: {
@@ -782,18 +783,9 @@ export function createTradeRequest(
stats = stats.filter(
(stat) => !INTERNAL_TRADE_IDS.includes(stat.tradeId[0] as any),
);
// if (filters.veiled) {
// for (const statRef of filters.veiled.statRefs) {
// stats.push({
// disabled: filters.veiled.disabled,
// statRef: undefined!,
// text: undefined!,
// tag: undefined!,
// sources: undefined!,
// tradeId: STAT_BY_REF(statRef)!.trade.ids[ModifierType.Veiled]
// })
// }
// }
if (filters.veiled && !filters.veiled.disabled) {
propSet(query.filters, "misc_filters.filters.veiled.option", String(true));
}
// if (filters.influences) {
// for (const influence of filters.influences) {