local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)
function onTargetCreature(cid, target)
local rangedCreatures = {"orc spearman","elf"}
if isInArray(rangedCreatures, getCreatureName(target)) then
local name = "" .. getCreatureName(target) .. " melee"
local pos = getCreaturePosition(target)
local maxhealth = getCreatureMaxHealth(target)
local health = getCreatureHealth(target)
local damage = maxhealth - health
doRemoveCreature(target)
local meleeCreature = doSummonCreature(name,pos)
doCreatureAddHealth(meleeCreature,-damage)
return doChallengeCreature(cid, meleeCreature)
else
return doChallengeCreature(cid, target)
end
end
setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end