MCPcopy Create free account
hub / github.com/pyfa-org/Pyfa / __generateDrain

Method __generateDrain

eos/saveddata/fit.py:1447–1489  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1445 return self.__extraDrains.__iter__()
1446
1447 def __generateDrain(self):
1448 drains = []
1449 capUsed = 0
1450 capAdded = 0
1451 for mod in self.activeModulesIter():
1452 if (mod.getModifiedItemAttr("capacitorNeed") or 0) != 0:
1453 cycleTime = mod.rawCycleTime or 0
1454 reactivationTime = mod.getModifiedItemAttr("moduleReactivationDelay") or 0
1455 fullCycleTime = cycleTime + reactivationTime
1456 reloadTime = mod.reloadTime
1457 if fullCycleTime > 0:
1458 capNeed = mod.capUse
1459 if capNeed > 0:
1460 capUsed += capNeed
1461 else:
1462 capAdded -= capNeed
1463
1464 # If this is a turret, don't stagger activations
1465 disableStagger = mod.hardpoint == FittingHardpoint.TURRET
1466
1467 drains.append((
1468 int(fullCycleTime),
1469 mod.getModifiedItemAttr("capacitorNeed") or 0,
1470 mod.numShots or 0,
1471 disableStagger,
1472 reloadTime,
1473 mod.item.group.name == 'Capacitor Booster'))
1474
1475 for fullCycleTime, capNeed, clipSize, reloadTime in self.iterDrains():
1476 drains.append((
1477 int(fullCycleTime),
1478 capNeed,
1479 clipSize,
1480 # Stagger incoming effects for cap simulation
1481 False,
1482 reloadTime,
1483 False))
1484 if capNeed > 0:
1485 capUsed += capNeed / (fullCycleTime / 1000.0)
1486 else:
1487 capAdded += -capNeed / (fullCycleTime / 1000.0)
1488
1489 return drains, capUsed, capAdded
1490
1491 def simulateCap(self):
1492 drains, self.__capUsed, self.__capRecharge = self.__generateDrain()

Callers 2

simulateCapMethod · 0.95
__runCapSimMethod · 0.95

Calls 4

activeModulesIterMethod · 0.95
iterDrainsMethod · 0.95
getModifiedItemAttrMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected