Registers a new skill.
Registers a new skill.
1 table data
the skill to register.
-- taken from game/developer/basic_skills.lua local dev = {} dev.id = "development" dev.display = _T("SKILL_DEVELOPMENT", "Development") dev.description = _T("SKILL_DEVELOPMENT_DESCRIPTION", "Determines the ability to develop quickly in all work fields.") dev.boost = 1 dev.amountPerLevel = 8 dev.amountDeviation = {min = 10, max = 30} dev.deviationLevelScaling = 1 dev.icon = "skill_development" dev.skillBoostString = _T("DEVELOPMENT_SKILL_BOOST_STRING", "BOOST% faster project development (next: NEXT%)") dev.noMastery = true dev.contractEvaluationWeight = 0.25 dev.attributeBoost = { vision = 0.25, intelligence = 0.25 } function dev:fillSkillInfoDescbox(employee, descBox, wrapWidth) descBox:addText(_format(_T("DEVELOPMENT_SPEED_BOOST_DESC", "PERCENTAGE% faster overall work speed"), "PERCENTAGE", skills:getBoostFromSkill(employee:getSkillLevel(self.id), self) * 100), "bh18", game.UI_COLORS.LIGHT_BLUE, 0, wrapWidth) end function dev:distribute(target) local level = target:getLevel() local amount = level * self.amountPerLevel local percentage = level / developer.MAX_LEVEL local minRange = math.random(0, self.amountDeviation.min) local maxRange = math.random(self.amountDeviation.min, self.amountDeviation.max) amount = amount + math.round(math.random(minRange, maxRange) * percentage) local roleData = target:getRoleData() amount = math.clamp(amount, 0, (roleData.maxSkillLevels and roleData.maxSkillLevels[self.id] or self.maxLevel)) target:setSkill(self.id, amount) end function dev:setupDescbox(descBox, wrapWidth) local taskClass = task:getData("game_task"):getSkillQualityIncrease() self.descBox:addText(self.skillData.description, "pix18", nil, 10, wrapWidth) end function dev:getDevSpeedBoost(target) return 1 + skills:getBoostFromAttributes(target, self) + skills:getBoostFromSkill(target:getSkillLevel(self.id), self) end skills:registerNew(dev)