diff --git a/ui/loadout_manager.py b/ui/loadout_manager.py index e97e017..98b5922 100644 --- a/ui/loadout_manager.py +++ b/ui/loadout_manager.py @@ -2081,6 +2081,15 @@ class LoadoutManagerDialog(QDialog): """Update all cost and performance calculations.""" try: config = self._get_current_config() + + # DEBUG: Log armor status + if config.equipped_armor: + pieces = config.equipped_armor.get_all_pieces() + logger.debug(f"_update_calculations: {len(pieces)} pieces equipped") + for slot, piece in pieces.items(): + logger.debug(f" {slot}: {piece.name}, prot={piece.protection.get_total()}") + else: + logger.debug("_update_calculations: No equipped_armor") # Weapon metrics (per shot, not per hour) cost_per_shot_pec = config.get_total_decay_per_shot() + config.get_total_ammo_per_shot() @@ -2138,9 +2147,12 @@ class LoadoutManagerDialog(QDialog): """Get current configuration from UI fields.""" # Build equipped armor from slot widgets equipped = EquippedArmor() + piece_count = 0 for slot, widget in self.slot_widgets.items(): piece = widget.get_piece() if piece: + piece_count += 1 + logger.debug(f"_get_current_config: Found piece in {slot}: {piece.name}, prot={piece.protection.get_total()}") # Create a copy piece_copy = ArmorPiece( name=piece.name, @@ -2186,6 +2198,9 @@ class LoadoutManagerDialog(QDialog): piece_copy.attach_plate(plate_copy) equipped.equip_piece(piece_copy) + + logger.debug(f"_get_current_config: Total pieces equipped: {piece_count}") + logger.debug(f"_get_current_config: equipped.get_all_pieces() returns {len(equipped.get_all_pieces())} pieces") # Note: We don't call equip_full_set here because: # 1. current_armor_set is a NexusArmorSet (API type), not ArmorSet (core type)