No Tibia, os efeitos gráficos são chamados de projectiles ou magic effects. Para criar o Kamehameha, você precisará usar um projectile que se move em uma direção. Aqui está um exemplo simples de como fazer isso:
function onCastSpell(creature, variant)
local position = creature:getPosition() -- Posição inicial do Goku
local direction = creature:getDirection() -- Direção do Kamehameha
local distance = 7 -- Distância que o ataque vai percorrer
local damage = math.random(200, 300) -- Defina o dano do Kamehameha
-- Definir o efeito gráfico do Kamehameha
local projectileEffect = CONST_ANI_ENERGYBALL -- Escolha um efeito gráfico adequado
-- Criação de um loop que movimenta o ataque
for i = 1, distance do
local newPosition = position:getNextPosition(direction, i) -- Calcula a posição seguinte
creature:say("KAMEHAMEHA!", TALKTYPE_MONSTER_SAY) -- Grito de ataque, opcional
-- Cria o projectile e o efeito
creature:getPosition():sendDistanceEffect(newPosition, projectileEffect)
-- Dano no alvo que está na posição do efeito
local target = Tile(newPosition):getTopCreature()
if target and target:isPlayer() then
target:addHealth(-damage)
target:getPosition():sendMagicEffect(CONST_ME_EXPLOSIONAREA) -- Efeito de explosão ao atingir
end
-- Intervalo para a movimentação do projectile
addEvent(function()
newPosition:sendMagicEffect(CONST_ME_ENERGYHIT) -- Efeito na posição final
end, i * 100) -- Ajusta o intervalo da animação
end
return true
end