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

specialities.py (1647B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\characterdata\specialities.py
      2 from fsdBuiltData.common.base import BuiltDataLoader
      3 try:
      4     import characterSpecialitiesLoader
      5 except ImportError:
      6     characterSpecialitiesLoader = None
      7 
      8 class CharacterSpecialitiesLoader(BuiltDataLoader):
      9     __resBuiltFile__ = 'res:/staticData/characterSpecialities.fsdbinary'
     10     __serverAutobuildBuiltFile__ = 'eve/autobuild/staticData/server/characterSpecialities.fsdbinary'
     11     __loader__ = characterSpecialitiesLoader
     12 
     13 
     14 def get_specialities():
     15     return CharacterSpecialitiesLoader.GetData()
     16 
     17 
     18 def iter_specialities():
     19     for speciality_id, data in get_specialities().iteritems():
     20         yield (speciality_id, data)
     21 
     22 
     23 def get_speciality_ids_by_career_id(career_id):
     24     return [ speciality_id for speciality_id, speciality in iter_specialities() if speciality.careerID == career_id ]
     25 
     26 
     27 def get_speciality(speciality_id, default = None):
     28     return get_specialities().get(speciality_id, default)
     29 
     30 
     31 def get_speciality_name(speciality_id, speciality = None, language_id = None):
     32     if not speciality:
     33         speciality = get_speciality(speciality_id)
     34     return _get_message(getattr(speciality, 'nameID', None), language_id)
     35 
     36 
     37 def get_speciality_description(speciality_id, speciality = None, language_id = None):
     38     if not speciality:
     39         speciality = get_speciality(speciality_id)
     40     return _get_message(getattr(speciality, 'descriptionID', None), language_id)
     41 
     42 
     43 def _get_message(message_id, language_id = None):
     44     import localization
     45     return localization.GetByMessageID(message_id, language_id=language_id)