diff --git a/src/assets/influence/Crusader.png b/src/assets/influence/Crusader.png new file mode 100644 index 00000000..ba7f8d6f Binary files /dev/null and b/src/assets/influence/Crusader.png differ diff --git a/src/assets/influence/Elder.png b/src/assets/influence/Elder.png new file mode 100644 index 00000000..7232527d Binary files /dev/null and b/src/assets/influence/Elder.png differ diff --git a/src/assets/influence/Hunter.png b/src/assets/influence/Hunter.png new file mode 100644 index 00000000..d41b8ddd Binary files /dev/null and b/src/assets/influence/Hunter.png differ diff --git a/src/assets/influence/Redeemer.png b/src/assets/influence/Redeemer.png new file mode 100644 index 00000000..8877c681 Binary files /dev/null and b/src/assets/influence/Redeemer.png differ diff --git a/src/assets/influence/Shaper.png b/src/assets/influence/Shaper.png new file mode 100644 index 00000000..021d21bd Binary files /dev/null and b/src/assets/influence/Shaper.png differ diff --git a/src/assets/influence/Warlord.png b/src/assets/influence/Warlord.png new file mode 100644 index 00000000..68a71ee4 Binary files /dev/null and b/src/assets/influence/Warlord.png differ diff --git a/src/components/Parser.ts b/src/components/Parser.ts index 5e9bf2f7..ea30f597 100644 --- a/src/components/Parser.ts +++ b/src/components/Parser.ts @@ -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 } diff --git a/src/components/TradeListing.vue b/src/components/TradeListing.vue index 023db59c..5d8ffe7c 100644 --- a/src/components/TradeListing.vue +++ b/src/components/TradeListing.vue @@ -4,11 +4,35 @@ Requesting search results...
+ Shaper
+
+ Elder
+
+ Crusader
+
+ Hunter
+
+ Redeemer
+
+ Warlord
+