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

skillLevelAttribute.py (1364B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\dogma\attributes\skillLevelAttribute.py
      2 from dogma.dogmaLogging import LogTraceback
      3 from dogma.attributes import Attribute
      4 from characterskills import GetSkillLevelRaw
      5 from dogma.const import attributeSkillTimeConstant, attributeSkillPoints
      6 import weakref
      7 
      8 class SkillLevelAttribute(Attribute):
      9 
     10     def __init__(self, attribID, baseValue, dogmaItem, dogmaLM, staticAttr):
     11         super(SkillLevelAttribute, self).__init__(attribID, baseValue, dogmaItem, dogmaLM, staticAttr)
     12         self.skillTimeConstant = dogmaLM.dogmaStaticMgr.GetTypeAttribute2(dogmaItem.invItem.typeID, attributeSkillTimeConstant)
     13         self.skillPointAttribute = weakref.ref(self.item.attributes[attributeSkillPoints])
     14         self.skillPointAttribute().AddNonModifyingDependant(self)
     15 
     16     def Update(self):
     17         prevValue = self.currentValue
     18         if self.skillPointAttribute() is not None:
     19             self.currentValue = GetSkillLevelRaw(self.skillPointAttribute().GetValue(), self.skillTimeConstant)
     20         self.dirty = False
     21         self._PerformCallbacksIfValueChanged(prevValue)
     22 
     23     def AddIncomingModifier(self, op, attribute):
     24         LogTraceback('Cannot modify a skill level!')
     25 
     26     def RemoveIncomingModifier(self, op, attribute):
     27         LogTraceback('Cannot modify a skill level!')