Add 2 functions which calculate how many drones ship can release / store

This commit is contained in:
DarkPhoenix
2019-04-19 09:36:28 +03:00
parent 2fb9d3479f
commit 5b7c777d6b
4 changed files with 28 additions and 30 deletions

View File

@@ -250,6 +250,17 @@ class Item(EqBase):
return self.__attributes
@property
def attribsWithOverrides(self):
overrides = self.overrides
attribs = {}
for aname, attr in self.attributes.items():
if aname in overrides:
attribs[aname] = overrides[aname]
else:
attribs[aname] = attr
return attribs
def getAttribute(self, key, default=None):
if key in self.attributes:
return self.attributes[key].value

View File

@@ -1507,6 +1507,21 @@ class Fit(object):
return True
def howManyDronesRelease(self, item):
if not item.isDrone:
return 0
bw = round(self.ship.getModifiedItemAttr("droneBandwidth"))
volume = round(item.attribsWithOverrides['volume'])
return int(bw / volume)
def howManyDronesStore(self, item):
if not item.isDrone:
return 0
bayTotal = round(self.ship.getModifiedItemAttr("droneCapacity"))
bayUsed = round(self.droneBayUsed)
volume = item.attribsWithOverrides['volume']
return int((bayTotal - bayUsed) / volume)
def __deepcopy__(self, memo=None):
fitCopy = Fit()
# Character and owner are not copied