diff --git a/gui/characterSelection.py b/gui/characterSelection.py index 7a1bfcb7a..c23ce33d8 100644 --- a/gui/characterSelection.py +++ b/gui/characterSelection.py @@ -108,16 +108,10 @@ class CharacterSelection(wx.Panel): charID = self.getActiveCharacter() sChar = Character.getInstance() - skillsMap = {} - for item, stuff in self.reqs.iteritems(): - for things in stuff.values(): - if things[1] not in skillsMap: - skillsMap[things[1]] = things[0] - elif things[0] > skillsMap[things[1]]: - skillsMap[things[1]] = things[0] + skillsMap = self._buildSkillsTooltipCondensed(self.reqs, skillsMap={}) - for skillID, level in skillsMap.iteritems(): - sChar.changeLevel(charID, skillID, level, ifHigher=True) + for index in skillsMap: + sChar.changeLevel(charID, skillsMap[index][1], skillsMap[index][0], ifHigher=True) self.refreshCharacterList() @@ -235,7 +229,7 @@ class CharacterSelection(wx.Panel): if condensed: dict_ = self._buildSkillsTooltipCondensed(self.reqs, skillsMap={}) for key in sorted(dict_): - tip += "%s: %d\n" % (key, dict_[key]) + tip += "%s: %d\n" % (key, dict_[key][0]) else: tip += self._buildSkillsTooltip(self.reqs) self.skillReqsStaticBitmap.SetBitmap(self.redSkills) @@ -257,7 +251,7 @@ class CharacterSelection(wx.Panel): list = "" for key in sorted(skillsMap): - list += "%s %d\n" % (key, skillsMap[key]) + list += "%s %d\n" % (key, skillsMap[key][0]) toClipboard(list) @@ -307,9 +301,9 @@ class CharacterSelection(wx.Panel): }) if name not in skillsMap: - skillsMap[name] = level - elif skillsMap[name] < level: - skillsMap[name] = level + skillsMap[name] = level, ID + elif skillsMap[name][0] < level: + skillsMap[name] = level, ID skillsMap = self._buildSkillsTooltipCondensed(more, currItem, tabulationLevel + 1, skillsMap)