local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
function onCastSpell(cid, var)
local pos = variantToPosition(var)
if getTileInfo(getThingPos(cid)).protection or getTileInfo(pos).protection then
return not doPlayerSendDefaultCancel(cid, RETURNVALUE_ACTIONNOTPERMITTEDINPROTECTIONZONE)
end
local v = getTileItemByType(pos, ITEM_TYPE_MAGICFIELD).uid
if v ~= 0 then
doRemoveItem(v)
end
v = doCreateItemEx(1497)
if doTileAddItemEx(pos, v) == 1 and getTileItemByType(pos, ITEM_TYPE_MAGICFIELD).uid ~= 0 then
doDecayItem(v)
return doCombat(cid, combat, var)
else
return not doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM)
end
end