Bring dev up to date with master

Conflicts:
	service/fit.py
This commit is contained in:
blitzmann
2017-04-16 11:42:41 -04:00
3 changed files with 14 additions and 4 deletions

View File

@@ -199,6 +199,10 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
if self.owner:
return self.owner.modules.index(self)
@property
def isCapitalSize(self):
return self.getModifiedItemAttr("volume", 0) >= 4000
@property
def hpBeforeReload(self):
"""
@@ -418,6 +422,11 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
if isinstance(fit.ship, Citadel) and len(fitsOnGroup) == 0 and len(fitsOnType) == 0:
return False
# EVE doesn't let capital modules be fit onto subcapital hulls. Confirmed by CCP Larrikin that this is dictated
# by the modules volume. See GH issue #1096
if (fit.ship.getModifiedItemAttr("isCapitalSize", 0) != 1 and self.isCapitalSize):
return False
# If the mod is a subsystem, don't let two subs in the same slot fit
if self.slot == Slot.SUBSYSTEM:
subSlot = self.getModifiedItemAttr("subSystemSlot")

View File

@@ -179,8 +179,8 @@ class MetaSwap(ContextMenu):
elif isinstance(selected_item, Implant):
for idx, implant_stack in enumerate(fit.implants):
if implant_stack is selected_item:
sFit.removeImplant(fitID, idx)
sFit.addImplant(fitID, item.ID, False)
sFit.removeImplant(fitID, idx, False)
sFit.addImplant(fitID, item.ID, True)
break
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))

View File

@@ -276,7 +276,7 @@ class Fit(object):
self.recalc(fit)
return True
def removeImplant(self, fitID, position):
def removeImplant(self, fitID, position, recalc=True):
pyfalog.debug("Removing implant from position ({0}) for fit ID: {1}", position, fitID)
if fitID is None:
return False
@@ -284,7 +284,8 @@ class Fit(object):
fit = eos.db.getFit(fitID)
implant = fit.implants[position]
fit.implants.remove(implant)
self.recalc(fit)
if recalc:
self.recalc(fit)
return True
def addBooster(self, fitID, itemID, recalc=True):