local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
local distanceCombat = createCombatObject()
setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(distanceCombat, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
setCombatFormula(distanceCombat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
local distanceCombat2 = createCombatObject()
setCombatParam(distanceCombat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(distanceCombat2, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(distanceCombat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
setCombatFormula(distanceCombat2, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
local distanceCombat3 = createCombatObject()
setCombatParam(distanceCombat3, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(distanceCombat3, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(distanceCombat3, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
setCombatFormula(distanceCombat3, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
local distanceCombat4 = createCombatObject()
setCombatParam(distanceCombat4, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(distanceCombat4, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(distanceCombat4, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
setCombatFormula(distanceCombat4, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
local distanceCombat5 = createCombatObject()
setCombatParam(distanceCombat5, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(distanceCombat5, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(distanceCombat5, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
setCombatFormula(distanceCombat5, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
local distanceCombat6 = createCombatObject()
setCombatParam(distanceCombat6, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(distanceCombat6, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(distanceCombat6, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
function onGetFormulaValues(cid, level, maglevel)
local min = -(level * 1 + maglevel * 3) * 2.08
local max = -(level * 1 + maglevel * 3) * 2.7
return min, max
end
setCombatCallback(combat6, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onGetFormulaValues(cid, level, maglevel)
local min = -(level * 1 + maglevel * 3) * 2.08
local max = -(level * 1 + maglevel * 3) * 2.7
return min, max
end
setCombatCallback(distancecombat6, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
local storage = 18101
if(variantToNumber(var) ~= 0) then
if getPlayerStorageValue(cid, storage) == -1 then
doCombat(cid, distancecombat, var)
elseif getPlayerStorageValue(cid, storage) == 1 then
doCombat(cid, distancecombat2, var)
elseif getPlayerStorageValue(cid, storage) == 2 then
doCombat(cid, distancecombat3, var)
elseif getPlayerStorageValue(cid, storage) == 3 then
doCombat(cid, distancecombat4, var)
elseif getPlayerStorageValue(cid, storage) == 4 then
doCombat(cid, distancecombat5, var)
elseif getPlayerStorageValue(cid, storage) == 5 then
doCombat(cid, distancecombat6, var)
else
doCombat(cid, distancecombat, var)
end
end
if getPlayerStorageValue(cid, storage) == -1 then
doCombat(cid, combat, var)
elseif getPlayerStorageValue(cid, storage) == 1 then
doCombat(cid, combat2, var)
elseif getPlayerStorageValue(cid, storage) == 2 then
doCombat(cid, combat3, var)
elseif getPlayerStorageValue(cid, storage) == 3 then
doCombat(cid, combat4, var)
elseif getPlayerStorageValue(cid, storage) == 4 then
doCombat(cid, combat5, var)
elseif getPlayerStorageValue(cid, storage) == 5 then
doCombat(cid, combat6, var)
else
doCombat(cid, combat, var)
end
return true
end