From 0599695792ab8af6467e3f4c1eed828ff331219a Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Sat, 6 Dec 2025 01:42:06 +0100 Subject: [PATCH] Filter rigs by calibration fits as well --- gui/builtinMarketBrowser/itemView.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gui/builtinMarketBrowser/itemView.py b/gui/builtinMarketBrowser/itemView.py index 75bc36e2f..824f54db8 100644 --- a/gui/builtinMarketBrowser/itemView.py +++ b/gui/builtinMarketBrowser/itemView.py @@ -238,6 +238,13 @@ class ItemView(Display): cpuRemaining = cpuOutput - cpuUsed pgRemaining = powerOutput - pgUsed + # Get remaining calibration (for rigs) + calibrationCapacity = fit.ship.getModifiedItemAttr("upgradeCapacity") + calibrationUsed = fit.calibrationUsed + calibrationRemaining = None + if calibrationCapacity is not None and calibrationCapacity > 0: + calibrationRemaining = calibrationCapacity - calibrationUsed + fittingItems = [] for item in items: # Check if item is a module (has a slot) @@ -245,7 +252,7 @@ class ItemView(Display): if slot is None: continue - # Rigs don't use CPU/power, they use calibration - check rig size compatibility + # Rigs don't use CPU/power, they use calibration - check rig size and calibration if slot == FittingSlot.RIG: # Check if item can fit on the ship if not fit.canFit(item): @@ -256,6 +263,13 @@ class ItemView(Display): if shipRigSize is not None and itemRigSize is not None: if shipRigSize != itemRigSize.value: continue + # Check calibration requirement + if calibrationRemaining is not None and calibrationRemaining > 0: + itemCalibration = item.attributes.get("upgradeCost") + if itemCalibration is not None: + itemCalibrationValue = itemCalibration.value + if itemCalibrationValue > calibrationRemaining: + continue fittingItems.append(item) continue