fix: use loadout's cost_per_hit instead of armor decay tracker lookup

- Disable ArmorDecayTracker (it requires armor to be in hardcoded database)
- Use cost_per_hit from loadout directly when damage is taken
- This allows any armor to work, not just ones in the database
- Simplified approach: pre-calculate costs in loadout, use during session
This commit is contained in:
LemonNexus 2026-02-09 22:29:05 +00:00
parent 6cc10b14f1
commit 2959bfff89
1 changed files with 11 additions and 10 deletions

View File

@ -894,12 +894,8 @@ class HUDOverlay(QWidget):
self.session_active = True
# Initialize armor decay tracker
try:
from core.armor_decay import ArmorDecayTracker
self._armor_tracker = ArmorDecayTracker(armor if armor != "None" else "Ghost")
self._armor_tracker.start_session()
except ImportError:
self._armor_tracker = None
# With simplified loadouts, we use cost_per_hit directly instead of looking up armor
self._armor_tracker = None # Disabled - using loadout's cost_per_hit directly
self._timer.start(1000)
self._refresh_display()
@ -1057,10 +1053,15 @@ class HUDOverlay(QWidget):
self._stats.damage_taken += damage
# Calculate armor decay using tracker
if self._armor_tracker and damage > 0:
armor_decay_ped = self._armor_tracker.record_damage_taken(damage)
self._stats.armor_cost_total += armor_decay_ped
# Calculate armor decay using tracker or loadout's cost_per_hit
if damage > 0:
if self._armor_tracker:
armor_decay_ped = self._armor_tracker.record_damage_taken(damage)
self._stats.armor_cost_total += armor_decay_ped
elif self._stats.cost_per_hit > 0:
# Use pre-calculated cost per hit from loadout
self._stats.armor_cost_total += self._stats.cost_per_hit
self._stats.hits_taken += 1
self._stats.recalculate()
self._refresh_display()