required_skills.py (2319B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\dogma\required_skills.py 2 import evetypes 3 from dogma.const import attributeRequiredSkill1 4 from dogma.const import attributeRequiredSkill1Level 5 from dogma.const import attributeRequiredSkill2 6 from dogma.const import attributeRequiredSkill2Level 7 from dogma.const import attributeRequiredSkill3 8 from dogma.const import attributeRequiredSkill3Level 9 from dogma.const import attributeRequiredSkill4 10 from dogma.const import attributeRequiredSkill4Level 11 from dogma.const import attributeRequiredSkill5 12 from dogma.const import attributeRequiredSkill5Level 13 from dogma.const import attributeRequiredSkill6 14 from dogma.const import attributeRequiredSkill6Level 15 from dogma import data as dogma_data 16 REQUIRED_SKILL_AND_LEVEL_ATTRIBUTES = [(attributeRequiredSkill1, attributeRequiredSkill1Level), 17 (attributeRequiredSkill2, attributeRequiredSkill2Level), 18 (attributeRequiredSkill3, attributeRequiredSkill3Level), 19 (attributeRequiredSkill4, attributeRequiredSkill4Level), 20 (attributeRequiredSkill5, attributeRequiredSkill5Level), 21 (attributeRequiredSkill6, attributeRequiredSkill6Level)] 22 23 class RequiredSkillData(object): 24 25 def __init__(self, type_id, type_name, tree_level, skill_level): 26 self.type_id = type_id 27 self.type_name = type_name 28 self.tree_level = tree_level 29 self.skill_level = skill_level 30 31 def __str__(self): 32 return '{}\t{}\t{}\t{}'.format(self.type_id, self.type_name, self.tree_level, self.skill_level) 33 34 35 def _construct_required_skill_tree(tree_level, type_id, result): 36 new_tree_level = tree_level + 1 37 for skillAttributeID, levelAttributeID in REQUIRED_SKILL_AND_LEVEL_ATTRIBUTES: 38 skill_type_id = dogma_data.get_type_attribute(type_id, skillAttributeID) 39 level = dogma_data.get_type_attribute(type_id, levelAttributeID) 40 if skill_type_id and level: 41 skill_type_id = int(skill_type_id) 42 level = int(level) 43 result.append(RequiredSkillData(skill_type_id, evetypes.GetName(skill_type_id), new_tree_level, level)) 44 _construct_required_skill_tree(new_tree_level, skill_type_id, result) 45 46 47 def get_esp_required_skills_for_type(type_id): 48 result = [] 49 _construct_required_skill_tree(0, type_id, result) 50 return result