mirror of
https://github.com/Kvan7/Exiled-Exchange-2.git
synced 2026-09-20 11:45:42 +00:00
Show anointments with Golden/Silver oil (#633)
Co-authored-by: Alexander Drozdov <snosme@gmail.com>
This commit is contained in:
co-authored by
Alexander Drozdov
parent
6a3994e218
commit
bcbb68f560
@@ -5,7 +5,7 @@ import { FilterTag, ItemHasEmptyModifier, StatFilter } from './interfaces'
|
||||
import { filterPseudo } from './pseudo'
|
||||
import { applyRules as applyAtzoatlRules } from './pseudo/atzoatl-rules'
|
||||
import { filterItemProp } from './pseudo/item-property'
|
||||
import { decodeOils } from './pseudo/anointments'
|
||||
import { decodeOils, applyAnointmentRules } from './pseudo/anointments'
|
||||
import { StatBetter } from '@/assets/data'
|
||||
|
||||
export interface FiltersCreationContext {
|
||||
@@ -27,13 +27,7 @@ export function createExactStatFilters (
|
||||
!item.isSynthesised
|
||||
) return []
|
||||
|
||||
const keepByType = [ModifierType.Pseudo, ModifierType.Fractured]
|
||||
if (
|
||||
item.category !== ItemCategory.Amulet &&
|
||||
item.category !== ItemCategory.Ring
|
||||
) {
|
||||
keepByType.push(ModifierType.Enchant)
|
||||
}
|
||||
const keepByType = [ModifierType.Pseudo, ModifierType.Fractured, ModifierType.Enchant]
|
||||
|
||||
if (
|
||||
!item.influences.length &&
|
||||
@@ -338,16 +332,8 @@ function finalFilterTweaks (ctx: FiltersCreationContext) {
|
||||
})
|
||||
}
|
||||
|
||||
if (item.category === ItemCategory.Amulet) {
|
||||
const anointment = ctx.filters.find(filter => filter.statRef === 'Allocates #')
|
||||
if (anointment) {
|
||||
if (item.talismanTier) {
|
||||
anointment.disabled = false
|
||||
} else if (!item.isCorrupted && !item.isMirrored) {
|
||||
anointment.hidden = 'Buyer will likely change anointment'
|
||||
anointment.disabled = true
|
||||
}
|
||||
}
|
||||
if (item.category === ItemCategory.Amulet || item.category === ItemCategory.Ring) {
|
||||
applyAnointmentRules(ctx.filters, ctx.item)
|
||||
}
|
||||
|
||||
for (const filter of ctx.filters) {
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import { ModifierType, StatCalculated } from '@/parser/modifiers'
|
||||
import type { ParsedItem } from '@/parser'
|
||||
import type { StatFilter } from '../interfaces'
|
||||
|
||||
const OILS = [
|
||||
'Clear Oil',
|
||||
@@ -40,3 +42,18 @@ export function decodeOils (calc: StatCalculated): string[] | undefined {
|
||||
|
||||
return decoded
|
||||
}
|
||||
|
||||
export function applyAnointmentRules (filters: StatFilter[], item: ParsedItem) {
|
||||
const anointment = filters.find(filter => filter.oils)
|
||||
if (!anointment) return
|
||||
|
||||
if (item.talismanTier) {
|
||||
anointment.disabled = false
|
||||
} else if (!item.isCorrupted && !item.isMirrored) {
|
||||
const oils = anointment.oils!
|
||||
if (oils[0] !== 'Golden Oil' && oils[0] !== 'Silver Oil') {
|
||||
anointment.hidden = 'Buyer will likely change anointment'
|
||||
anointment.disabled = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user