local distance = Combat()
distance:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
distance:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
distance:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
function onGetFormulaValues(player, level, magicLevel)
local min = (level / 5) + (magicLevel * 1.4) + 8
local max = (level / 5) + (magicLevel * 2.2) + 14
return -min, -max
end
distance:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
function onGetFormulaValues(player, level, magicLevel)
local min = (level / 5) + (magicLevel * 1.4) + 8
local max = (level / 5) + (magicLevel * 2.2) + 14
return -min, -max
end
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(creature, variant)
if creature:isPremium() then
if(variant:getNumber() ~= 0) then
return distance:execute(creature, variant)
else
return combat:execute(creature, variant)
end
else
return combat:execute(creature, variant)
end
end