diff --git a/eos/modifiedAttributeDict.py b/eos/modifiedAttributeDict.py index 756a9f806..c2540b066 100644 --- a/eos/modifiedAttributeDict.py +++ b/eos/modifiedAttributeDict.py @@ -33,13 +33,20 @@ class ItemAttrShortcut(object): return return_value or default - def getBaseAttrValue(self, key, default=0): + def getItemBaseAttrValue(self, key, default=0): """ Gets base value in this order: Mutated value > override value > attribute value """ return_value = self.itemModifiedAttributes.getOriginal(key) + return return_value or default + def getChargeBaseAttrValue(self, key, default=0): + """ + Gets base value in this order: + Mutated value > override value > attribute value + """ + return_value = self.chargeModifiedAttributes.getOriginal(key) return return_value or default diff --git a/gui/builtinItemStatsViews/itemAttributes.py b/gui/builtinItemStatsViews/itemAttributes.py index 324e64c22..b19b3f3e4 100644 --- a/gui/builtinItemStatsViews/itemAttributes.py +++ b/gui/builtinItemStatsViews/itemAttributes.py @@ -266,12 +266,16 @@ class ItemParams(wx.Panel): info = self.attrInfo.get(attr) att = self.attrValues[attr] - # If we're working with a stuff object, we should get the original value from our getBaseAttrValue function, + # If we're working with a stuff object, we should get the original value from our getItemBaseAttrValue function, # which will return the value with respect to the effective base (with mutators / overrides in place) valDefault = getattr(info, "value", None) # Get default value from attribute if self.stuff is not None: # if it's a stuff, overwrite default (with fallback to current value) - valDefault = self.stuff.getBaseAttrValue(attr, valDefault) + if self.stuff.item == self.item: + valDefault = self.stuff.getItemBaseAttrValue(attr, valDefault) + elif self.stuff.charge == self.item: + valDefault = self.stuff.getChargeBaseAttrValue(attr, valDefault) + valueDefault = valDefault if valDefault is not None else att val = getattr(att, "value", None)