@Hokograma outra coisa que percebi são os conflitos nas funções, a função que está mandando o efeito está em forma global e como lua não tem sobrecarga de funções ele pode está chamando a mesma função só que de outro arquivo.
Explicando de forma mais simples:
function magicEffect1553(tempo2,tempo3,cid)
if (isCreature(cid)) then
if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then
for i=1, #effect do
local position = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
doSendMagicEffect(position, effect)
end
end
end
end
Essa sua função magicEffect1553 está de forma global, ou seja, outras spells pode usar ela, então se outro buff, no caso outro arquivo está com a mesma função, com o mesmo nome e de forma global, o arquivo do buff de kona pode está chamando o outro em vez da função do arquivo dela, e é claro a do outro arquivo ta chamando a do arquivo dele, ou seja, kona ta usando efeito de outro arquivo.
Suas opções é:
Muda o nome da função, e é claro mudar também onde ela está sendo usada.
A outra é coloca a função de forma local, assim:
Assim \/ está de forma global:
function magicEffect1553(tempo2,tempo3,cid)
Assim está de forma local \/
local function magicEffect1553(tempo2,tempo3,cid)
Uma função, variável ou algo de forma global pode ser usado dentro de fora do escopo, uma local pode ser usada somente dentro do escopo e sub-escopo dele.
De forma mais simples e no seu caso, a função global pode ser chamada em outros arquivos da pasta spells, de forma local só é usada dentro daquele arquivo!