No momento essa magia teleporta para a posição do inimigo, mas se o inimigo esta parado ele acaba por empurra-lo.
Eu queria que ele se teleporte para uma posição randômica de (x,y) a partir do enemypos. (enemypos+n) ou seja, do lado, atras na frente ou até diagonal do inimigo se houver espaço.
local distanceCombat = createCombatObject()
setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SPEAR)
function getSpellDamage(cid, lv)
damage_min = lv * 2
damage_max = lv * 1
if(damage_max < damage_min) then
local tmp = damage_max
damage_max = damage_min
damage_min = tmp
end
return -damage_min, -damage_max
end
setCombatCallback(distanceCombat, CALLBACK_PARAM_SKILLVALUE, "getSpellDamage")
function onCastSpell(cid, var)
local player = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local enemypos = getCreaturePosition(target)
if target == isMonster or isCreature then
doTeleportThing(cid, enemypos)
doSendMagicEffect(player, 61)
doCombat(cid, distanceCombat, var)
return 1
else
doPlayerSendCancel(cid, "You need a taget.")
end
end