NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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