local t = {
[{1,35}] = {150,150},
[{51,100}] = {150,250},
[{101,250}] = {250,400},
[{251,350}] = {400,600},
[{450,550}] = {600,750},
[{551,650}] = {750,1000},
[{650,math.huge}] = {1000,1300}
}
local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, 1000)
setConditionParam(exhaust, CONDITION_PARAM_SUBID, EXHAUST_HEAL)
function onUse(cid, item, fromPosition, itemEx, toPosition)
if hasCondition(cid, CONDITION_EXHAUST, EXHAUST_HEAL) then
return doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
elseif not isPlayer(itemEx.uid) then
return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
end
local lvl = getPlayerLevel(cid)
for k, v in pairs(t) do
if lvl >= k[1] and lvl <= k[2] then
doPlayerAddMana(itemEx.uid,math.random(v[1], v[2]))
doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
doAddCondition(cid, exhaust)
doSendAnimatedText(toPosition, 'Manarune!', math.random(255))
return true
end
end
end
<action itemid="2263" event="script" value="manarune.lua"/>
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, 39)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
function onCastSpell(cid, var)
doSendAnimatedText(getPlayerPosition(cid), "UH-MR", math.random(1, 255))
doPlayerAddMana(cid, 20000)
doCreatureAddHealth(cid, 20000)
return doCombat(cid, combat, var)
end
<rune name="UHMR Rune" id="2297" allowfaruse="1" charges="1" lvl="1500" maglv="5" exhaustion="0" aggressive="0" needtarget="1" blocktype="solid" script="healing/manauh.lua"/>
Manarune with stages;
Code:local t = { [{1,35}] = {150,150}, [{51,100}] = {150,250}, [{101,250}] = {250,400}, [{251,350}] = {400,600}, [{450,550}] = {600,750}, [{551,650}] = {750,1000}, [{650,math.huge}] = {1000,1300} } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, 1000) setConditionParam(exhaust, CONDITION_PARAM_SUBID, EXHAUST_HEAL) function onUse(cid, item, fromPosition, itemEx, toPosition) if hasCondition(cid, CONDITION_EXHAUST, EXHAUST_HEAL) then return doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) elseif not isPlayer(itemEx.uid) then return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) end local lvl = getPlayerLevel(cid) for k, v in pairs(t) do if lvl >= k[1] and lvl <= k[2] then doPlayerAddMana(itemEx.uid,math.random(v[1], v[2])) doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE) doAddCondition(cid, exhaust) doSendAnimatedText(toPosition, 'Manarune!', math.random(255)) return true end end end
data/actions/actions.xml
XML Code:
Code:<action itemid="2263" event="script" value="manarune.lua"/>
UHMR!;
Code:local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 39) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) function onCastSpell(cid, var) doSendAnimatedText(getPlayerPosition(cid), "UH-MR", math.random(1, 255)) doPlayerAddMana(cid, 20000) doCreatureAddHealth(cid, 20000) return doCombat(cid, combat, var) end
Code:<rune name="UHMR Rune" id="2297" allowfaruse="1" charges="1" lvl="1500" maglv="5" exhaustion="0" aggressive="0" needtarget="1" blocktype="solid" script="healing/manauh.lua"/>