diff --git a/dataParser/data/interfaces-apt.ts b/dataParser/data/interfaces-apt.ts index 03480019..d0cda309 100644 --- a/dataParser/data/interfaces-apt.ts +++ b/dataParser/data/interfaces-apt.ts @@ -53,6 +53,7 @@ export enum ItemCategory { MetaGem = "Meta Gem", Focus = "Focus", Spear = "Spear", + Flail = "Flail", } export interface StatMatcher { diff --git a/dataParser/items.ts b/dataParser/items.ts index 72dc25a8..6f0d45dc 100644 --- a/dataParser/items.ts +++ b/dataParser/items.ts @@ -122,6 +122,7 @@ const ITEM_CATEGORY = new Map([ ["TrapTool", { name: "Trap Tool", craftable: true }], ["Focus", { name: "Focus", craftable: true }], ["Spear", { name: "Spear", craftable: true }], + ["Flail", { name: "Flail", craftable: true }], ]); const ArmourTypes = Tables.ArmourTypes(); function getArmourField(baseRid: number): BaseType["armour"] { diff --git a/renderer/src/parser/Parser.ts b/renderer/src/parser/Parser.ts index edc64db6..24150273 100644 --- a/renderer/src/parser/Parser.ts +++ b/renderer/src/parser/Parser.ts @@ -1549,6 +1549,7 @@ function getMaxSockets(category: ItemCategory | undefined) { case ItemCategory.Dagger: case ItemCategory.Focus: case ItemCategory.Spear: + case ItemCategory.Flail: return 1; default: return 0; @@ -1582,6 +1583,7 @@ export function isArmourOrWeapon( case ItemCategory.Warstaff: case ItemCategory.Staff: case ItemCategory.Spear: + case ItemCategory.Flail: return "weapon"; default: return undefined; diff --git a/renderer/src/parser/meta.ts b/renderer/src/parser/meta.ts index 79ca79c3..1a159090 100644 --- a/renderer/src/parser/meta.ts +++ b/renderer/src/parser/meta.ts @@ -57,6 +57,7 @@ export enum ItemCategory { Tablet = "Tablet", TowerAugment = "TowerAugment", Spear = "Spear", + Flail = "Flail", } export const WEAPON_ONE_HANDED_MELEE = new Set([ @@ -66,7 +67,9 @@ export const WEAPON_ONE_HANDED_MELEE = new Set([ ItemCategory.Claw, ItemCategory.Dagger, ItemCategory.RuneDagger, + // TODO: confirm that these are actually melee weapons ItemCategory.Spear, + ItemCategory.Flail, ]); export const WEAPON_ONE_HANDED = new Set([ diff --git a/renderer/src/parser/mod-tiers.ts b/renderer/src/parser/mod-tiers.ts index 109b774f..ae6300b1 100644 --- a/renderer/src/parser/mod-tiers.ts +++ b/renderer/src/parser/mod-tiers.ts @@ -61,6 +61,7 @@ export function mapItemCategoryToKeys(itemCategory: ItemCategory): string[] { [ItemCategory.Tablet]: [""], [ItemCategory.TowerAugment]: [""], [ItemCategory.Spear]: ["spear", "one_hand_weapon", "weapon"], + [ItemCategory.Flail]: ["flail", "one_hand_weapon", "weapon"], }; return categoryMap[itemCategory] || [itemCategory.toLowerCase()]; diff --git a/renderer/src/web/price-check/filters/pseudo/item-property.ts b/renderer/src/web/price-check/filters/pseudo/item-property.ts index 69349ed6..3c2740c5 100644 --- a/renderer/src/web/price-check/filters/pseudo/item-property.ts +++ b/renderer/src/web/price-check/filters/pseudo/item-property.ts @@ -391,7 +391,8 @@ function isPdpsImportant(item: ParsedItem) { case ItemCategory.Bow: case ItemCategory.Warstaff: case ItemCategory.Crossbow: - case ItemCategory.Spear: + case ItemCategory.Spear: // TODO: Check that these actually need pdps + case ItemCategory.Flail: return true; default: return false; diff --git a/renderer/src/web/price-check/trade/pathofexile-trade.ts b/renderer/src/web/price-check/trade/pathofexile-trade.ts index 33346544..43e29224 100644 --- a/renderer/src/web/price-check/trade/pathofexile-trade.ts +++ b/renderer/src/web/price-check/trade/pathofexile-trade.ts @@ -76,6 +76,7 @@ export const CATEGORY_TO_TRADE_ID = new Map([ [ItemCategory.MetaGem, "gem.metagem"], [ItemCategory.Focus, "armour.focus"], [ItemCategory.Spear, "weapon.spear"], + [ItemCategory.Flail, "weapon.flail"], ]); // const TOTAL_MODS_TEXT = {