add Sanctum items

This commit is contained in:
Alexander Drozdov
2023-08-31 09:58:36 +03:00
parent 0f28a1ea0b
commit c2c176fa5c
12 changed files with 48 additions and 33 deletions
+2 -1
View File
@@ -128,7 +128,8 @@
"heistequipment_heistreward": "Heist Brooch",
"heistequipment_heistweapon": "Heist Gear",
"heistequipment_heistutility": "Heist Cloak",
"accessory_trinket": "Trinket"
"accessory_trinket": "Trinket",
"sanctum_relic": "Sanctum Relic"
},
"filters": {
"selected_some": "{0} of {1}, stats",
+11 -12
View File
@@ -1143,25 +1143,24 @@
},
{
"query": [
"UNIQUE::The Power and the Promise // Tome Relic",
"UNIQUE::The Original Scripture // Papyrus Relic",
"UNIQUE::The Blood of Innocence // Censer Relic",
"UNIQUE::The Chains of Castigation // Processional Relic",
"UNIQUE::The Second Sacrament // Candlestick Relic",
"UNIQUE::The Broken Censer // Tome Relic",
"UNIQUE::The Original Scripture // Relic",
"UNIQUE::The Power and the Promise // Relic",
"UNIQUE::The Blood of Innocence // Relic",
"UNIQUE::The Chains of Castigation // Relic",
"UNIQUE::The Second Sacrament // Relic",
"ITEM::Forbidden Tome"
],
"items": [
"UNIQUE::Eternal Damnation // Agate Amulet",
"UNIQUE::Original Sin // Amethyst Ring",
"UNIQUE::Eternal Damnation // Agate Amulet",
"UNIQUE::The Balance of Terror // Cobalt Jewel",
"UNIQUE::Sandstorm Visage // Necromancer Circlet",
"UNIQUE::The Winds of Fate // Foul Staff",
"ITEM::Forbidden Tome",
"UNIQUE::The First Crest // Coffer Relic",
"UNIQUE::The Gilded Chalice // Processional Relic",
"UNIQUE::The Hour of Divinity // Censer Relic",
"UNIQUE::The Night Lamp // Urn Relic"
"UNIQUE::The Gilded Chalice // Relic",
"UNIQUE::The Hour of Divinity // Relic",
"UNIQUE::The First Crest // Relics, Relic",
"UNIQUE::The Night Lamp // Relic",
"UNIQUE::The Broken Censer // Relic"
]
}
]
+2 -1
View File
@@ -147,7 +147,8 @@
"heistequipment_heistreward": "Разбойничья брошь",
"heistequipment_heistweapon": "Разбойничьи принадлежности",
"heistequipment_heistutility": "Разбойничья накидка",
"accessory_trinket": "Украшение"
"accessory_trinket": "Украшение",
"sanctum_relic": "Реликвия Святилища"
},
"filters": {
"selected_some": "Св-ва: {0} из {1}",
+2 -1
View File
@@ -797,7 +797,8 @@ function parseAreaLevel (section: string[], item: ParsedItem) {
if (
item.info.refName !== 'Chronicle of Atzoatl' &&
item.info.refName !== 'Expedition Logbook' &&
item.info.refName !== 'Mirrored Tablet'
item.info.refName !== 'Mirrored Tablet' &&
item.info.refName !== 'Forbidden Tome'
) return 'PARSER_SKIPPED'
parseAreaLevelNested(section, item)
+2 -1
View File
@@ -43,7 +43,8 @@ export enum ItemCategory {
DivinationCard = 'Divination Card',
Voidstone = 'Voidstone',
Sentinel = 'Sentinel',
MemoryLine = 'Memory Line'
MemoryLine = 'Memory Line',
SanctumRelic = 'Sanctum Relic'
}
export const WEAPON_ONE_HANDED_MELEE = new Set([
+1
View File
@@ -184,6 +184,7 @@ function splitJsonBlob (jsonBlob: string): PriceDatabase {
{ ns: 'UNIQUE', url: 'unique-armours', type: 'UniqueArmour' },
{ ns: 'UNIQUE', url: 'unique-accessories', type: 'UniqueAccessory' },
{ ns: 'UNIQUE', url: 'unique-maps', type: 'UniqueMap' },
{ ns: 'UNIQUE', url: 'unique-relics', type: 'UniqueRelic' },
{ ns: 'GEM', url: 'skill-gems', type: 'SkillGem' }
]
@@ -127,6 +127,7 @@ export default defineComponent({
(item.rarity === ItemRarity.Unique) ||
(item.category === ItemCategory.Map) ||
(item.category === ItemCategory.HeistBlueprint) ||
(item.category === ItemCategory.SanctumRelic) ||
(!CATEGORY_TO_TRADE_ID.has(item.category!)) ||
(item.isUnidentified) ||
(item.isVeiled)
@@ -81,7 +81,7 @@ export function createFilters (
disabled: false
}
}
if (item.info.refName === 'Mirrored Tablet') {
if (item.info.refName === 'Mirrored Tablet' || item.info.refName === 'Forbidden Tome') {
filters.areaLevel = {
value: item.areaLevel!,
disabled: false
@@ -147,18 +147,6 @@ export function createFilters (
disabled: false
}
}
} else if (
item.category === ItemCategory.ClusterJewel &&
item.rarity !== ItemRarity.Unique
) {
filters.searchExact = {
baseType: item.info.name,
baseTypeTrade: t(opts, item.info)
}
filters.searchRelaxed = {
category: item.category,
disabled: true
}
} else if (item.rarity === ItemRarity.Unique && item.info.unique) {
filters.searchExact = {
name: item.info.name,
@@ -171,9 +159,15 @@ export function createFilters (
baseTypeTrade: t(opts, item.info)
}
if (item.category && CATEGORY_TO_TRADE_ID.has(item.category)) {
let disabled = opts.exact
if (item.category === ItemCategory.ClusterJewel) {
disabled = true
} else if (item.category === ItemCategory.SanctumRelic) {
disabled = false
}
filters.searchRelaxed = {
category: item.category,
disabled: opts.exact
disabled: disabled
}
}
}
@@ -252,6 +246,7 @@ export function createFilters (
item.category !== ItemCategory.HeistBlueprint &&
item.category !== ItemCategory.HeistContract &&
item.category !== ItemCategory.MemoryLine &&
item.category !== ItemCategory.SanctumRelic &&
item.info.refName !== 'Expedition Logbook'
) {
if (item.category === ItemCategory.ClusterJewel) {
@@ -33,6 +33,7 @@ export function createPresets (
item.isUnidentified ||
item.rarity === ItemRarity.Normal ||
(item.category === ItemCategory.Flask && item.rarity !== ItemRarity.Unique) ||
(item.category === ItemCategory.SanctumRelic && item.rarity !== ItemRarity.Unique) ||
item.category === ItemCategory.Map ||
item.category === ItemCategory.MemoryLine ||
item.category === ItemCategory.Invitation ||
@@ -99,7 +99,10 @@ export function createExactStatFilters (
applyClusterJewelRules(ctx.filters)
} else if (item.category === ItemCategory.Flask) {
applyFlaskRules(ctx.filters)
} else if (item.category === ItemCategory.MemoryLine) {
} else if (
item.category === ItemCategory.MemoryLine ||
item.category === ItemCategory.SanctumRelic
) {
enableAllFilters(ctx.filters)
}
@@ -45,7 +45,8 @@ export const CATEGORY_TO_TRADE_ID = new Map([
[ItemCategory.HeistBrooch, 'heistequipment.heistreward'],
[ItemCategory.HeistGear, 'heistequipment.heistweapon'],
[ItemCategory.HeistCloak, 'heistequipment.heistutility'],
[ItemCategory.Trinket, 'accessory.trinket']
[ItemCategory.Trinket, 'accessory.trinket'],
[ItemCategory.SanctumRelic, 'sanctum.relic']
])
const TOTAL_MODS_TEXT = {
@@ -102,7 +102,9 @@ function forUniqueItem (item: ParsedItem) {
name: item.info.refName,
variant: variant([
getUniqueVariant(item),
(item.category !== ItemCategory.Flask) ? item.info.unique.base : null,
(item.category === ItemCategory.Flask) ? null
: (item.category === ItemCategory.SanctumRelic) ? 'Relic'
: item.info.unique.base,
(item.sockets?.linked) ? `${item.sockets.linked}L` : null
])
}
@@ -207,6 +209,14 @@ function getUniqueVariant (item: ParsedItem) {
} else if (roll === 3) {
return '3 passives'
}
} else if (uniqueName === 'The First Crest') {
if (hasStat(item, 'Aureus Coins are converted to Experience upon defeating the Herald of the Scourge')) {
return 'Experience'
} else if (hasStat(item, 'Aureus Coins are converted to Relics upon defeating the Herald of the Scourge')) {
return 'Relics'
} else if (hasStat(item, 'Aureus Coins are converted to Tainted Currency upon defeating the Herald of the Scourge')) {
return 'Tainted Currency'
}
}
return null
}