Skip to content

Commit 182104a

Browse files
committed
Fix #109
1 parent 90c883d commit 182104a

3 files changed

Lines changed: 11 additions & 12 deletions

File tree

eos/saveddata/character.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -204,23 +204,24 @@ def __init__(self, item, level = 0, ro = False, learned = True):
204204
self.itemID = item.ID if not isinstance(item, int) else item
205205
self.__level = level if learned else None
206206
self.commandBonus = 0
207-
self.learned = learned
208207
self.build(ro)
209208

210209
@reconstructor
211210
def init(self):
212211
self.build(False)
213-
self.learned = self.__level is not None
214212
self.__item = None
215213

216214
def build(self, ro):
217215
self.__ro = ro
218216
self.__suppressed = False
219217

218+
@property
219+
def learned(self):
220+
return self.__level is not None
221+
220222
@property
221223
def level(self):
222-
if not self.learned: return 0
223-
else: return self.__level or 0
224+
return self.__level or 0
224225

225226
@level.setter
226227
def level(self, level):
@@ -231,7 +232,6 @@ def level(self, level):
231232
raise ReadOnlyException()
232233

233234
self.__level = level
234-
self.learned = True
235235

236236
@property
237237
def item(self):
@@ -255,11 +255,11 @@ def calculateModifiedAttributes(self, fit, runTime):
255255
return
256256

257257
for effect in item.effects.itervalues():
258-
if effect.runTime == runTime and effect.isType("passive"):
259-
try:
260-
effect.handler(fit, self, ("skill",))
261-
except AttributeError:
262-
continue
258+
if effect.runTime == runTime and effect.isType("passive"):
259+
try:
260+
effect.handler(fit, self, ("skill",))
261+
except AttributeError:
262+
continue
263263

264264
def clear(self):
265265
self.__suppressed = False

gui/builtinContextMenus/changeAffectingSkills.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def getSubMenu(self, context, selection, rootMenu, i, pitem):
8181
for i in xrange(-1, 6):
8282
levelItem = self.addSkill(rootMenu if msw else grandSub, skill, i)
8383
grandSub.AppendItem(levelItem)
84-
if skill.level == i:
84+
if (not skill.learned and i == -1) or (skill.learned and skill.level == i):
8585
levelItem.Check(True)
8686
sub.AppendItem(skillItem)
8787

service/character.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,6 @@ def changeLevel(self, charID, skillID, level):
302302
char = eos.db.getCharacter(charID)
303303
skill = char.getSkill(skillID)
304304
if isinstance(level, basestring) or level > 5 or level < 0:
305-
skill.learned = False
306305
skill.level = None
307306
else:
308307
skill.level = level

0 commit comments

Comments
 (0)