Add eos setting for strict skills, and update info in skill tree without doing a repopulation

This commit is contained in:
blitzmann
2017-04-22 14:02:40 -04:00
parent b21c850598
commit c9a04e886a
4 changed files with 30 additions and 9 deletions

View File

@@ -23,7 +23,8 @@ else:
pyfalog.debug("Saveddata connection string: {0}", saveddata_connectionstring)
settings = {
"useStaticAdaptiveArmorHardener": False
"useStaticAdaptiveArmorHardener": False,
"strictSkillLevels": True,
}
# Autodetect path, only change if the autodetection bugs out.

View File

@@ -17,6 +17,7 @@
# along with eos. If not, see <http://www.gnu.org/licenses/>.
# ===============================================================================
import time
from logbook import Logger
from itertools import chain
@@ -25,6 +26,7 @@ from sqlalchemy.orm import validates, reconstructor
import eos
import eos.db
import eos.config
from eos.effectHandlerHelpers import HandledItem, HandledImplantBoosterList
pyfalog = Logger(__name__)
@@ -334,12 +336,15 @@ class Skill(HandledItem):
self.activeLevel = level
for item, rlevel in self.item.requiredFor.iteritems():
if item.group.category.ID == 16: # Skill category
if level < rlevel:
skill = self.character.getSkill(item.ID)
#print "Removing skill: {}, Dependant level: {}, Required level: {}".format(skill, level, rlevel)
skill.setLevel(None, persist)
if eos.config.settings['strictSkillLevels']:
start = time.time()
for item, rlevel in self.item.requiredFor.iteritems():
if item.group.category.ID == 16: # Skill category
if level < rlevel:
skill = self.character.getSkill(item.ID)
#print "Removing skill: {}, Dependant level: {}, Required level: {}".format(skill, level, rlevel)
skill.setLevel(None, persist)
pyfalog.debug("Strict Skill levels enabled, time to process {}: {}".format(self.item.ID, time.time() - start))
if persist:
self.saveLevel()