Add debugging functions

This commit is contained in:
DarkPhoenix
2025-03-05 10:32:26 +01:00
parent b6d8582867
commit 547d8be21e
2 changed files with 47 additions and 0 deletions

View File

@@ -481,6 +481,35 @@ class SkillTreeView(wx.Panel):
toClipboard(list)
def exportSkillsSuperCondensed(self, evt):
char = self.charEditor.entityEditor.getActiveEntity()
skills = {}
explicit_levels = {}
implicit_levels = {}
for s in char.__class__.getSkillNameMap().keys():
skill = char.getSkill(s)
if skill.level < 1:
continue
skills[skill.item.ID] = skill
explicit_levels[skill.item.ID] = skill.level
for skill in skills.values():
for req_skill, level in skill.item.requiredSkills.items():
if req_skill.ID not in implicit_levels or implicit_levels[req_skill.ID] < level:
implicit_levels[req_skill.ID] = level
condensed = {}
for typeID, level in explicit_levels.items():
if typeID not in implicit_levels or implicit_levels[typeID] < level:
condensed[skills[typeID].item.name] = level
lines = []
for skill in sorted(condensed):
lines.append(f'{skill}\t{condensed[skill]}')
toClipboard('\n'.join(lines))
def onSecStatus(self, event):
sChar = Character.getInstance()
char = self.charEditor.entityEditor.getActiveEntity()

View File

@@ -988,3 +988,21 @@ class Market:
metatab = self.META_MAP_REVERSE_GROUPED.get(metagrpid)
metalvl = item.metaLevel or 0
return catname, mktgrpid, parentname, metatab, metalvl, item.name
def printAllItems(self):
items = set()
def handleMg(marketGroup, path=()):
marketGroup = self.getMarketGroup(marketGroup, eager=("items", "items.metaGroup", "children"))
path = path + (marketGroup.name,)
print(' > '.join(path))
for item in self.getItemsByMarketGroup(marketGroup):
items.add(item.ID)
for mgc in self.getMarketGroupChildren(marketGroup):
handleMg(mgc, path=path)
for mg in self.ROOT_MARKET_GROUPS:
handleMg(mg)
print(sorted(items))