diff --git a/eos/config.py b/eos/config.py index c6c53f748..a570a1926 100644 --- a/eos/config.py +++ b/eos/config.py @@ -26,6 +26,7 @@ pyfalog.debug("Saveddata connection string: {0}", saveddata_connectionstring) settings = { "useStaticAdaptiveArmorHardener": False, "strictSkillLevels": True, + "globalDefaultSpoolupPercentage": 1.0 } # Autodetect path, only change if the autodetection bugs out. diff --git a/eos/effects/shipmoduleremotearmormutadaptiverepairer.py b/eos/effects/shipmoduleremotearmormutadaptiverepairer.py index ec98c1e23..29d52fb47 100644 --- a/eos/effects/shipmoduleremotearmormutadaptiverepairer.py +++ b/eos/effects/shipmoduleremotearmormutadaptiverepairer.py @@ -5,7 +5,7 @@ from eos.utils.spoolSupport import SpoolType, SpoolOptions, calculateSpoolup, resolveSpoolOptions - +import eos.config type = "projected", "active" runTime = "late" @@ -17,8 +17,7 @@ def handler(fit, container, context, **kwargs): cycleTime = container.getModifiedItemAttr("duration") / 1000.0 repSpoolMax = container.getModifiedItemAttr("repairMultiplierBonusMax") repSpoolPerCycle = container.getModifiedItemAttr("repairMultiplierBonusPerCycle") - # TODO: fetch spoolup option - defaultSpoolValue = 1 + defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage'] spoolType, spoolAmount = resolveSpoolOptions(SpoolOptions(SpoolType.SCALE, defaultSpoolValue, False), container) rps = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, spoolType, spoolAmount)[0]) / cycleTime rpsPreSpool = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, SpoolType.SCALE, 0)[0]) / cycleTime diff --git a/gui/builtinPreferenceViews/pyfaEnginePreferences.py b/gui/builtinPreferenceViews/pyfaEnginePreferences.py index c41921393..fe5bcc5cb 100644 --- a/gui/builtinPreferenceViews/pyfaEnginePreferences.py +++ b/gui/builtinPreferenceViews/pyfaEnginePreferences.py @@ -8,6 +8,7 @@ import gui.globalEvents as GE from gui.preferenceView import PreferenceView from service.settings import EOSSettings import gui.mainFrame +from wx.lib.intctrl import IntCtrl logger = logging.getLogger(__name__) @@ -61,6 +62,22 @@ class PFFittingEnginePref(PreferenceView): wx.DefaultPosition, wx.DefaultSize, 0) mainSizer.Add(self.cbUniversalAdaptiveArmorHardener, 0, wx.ALL | wx.EXPAND, 5) + + spoolup_sizer = wx.BoxSizer(wx.HORIZONTAL) + + self.spool_up_label = wx.StaticText(panel, wx.ID_ANY, "Global Default Spoolup Percentage:", wx.DefaultPosition, wx.DefaultSize, 0) + self.spool_up_label.Wrap(-1) + self.spool_up_label.SetCursor(helpCursor) + self.spool_up_label.SetToolTip( + wx.ToolTip('The amount of spoolup to use by default on module which support it. Can be changed on a per-module basis')) + + spoolup_sizer.Add(self.spool_up_label, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) + + self.spoolup_value = IntCtrl(panel, min=0, max=100, limited=True) + spoolup_sizer.Add(self.spoolup_value , 0, wx.ALL, 5) + + mainSizer.Add(spoolup_sizer, 0, wx.ALL | wx.EXPAND, 0) + # Future code once new cap sim is implemented ''' self.cbGlobalForceReactivationTimer = wx.CheckBox( panel, wx.ID_ANY, u"Factor in reactivation timer", wx.DefaultPosition, wx.DefaultSize, 0 ) @@ -96,9 +113,15 @@ class PFFittingEnginePref(PreferenceView): self.cbUniversalAdaptiveArmorHardener.SetValue(self.engine_settings.get("useStaticAdaptiveArmorHardener")) self.cbUniversalAdaptiveArmorHardener.Bind(wx.EVT_CHECKBOX, self.OnCBUniversalAdaptiveArmorHardenerChange) + self.spoolup_value.SetValue(int(self.engine_settings.get("globalDefaultSpoolupPercentage") * 100)) + self.spoolup_value.Bind(wx.lib.intctrl.EVT_INT, self.OnSpoolupChange) + panel.SetSizer(mainSizer) panel.Layout() + def OnSpoolupChange(self, event): + self.engine_settings.set("globalDefaultSpoolupPercentage", self.spoolup_value.GetValue() / 100) + def OnCBGlobalForceReloadStateChange(self, event): self.sFit.serviceFittingOptions["useGlobalForceReload"] = self.cbGlobalForceReload.GetValue() fitID = self.mainFrame.getActiveFit() diff --git a/gui/builtinStatsViews/firepowerViewFull.py b/gui/builtinStatsViews/firepowerViewFull.py index 4c773c9f1..c678e0b61 100644 --- a/gui/builtinStatsViews/firepowerViewFull.py +++ b/gui/builtinStatsViews/firepowerViewFull.py @@ -25,7 +25,7 @@ from gui.bitmap_loader import BitmapLoader from gui.utils.numberFormatter import formatAmount, roundToPrec from eos.utils.spoolSupport import SpoolType, SpoolOptions from service.fit import Fit - +import eos.config class FirepowerViewFull(StatsView): name = "firepowerViewFull" @@ -157,8 +157,7 @@ class FirepowerViewFull(StatsView): formatAmount(preSpool, prec, lowest, highest), formatAmount(fullSpool, prec, lowest, highest)) - # TODO: fetch spoolup option - defaultSpoolValue = 1 + defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage'] stats = ( ( "labelFullDpsWeapon", diff --git a/gui/builtinStatsViews/outgoingViewFull.py b/gui/builtinStatsViews/outgoingViewFull.py index 3b6a6ce58..740042b8c 100644 --- a/gui/builtinStatsViews/outgoingViewFull.py +++ b/gui/builtinStatsViews/outgoingViewFull.py @@ -23,6 +23,7 @@ from gui.statsView import StatsView from gui.bitmap_loader import BitmapLoader from gui.utils.numberFormatter import formatAmount, roundToPrec from eos.utils.spoolSupport import SpoolType, SpoolOptions +import eos.config stats = [ @@ -101,8 +102,7 @@ class OutgoingViewFull(StatsView): formatAmount(preSpool, prec, lowest, highest), formatAmount(fullSpool, prec, lowest, highest)) - # TODO: fetch spoolup option - defaultSpoolValue = 1 + defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage'] counter = 0 for labelName, labelDesc, valueFormat, image, tooltip, val, preSpoolVal, fullSpoolVal, prec, lowest, highest in stats: label = getattr(self, labelName) diff --git a/gui/builtinStatsViews/outgoingViewMinimal.py b/gui/builtinStatsViews/outgoingViewMinimal.py index 055a65e9e..4ed86831f 100644 --- a/gui/builtinStatsViews/outgoingViewMinimal.py +++ b/gui/builtinStatsViews/outgoingViewMinimal.py @@ -22,6 +22,7 @@ import wx from gui.statsView import StatsView from gui.utils.numberFormatter import formatAmount, roundToPrec from eos.utils.spoolSupport import SpoolType, SpoolOptions +import eos.config stats = [ @@ -100,8 +101,7 @@ class OutgoingViewMinimal(StatsView): formatAmount(preSpool, prec, lowest, highest), formatAmount(fullSpool, prec, lowest, highest)) - # TODO: fetch spoolup option - defaultSpoolValue = 1 + defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage'] counter = 0 for labelName, labelDesc, valueFormat, image, tooltip, val, preSpoolVal, fullSpoolVal, prec, lowest, highest in stats: label = getattr(self, labelName) diff --git a/gui/builtinViewColumns/misc.py b/gui/builtinViewColumns/misc.py index e9bff3d56..24c5d7a55 100644 --- a/gui/builtinViewColumns/misc.py +++ b/gui/builtinViewColumns/misc.py @@ -28,6 +28,7 @@ from gui.bitmap_loader import BitmapLoader from gui.utils.numberFormatter import formatAmount from gui.utils.listFormatter import formatList from eos.utils.spoolSupport import SpoolType, SpoolOptions +import eos.config class Miscellanea(ViewColumn): @@ -117,8 +118,8 @@ class Miscellanea(ViewColumn): text = "{0}".format(formatAmount(trackingSpeed, 3, 0, 3)) tooltip = "tracking speed" info.append((text, tooltip)) - # TODO: fetch spoolup option - defaultSpoolValue = 1 + + defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage'] spoolTime = stuff.getSpoolData(spoolOptions=SpoolOptions(SpoolType.SCALE, defaultSpoolValue, False))[1] if spoolTime: text = "{0}s".format(formatAmount(spoolTime, 3, 0, 3)) @@ -339,8 +340,7 @@ class Miscellanea(ViewColumn): tooltip = "Armor repaired per second" return text, tooltip elif itemGroup == "Mutadaptive Remote Armor Repairer": - # TODO: fetch spoolup option - defaultSpoolValue = 1 + defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage'] spoolOptDefault = SpoolOptions(SpoolType.SCALE, defaultSpoolValue, False) spoolOptPre = SpoolOptions(SpoolType.SCALE, 0, True) spoolOptFull = SpoolOptions(SpoolType.SCALE, 1, True)