--<action itemid="XXXX" event="script" value="script.lua"/>
local config = {
level = false,
remove = true,
time = 30, -- Time is in minutes
message = {MESSAGE_EVENT_ADVANCE, "You feel the power growing."},
conditions = {}
}
-- Sorcerer
config.conditions[1] = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(config.conditions[1], CONDITION_PARAM_TICKS, config.time * 1000 * 60)
setConditionParam(config.conditions[1], CONDITION_PARAM_STAT_MAGICLEVEL, 5)
setConditionParam(config.conditions[1], CONDITION_PARAM_BUFF, true)
-- Druid
config.conditions[2] = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(config.conditions[2], CONDITION_PARAM_TICKS, config.time * 1000 * 60)
setConditionParam(config.conditions[2], CONDITION_PARAM_STAT_MAGICLEVEL, 5)
setConditionParam(config.conditions[2], CONDITION_PARAM_BUFF, true)
-- Paladin
config.conditions[3] = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(config.conditions[3], CONDITION_PARAM_TICKS, config.time * 1000 * 60)
setConditionParam(config.conditions[3], CONDITION_PARAM_SKILL_DISTANCE, 15)
setConditionParam(config.conditions[3], CONDITION_PARAM_STAT_MAGICLEVEL, 3)
setConditionParam(config.conditions[3], CONDITION_PARAM_BUFF, true)
-- Knight
config.conditions[4] = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(config.conditions[4], CONDITION_PARAM_TICKS, config.time * 1000 * 60)
setConditionParam(config.conditions[4], CONDITION_PARAM_SKILL_CLUB, 30)
setConditionParam(config.conditions[4], CONDITION_PARAM_SKILL_SWORD, 30)
setConditionParam(config.conditions[4], CONDITION_PARAM_SKILL_AXE, 30)
setConditionParam(config.conditions[4], CONDITION_PARAM_BUFF, true)
function onUse(cid, item, fromPosition, itemEx, toPosition)
if config.level then
if getPlayerLevel(cid) < config.level then
return doPlayerSendCancel(cid, "You need to be level " .. config.level .. " or higher.")
end
end
if hasCreatureCondition(cid, CONDITION_ATTRIBUTES) then
return doPlayerSendCancel(cid, "You cannot use this item more than once.")
end
if config.remove then
doRemoveItem(item.uid, 1)
end
if config.message then
doPlayerSendTextMessage(cid, config.message[1], config.message[2])
end
local voc = (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5) and 1 or (getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6) and 2 or (getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7) and 3 or (getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8) and 4
doAddCondition(cid, config.conditions[voc])
return true
end