hastebin
this is the code. Work perfect using spell... i dont know how put isso on weapon.
local primeiroCombat = Combat()
primeiroCombat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
primeiroCombat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
primeiroCombat:setParameter(COMBAT_PARAM_BLOCKARMOR, true)
primeiroCombat:setParameter(COMBAT_PARAM_BLOCKSHIELD, true)
local segundoCombat = Combat()
segundoCombat:setParameter(COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
segundoCombat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
segundoCombat:setParameter(COMBAT_PARAM_BLOCKARMOR, true)
segundoCombat:setParameter(COMBAT_PARAM_BLOCKSHIELD, true)
local area = createCombatArea( {
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 1, 1, 3, 1, 1, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0} } )
local area2 = createCombatArea( {
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 1, 1, 0, 1, 1, 0},
{1, 0, 0, 3, 0, 0, 1},
{0, 1, 1, 0, 1, 1, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0} } )
primeiroCombat:setArea (area)
segundoCombat:setArea (area2)
function onGetFormulaValues(player, skill, attack, factor)
local min = (player:getLevel() / 1) + (skill * attack * 0.03) + 50
local max = (player:getLevel() / 1) + (skill * attack * 0.08) + 50
return -min, -max
end
primeiroCombat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onGetFormulaValues(player, skill, attack, factor)
local min = (player:getLevel() / 1) + (skill * attack * 0.01) + 50
local max = (player:getLevel() / 1) + (skill * attack * 0.02) + 50
return -min, -max
end
segundoCombat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onUse(creature, variant)
primeiroCombat:execute(creature, variant)
segundoCombat:execute(creature, variant)
return true
end