Lua:
local t = {
-- [vocation, promotedvocation] = {mini = minimum heal, maxi = maximum heal}
[{1, 2, 5, 6}] = {mp={500,600}},
[{3, 7}] = {mp={400,500}, hp={100,150}},
[{4, 8}] = {mp={150,200}},
[{9, 10}] = {mp={1400,1500}},
[{11}] = {mp={1000,1100}, hp={500,700}},
[{12}] = {mp={350,550}}
}
local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, 1000)
setConditionParam(exhaust, CONDITION_PARAM_SUBID, EXHAUST_HEALING)
function onUse(cid, item, fromPosition, itemEx, toPosition)
if not isPlayer(itemEx.uid) then
return false
elseif hasCondition(cid, CONDITION_EXHAUST, EXHAUST_HEALING) then
return doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
end
local p = getPlayerVocation(cid)
for k, v in pairs(t) do
if isInArray(k, p) then
doAddCondition(cid, exhaust)
if v.mp then
doCreatureAddMana(cid, math.random(v.mp[1], v.mp[2]))
end
if v.hp then
doCreatureAddHealth(cid, math.random(v.hp[1], v.hp[2]))
end
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return true
end
end
end