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

skill_training.py (1827B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\characterskills\client\skill_training.py
      2 import clonegrade
      3 from omega.client.clone_grade_svc import get_clone_grade_svc
      4 
      5 class ClientCharacterSkillInterface(object):
      6 
      7     def __init__(self, skill_service):
      8         self.skill_service = skill_service
      9 
     10     def get_primary_attribute_id(self, skill_type_id):
     11         return self.skill_service.GetPrimarySkillAttribute(skill_type_id)
     12 
     13     def get_secondary_attribute_id(self, skill_type_id):
     14         return self.skill_service.GetSecondarySkillAttribute(skill_type_id)
     15 
     16     def get_skill_rank(self, skill_type_id):
     17         return self.skill_service.GetSkillRank(skill_type_id)
     18 
     19     def get_skill_level(self, skill_type_id):
     20         skill = self.skill_service.GetSkillIncludingLapsed(skill_type_id)
     21         if skill:
     22             return skill.trainedSkillLevel
     23         else:
     24             return 0
     25 
     26     def get_character_attribute_at_time(self, attribute_id, time_offset):
     27         attribute = self.skill_service.GetCharacterAttribute(attribute_id)
     28         skill_boosters = self.get_skill_accelerator_boosters()
     29         if get_clone_grade_svc().is_omega_with_grace_period():
     30             attribute -= skill_boosters.get_attribute_bonus_expired_at_time_offset(attribute_id, time_offset)
     31         else:
     32             attribute -= skill_boosters.get_attribute_bonus_expired_at_time_offset(attribute_id, time_offset) * clonegrade.ALPHA_TRAINING_MULTIPLIER
     33         return attribute
     34 
     35     def get_skill_points(self, skill_type_id):
     36         skill = self.skill_service.GetSkillIncludingLapsed(skill_type_id)
     37         if skill:
     38             return skill.trainedSkillPoints
     39         else:
     40             return 0
     41 
     42     def get_skill_accelerator_boosters(self):
     43         return self.skill_service.GetSkillAcceleratorBoosters()