Merge branch 'master' into singularity
This commit is contained in:
@@ -319,17 +319,8 @@ class Fit(object):
|
||||
else:
|
||||
c = chain((self.character, self.ship), self.drones, self.boosters, self.appliedImplants, self.modules,
|
||||
self.projectedDrones, self.projectedModules)
|
||||
|
||||
for item in c:
|
||||
# Registering the item about to affect the fit allows us to track "Affected By" relations correctly
|
||||
if item is not None:
|
||||
self.register(item)
|
||||
item.calculateModifiedAttributes(self, runTime, False)
|
||||
if forceProjected is True:
|
||||
targetFit.register(item)
|
||||
item.calculateModifiedAttributes(targetFit, runTime, True)
|
||||
|
||||
if self.gangBoosts is not None:
|
||||
#print self.gangBoosts
|
||||
contextMap = {Skill: "skill",
|
||||
Ship: "ship",
|
||||
Module: "module",
|
||||
@@ -344,17 +335,27 @@ class Fit(object):
|
||||
(effect.isType("active") and thing.state >= State.ACTIVE):
|
||||
# Run effect, and get proper bonuses applied
|
||||
try:
|
||||
effect.handler(targetFit, thing, context)
|
||||
effect.handler(self, thing, context)
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
# Run effect, and get proper bonuses applied
|
||||
try:
|
||||
effect.handler(targetFit, thing, context)
|
||||
effect.handler(self, thing, context)
|
||||
except:
|
||||
pass
|
||||
|
||||
for item in c:
|
||||
# Registering the item about to affect the fit allows us to track "Affected By" relations correctly
|
||||
if item is not None:
|
||||
self.register(item)
|
||||
item.calculateModifiedAttributes(self, runTime, False)
|
||||
if forceProjected is True:
|
||||
targetFit.register(item)
|
||||
item.calculateModifiedAttributes(targetFit, runTime, True)
|
||||
|
||||
for fit in self.projectedFits:
|
||||
fit.calculateModifiedAttributes(self, dirtyStorage=dirtyStorage)
|
||||
fit.calculateModifiedAttributes(self, withBoosters=withBoosters, dirtyStorage=dirtyStorage)
|
||||
|
||||
def fill(self):
|
||||
"""
|
||||
|
||||
@@ -121,6 +121,9 @@ class PFGeneralPref ( PreferenceView):
|
||||
|
||||
def onCBCompactSkills(self, event):
|
||||
self.sFit.serviceFittingOptions["compactSkills"] = self.cbCompactSkills.GetValue()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
self.sFit.refreshFit(fitID)
|
||||
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
|
||||
event.Skip()
|
||||
|
||||
def onCBReopenFits(self, event):
|
||||
|
||||
@@ -93,9 +93,9 @@ class Fit(object):
|
||||
"defaultCharacter": self.character.ID,
|
||||
"useGlobalForceReload": False,
|
||||
"colorFitBySlot": False,
|
||||
"rackSlots": False,
|
||||
"rackLabels": False,
|
||||
"compactSkills": False}
|
||||
"rackSlots": True,
|
||||
"rackLabels": True,
|
||||
"compactSkills": True}
|
||||
|
||||
self.serviceFittingOptions = SettingsProvider.getInstance().getSettings(
|
||||
"pyfaServiceFittingOptions", serviceFittingDefaultOptions)
|
||||
@@ -220,7 +220,11 @@ class Fit(object):
|
||||
eos.db.commit()
|
||||
self.recalc(fit, withBoosters=True)
|
||||
|
||||
def getFit(self, fitID):
|
||||
def getFit(self, fitID, projected = False):
|
||||
''' Gets fit from database, and populates fleet data.
|
||||
|
||||
Projected is a recursion flag that is set to reduce recursions into projected fits
|
||||
'''
|
||||
if fitID is None:
|
||||
return None
|
||||
fit = eos.db.getFit(fitID)
|
||||
@@ -233,8 +237,13 @@ class Fit(object):
|
||||
fit.fleet = None
|
||||
else:
|
||||
fit.fleet = f
|
||||
self.recalc(fit, withBoosters=True)
|
||||
fit.fill()
|
||||
|
||||
if not projected:
|
||||
for fitP in fit.projectedFits:
|
||||
self.getFit(fitP.ID, projected = True)
|
||||
self.recalc(fit, withBoosters=True)
|
||||
fit.fill()
|
||||
|
||||
eos.db.commit()
|
||||
fit.inited = True
|
||||
return fit
|
||||
|
||||
Reference in New Issue
Block a user