fix: correct API attribute names in selectors
- weapon_selector: use ammo_burn (not ammo), range_val (not range) - armor_selector: use id (not set_id) - healing_selector: use get_all_healing_tools/get_all_healing_chips - Add safe null handling for all API values
This commit is contained in:
parent
5a9ffe5fb8
commit
d8b6ef998d
|
|
@ -131,7 +131,7 @@ class ArmorSelectorDialog(QDialog):
|
||||||
item.setData(Qt.ItemDataRole.UserRole, armor)
|
item.setData(Qt.ItemDataRole.UserRole, armor)
|
||||||
|
|
||||||
# Tooltip with protection info
|
# Tooltip with protection info
|
||||||
tooltip_parts = [f"Set ID: {armor.set_id}"]
|
tooltip_parts = [f"Set ID: {armor.id}"]
|
||||||
if hasattr(armor, 'defense') and armor.defense:
|
if hasattr(armor, 'defense') and armor.defense:
|
||||||
tooltip_parts.append(f"Defense: {armor.defense}")
|
tooltip_parts.append(f"Defense: {armor.defense}")
|
||||||
tooltip_parts.append(f"Est. Decay: {decay_pec} PEC")
|
tooltip_parts.append(f"Est. Decay: {decay_pec} PEC")
|
||||||
|
|
@ -197,7 +197,7 @@ class ArmorSelectorDialog(QDialog):
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'name': self.selected_armor.name,
|
'name': self.selected_armor.name,
|
||||||
'api_id': getattr(self.selected_armor, 'set_id', None),
|
'api_id': getattr(self.selected_armor, 'id', None),
|
||||||
'decay_pec': decay_pec,
|
'decay_pec': decay_pec,
|
||||||
'protection_summary': str(getattr(self.selected_armor, 'defense', 'Unknown')),
|
'protection_summary': str(getattr(self.selected_armor, 'defense', 'Unknown')),
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -107,8 +107,8 @@ class HealingSelectorDialog(QDialog):
|
||||||
nexus = get_nexus_api()
|
nexus = get_nexus_api()
|
||||||
|
|
||||||
# Get both medical tools and chips
|
# Get both medical tools and chips
|
||||||
tools = nexus.get_all_medical_tools()
|
tools = nexus.get_all_healing_tools()
|
||||||
chips = nexus.get_all_medical_chips()
|
chips = nexus.get_all_healing_chips()
|
||||||
|
|
||||||
self._healing_tools = tools + chips
|
self._healing_tools = tools + chips
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -113,7 +113,7 @@ class WeaponSelectorDialog(QDialog):
|
||||||
try:
|
try:
|
||||||
# Validate that decay and ammo are valid numbers
|
# Validate that decay and ammo are valid numbers
|
||||||
decay_val = w.decay if w.decay is not None else 0
|
decay_val = w.decay if w.decay is not None else 0
|
||||||
ammo_val = w.ammo if w.ammo is not None else 0
|
ammo_val = w.ammo_burn if w.ammo_burn is not None else 0
|
||||||
# Try to convert to Decimal to validate
|
# Try to convert to Decimal to validate
|
||||||
Decimal(str(decay_val))
|
Decimal(str(decay_val))
|
||||||
Decimal(str(ammo_val))
|
Decimal(str(ammo_val))
|
||||||
|
|
@ -138,7 +138,7 @@ class WeaponSelectorDialog(QDialog):
|
||||||
try:
|
try:
|
||||||
# Get values with safe defaults
|
# Get values with safe defaults
|
||||||
decay_raw = weapon.decay if weapon.decay is not None else 0
|
decay_raw = weapon.decay if weapon.decay is not None else 0
|
||||||
ammo_raw = weapon.ammo if weapon.ammo is not None else 0
|
ammo_raw = weapon.ammo_burn if weapon.ammo_burn is not None else 0
|
||||||
|
|
||||||
# Calculate cost per shot
|
# Calculate cost per shot
|
||||||
decay_pec = Decimal(str(decay_raw))
|
decay_pec = Decimal(str(decay_raw))
|
||||||
|
|
@ -153,7 +153,7 @@ class WeaponSelectorDialog(QDialog):
|
||||||
f"Damage: {weapon.damage}\n"
|
f"Damage: {weapon.damage}\n"
|
||||||
f"Decay: {decay_raw} PEC\n"
|
f"Decay: {decay_raw} PEC\n"
|
||||||
f"Ammo: {ammo_raw}\n"
|
f"Ammo: {ammo_raw}\n"
|
||||||
f"Range: {weapon.range}\n"
|
f"Range: {weapon.range_val}\n"
|
||||||
f"DPP: {weapon.dpp:.2f}" if weapon.dpp else "DPP: -"
|
f"DPP: {weapon.dpp:.2f}" if weapon.dpp else "DPP: -"
|
||||||
)
|
)
|
||||||
item.setToolTip(tooltip)
|
item.setToolTip(tooltip)
|
||||||
|
|
@ -184,7 +184,7 @@ class WeaponSelectorDialog(QDialog):
|
||||||
|
|
||||||
# Get values with safe defaults
|
# Get values with safe defaults
|
||||||
decay_raw = weapon.decay if weapon.decay is not None else 0
|
decay_raw = weapon.decay if weapon.decay is not None else 0
|
||||||
ammo_raw = weapon.ammo if weapon.ammo is not None else 0
|
ammo_raw = weapon.ammo_burn if weapon.ammo_burn is not None else 0
|
||||||
|
|
||||||
# Calculate cost per shot
|
# Calculate cost per shot
|
||||||
decay_pec = Decimal(str(decay_raw))
|
decay_pec = Decimal(str(decay_raw))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue