Add implant, booster and cargo support to fit price optimization
This commit is contained in:
@@ -30,6 +30,7 @@ pyfalog = Logger(__name__)
|
||||
|
||||
|
||||
class Booster(HandledItem, ItemAttrShortcut):
|
||||
|
||||
def __init__(self, item):
|
||||
self.__item = item
|
||||
|
||||
@@ -147,3 +148,17 @@ class Booster(HandledItem, ItemAttrShortcut):
|
||||
copyEffect.active = sideEffect.active
|
||||
|
||||
return copy
|
||||
|
||||
def rebase(self, item):
|
||||
active = self.active
|
||||
sideEffectStates = {se.effectID: se.active for se in self.sideEffects}
|
||||
Booster.__init__(self, item)
|
||||
self.active = active
|
||||
for sideEffect in self.sideEffects:
|
||||
if sideEffect.effectID in sideEffectStates:
|
||||
sideEffect.active = sideEffectStates[sideEffect.effectID]
|
||||
|
||||
def __repr__(self):
|
||||
return "Booster(ID={}, name={}) at {}".format(
|
||||
self.item.ID, self.item.name, hex(id(self))
|
||||
)
|
||||
|
||||
@@ -89,3 +89,13 @@ class Cargo(HandledItem, ItemAttrShortcut):
|
||||
copy = Cargo(self.item)
|
||||
copy.amount = self.amount
|
||||
return copy
|
||||
|
||||
def rebase(self, item):
|
||||
amount = self.amount
|
||||
Cargo.__init__(self, item)
|
||||
self.amount = amount
|
||||
|
||||
def __repr__(self):
|
||||
return "Cargo(ID={}, name={}) at {}".format(
|
||||
self.item.ID, self.item.name, hex(id(self))
|
||||
)
|
||||
|
||||
@@ -115,6 +115,11 @@ class Implant(HandledItem, ItemAttrShortcut):
|
||||
copy.active = self.active
|
||||
return copy
|
||||
|
||||
def rebase(self, item):
|
||||
active = self.active
|
||||
Implant.__init__(self, item)
|
||||
self.active = active
|
||||
|
||||
def __repr__(self):
|
||||
return "Implant(ID={}, name={}) at {}".format(
|
||||
self.item.ID, self.item.name, hex(id(self))
|
||||
|
||||
@@ -234,7 +234,7 @@ class Price:
|
||||
|
||||
def cb(replacementMap):
|
||||
changes = False
|
||||
for container in (fit.modules, fit.drones, fit.fighters):
|
||||
for container in (fit.modules, fit.drones, fit.fighters, fit.implants, fit.boosters, fit.cargo):
|
||||
for obj in container:
|
||||
charge = getattr(obj, 'charge', None)
|
||||
if charge is not None and charge in replacementMap:
|
||||
|
||||
Reference in New Issue
Block a user