local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
function check(cid)
if (getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 2544) then
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ARROW)
elseif (getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 2543) then
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BOLT)
end
end
function onGetFormulaValues(cid, level, skill)
return -(((skill + 30) / 3) + (level / 4)), -((skill + 30) + (level / 4)), 0
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
local config = { ammu = {2543, 2544} }
function onCastSpell(cid, var)
local removed = false
for _, itemid in pairs(config.ammu) do
if(getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 2544) or (getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 2543) then
doPlayerRemoveItem(cid, itemid, 1)
removed = true
break
end
end
if removed == false then
return doPlayerSendCancel(cid, "You need ammunition for this spell.") and doSendMagicEffect(getPlayerPosition(cid), 2) and false end
return doCombat(cid, combat, var)
end