From d32ff668e170a55f3a0d2031d8a7cdb826afced0 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Wed, 21 Aug 2019 12:11:22 +0300 Subject: [PATCH] Show capacitor regen difference for selected mods --- eos/saveddata/fit.py | 3 +- gui/builtinViewColumns/capacitorUse.py | 40 ++++++++++++++++++-------- gui/builtinViewColumns/misc.py | 8 ------ 3 files changed, 29 insertions(+), 22 deletions(-) diff --git a/eos/saveddata/fit.py b/eos/saveddata/fit.py index a8e0dfd5a..beaf980de 100644 --- a/eos/saveddata/fit.py +++ b/eos/saveddata/fit.py @@ -36,7 +36,6 @@ from eos.saveddata.character import Character from eos.saveddata.citadel import Citadel from eos.saveddata.module import Module from eos.saveddata.ship import Ship -from eos.utils.float import floatUnerr from eos.utils.stats import DmgTypes, RRTypes @@ -1323,7 +1322,7 @@ class Fit: nomodRegen = self.calculateCapRecharge( capacity=self.ship.getModifiedItemAttrWithoutAfflictor("capacitorCapacity", mod), rechargeRate=self.ship.getModifiedItemAttrWithoutAfflictor("rechargeRate", mod) / 1000.0) - return floatUnerr(currentRegen - nomodRegen) + return currentRegen - nomodRegen def getRemoteReps(self, spoolOptions=None): if spoolOptions not in self.__remoteRepMap: diff --git a/gui/builtinViewColumns/capacitorUse.py b/gui/builtinViewColumns/capacitorUse.py index 8770a9d4c..71a92c825 100644 --- a/gui/builtinViewColumns/capacitorUse.py +++ b/gui/builtinViewColumns/capacitorUse.py @@ -21,39 +21,55 @@ import wx from eos.saveddata.mode import Mode -from service.attribute import Attribute +from eos.utils.float import floatUnerr +from gui.bitmap_loader import BitmapLoader from gui.utils.numberFormatter import formatAmount from gui.viewColumn import ViewColumn -from gui.bitmap_loader import BitmapLoader +from service.attribute import Attribute +from service.fit import Fit class CapacitorUse(ViewColumn): - name = "Capacitor Usage" + + name = 'Capacitor Usage' def __init__(self, fittingView, params): ViewColumn.__init__(self, fittingView) self.mask = wx.LIST_MASK_IMAGE - Attribute.getInstance().getAttributeInfo("capacitorNeed") - self.imageId = fittingView.imageList.GetImageIndex("capacitorRecharge_small", "gui") - self.bitmap = BitmapLoader.getBitmap("capacitorRecharge_small", "gui") + Attribute.getInstance().getAttributeInfo('capacitorNeed') + self.imageId = fittingView.imageList.GetImageIndex('capacitorRecharge_small', 'gui') + self.bitmap = BitmapLoader.getBitmap('capacitorRecharge_small', 'gui') def getText(self, mod): if isinstance(mod, Mode): - return "" - + return '' + fit = Fit.getInstance().getFit(self.fittingView.getActiveFit()) + if fit is None: + return '' capUse = mod.capUse - if capUse: - return "%s%s" % ("+" if capUse < 0 else "", (formatAmount(-capUse, 3, 0, 3))) + # Do not show cap diff numbers + if mod.item is not None and mod.item.group.name in ( + 'Capacitor Battery', 'Structure Capacitor Battery', + 'Capacitor Power Relay', 'Structure Capacitor Power Relay', + 'Capacitor Recharger', 'Power Diagnostic System', 'Capacitor Flux Coil', + 'Rig Core', 'Shield Power Relay' + ): + capRegenDiff = fit.getCapRegenGainFromMod(mod) else: - return "" + capRegenDiff = 0 + capDiff = floatUnerr(capRegenDiff - capUse) + if capDiff: + return formatAmount(capDiff, 3, 0, 3, forceSign=True) + else: + return '' def getImageId(self, mod): return -1 def getToolTip(self, mod): - return self.name + return 'Capacitor Usage' CapacitorUse.register() diff --git a/gui/builtinViewColumns/misc.py b/gui/builtinViewColumns/misc.py index 913533b99..e56bc5fe8 100644 --- a/gui/builtinViewColumns/misc.py +++ b/gui/builtinViewColumns/misc.py @@ -444,14 +444,6 @@ class Miscellanea(ViewColumn): text = "{0}/s".format(formatAmount(rps, 3, 0, 3, forceSign=True)) tooltip = "Structure repaired per second" return text, tooltip - elif itemGroup in ("Capacitor Recharger", "Capacitor Power Relay", "Capacitor Battery"): - fit = Fit.getInstance().getFit(self.fittingView.getActiveFit()) - capGain = fit.getCapRegenGainFromMod(stuff) - if not capGain: - return "", None - text = formatAmount(capGain, 3, 0, 3, forceSign=True) - tooltip = "Peak capacitor regeneration gain" - return text, tooltip elif itemGroup == "Gang Coordinator": command = stuff.getModifiedItemAttr("commandBonus") or stuff.getModifiedItemAttr("commandBonusHidden") if not command: