Coloquei a fórmula da magia como no exura sio que você deixou. Qualquer coisa é só trocar a fórmula ali como você quiser.
local spellConfig = {
healCount = 12, -- número de vezes que vai curar
healInterval = 75 -- intervalo da cura em milisegundos
}
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_HEALING)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, 0)
combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
function onGetFormulaValues(player, level, maglevel)
local div = 1 / spellConfig.healCount
local min = div * ((level / 5) + (maglevel * 10))
local max = div * ((level / 5) + (maglevel * 14))
return min, max
end
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
local function sendHealingEffect(cid, var, target, healcounter)
local player = Player(cid)
if not player then
return
end
local targetPlayer = Player(target)
if not targetPlayer then
return
end
combat:execute(player, var)
local targetPos = targetPlayer:getPosition()
local randPos = Position(targetPos.x + math.random(-4, 3), targetPos.y + math.random(-3, 2), targetPos.z)
randPos:sendMagicEffect(CONST_ME_ASSASSIN)
randPos:sendDistanceEffect(targetPos, CONST_ANI_SMALLHOLY)
targetPos:sendMagicEffect(CONST_ME_MAGIC_BLUE)
if healcounter == 0 then
targetPos:sendMagicEffect(CONST_ME_HOLYAREA)
end
end
function onCastSpell(creature, var)
local target = Player(var:getNumber())
if not target then
return
end
local healcounter, interval = spellConfig.healCount, spellConfig.healInterval
local playerId = creature:getId()
local targetId = target:getId()
creature:say(string.format('Brothers, heal %s now!', target:getName()), TALKTYPE_MONSTER_SAY)
for i = 1, healcounter do
addEvent(sendHealingEffect, (i-1) * interval, playerId, var, targetId, healcounter - i)
end
return false
end
Pega a tag do exura sio no spells.xml e coloca para sua magia.
Vai ficar assim:
https://i.imgur.com/Uiha0uB.gif