More work on restrictions
This commit is contained in:
@@ -330,7 +330,7 @@ class Skill(HandledItem):
|
||||
return
|
||||
|
||||
for effect in item.effects.itervalues():
|
||||
if effect.runTime == runTime and effect.isType("passive") and (not isinstance(fit.ship, eos.types.Citadel) or effect.isType("structure")):
|
||||
if effect.runTime == runTime and effect.isType("passive") and (not fit.isStructure or effect.isType("structure")):
|
||||
try:
|
||||
effect.handler(fit, self, ("skill",))
|
||||
except AttributeError:
|
||||
|
||||
@@ -517,6 +517,11 @@ class Fit(object):
|
||||
self.boosters,
|
||||
self.appliedImplants,
|
||||
self.modules
|
||||
] if not self.isStructure else [
|
||||
# Ensure a restricted set for citadels
|
||||
(self.character, self.ship),
|
||||
self.fighters,
|
||||
self.modules
|
||||
]
|
||||
|
||||
# Items that are restricted. These items are only run on the local
|
||||
|
||||
@@ -117,6 +117,12 @@ class BoosterView(d.Display):
|
||||
def addItem(self, event):
|
||||
sFit = service.Fit.getInstance()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
|
||||
fit = sFit.getFit(fitID)
|
||||
|
||||
if fit.isStructure:
|
||||
return
|
||||
|
||||
trigger = sFit.addBooster(fitID, event.itemID)
|
||||
if trigger:
|
||||
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
|
||||
|
||||
@@ -11,8 +11,12 @@ class Cargo(ContextMenu):
|
||||
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
|
||||
def display(self, srcContext, selection):
|
||||
sFit = service.Fit.getInstance()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
|
||||
fit = sFit.getFit(fitID)
|
||||
# Make sure context menu registers in the correct view
|
||||
if srcContext not in ("marketItemGroup", "marketItemMisc") or self.mainFrame.getActiveFit() is None:
|
||||
if srcContext not in ("marketItemGroup", "marketItemMisc") or not fit or fit.isStructure:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
@@ -195,6 +195,12 @@ class DroneView(d.Display):
|
||||
def addItem(self, event):
|
||||
sFit = service.Fit.getInstance()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
|
||||
fit = sFit.getFit(fitID)
|
||||
|
||||
if fit.isStructure:
|
||||
return
|
||||
|
||||
trigger = sFit.addDrone(fitID, event.itemID)
|
||||
if trigger:
|
||||
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
|
||||
|
||||
@@ -365,8 +365,10 @@ class GangView ( ScrolledPanel ):
|
||||
#Those are drags coming from pyfa sources, NOT builtin wx drags
|
||||
self.draggedFitID = None
|
||||
if type == "fit":
|
||||
activeFit = self.mainFrame.getActiveFit()
|
||||
if activeFit:
|
||||
sFit = service.Fit.getInstance()
|
||||
fit = sFit.getFit(self.mainFrame.getActiveFit())
|
||||
|
||||
if fit and not fit.isStructuree:
|
||||
self.draggedFitID = fitID
|
||||
|
||||
pos = wx.GetMousePosition()
|
||||
|
||||
@@ -139,6 +139,12 @@ class ImplantDisplay(d.Display):
|
||||
def addItem(self, event):
|
||||
sFit = service.Fit.getInstance()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
|
||||
fit = sFit.getFit(fitID)
|
||||
|
||||
if fit.isStructure:
|
||||
return
|
||||
|
||||
trigger = sFit.addImplant(fitID, event.itemID)
|
||||
if trigger:
|
||||
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
|
||||
|
||||
@@ -1538,7 +1538,10 @@ class FitItem(SFItem.SFBrowserItem):
|
||||
menu.Check(toggleItem.GetId(), self.fitBooster)
|
||||
self.Bind(wx.EVT_MENU, self.OnToggleBooster, toggleItem)
|
||||
|
||||
if self.mainFrame.getActiveFit():
|
||||
sFit = service.Fit.getInstance()
|
||||
fit = sFit.getFit(self.mainFrame.getActiveFit())
|
||||
|
||||
if fit and not fit.isStructure:
|
||||
# If there is an active fit, get menu for setting individual boosters
|
||||
menu.AppendSeparator()
|
||||
boosterMenu = self.mainFrame.additionsPane.gangPage.buildBoostermenu()
|
||||
|
||||
Reference in New Issue
Block a user