diff --git a/renderer/public/data/cmn-Hant/app_i18n.json b/renderer/public/data/cmn-Hant/app_i18n.json index f18be7d0..42019d31 100644 --- a/renderer/public/data/cmn-Hant/app_i18n.json +++ b/renderer/public/data/cmn-Hant/app_i18n.json @@ -108,7 +108,8 @@ "map_magic_monsters": "魔法怪物: +{0}%", "map_rare_monsters": "稀有怪物: +{0}%", "map_drop_chance": "換界石掉落機率: +{0}%", - "map_item_rarity": "物品稀有度: +{0}%" + "map_item_rarity": "物品稀有度: +{0}%", + "uses_remaining": "還能夠使用{0}次。" }, "item_category": { "prop": "類別:{0}", diff --git a/renderer/public/data/de/app_i18n.json b/renderer/public/data/de/app_i18n.json index 6cf66976..41d72182 100644 --- a/renderer/public/data/de/app_i18n.json +++ b/renderer/public/data/de/app_i18n.json @@ -108,7 +108,8 @@ "map_magic_monsters": "Magische Monster: +{0}%", "map_rare_monsters": "Seltene Monster: +{0}%", "map_drop_chance": "Chance auf fallen gelassene Wegsteine: +{0}%", - "map_item_rarity": "Gegenstandsseltenheit: +{0}%" + "map_item_rarity": "Gegenstandsseltenheit: +{0}%", + "uses_remaining": "Nutzungen übrig: {0}" }, "item_category": { "prop": "Kategorie: {0}", diff --git a/renderer/public/data/en/app_i18n.json b/renderer/public/data/en/app_i18n.json index 2bb6b9ae..5b6a644d 100644 --- a/renderer/public/data/en/app_i18n.json +++ b/renderer/public/data/en/app_i18n.json @@ -109,7 +109,8 @@ "map_magic_monsters": "Magic Monsters: +{0}%", "map_rare_monsters": "Rare Monsters: +{0}%", "map_drop_chance": "Waystone Drop Chance: +{0}%", - "map_item_rarity": "Item Rarity: +{0}%" + "map_item_rarity": "Item Rarity: +{0}%", + "uses_remaining": "Uses Remaining: {0}" }, "item_category": { "prop": "Category: {0}", diff --git a/renderer/public/data/es/app_i18n.json b/renderer/public/data/es/app_i18n.json index 0e6be362..27916778 100644 --- a/renderer/public/data/es/app_i18n.json +++ b/renderer/public/data/es/app_i18n.json @@ -108,7 +108,8 @@ "map_magic_monsters": "Monstruos mágicos: +{0}%", "map_rare_monsters": "Monstruos raros: +{0}%", "map_drop_chance": "Probabilidad de botín de piedra guía: +{0}%", - "map_item_rarity": "Rareza de objetos: +{0}%" + "map_item_rarity": "Rareza de objetos: +{0}%", + "uses_remaining": "Quedan usos: {0}" }, "item_category": { "prop": "Categoría: {0}", diff --git a/renderer/public/data/ja/app_i18n.json b/renderer/public/data/ja/app_i18n.json index c8763b48..6da96cc1 100644 --- a/renderer/public/data/ja/app_i18n.json +++ b/renderer/public/data/ja/app_i18n.json @@ -108,7 +108,8 @@ "map_magic_monsters": "マジックモンスター: +{0}%", "map_rare_monsters": "レアモンスター: +{0}%", "map_drop_chance": "ウェイストーンドロップ確率: +{0}%", - "map_item_rarity": "アイテムレアリティ: +{0}%" + "map_item_rarity": "アイテムレアリティ: +{0}%", + "uses_remaining": "残り{0}回の使用可能" }, "item_category": { "prop": "カテゴリー: {0}", diff --git a/renderer/public/data/ko/app_i18n.json b/renderer/public/data/ko/app_i18n.json index 810e9bf2..e76db10e 100644 --- a/renderer/public/data/ko/app_i18n.json +++ b/renderer/public/data/ko/app_i18n.json @@ -105,7 +105,8 @@ "map_magic_monsters": "마법 몬스터: +{0}%", "map_rare_monsters": "희귀 몬스터: +{0}%", "map_drop_chance": "경로석 출현 확률: +{0}%", - "map_item_rarity": "아이템 희귀도: +{0}%" + "map_item_rarity": "아이템 희귀도: +{0}%", + "uses_remaining": "남은 사용: {0}" }, "item_category": { "prop": "유형: {0}", diff --git a/renderer/public/data/pt/app_i18n.json b/renderer/public/data/pt/app_i18n.json index 998e51ea..2b271b09 100644 --- a/renderer/public/data/pt/app_i18n.json +++ b/renderer/public/data/pt/app_i18n.json @@ -102,7 +102,8 @@ "map_magic_monsters": "Monstros Mágicos: +{0}%", "map_rare_monsters": "Monstros Raros: +{0}%", "map_drop_chance": "Chance de Queda de Pedra Guia: +{0}%", - "map_item_rarity": "Raridade de Itens: +{0}%" + "map_item_rarity": "Raridade de Itens: +{0}%", + "uses_remaining": "utilizações restantes: {0}" }, "item_category": { "prop": "Categoria: {0}", diff --git a/renderer/public/data/ru/app_i18n.json b/renderer/public/data/ru/app_i18n.json index 5fa50340..48849f42 100644 --- a/renderer/public/data/ru/app_i18n.json +++ b/renderer/public/data/ru/app_i18n.json @@ -124,7 +124,8 @@ "map_magic_monsters": "Волшебные монстры: +{0}%", "map_rare_monsters": "Редкие монстры: +{0}%", "map_drop_chance": "Шанс выпадения путевого камня: +{0}%", - "map_item_rarity": "Редкость предметов: +{0}%" + "map_item_rarity": "Редкость предметов: +{0}%", + "uses_remaining": "Осталось использовать: {0}" }, "item_category": { "prop": "Категория: {0}", diff --git a/renderer/src/web/price-check/filters/FiltersBlock.vue b/renderer/src/web/price-check/filters/FiltersBlock.vue index 0a40408d..bcfdfcc6 100644 --- a/renderer/src/web/price-check/filters/FiltersBlock.vue +++ b/renderer/src/web/price-check/filters/FiltersBlock.vue @@ -130,6 +130,11 @@ ) " /> + t.type === ModifierType.Implicit, + )!.sources[0].contributes!.value; + filters.usesRemaining = { + value: usesRemaining, + disabled: usesRemaining < 10, + }; + // Remove the used stat + item.statsByType = item.statsByType.filter( + (t) => t.type !== ModifierType.Implicit, + ); + } + if ( (item.rarity === ItemRarity.Normal || item.rarity === ItemRarity.Magic || diff --git a/renderer/src/web/price-check/filters/interfaces.ts b/renderer/src/web/price-check/filters/interfaces.ts index c977dacc..5dc8c76b 100644 --- a/renderer/src/web/price-check/filters/interfaces.ts +++ b/renderer/src/web/price-check/filters/interfaces.ts @@ -78,6 +78,7 @@ export interface ItemFilters { areaLevel?: FilterNumeric; heistWingsRevealed?: FilterNumeric; sentinelCharge?: FilterNumeric; + usesRemaining?: FilterNumeric; trade: { offline: boolean; onlineInLeague: boolean; diff --git a/renderer/src/web/price-check/trade/pathofexile-trade.ts b/renderer/src/web/price-check/trade/pathofexile-trade.ts index 97fda687..5c95114e 100644 --- a/renderer/src/web/price-check/trade/pathofexile-trade.ts +++ b/renderer/src/web/price-check/trade/pathofexile-trade.ts @@ -108,6 +108,15 @@ const CONVERT_CURRENCY: Record = { "perfect-exalted-orb": "P. exalted", }; +const TABLET_USES_STATS = [ + "Adds Irradiated to a Map \n# use remaining", + "Adds Ritual Altars to a Map \n# use remaining", + "Adds a Kalguuran Expedition to a Map \n# use remaining", + "Adds a Mirror of Delirium to a Map \n# use remaining", + "Adds an Otherworldy Breach to a Map \n# use remaining", + "Empowers the Map Boss of a Map \n# use remaining", +]; + interface FilterBoolean { option?: "true" | "false"; } @@ -539,6 +548,23 @@ export function createTradeRequest( ); } + // Custom fake pseudo filter for uses remaining + if (filters.usesRemaining) { + query.stats.push({ + type: "count", + value: { min: 1 }, + disabled: filters.usesRemaining.disabled, + filters: TABLET_USES_STATS.map((ref) => { + const stat = STAT_BY_REF(ref)!; + return { + id: stat.trade.ids[ModifierType.Implicit][0], + value: { min: filters.usesRemaining!.value }, + disabled: false, + }; + }), + }); + } + // TRADE FILTERS // BREAK ==============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================