This commit is contained in:
blitzmann
2015-07-19 16:20:42 -04:00
parent 90c883da67
commit 182104a010
3 changed files with 11 additions and 12 deletions

View File

@@ -204,23 +204,24 @@ class Skill(HandledItem):
self.itemID = item.ID if not isinstance(item, int) else item
self.__level = level if learned else None
self.commandBonus = 0
self.learned = learned
self.build(ro)
@reconstructor
def init(self):
self.build(False)
self.learned = self.__level is not None
self.__item = None
def build(self, ro):
self.__ro = ro
self.__suppressed = False
@property
def learned(self):
return self.__level is not None
@property
def level(self):
if not self.learned: return 0
else: return self.__level or 0
return self.__level or 0
@level.setter
def level(self, level):
@@ -231,7 +232,6 @@ class Skill(HandledItem):
raise ReadOnlyException()
self.__level = level
self.learned = True
@property
def item(self):
@@ -255,11 +255,11 @@ class Skill(HandledItem):
return
for effect in item.effects.itervalues():
if effect.runTime == runTime and effect.isType("passive"):
try:
effect.handler(fit, self, ("skill",))
except AttributeError:
continue
if effect.runTime == runTime and effect.isType("passive"):
try:
effect.handler(fit, self, ("skill",))
except AttributeError:
continue
def clear(self):
self.__suppressed = False

View File

@@ -81,7 +81,7 @@ class ChangeAffectingSkills(ContextMenu):
for i in xrange(-1, 6):
levelItem = self.addSkill(rootMenu if msw else grandSub, skill, i)
grandSub.AppendItem(levelItem)
if skill.level == i:
if (not skill.learned and i == -1) or (skill.learned and skill.level == i):
levelItem.Check(True)
sub.AppendItem(skillItem)

View File

@@ -302,7 +302,6 @@ class Character(object):
char = eos.db.getCharacter(charID)
skill = char.getSkill(skillID)
if isinstance(level, basestring) or level > 5 or level < 0:
skill.learned = False
skill.level = None
else:
skill.level = level