
Untitled
By: a guest on
May 6th, 2012 | syntax:
None | size: 1.13 KB | hits: 17 | expires: Never
function parseSkills()
if not gmcp.Char.Skills then
sendGMCP("Char.Skills.Get")
return
end
ksys.temp.skills = {}
for i,v in ipairs(gmcp.Char.Skills.Groups or {}) do
local skill = gmcp.Char.Skills.Groups[i]
local rank = skill.rank:match("^%w+")
local percent = skill.rank:match("(%d+)%%$")
ksys.temp.skills[skill.name] = {rank, tonumber(percent) or 0}
end
end
function canUse(skill, rankRequired, percentRequired)
parseSkills()
if ksys.temp.skills[skill] then
if (getSkillrankValue(ksys.temp.skills[skill][1]) > getSkillrankValue(rankRequired))
or
(getSkillrankValue(ksys.temp.skills[skill][1]) == getSkillrankValue(rankRequired)
and ksys.temp.skills[skill][2] >= percentRequired)
then
return true
end
end
return false
end
function getSkillrankValue(skillrank)
ksys.temp.skillranks = {"Inept",
"Novice",
"Apprentice",
"Capable",
"Adept",
"Skilled",
"Gifted",
"Expert",
"Virtuoso",
"Fabled",
"Mythical",
"Transcendent"}
for i,v in pairs(ksys.temp.skillranks) do
if v:lower() == skillrank:lower() then
return i
end
end
return 0
end