Code:
function Elemental_OnCombat(pUnit, Event)
pUnit:SendChatMessage(14, 0, "Thunder will destroy you!")
pUnit:RegisterEvent("Elemental_Arc", 2000, 0)
pUnit:RegisterEvent("Elemental_Chain", 20000, 0)
pUnit:RegisterEvent("Elemetal_Shield", 10000, 0)
pUnit:RegisterEvent("SummonThunder", 3000, 1)
pUnit:RegisterEvent("Phase2", 1000, 0)
end
function Phase2(pUnit, Event)
if pUnit:GetHealthPct() < 90 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Elemental_Arc", 2000, 0)
pUnit:RegisterEvent("Elemental_Chain", 20000, 0)
pUnit:RegisterEvent("Elemental_Nova", 30000, 0)
pUnit:RegisterEvent("Phase3", 1000, 0)
end
end
function Phase3(pUnit, Event)
if pUnit:GetHealthPct() < 75 then
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Water! Make me powerfull.")
pUnit:CastSpell(36881)
pUnit:RegisterEvent("SummonWater",1000, 1)
pUnit:RegisterEvent("Elemental_Blast", 5000, 0)
pUnit:RegisterEvent("Elemental_Bolt", 10000, 0)
pUnit:RegisterEvent("Elemental_Frost", 2000, 0)
pUnit:RegisterEvent("Phase4", 1000, 0)
end
end
function Phase4(pUnit, Event)
if pUnit:GetHealthPct() < 50 then
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Earth! Protect me!")
pUnit:CastSpell(51489)
pUnit:RegisterEvent("Elemental_Charred", 20000, 0)
pUnit:RegisterEvent("Elemental_Shock", 2500, 0)
pUnit:RegisterEvent("Elemetal_Earth", 15000, 0)
pUnit:RegisterEvent("SummonEarth", 2000, 1)
pUnit:RegisterEvent("Phase5", 1000, 0)
end
end
function Phase5(pUnit, Event)
if pUnit:GetHealthPct() < 31 then
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Wind! Destroy that stupid Heroes!")
pUnit:CastSpell(54589)
pUnit:RegisterEvent("Elemental_Fury",15000, 0)
pUnit:RegisterEvent("Elemental_Wind",20000, 0)
pUnit:RegisterEvent("Elemental_Burning",16000, 0)
pUnit:RegisterEvent("Elemental_Shear",8000, 0)
pUnit:RegisterEvent("Elemental_Tendrils",50000, 0)
pUnit:RegisterEvent("Elemental_Thunder",40000, 0)
pUnit:RegisterEvent("Elemental_Blade",20000, 0)
end
end
RegisterUnitEvent(NPCIDHERE, 1, "Elemental_OnCombat")
RegisterUnitEvent(NPCIDHERE, 2, "Elemental_OnLeaveCombat")
RegisterUnitEvent(NPCIDHERE, 3, "Elemental_OnKilledTarget")
RegisterUnitEvent(NPCIDHERE, 4, "Elemental_OnDied")
function Elemental_Arc(pUnit, Event)
pUnit:FullCastSpellOnTarget(52921, pUnit:GetRandomPlayer(0))
end
function Elemental_Chain(pUnit, Event)
pUnit:FullCastSpellOnTarget(59082, pUnit:GetRandomPlayer(0))
end
function Elemental_Frost(pUnit, Event)
pUnit:FullCastSpellOnTarget(41384, pUnit:GetRandomPlayer(0))
end
function Elemental_Nova(pUnit, Event)
pUnit:CastSpell(59835)
end
function Elemental_Shear(pUnit, Event)
pUnit:CastSpell(52870)
end
function Elemetal_Shield(pUnit, Event)
pUnit:CastSpell(51620, pUnit:GetRandomPlayer(0))
end
function Elemental_Blast(pUnit, Event)
pUnit:FullCastSpellOnTarget(59520, pUnit:GetRandomPlayer(0))
end
function Elemental_Bolt(pUnit, Event)
pUnit:FullCastSpellOnTarget(37138, pUnit:GetRandomPlayer(0))
end
function Elemental_Charred(pUnit, Event)
pUnit:CastSpell(30129)
end
function Elemental_Shock(pUnit, Event)
pUnit:FullCastSpellOnTarget(43305, pUnit:GetRandomPlayer(0))
end
function Elemental_Wind(pUnit, Event)
pUnit:FullCastSpellOnTarget(25189, pUnit:GetRandomPlayer(0))
end
function Elemental_Burning(pUnit, Event)
pUnit:FullCastSpellOnTarget(17293, pUnit:GetRandomPlayer(0))
end
function Elemental_Tendrils(pUnit, Event)
pUnit:FullCastSpellOnTarget(23009, pUnit:GetRandomPlayer(0))
end
function Elemental_Blade(pUnit, Event)
pUnit:FullCastSpellOnTarget(55866, pUnit:GetRandomPlayer(0))
end
function Elemetal_Earth(pUnit, Event)
pUnit:CastSpell(33919)
end
function Elemental_Rain(pUnit, Event)
pUnit:CastSpell(34435)
end
function Elemental_Fury(pUnit, Event)
pUnit:CastSpell(38229)
end
function Elemental_Thunder(pUnit, Event)
pUnit:CastSpell(53630)
end
function Elemental_OnLeaveCombat(pUnit, Event)
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Ahah! Your so weak!")
end
function Elemental_OnDied(pUnit, Event)
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "This is impossible! The Elements can't be
destroyed!")
end
function Elemental_OnKilledTarget(pUnit, Event)
pUnit:CastSpell(55948)
pUnit:CastSpell(50363)
pUnit:SendChatMessage(14, 0, "One more down! Soon you will be all dead.")
end
function SummonWater(pUnit,event)
x = pUnit:GetX()
y = pUnit:GetY()
z = pUnit:GetZ()
o = pUnit:GetO()
pUnit:SpawnCreature(30419, x+5, y, z, o, 14, 30000)
pUnit:SpawnCreature(30419, x+10, y, z, o, 14, 30000)
end
function SummonThunder(pUnit,event)
x = pUnit:GetX()
y = pUnit:GetY()
z = pUnit:GetZ()
o = pUnit:GetO()
pUnit:SpawnCreature(28825, x+5, y, z, o, 14, 30000)
pUnit:SpawnCreature(28825, x+10, y, z, o, 14, 30000)
end
function SummonEarth(pUnit,event)
x = pUnit:GetX()
y = pUnit:GetY()
z = pUnit:GetZ()
o = pUnit:GetO()
pUnit:SpawnCreature(28584, x+5, y, z, o, 14, 30000)
pUnit:SpawnCreature(28584, x+10, y, z, o, 14, 30000)
end
Earth Elemental script
Code:
function Frostele_OnCombat(Unit, Event)
Unit:RegisterEvent("Frostele_Nova", 10000, 0)
Unit:RegisterEvent("Frostele_Bolt", 2000, 0)
Unit:RegisterEvent("Frostele_Cone", 8000, 0)
end
function Frostele_Nova(pUnit, Event)
pUnit:CastSpell(57668)
end
function Frostele_Bolt(pUnit, Event)
pUnit:FullCastSpellOnTarget(36990, pUnit:GetRandomPlayer(0))
end
function Frostele_Cone(pUnit, Event)
pUnit:CastSpell(29717)
end
function Frostele_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents();
end
function Frostele_OnDied(Unit, Event)
Unit:RemoveEvents();
end
function Frostele_OnKilledTarget(Unit, Event)
Unit:SendChatMessage(11, 0, "I killed him, master.")
end
RegisterUnitEvent(30419, 1, "Frostele_OnCombat")
RegisterUnitEvent(30419, 2, "Frostele_OnLeaveCombat")
RegisterUnitEvent(30419, 3, "Frostele_OnKilledTarget")
RegisterUnitEvent(30419, 4, "Frostele_OnDied")
And Thunder Elemental
Code:
function Thunderele_OnCombat(Unit, Event)
Unit:RegisterEvent("Thunderele_Light", 2000, 0)
Unit:RegisterEvent("Thunderele_Breath", 4000, 0)
end
function Thunderele_Light(pUnit, Event)
pUnit:FullCastSpellOnTarget(43301, pUnit:GetRandomPlayer(0))
end
function Thunderele_Breath(pUnit, Event)
pUnit:CastSpell(38193)
end
function Thunderele_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents();
end
function Thunderele_OnDied(Unit, Event)
Unit:RemoveEvents();
end
function Thunderele_OnKilledTarget(Unit, Event)
Unit:SendChatMessage(11, 0, "I killed him, master.")
end
RegisterUnitEvent(28825, 1, "Thunderele_OnCombat")
RegisterUnitEvent(28825, 2, "Thunderele_OnLeaveCombat")
RegisterUnitEvent(28825, 3, "Thunderele_OnKilledTarget")
RegisterUnitEvent(28825, 4, "Thunderele_OnDied")
Script information:
Bookmarks