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:
parent
6cc10b14f1
commit
2959bfff89
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Reference in New Issue