From f9419977c0fcd7034f94ce4ae5a8ad3e7d761025 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Sun, 14 May 2017 20:55:48 -0400 Subject: [PATCH] Instantiate skills with a character (may help to solve https://forums.eveonline.com/default.aspx?g=posts&m=6939299#post6939299) --- eos/saveddata/character.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/eos/saveddata/character.py b/eos/saveddata/character.py index a12d0bcab..5280cdbac 100644 --- a/eos/saveddata/character.py +++ b/eos/saveddata/character.py @@ -49,7 +49,7 @@ class Character(object): if initSkills: for item in self.getSkillList(): - self.addSkill(Skill(item.ID, self.defaultLevel)) + self.addSkill(Skill(self, item.ID, self.defaultLevel)) self.__implants = HandledImplantBoosterList() self.apiKey = None @@ -123,7 +123,7 @@ class Character(object): del self.__skills[:] self.__skillIdMap.clear() for skillRow in skills: - self.addSkill(Skill(skillRow["typeID"], skillRow["level"])) + self.addSkill(Skill(self, skillRow["typeID"], skillRow["level"])) self.secStatus = secStatus @property @@ -206,7 +206,7 @@ class Character(object): skill = self.__skillIdMap.get(item.ID) if skill is None: - skill = Skill(item, self.defaultLevel, False, True) + skill = Skill(self, item, self.defaultLevel, False, True) self.addSkill(skill) return skill @@ -272,7 +272,7 @@ class Character(object): copy.apiID = self.apiID for skill in self.skills: - copy.addSkill(Skill(skill.itemID, skill.level, False, skill.learned)) + copy.addSkill(Skill(self, skill.itemID, skill.level, False, skill.learned)) return copy @@ -297,7 +297,8 @@ class Character(object): class Skill(HandledItem): - def __init__(self, item, level=0, ro=False, learned=True): + def __init__(self, character, item, level=0, ro=False, learned=True): + self.character = character self.__item = item if not isinstance(item, int) else None self.itemID = item.ID if not isinstance(item, int) else item self.__level = level if learned else None @@ -431,7 +432,7 @@ class Skill(HandledItem): return val def __deepcopy__(self, memo): - copy = Skill(self.item, self.level, self.__ro) + copy = Skill(self.character, self.item, self.level, self.__ro) return copy def __repr__(self):