--------------------PARAMETROS
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 11)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 11)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 11)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 11)
local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 11)
local time = 120 * 1000
local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_SUBID, 2)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, time)
setCombatCondition(combat1, exhaust)
---------------------CALCULO
function getCombatFormulas(cid, level, maglv)
local formula_min = -level
local formula_max = -level * 2
return formula_min, formula_max
end
setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")
function getCombatFormulas(cid, level, maglv)
local formula_min = -level
local formula_max = -level * 2
return formula_min, formula_max
end
setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")
function getCombatFormulas(cid, level, maglv)
local formula_min = -level
local formula_max = -level * 2
return formula_min, formula_max
end
setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")
function getCombatFormulas(cid, level, maglv)
local formula_min = -level
local formula_max = -level * 2
return formula_min, formula_max
end
setCombatCallback(combat4, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")
function getCombatFormulas(cid, level, maglv)
local formula_min = -level
local formula_max = -level * 2
return formula_min, formula_max
end
setCombatCallback(combat5, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")
---------------------AREA
arr1 = {
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 3, 0}
}
local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)
local function onCastSpell1(parameters, cid)
doCombat(parameters.cid, combat1, parameters.var)
doPlayerSendCancel(cid, "Spell Loading Success.")
end
arr2 = {
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
{0, 2, 0}
}
local area2 = createCombatArea(arr2)
setCombatArea(combat2, area2)
local function onCastSpell2(parameters, cid)
doCombat(parameters.cid, combat2, parameters.var)
end
arr3 = {
{0, 0, 0},
{0, 0, 0},
{1, 1, 1},
{0, 0, 0},
{0, 2, 0}
}
local area3 = createCombatArea(arr3)
setCombatArea(combat3, area3)
local function onCastSpell3(parameters, cid)
doCombat(parameters.cid, combat3, parameters.var)
end
arr4 = {
{0, 0, 0},
{1, 1, 1},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0}
}
local area4 = createCombatArea(arr4)
setCombatArea(combat4, area4)
local function onCastSpell4(parameters, cid)
doCombat(parameters.cid, combat4, parameters.var)
end
arr5 = {
{1, 1, 1},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0}
}
local area5 = createCombatArea(arr5)
setCombatArea(combat5, area5)
local function onCastSpell5(parameters, cid)
doCombat(parameters.cid, combat5, parameters.var)
stopEvent(walk)
end
local function oracao1(cid)
doPlayerSay(cid,'Gran',TALKTYPE_MONSTER)
end
local function oracao2(cid)
doPlayerSay(cid,'Vis',TALKTYPE_MONSTER)
end
function doPlayerWalk(cid, quanty, delay)
pos = getPlayerPosition(cid)
look2 = getPlayerLookDir(cid)
nx = pos.x
ny = pos.y
nz = pos.z
if ax == nx and ay == ny and az == nz and look1 == look2 then
if delay ~= 1 then
walk = addEvent(doPlayerWalk, 20, cid, quanty, delay -1)
elseif delay == 1 then
doCreatureSetNoMove(cid, false)
end
else
doPlayerSendCancel(cid, "Spell Cancel.")
stopEvent(spell1)
stopEvent(spell2)
stopEvent(spell3)
stopEvent(spell4)
stopEvent(spell5)
stopEvent(spell6)
stopEvent(spell7)
end
end
---------------------FUNÇOES
function onCastSpell(cid, var)
pos = getPlayerPosition(cid)
ax = pos.x
ay = pos.y
az = pos.z
look1 = getPlayerLookDir(cid)
doPlayerSay(cid,'Exori',TALKTYPE_MONSTER)
local parameters = { cid = cid, var = var}
doPlayerSendCancel(cid, "Spell Loading.")
spell1 = addEvent(onCastSpell1, 3100, parameters, cid)
spell2 = addEvent(onCastSpell2, 3300, parameters, cid)
spell3 = addEvent(onCastSpell3, 3500, parameters, cid)
spell4 = addEvent(onCastSpell4, 3700, parameters, cid)
spell5 = addEvent(onCastSpell5, 3900, parameters, cid)
spell6 = addEvent(oracao1, 1000, cid)
spell7 = addEvent(oracao2, 2000, cid)
doPlayerWalk(cid, 100, 100)
return False
end