Commit Graph

15 Commits

Author SHA1 Message Date
LemonNexus 4375a00f0f fix(api): correct NexusArmorSet parser for actual API structure
- Fixed field name: API uses 'Armors' not 'Pieces'
- Fixed protection location: API uses 'Defense' not per-piece protection
- Armors is array of arrays, now properly flattened
- Added set bonus parsing from EffectsOnSetEquip
2026-02-09 18:55:38 +00:00
LemonNexus 3bdf86ab4c fix(api): handle absorber-specific fields (absorption instead of decay)
- Absorbers don't have Decay in Economy, only Absorption
- Updated parser to set decay=0 and absorption from Economy.Absorption for absorbers
- Updated UI to show absorption % in Decay column for absorbers
- Updated preview panel to display absorption for absorbers
2026-02-09 17:16:29 +00:00
LemonNexus e8f0d7860e fix(api): correct attachment field parsing for all attachment types
- Fixed NexusAttachment.from_api() to parse correct API structure:
  - Amplifiers: Damage values from Properties.Damage
  - Scopes: Skill bonuses from Properties.SkillModification/SkillBonus, zoom from Properties.Zoom
  - Absorbers: Absorption from Economy.Absorption
- Added zoom and absorption fields to NexusAttachment
- Updated attachment selector UI to show type-specific columns
- Added zoom and absorption to preview panel
2026-02-09 17:12:44 +00:00
LemonNexus 4ef03d96c8 fix(api): improve NexusAttachment field parsing for weapon amplifiers
- Updated from_api() to check multiple possible field names
- Added fallback checks for Damage, Range, Decay, Efficiency fields
- Type detection from both API Type field and item name
- Improved display formatting in attachment selector
2026-02-09 17:07:31 +00:00
LemonNexus 6bcd0ca799 feat(api): add armor sets and mindforce implants endpoints
- Added NexusArmorSet dataclass with pieces list and total protection
- Added NexusMindforceImplant dataclass for MF chips/implants
- Added get_all_armor_sets() method using /armorsets endpoint
- Added get_all_mindforce_implants() method using /mindforceimplants endpoint
- Added cache variables for both new endpoints
2026-02-09 15:55:55 +00:00
LemonNexus b8fc0a8033 fix(api): fix NexusPlate dataclass - add missing protection_acid and protection_electric fields
- Added protection_acid and protection_electric to NexusPlate dataclass
- Updated hardcoded plates to use individual protection fields
- Fixed plate selector crash when sorting by protection
2026-02-09 15:47:53 +00:00
LemonNexus cf95732fff fix(api): update endpoints to match Entropia Nexus API structure
- Plates: /plates → /armorplatings
- Absorbers: Now using /absorbers (was /attachments)
- Amplifiers: Now using /weaponamplifiers (was /attachments)
- Scopes: Now using /weaponvisionattachments (was /attachments)
- Healing: Now fetches both /medicaltools AND /medicalchips

Added separate cache variables and methods for:
- _absorbers_cache, get_all_absorbers()
- _amplifiers_cache, get_all_amplifiers()
- _scopes_cache, get_all_scopes()
- _healing_chips_cache, get_all_healing_chips()
2026-02-09 15:35:54 +00:00
LemonNexus c38d577675 feat(api): add hardcoded plates data since API lacks plates endpoint
Added 20 common armor plates organized by protection type:
- Impact plates (Mk. 5B, 10A, 25A, 50A)
- Cut/Stab plates (Mk. 5C, 10C, 25C, 50C)
- Elemental plates (Electric, Burn, Acid, Cold)
- Shrapnel plates (Mk. 10S, 25S)
- Penetration plates (Mk. 10P, 25P)

Plates selector now works with fallback data.
2026-02-09 15:29:18 +00:00
LemonNexus cdadb7f081 fix(api): correct healing tools parser to use MaxHeal/MinHeal fields
API uses MaxHeal and MinHeal directly in Properties (not nested Heal object).
Parser now correctly reads heal amounts and calculates economy.
Also added type detection for chips vs FAPs based on item name.
2026-02-09 15:27:09 +00:00
LemonNexus 9decd0ba5d fix(api): handle null/None values in API parsing
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.
2026-02-09 14:35:12 +00:00
LemonNexus ad3d8e535a fix(api): correct rings endpoint to /clothings with Type=Ring filter
- 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
2026-02-09 14:28:14 +00:00
LemonNexus 366104b5a6 feat(api): add hardcoded ring data since API lacks rings endpoint
Added 20 common rings (Ares, Hermetic, Courage, Perseus, Zeus, Apollo,
Artemis, Hephaestus, Aphrodite, Dionysus) with Limited variants.
Fallback when /rings endpoint returns 404.
2026-02-09 14:20:54 +00:00
LemonNexus a903a65275 fix(api): fix remaining lowercase fields in NexusWeapon 2026-02-09 14:07:44 +00:00
LemonNexus 27c3e5ad6e fix(api): use TitleCase for API field names (Id, Name, Properties)
- Nexus API returns TitleCase keys, not lowercase
- Fixed all from_api() methods to use correct case
- Armor, Healing, Plate, Attachment, Enhancer, Ring, Clothing, Pet
2026-02-09 14:05:56 +00:00
LemonNexus dceafbc69f feat(api): full Entropia Nexus API integration + searchable selectors
- 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!
2026-02-09 11:43:25 +00:00