diff --git a/exiled-exchange-2.code-workspace b/exiled-exchange-2.code-workspace index 57620927..4ba6ad97 100644 --- a/exiled-exchange-2.code-workspace +++ b/exiled-exchange-2.code-workspace @@ -53,6 +53,7 @@ "Catalysing", "Chayula's", "corruptionjewel", + "craftable", "Crystallisation", "Defences", "DIVCARD", diff --git a/renderer/src/parser/ParsedItem.ts b/renderer/src/parser/ParsedItem.ts index 23c1bf33..cd560333 100644 --- a/renderer/src/parser/ParsedItem.ts +++ b/renderer/src/parser/ParsedItem.ts @@ -119,5 +119,10 @@ export function createVirtualItem( } export function itemIsModifiable(item: ParsedItem) { - return !item.isCorrupted && !item.isMirrored && !item.isSanctified; + return ( + item.info.craftable && + !item.isCorrupted && + !item.isMirrored && + !item.isSanctified + ); } diff --git a/renderer/src/web/price-check/filters/create-item-filters.ts b/renderer/src/web/price-check/filters/create-item-filters.ts index f331e557..609270e5 100644 --- a/renderer/src/web/price-check/filters/create-item-filters.ts +++ b/renderer/src/web/price-check/filters/create-item-filters.ts @@ -1,5 +1,10 @@ import type { ItemFilters } from "./interfaces"; -import { ParsedItem, ItemCategory, ItemRarity } from "@/parser"; +import { + ParsedItem, + ItemCategory, + ItemRarity, + itemIsModifiable, +} from "@/parser"; import { tradeTag } from "../trade/common"; import { ModifierType } from "@/parser/modifiers"; import { BaseType, ITEM_BY_REF } from "@/assets/data"; @@ -353,7 +358,7 @@ export function createFilters( filters.sanctified = { disabled: false }; } - if (!item.isFractured && opts.exact) { + if (!item.isFractured && itemIsModifiable(item)) { filters.fractured = { value: false }; } diff --git a/renderer/src/web/price-check/trade/pathofexile-trade.ts b/renderer/src/web/price-check/trade/pathofexile-trade.ts index e2a11950..296087cb 100644 --- a/renderer/src/web/price-check/trade/pathofexile-trade.ts +++ b/renderer/src/web/price-check/trade/pathofexile-trade.ts @@ -512,6 +512,14 @@ export function createTradeRequest( ); } + if (filters.fractured?.value === false) { + propSet( + query.filters, + "misc_filters.filters.fractured_item.option", + String(false), + ); + } + if (filters.mirrored) { if (filters.mirrored.disabled) { propSet(