C'est normal parce que la fonction Unit:CastSpell fait que la créature se lance le sort sur elle même.
Tu as raison il faut utiliser CastSpellOnTarget (et ici le Full correspond mieux).
Donc déjà il te faut une variable, appelons la cible ce sera aussi bien.
Pour le moment tu as donc :
[code=lua]function OnCombat(Unit ,Event) -- Fonction nommé OnCombat --
Unit:RegisterEvent("Fureur", 80000, 0) -- lance l'event Fureur toutes les 8 secondes --
end -- signifie la fin de la fonction --
function Fureur(Unit ,Event) -- sous fonction Fureur --
local cible
Unit:CastSpell(59696) -- lance le sort Lancer --
end
RegisterUnitEvent(3197, 1, "OnCombat") -- register de la fonction --[/code]
A cette variable il faut lui assigner une valeur de type Unit (les joueurs et les créatures sont des Unit), pour cela tu as plusieurs choix mais comme ici c'est une réponse à une demande d'aide et pas un tutoriel, dans ton cas le mieux c'est d'utiliser GetMainTank comme ceci:
[code=lua]function OnCombat(Unit ,Event) -- Fonction nommé OnCombat --
Unit:RegisterEvent("Fureur", 80000, 0) -- lance l'event Fureur toutes les 8 secondes --
end -- signifie la fin de la fonction --
function Fureur(Unit ,Event) -- sous fonction Fureur --
local cible = Unit:GetMainTank(Unit) -- On sélectionne la cible que la créature attaque en ce moment
Unit:FullCastSpellOnTarget(59696, cible) -- lance le sort Lancer --
end
RegisterUnitEvent(3197, 1, "OnCombat") -- register de la fonction --[/code]