From 532d677491fe3d465611dd0e6e9fc63566f18ae1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Wed, 31 Dec 2025 14:37:14 -0600 Subject: [PATCH] feat: provision filters --- .../website/src/core/blitzkit/filterTank.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/website/src/core/blitzkit/filterTank.ts b/packages/website/src/core/blitzkit/filterTank.ts index 46d744c60..7cbc5e06d 100644 --- a/packages/website/src/core/blitzkit/filterTank.ts +++ b/packages/website/src/core/blitzkit/filterTank.ts @@ -3,10 +3,12 @@ import { checkConsumableProvisionInclusivity } from "@blitzkit/core/src/blitzkit import { times } from "lodash-es"; import { awaitableConsumableDefinitions } from "../../core/awaitables/consumableDefinitions"; import type { TankFilters } from "../../stores/tankFilters"; +import { awaitableProvisionDefinitions } from "../awaitables/provisionDefinitions"; const SHELLS = times(3, (index) => index); const consumableDefinitions = await awaitableConsumableDefinitions; +const provisionDefinitions = await awaitableProvisionDefinitions; export async function filterTank( filters: TankFilters, @@ -46,11 +48,23 @@ export async function filterTank( ) ) && (filters.consumables.length === 0 || - filters.consumables.every((consumableId) => + filters.consumables.every((consumable) => tank.turrets.some((turret) => turret.guns.some((gun) => checkConsumableProvisionInclusivity( - consumableDefinitions.consumables[consumableId], + consumableDefinitions.consumables[consumable], + tank, + gun + ) + ) + ) + )) && + (filters.provisions.length === 0 || + filters.provisions.every((provision) => + tank.turrets.some((turret) => + turret.guns.some((gun) => + checkConsumableProvisionInclusivity( + provisionDefinitions.provisions[provision], tank, gun )