(self, evt)
| 482 | toClipboard(list) |
| 483 | |
| 484 | def exportSkillsSuperCondensed(self, evt): |
| 485 | char = self.charEditor.entityEditor.getActiveEntity() |
| 486 | |
| 487 | skills = {} |
| 488 | explicit_levels = {} |
| 489 | implicit_levels = {} |
| 490 | for s in char.__class__.getSkillNameMap().keys(): |
| 491 | skill = char.getSkill(s) |
| 492 | if skill.level < 1: |
| 493 | continue |
| 494 | skills[skill.item.ID] = skill |
| 495 | explicit_levels[skill.item.ID] = skill.level |
| 496 | |
| 497 | for skill in skills.values(): |
| 498 | for req_skill, level in skill.item.requiredSkills.items(): |
| 499 | if req_skill.ID not in implicit_levels or implicit_levels[req_skill.ID] < level: |
| 500 | implicit_levels[req_skill.ID] = level |
| 501 | |
| 502 | condensed = {} |
| 503 | for typeID, level in explicit_levels.items(): |
| 504 | if typeID not in implicit_levels or implicit_levels[typeID] < level: |
| 505 | condensed[skills[typeID].item.name] = level |
| 506 | |
| 507 | lines = [] |
| 508 | for skill in sorted(condensed): |
| 509 | lines.append(f'{skill}\t{condensed[skill]}') |
| 510 | |
| 511 | toClipboard('\n'.join(lines)) |
| 512 | |
| 513 | def onSecStatus(self, event): |
| 514 | sChar = Character.getInstance() |
nothing calls this directly
no test coverage detected