mirror of
https://github.com/Kvan7/Exiled-Exchange-2.git
synced 2026-09-25 14:15:42 +00:00
change Attributes pseudo, closes #381
This commit is contained in:
@@ -331,7 +331,8 @@ export default defineComponent({
|
||||
"Buyer will likely change anointment": "Покупатель, скорее всего, поменяет зачарование",
|
||||
"Select only if price-checking as base item for crafting": "Отмечайте, если проверяете цену в качестве базового предмета для крафта",
|
||||
"1 Empty or Crafted Modifier": "1 свободное или ремесленное свойство",
|
||||
"Select only if item has 6 modifiers (1 of which is crafted) or if it has 5 modifiers": "Выбирайте, только если у предмета 6 свойств (1 из которых ремесленное) или если у него 5 свойств"
|
||||
"Select only if item has 6 modifiers (1 of which is crafted) or if it has 5 modifiers": "Выбирайте, только если у предмета 6 свойств (1 из которых ремесленное) или если у него 5 свойств",
|
||||
"Stat has a relatively small value": "Относительно небольшое значение у мода"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
||||
@@ -46,28 +46,23 @@ const TO_MAXIMUM_LIFE = stat('+# to maximum Life')
|
||||
const TO_MAXIMUM_MANA = stat('+# to maximum Mana')
|
||||
|
||||
export function filterAttributes (ctx: FiltersCreationContext) {
|
||||
const attrs: Array<{ pseudo: ReturnType<typeof pseudoStat>, total: number, hasFlat: boolean }> = []
|
||||
const attrs: Array<{
|
||||
pseudo: ReturnType<typeof pseudoStat>
|
||||
total: number
|
||||
hasFlat: boolean
|
||||
countToAll: number
|
||||
}> = []
|
||||
|
||||
for (const attr of ATTRS) {
|
||||
const hasFlat = ctx.modifiers.some(m =>
|
||||
attr.stats.includes(m.stat.ref) && m.stat.ref !== TO_ALL_ATTRS)
|
||||
|
||||
const total = sumPseudoStats(ctx.modifiers, attr.stats)
|
||||
if (total !== undefined) {
|
||||
attrs.push({ pseudo: attr.pseudo, total, hasFlat })
|
||||
const hasNotToAll = ctx.modifiers.some(m => attr.stats.includes(m.stat.ref) && m.stat.ref !== TO_ALL_ATTRS)
|
||||
const countToAll = ctx.modifiers.filter(m => m.stat.ref === TO_ALL_ATTRS).length
|
||||
|
||||
attrs.push({ pseudo: attr.pseudo, total, hasFlat: hasNotToAll, countToAll })
|
||||
}
|
||||
}
|
||||
|
||||
for (const attr of attrs) {
|
||||
if (!attr.hasFlat) continue
|
||||
|
||||
ctx.filters.push({
|
||||
...attr.pseudo,
|
||||
disabled: true,
|
||||
...rollToFilter(attr.total, { neverNegated: true })
|
||||
})
|
||||
}
|
||||
|
||||
const isOnlyToTotal = (attrs.length && attrs.every(a => !a.hasFlat))
|
||||
if (isOnlyToTotal) {
|
||||
const totalToAllAttrs = sumPseudoStats(ctx.modifiers, [TO_ALL_ATTRS])!
|
||||
@@ -77,6 +72,15 @@ export function filterAttributes (ctx: FiltersCreationContext) {
|
||||
disabled: true,
|
||||
...rollToFilter(totalToAllAttrs, { neverNegated: true })
|
||||
})
|
||||
} else {
|
||||
for (const attr of attrs) {
|
||||
ctx.filters.push({
|
||||
...attr.pseudo,
|
||||
disabled: true,
|
||||
hidden: (attr.hasFlat || attr.countToAll >= 2) ? undefined : 'Stat has a relatively small value',
|
||||
...rollToFilter(attr.total, { neverNegated: true })
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
for (const attr of attrs) {
|
||||
|
||||
Reference in New Issue
Block a user