diff --git a/renderer/src/assets/data/interfaces.ts b/renderer/src/assets/data/interfaces.ts
index b7477dce..c6e7a434 100644
--- a/renderer/src/assets/data/interfaces.ts
+++ b/renderer/src/assets/data/interfaces.ts
@@ -20,6 +20,7 @@ export interface Stat {
matchers: StatMatcher[]
better: StatBetter
fromAreaMods?: true
+ fromUberAreaMods?: true
fromHeistAreaMods?: true
anointments?: Array<{ roll: number, oils: string }> // Ring anointments
trade: {
diff --git a/renderer/src/web/settings/maps/MapsStatEntry.vue b/renderer/src/web/settings/maps/MapsStatEntry.vue
index 97f65607..3240100e 100644
--- a/renderer/src/web/settings/maps/MapsStatEntry.vue
+++ b/renderer/src/web/settings/maps/MapsStatEntry.vue
@@ -3,6 +3,7 @@
{{ t('map.mods.outdated') }}
{{ t('map.mods.heist') }}
+ {{ t('map.mods.uber') }}
{{ matcher.str }}
@@ -114,6 +115,9 @@ export default defineComponent({
.tag-heist {
@apply bg-red-800;
}
+.tag-uber {
+ @apply bg-purple-600;
+}
.tag-outdated {
@apply bg-red-400 text-black;
}
diff --git a/renderer/src/web/settings/maps/interfaces.ts b/renderer/src/web/settings/maps/interfaces.ts
index 76cbd45d..fc4a369d 100644
--- a/renderer/src/web/settings/maps/interfaces.ts
+++ b/renderer/src/web/settings/maps/interfaces.ts
@@ -1,5 +1,6 @@
export interface MapStatMatcher {
str: string
heist?: boolean
+ uber?: boolean
outdated: boolean
}
diff --git a/renderer/src/web/settings/maps/maps.vue b/renderer/src/web/settings/maps/maps.vue
index cca5030d..6957febd 100644
--- a/renderer/src/web/settings/maps/maps.vue
+++ b/renderer/src/web/settings/maps/maps.vue
@@ -40,8 +40,10 @@ import VirtualScroll from '../../ui/VirtualScroll.vue'
import type { MapStatMatcher } from './interfaces'
function statToShowOrder (stat: Omit) {
- if (stat.heist) {
+ if (stat.uber) {
return 1
+ } else if (stat.heist) {
+ return 2
} else {
return 0
}
@@ -61,15 +63,16 @@ export default defineComponent({
const widget = computed(() => findWidget('item-check', props.config)!)
const statList = computed(() => {
- const out: Array<{ str: string, searchStr: string, heist: boolean }> = []
+ const out: Array<{ str: string, searchStr: string, heist: boolean, uber: boolean }> = []
for (const stat of STATS_ITERATOR('AreaMods')) {
- if (!stat.fromAreaMods && !stat.fromHeistAreaMods) continue
+ if (!stat.fromAreaMods && !stat.fromUberAreaMods && !stat.fromHeistAreaMods) continue
for (const c of stat.matchers) {
out.push({
str: c.string,
searchStr: c.string.toLowerCase(),
- heist: (stat.fromHeistAreaMods && !stat.fromAreaMods) || false
+ heist: (stat.fromHeistAreaMods && !stat.fromAreaMods) || false,
+ uber: (stat.fromUberAreaMods && !stat.fromAreaMods) || false
})
}
}
@@ -100,7 +103,7 @@ export default defineComponent({
entry.decision[idx] !== '-' &&
entry.decision[idx] !== 's' &&
STAT_BY_MATCH_STR(entry.matcher) == null)
- .map(entry => ({ str: entry.matcher, heist: undefined, outdated: true }))
+ .map(entry => ({ str: entry.matcher, heist: undefined, uber: undefined, outdated: true }))
})
const { t } = useI18nNs('map_check')
@@ -120,7 +123,7 @@ export default defineComponent({
? selectedMatchers.value.has(stat.str)
: true)
)
- .map(({ str, heist }) => ({ str, heist, outdated: false }))
+ .map(({ str, heist, uber }) => ({ str, heist, uber, outdated: false }))
return [
...hasOutdatedTranslation.value,