- Split accessories section into Left Ring and Right Ring selectors
- Added Clothing and Pet buttons
- Updated AccessoriesSelectorDialog to accept slot_filter parameter
- Filter rings by Left Finger/Right Finger slot when selecting
- Store current_left_ring and current_right_ring in loadout
- Display ring effects (multi-effect support) in the UI
Ring effects like 'Decreased Critical Damage Taken 4%, Increased
Dodge Chance 4%' are now properly displayed.
Added safe_decimal() helper to handle None/empty values from API
that were causing decimal.ConversionSyntax errors.
Fixed parsers:
- NexusHealingTool: Uses safe_decimal for decay/heal amounts
- NexusRing: Uses safe_decimal for max_tt/min_tt
- NexusClothing: Safely handles None buff values
Errors were occurring when API returned null for numeric fields
instead of 0.
- Changed endpoint from /rings to /clothings (correct plural form)
- Filter clothings for Type=Ring to get actual ring data
- Updated NexusRing dataclass to match API structure:
- slot: 'Left Finger', 'Right Finger'
- gender: 'Both', 'Male', 'Female'
- effects: Dict of effect name -> value
- max_tt/min_tt: PED values from Economy
- Updated UI to display effects dict properly
- Maintained hardcoded fallback
The loadout_saved signal was emitting a string (loadout name) but
on_loadout_selected expected an object with .name attribute.
Now emits the full LoadoutConfig so all gear data is available.
The Entropia Nexus API doesn't have /rings or /clothing endpoints (404).
Added placeholder messages in the accessories selector instead of showing
empty lists. Pets endpoint works correctly (84 pets loaded).
Fixed AttributeError where code was referencing non-existent 'decay_per_hit'
instead of the correct 'decay_per_hp' field on ArmorPiece and ArmorPlate.
- ui/loadout_manager.py: _get_current_config() plate/piece copy
- core/armor_system.py: equip_armor_selection() piece copy
- Nexus API returns TitleCase keys, not lowercase
- Fixed all from_api() methods to use correct case
- Armor, Healing, Plate, Attachment, Enhancer, Ring, Clothing, Pet
- LoadoutConfig now includes:
- weapon_enhancers: List of up to 10 enhancer configs
- armor_plates: Dict of plate configs per slot
- left_ring, right_ring: Ring selections
- clothing_items: List of clothing
- pet: Selected pet
- Cost calculations updated:
- get_total_decay_per_shot() includes enhancer decay
- calculate_armor_cost_per_hour() includes plate decay
- Serialization updated:
- to_dict() handles enhancers and plates
- from_dict() handles all new fields with defaults
- Each armor slot now has a 🔍 button for plate selection
- Opens PlateSelectorDialog filtered by armor's highest protection type
- Selected plates from API are added to the slot's combo box
- Plates auto-selected after API selection
- NEW: core/nexus_full_api.py - Complete API for all gear types
- Weapons, Armors, Plates, Attachments, Enhancers
- Healing Tools, Rings, Clothing, Pets
- Search across all categories
- NEW: ui/armor_selector.py - Searchable armor browser
- Real-time search, filter by protection type
- Preview panel with economy info
- NEW: ui/healing_selector.py - Searchable healing tool browser
- Filter by type (FAP/Chip/Limited)
- Filter by heal amount
- Color-coded economy ratings
All gear now searchable like weapons!
- LoadoutManager now uses real healing_tools.py database (25+ tools)
- Added categorized healing tools: Medical Tools and Restoration Chips
- Added Frontier Set (Adjusted) with all 7 pieces
- Includes Regeneration Chip IV (L) for test run
- Added Regeneration Chip IV (L) to healing_tools.py
- Added Frontier and Frontier Adjusted armors to armor_decay.py
- Ready for test hunt with specified gear
- Implemented ArmorSelectorDialog for selecting armors from API
- Search functionality by name
- Displays protection stats (Impact, Cut, Stab, etc.)
- Fixes ImportError in ui/__init__.py
- HuntingSession dataclass with full cost/loot tracking
- Real-time cost calculations (weapon + armor + healing)
- Profit/Loss with return percentage
- Cost per kill and cost per hour metrics
- SessionManager for multiple sessions
- JSON export for session data
- Excludes shrapnel/UA from profit calculations
- Linear decay per damage point (0.05 PEC per HP)
- Plate only decays for damage it actually absorbs
- Added block_chance support for upgraded plates
- Improved documentation
- Ammo Burn from API is in ammo units, not PEC
- 1 ammo = 0.01 PEC = 0.0001 PED
- Was treating 848 ammo as 848 PEC (WRONG)
- Now correctly: 848 ammo = 8.48 PEC
- Fixes cost calculation: 30,552 PED/hr → ~330 PED/hr
- Created core/attachments.py with full attachment type system
- Supports: Amplifiers, Scopes, Absorbers, Finder Amps, Platings, Enhancers, Implants
- Added DPP display to HUD overlay
- Attachment compatibility validation rules
- Project vision and completed features
- Current sprint: Advanced Loadout Manager
- Future sprints: Analytics, Export, Hunter/Miner/Crafter modules
- Attachment system planned
- Full cost tracking scope defined