Fix #109
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user