Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cSkills = {
- ["Basic Smithing"] = {storage = 40000, maxskill = 100, bonus = 0.0033, minskill = 10, ratetries = 1.12},
- ["Dwarven Smithing"] = {storage = 40001, maxskill = 100, bonus = 0.0025, minskill = 10, ratetries = 1.13},
- ["Dragon Smithing"] = {storage = 40002, maxskill = 100, bonus = 0.0025, minskill = 10, ratetries = 1.14},
- ["Magic Smithing"] = {storage = 40003, maxskill = 100, bonus = 0.002, minskill = 10, ratetries = 1.15},
- ["Advanced Smithing"] = {storage = 40004, maxskill = 100, bonus = 0.0015, minskill = 10, ratetries = 1.16},
- ["Legendary Smithing"] = {storage = 40005, maxskill = 100, bonus = 0.0015, minskill = 10, ratetries = 1.17},
- ["Ultimate Smithing"] = {storage = 40006, maxskill = 100, bonus = 0.001, minskill = 10, ratetries = 1.18},
- ["Demon Smithing"] = {storage = 40007, maxskill = 100, bonus = 0.00075, minskill = 10, ratetries = 1.19},
- ["Umbral Smithing"] = {storage = 40008, maxskill = 100, bonus = 0.0005, minskill = 10, ratetries = 1.2},
- ["Basic Tanning"] = {storage = 40010, maxskill = 100, bonus = 0.002, minskill = 10, ratetries = 1.1},
- ["Basic Smelting"] = {storage = 40011, maxskill = 100, bonus = 0.002, minskill = 10, ratetries = 1.1},
- ["Advanced Smelting"] = {storage = 40012, maxskill = 100, bonus = 0.002, minskill = 10, ratetries = 1.15},
- }
- local storageOffset = 1000
- local skillRate = 30
- function Player.getCSkill(self, skill)
- return self:getStorageValue(cSkills[skill].storage)
- end
- function Player.setCSkill(self, skill, new)
- return self:setStorageValue(cSkills[skill].storage, new)
- end
- function Player.addCSkill(self, skill, count)
- local current = self:getCSkill(skill)
- self:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You advanced to " .. string.lower(skill) .. " level " .. current + count .. ".")
- return self:setCSkill(skill, current + count)
- end
- function Player.getCSkillTries(self, skill)
- return self:getStorageValue(cSkills[skill].storage + storageOffset)
- end
- function Player.getRequiredCTries(self, skill)
- local currentLevel = self:getStorageValue(cSkills[skill].storage)
- local requiredTries = math.floor(50 * math.pow(cSkills[skill].ratetries, currentLevel - 10) / skillRate)
- return requiredTries
- end
- function Player.setCTries(self, skill, value)
- return self:setStorageValue(cSkills[skill].storage + storageOffset, value)
- end
- function Player.addCSkillTries(self, skill, tries)
- local current = self:getCSkillTries(skill)
- if self:getCSkill(skill) >= cSkills[skill].maxskill then
- return false
- end
- self:setStorageValue(cSkills[skill].storage + storageOffset, current + tries)
- while self:getCSkillTries(skill) > self:getRequiredCTries(skill) do
- self:setCTries(skill, self:getCSkillTries(skill) - self:getRequiredCTries(skill))
- self:addCSkill(skill, 1)
- end
- return true
- end
- function Player.getCSkillPercent(self, skill)
- return 100 - math.floor((self:getCSkillTries(skill) / self:getRequiredCTries(skill)) * 100)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement