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!')