Skip to content

Commit f0a72f4

Browse files
committed
Add full HP parameter to graphs (for now, unused)
1 parent ecc3f9f commit f0a72f4

File tree

2 files changed

+28
-10
lines changed

2 files changed

+28
-10
lines changed

graphs/data/fitDamageStats/getter.py

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from .calc.projected import getScramRange, getScrammables, getTackledSpeed, getSigRadiusMult
2828

2929

30-
def applyDamage(dmgMap, applicationMap, tgtResists):
30+
def applyDamage(dmgMap, applicationMap, tgtResists, tgtFullHp):
3131
total = DmgTypes.default()
3232
for key, dmg in dmgMap.items():
3333
total += dmg * applicationMap.get(key, 0)
@@ -145,7 +145,8 @@ def _getCommonData(self, miscParams, src, tgt):
145145
'srcScramRange': getScramRange(src=src) if applyProjected else None,
146146
'tgtScrammables': getScrammables(tgt=tgt) if applyProjected else (),
147147
'dmgMap': self._getDamagePerKey(src=src, time=miscParams['time']),
148-
'tgtResists': tgt.getResists()}
148+
'tgtResists': tgt.getResists(),
149+
'tgtFullHp': tgt.getFullHp()}
149150

150151
def _calculatePoint(self, x, miscParams, src, tgt, commonData):
151152
distance = x
@@ -187,7 +188,8 @@ def _calculatePoint(self, x, miscParams, src, tgt, commonData):
187188
y = applyDamage(
188189
dmgMap=commonData['dmgMap'],
189190
applicationMap=applicationMap,
190-
tgtResists=commonData['tgtResists']).total
191+
tgtResists=commonData['tgtResists'],
192+
tgtFullHp=commonData['tgtFullHp']).total
191193
return y
192194

193195

@@ -242,14 +244,17 @@ def getRange(self, xRange, miscParams, src, tgt):
242244
self._prepareTimeCache(src=src, maxTime=maxTime)
243245
timeCache = self._getTimeCacheData(src=src)
244246
applicationMap = self._prepareApplicationMap(miscParams=miscParams, src=src, tgt=tgt)
245-
tgtResists = tgt.getResists()
246247
# Custom iteration for time graph to show all data points
247248
currentDmg = None
248249
currentTime = None
249250
for currentTime in sorted(timeCache):
250251
prevDmg = currentDmg
251252
currentDmgData = timeCache[currentTime]
252-
currentDmg = applyDamage(dmgMap=currentDmgData, applicationMap=applicationMap, tgtResists=tgtResists).total
253+
currentDmg = applyDamage(
254+
dmgMap=currentDmgData,
255+
applicationMap=applicationMap,
256+
tgtResists=tgt.getResists(),
257+
tgtFullHp=tgt.getFullHp()).total
253258
if currentTime < minTime:
254259
continue
255260
# First set of data points
@@ -295,7 +300,11 @@ def getPoint(self, x, miscParams, src, tgt):
295300
self._prepareTimeCache(src=src, maxTime=time)
296301
dmgData = self._getTimeCacheDataPoint(src=src, time=time)
297302
applicationMap = self._prepareApplicationMap(miscParams=miscParams, src=src, tgt=tgt)
298-
y = applyDamage(dmgMap=dmgData, applicationMap=applicationMap, tgtResists=tgt.getResists()).total
303+
y = applyDamage(
304+
dmgMap=dmgData,
305+
applicationMap=applicationMap,
306+
tgtResists=tgt.getResists(),
307+
tgtFullHp=tgt.getFullHp()).total
299308
return y
300309

301310

@@ -311,7 +320,8 @@ def _getCommonData(self, miscParams, src, tgt):
311320
return {
312321
'applyProjected': GraphSettings.getInstance().get('applyProjected'),
313322
'dmgMap': self._getDamagePerKey(src=src, time=miscParams['time']),
314-
'tgtResists': tgt.getResists()}
323+
'tgtResists': tgt.getResists(),
324+
'tgtFullHp': tgt.getFullHp()}
315325

316326
def _calculatePoint(self, x, miscParams, src, tgt, commonData):
317327
tgtSpeed = x
@@ -354,7 +364,8 @@ def _calculatePoint(self, x, miscParams, src, tgt, commonData):
354364
y = applyDamage(
355365
dmgMap=commonData['dmgMap'],
356366
applicationMap=applicationMap,
357-
tgtResists=commonData['tgtResists']).total
367+
tgtResists=commonData['tgtResists'],
368+
tgtFullHp=commonData['tgtFullHp']).total
358369
return y
359370

360371

@@ -399,7 +410,8 @@ def _getCommonData(self, miscParams, src, tgt):
399410
'tgtSpeed': tgtSpeed,
400411
'tgtSigMult': tgtSigMult,
401412
'dmgMap': self._getDamagePerKey(src=src, time=miscParams['time']),
402-
'tgtResists': tgt.getResists()}
413+
'tgtResists': tgt.getResists(),
414+
'tgtFullHp': tgt.getFullHp()}
403415

404416
def _calculatePoint(self, x, miscParams, src, tgt, commonData):
405417
tgtSigRadius = x
@@ -415,7 +427,8 @@ def _calculatePoint(self, x, miscParams, src, tgt, commonData):
415427
y = applyDamage(
416428
dmgMap=commonData['dmgMap'],
417429
applicationMap=applicationMap,
418-
tgtResists=commonData['tgtResists']).total
430+
tgtResists=commonData['tgtResists'],
431+
tgtFullHp=commonData['tgtFullHp']).total
419432
return y
420433

421434

graphs/wrapper.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,11 @@ def getResists(self, includeLayer=False):
145145
else:
146146
return em, therm, kin, explo
147147

148+
def getFullHp(self):
149+
if self.isProfile:
150+
return self.item.hp
151+
if self.isFit:
152+
return self.item.hp.get('shield', 0) + self.item.hp.get('armor', 0) + self.item.hp.get('hull', 0)
148153

149154

150155
def _getShieldResists(ship):

0 commit comments

Comments
 (0)