I made a boss, but he just spams 1 spell over and over until he's low on mana, which triggers some phases, how can I add a cooldown to the spell, to make him more mana efficient? +Rep for anyone who can help. :]
Here's the script so far:
Code:
function AllianceElemental_OnCombat(Unit, Event)
Unit:CastSpellAoF(Unit:GetX(), Unit:GetY(), Unit:GetZ(), 26607)
Unit:RegisterEvent("AllianceElemental_FrostNova", 1000, 0)
Unit:RegisterEvent("AllianceElemental_FrostBolt", 1000, 0)
Unit:RegisterEvent("AllianceElemental_OoM", 1000, 0)
end
function AllianceElemental_OoM(Unit, Event)
if Unit:GetManaPct() <= 10 then
Unit:SendChatMessage(12, 0, "|cFF000000Out of Mana! :( Don't hurt me while I regain it.")
Unit:CastSpell(30254)
Unit:CastSpell(31539)
Unit:RegisterEvent("AllianceElemental_Restored_Mana",1000 ,0)
end
end
function AllianceElemental_Restored_Mana(Unit, Event)
if Unit:GetManaPct() >= 99 then
Unit:CastSpell(31249)
Unit:SendChatMessage(12, 0, "|cFF000000Yay! My mana has been restored! :>")
Unit:RemoveAura(30254)
Unit:RemoveAura(31539)
Unit:RegisterEvent("AllianceElemental_FrostBolt", 1000, 0)
end
end
function AllianceElemental_FrostBolt(Unit, Event)
Unit:CastSpellOnTarget(31249) -- This is the spell I want a cool down on.
Unit:WipeTargetList()
Unit:ClearHateList()
end
function AllianceElemental_FrostNova(Unit, Event)
if Unit:GetHealthPct() <= 38 then
Unit:FullCastSpellOnTarget(31249, Unit:GetMainTank(0))
Unit:CastSpell(72259)
end
end
function AllianceElemental_OnDied(Unit, Event)
Unit:ReturnToSpawnPoint()
Unit:Despawn(6000, 3500)
Unit:SendChatMessage(12, 0, "|cFFFF3300Ouch! |cFF000000Why?...")
end
function AllianceElemental_OnKilledTarget(Unit, Event)
Unit:CastSpell(43186)
Unit:CastSpell(43186)
end
RegisterUnitEvent(10955, 1, "AllianceElemental_OnCombat")
RegisterUnitEvent(10955, 4, "AllianceElemental_OnDied")
RegisterUnitEvent(10955, 3, "AllianceElemental_OnKilledTarget")