this is the spell script
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true)
combat:setParameter(COMBAT_PARAM_USECHARGES, true)
combat:setArea(createCombatArea(AREA_CIRCLE3X3))
function onGetFormulaValues(player, skill, attack, factor)
local min = (player:getLevel() / 5) + (skill * attack * 0.04) + 10
local max = (player:getLevel() / 5) + (skill * attack * 0.08) + 18
return -min, -max
end
combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
local function castSpell(creatureId, variant, amount)
local creature = Creature(creatureId)
if creature then
combat:execute(creature, variant)
if amount > 1 then
addEvent(castSpell, 500, creatureId, variant, amount - 1)
end
end
end
function onCastSpell(creature, variant)
local creatureId = creature:getId()
addEvent(castSpell, 0, creatureId, variant, 3)
return true
end