mirror of
https://github.com/Kvan7/Exiled-Exchange-2.git
synced 2026-10-02 17:37:50 +00:00
feat: item influence
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
+14
-12
@@ -33,7 +33,7 @@ export interface ParsedItem {
|
||||
isUnidentified: boolean
|
||||
isCorrupted: boolean
|
||||
gemLevel?: number
|
||||
influence: ItemInfluence // @TODO items can have second transfered influence type
|
||||
influences: ItemInfluence[]
|
||||
rawText: string
|
||||
computed: {
|
||||
type?: WellKnownType
|
||||
@@ -179,7 +179,7 @@ function parseNamePlate (section: string[]) {
|
||||
baseType: section[2],
|
||||
isUnidentified: false,
|
||||
isCorrupted: false,
|
||||
influence: ItemInfluence.Normal,
|
||||
influences: [] as ItemInfluence[],
|
||||
computed: {}
|
||||
} as ParsedItem
|
||||
default:
|
||||
@@ -189,17 +189,19 @@ function parseNamePlate (section: string[]) {
|
||||
|
||||
function parseInfluence (section: string[], item: ParsedItem) {
|
||||
if (section[0].endsWith(SUFFIX_INFLUENCE)) {
|
||||
const influence = section[0].slice(0, -SUFFIX_INFLUENCE.length)
|
||||
switch (influence) {
|
||||
case ItemInfluence.Crusader:
|
||||
case ItemInfluence.Elder:
|
||||
case ItemInfluence.Shaper:
|
||||
case ItemInfluence.Hunter:
|
||||
case ItemInfluence.Redeemer:
|
||||
case ItemInfluence.Warlord:
|
||||
item.influence = influence
|
||||
return SECTION_PARSED
|
||||
for (const line of section) {
|
||||
const influence = line.slice(0, -SUFFIX_INFLUENCE.length)
|
||||
switch (influence) {
|
||||
case ItemInfluence.Crusader:
|
||||
case ItemInfluence.Elder:
|
||||
case ItemInfluence.Shaper:
|
||||
case ItemInfluence.Hunter:
|
||||
case ItemInfluence.Redeemer:
|
||||
case ItemInfluence.Warlord:
|
||||
item.influences.push(influence)
|
||||
}
|
||||
}
|
||||
return SECTION_PARSED
|
||||
}
|
||||
return SECTION_SKIPPED
|
||||
}
|
||||
|
||||
@@ -4,11 +4,35 @@
|
||||
<span>Requesting search results...</span>
|
||||
</div>
|
||||
<div v-else-if="results" class="layout-column overflow-y-auto overflow-x-hidden">
|
||||
<div v-if="!item.stackSize" class="flex mb-2 -mx-1">
|
||||
<div v-if="!item.stackSize" class="flex flex-wrap mb-2 -m-1">
|
||||
<div v-if="socket_filters.links.min" class="trade-tag">Links: {{ socket_filters.links.min }}</div>
|
||||
<div v-if="map_filters.map_tier.min" class="trade-tag">Map Tier: {{ map_filters.map_tier.min }}</div>
|
||||
<div v-if="misc_filters.gem_level.min" class="trade-tag">Level: {{ misc_filters.gem_level.min }}</div>
|
||||
<div v-if="misc_filters.quality.min" class="trade-tag">Quality: {{ misc_filters.quality.min }}%</div>
|
||||
<div v-if="misc_filters.shaper_item.option === 'true'" class="trade-tag flex items-center">
|
||||
<img class="w-5 h-5 -m-1" src="@/assets/influence/Shaper.png">
|
||||
<span class="ml-2">Shaper</span>
|
||||
</div>
|
||||
<div v-if="misc_filters.elder_item.option === 'true'" class="trade-tag flex items-center">
|
||||
<img class="w-5 h-5 -m-1" src="@/assets/influence/Elder.png">
|
||||
<span class="ml-2">Elder</span>
|
||||
</div>
|
||||
<div v-if="misc_filters.crusader_item.option === 'true'" class="trade-tag flex items-center">
|
||||
<img class="w-5 h-5 -m-1" src="@/assets/influence/Crusader.png">
|
||||
<span class="ml-2">Crusader</span>
|
||||
</div>
|
||||
<div v-if="misc_filters.hunter_item.option === 'true'" class="trade-tag flex items-center">
|
||||
<img class="w-5 h-5 -m-1" src="@/assets/influence/Hunter.png">
|
||||
<span class="ml-2">Hunter</span>
|
||||
</div>
|
||||
<div v-if="misc_filters.redeemer_item.option === 'true'" class="trade-tag flex items-center">
|
||||
<img class="w-5 h-5 -m-1" src="@/assets/influence/Redeemer.png">
|
||||
<span class="ml-2">Redeemer</span>
|
||||
</div>
|
||||
<div v-if="misc_filters.warlord_item.option === 'true'" class="trade-tag flex items-center">
|
||||
<img class="w-5 h-5 -m-1" src="@/assets/influence/Warlord.png">
|
||||
<span class="ml-2">Warlord</span>
|
||||
</div>
|
||||
<div v-if="misc_filters.corrupted.option" class="trade-tag">
|
||||
<span v-if="misc_filters.corrupted.option === 'true'" class="text-red-500">Corrupted</span>
|
||||
<span v-if="misc_filters.corrupted.option === 'false'">Not Corrupted</span>
|
||||
@@ -117,6 +141,6 @@ export default {
|
||||
|
||||
<style lang="postcss">
|
||||
.trade-tag {
|
||||
@apply bg-gray-900 py-1 px-2 mx-1 rounded-full leading-none;
|
||||
@apply bg-gray-900 py-1 px-2 m-1 rounded-full leading-none;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -9,7 +9,6 @@ export enum ItemRarity {
|
||||
}
|
||||
|
||||
export enum ItemInfluence {
|
||||
Normal = 'Normal',
|
||||
Crusader = 'Crusader',
|
||||
Elder = 'Elder',
|
||||
Hunter = 'Hunter',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { ParsedItem, WellKnownType } from './Parser'
|
||||
import { ItemRarity } from './parser-constants'
|
||||
import { ItemRarity, ItemInfluence } from './parser-constants'
|
||||
import { Leagues } from './Leagues'
|
||||
|
||||
const TradeOpts = {
|
||||
@@ -44,6 +44,12 @@ interface TradeRequest { /* eslint-disable camelcase */
|
||||
corrupted: {
|
||||
option?: 'true' | 'false'
|
||||
}
|
||||
shaper_item: { option?: 'true' | 'false' }
|
||||
crusader_item: { option?: 'true' | 'false' }
|
||||
hunter_item: { option?: 'true' | 'false' }
|
||||
elder_item: { option?: 'true' | 'false' }
|
||||
redeemer_item: { option?: 'true' | 'false' }
|
||||
warlord_item: { option?: 'true' | 'false' }
|
||||
}
|
||||
}
|
||||
map_filters: {
|
||||
@@ -115,7 +121,13 @@ export function createTradeRequest (item: ParsedItem) {
|
||||
filters: {
|
||||
quality: {},
|
||||
gem_level: {},
|
||||
corrupted: {}
|
||||
corrupted: {},
|
||||
crusader_item: {},
|
||||
elder_item: {},
|
||||
hunter_item: {},
|
||||
redeemer_item: {},
|
||||
shaper_item: {},
|
||||
warlord_item: {}
|
||||
}
|
||||
},
|
||||
map_filters: {
|
||||
@@ -192,6 +204,29 @@ export function createTradeRequest (item: ParsedItem) {
|
||||
query.filters.socket_filters.filters.links.min = item.linkedSockets
|
||||
}
|
||||
|
||||
for (const influence of item.influences) {
|
||||
switch (influence) {
|
||||
case ItemInfluence.Shaper:
|
||||
query.filters.misc_filters.filters.shaper_item.option = 'true'
|
||||
break
|
||||
case ItemInfluence.Elder:
|
||||
query.filters.misc_filters.filters.elder_item.option = 'true'
|
||||
break
|
||||
case ItemInfluence.Crusader:
|
||||
query.filters.misc_filters.filters.crusader_item.option = 'true'
|
||||
break
|
||||
case ItemInfluence.Hunter:
|
||||
query.filters.misc_filters.filters.hunter_item.option = 'true'
|
||||
break
|
||||
case ItemInfluence.Redeemer:
|
||||
query.filters.misc_filters.filters.redeemer_item.option = 'true'
|
||||
break
|
||||
case ItemInfluence.Warlord:
|
||||
query.filters.misc_filters.filters.warlord_item.option = 'true'
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
return body
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user