Allow to control spoolup via fit object
This commit is contained in:
@@ -120,9 +120,9 @@ class Fit(object):
|
|||||||
def build(self):
|
def build(self):
|
||||||
self.__extraDrains = []
|
self.__extraDrains = []
|
||||||
self.__ehp = None
|
self.__ehp = None
|
||||||
self.__weaponDps = None
|
self.__weaponDpsMap = {}
|
||||||
|
self.__weaponVolleyMap = {}
|
||||||
self.__minerYield = None
|
self.__minerYield = None
|
||||||
self.__weaponVolley = None
|
|
||||||
self.__droneDps = None
|
self.__droneDps = None
|
||||||
self.__droneVolley = None
|
self.__droneVolley = None
|
||||||
self.__droneYield = None
|
self.__droneYield = None
|
||||||
@@ -154,8 +154,8 @@ class Fit(object):
|
|||||||
@targetResists.setter
|
@targetResists.setter
|
||||||
def targetResists(self, targetResists):
|
def targetResists(self, targetResists):
|
||||||
self.__targetResists = targetResists
|
self.__targetResists = targetResists
|
||||||
self.__weaponDps = None
|
self.__weaponDpsMap = {}
|
||||||
self.__weaponVolley = None
|
self.__weaponVolleyMap = {}
|
||||||
self.__droneDps = None
|
self.__droneDps = None
|
||||||
self.__droneVolley = None
|
self.__droneVolley = None
|
||||||
|
|
||||||
@@ -277,31 +277,31 @@ class Fit(object):
|
|||||||
def projectedFighters(self):
|
def projectedFighters(self):
|
||||||
return self.__projectedFighters
|
return self.__projectedFighters
|
||||||
|
|
||||||
def getWeaponDps(self):
|
def getWeaponDps(self, spoolType=None, spoolAmount=None):
|
||||||
if self.__weaponDps is None:
|
if (spoolType, spoolAmount) not in self.__weaponDpsMap:
|
||||||
self.calculateWeaponStats()
|
self.calculateWeaponDmgStats(spoolType, spoolAmount)
|
||||||
return self.__weaponDps
|
return self.__weaponDpsMap[(spoolType, spoolAmount)]
|
||||||
|
|
||||||
def getWeaponVolley(self):
|
def getWeaponVolley(self, spoolType=None, spoolAmount=None):
|
||||||
if self.__weaponVolley is None:
|
if (spoolType, spoolAmount) not in self.__weaponVolleyMap:
|
||||||
self.calculateWeaponStats()
|
self.calculateWeaponDmgStats(spoolType, spoolAmount)
|
||||||
return self.__weaponVolley
|
return self.__weaponVolleyMap[(spoolType, spoolAmount)]
|
||||||
|
|
||||||
def getDroneDps(self):
|
def getDroneDps(self):
|
||||||
if self.__droneDps is None:
|
if self.__droneDps is None:
|
||||||
self.calculateWeaponStats()
|
self.calculateDroneDmgStats()
|
||||||
return self.__droneDps
|
return self.__droneDps
|
||||||
|
|
||||||
def getDroneVolley(self):
|
def getDroneVolley(self):
|
||||||
if self.__droneVolley is None:
|
if self.__droneVolley is None:
|
||||||
self.calculateWeaponStats()
|
self.calculateDroneDmgStats()
|
||||||
return self.__droneVolley
|
return self.__droneVolley
|
||||||
|
|
||||||
def getTotalDps(self):
|
def getTotalDps(self, spoolType=None, spoolAmount=None):
|
||||||
return self.getDroneDps() + self.getWeaponDps()
|
return self.getDroneDps() + self.getWeaponDps(spoolType=spoolType, spoolAmount=spoolAmount)
|
||||||
|
|
||||||
def getTotalVolley(self):
|
def getTotalVolley(self, spoolType=None, spoolAmount=None):
|
||||||
return self.getDroneVolley() + self.getWeaponVolley()
|
return self.getDroneVolley() + self.getWeaponVolley(spoolType=spoolType, spoolAmount=spoolAmount)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def minerYield(self):
|
def minerYield(self):
|
||||||
@@ -399,8 +399,8 @@ class Fit(object):
|
|||||||
|
|
||||||
def clear(self, projected=False, command=False):
|
def clear(self, projected=False, command=False):
|
||||||
self.__effectiveTank = None
|
self.__effectiveTank = None
|
||||||
self.__weaponDps = None
|
self.__weaponDpsMap = {}
|
||||||
self.__weaponVolley = None
|
self.__weaponVolleyMap = {}
|
||||||
self.__minerYield = None
|
self.__minerYield = None
|
||||||
self.__effectiveSustainableTank = None
|
self.__effectiveSustainableTank = None
|
||||||
self.__sustainableTank = None
|
self.__sustainableTank = None
|
||||||
@@ -1528,15 +1528,20 @@ class Fit(object):
|
|||||||
self.__minerYield = minerYield
|
self.__minerYield = minerYield
|
||||||
self.__droneYield = droneYield
|
self.__droneYield = droneYield
|
||||||
|
|
||||||
def calculateWeaponStats(self):
|
def calculateWeaponDmgStats(self, spoolType, spoolAmount):
|
||||||
weaponVolley = 0
|
weaponVolley = 0
|
||||||
droneVolley = 0
|
|
||||||
weaponDps = 0
|
weaponDps = 0
|
||||||
droneDps = 0
|
|
||||||
|
|
||||||
for mod in self.modules:
|
for mod in self.modules:
|
||||||
weaponVolley += mod.getVolley(targetResists=self.targetResists).total
|
weaponVolley += mod.getVolley(spoolType=spoolType, spoolAmount=spoolAmount, targetResists=self.targetResists).total
|
||||||
weaponDps += mod.getDps(targetResists=self.targetResists).total
|
weaponDps += mod.getDps(spoolType=spoolType, spoolAmount=spoolAmount, targetResists=self.targetResists).total
|
||||||
|
|
||||||
|
self.__weaponVolleyMap[(spoolType, spoolAmount)] = weaponVolley
|
||||||
|
self.__weaponDpsMap[(spoolType, spoolAmount)] = weaponDps
|
||||||
|
|
||||||
|
def calculateDroneDmgStats(self):
|
||||||
|
droneVolley = 0
|
||||||
|
droneDps = 0
|
||||||
|
|
||||||
for drone in self.drones:
|
for drone in self.drones:
|
||||||
droneVolley += drone.getVolley(targetResists=self.targetResists).total
|
droneVolley += drone.getVolley(targetResists=self.targetResists).total
|
||||||
@@ -1546,8 +1551,6 @@ class Fit(object):
|
|||||||
droneVolley += fighter.getVolley(targetResists=self.targetResists).total
|
droneVolley += fighter.getVolley(targetResists=self.targetResists).total
|
||||||
droneDps += fighter.getDps(targetResists=self.targetResists).total
|
droneDps += fighter.getDps(targetResists=self.targetResists).total
|
||||||
|
|
||||||
self.__weaponDps = weaponDps
|
|
||||||
self.__weaponVolley = weaponVolley
|
|
||||||
self.__droneDps = droneDps
|
self.__droneDps = droneDps
|
||||||
self.__droneVolley = droneVolley
|
self.__droneVolley = droneVolley
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user