This is not made by me !!!

Credits: tommyrego

Npc Info:
-Name: Make him whatever you want (mine Rakhz)
-Subname: Like Elemental Lord or something like that.
-Health: He is 15 man boss so make it 8500k-10000k.
-Atack time/damage: He is caster/melle, make it 1600 (atack time) and damage- 12500-17000
-Display Id- Choose whatever you want just make him look as a Shaman ( I used the display id of [Only registered and activated users can see links. ].
-Extras: Spawn him at nagrand. It's a cool place and add him 2 thunderfurys.
If you don't know the commands to add them, here they are:
-.npc equip1 19019 and .npc equip2 19019

I didn't make a SQL to let you choose what you want the npc to be.

Script:
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 Earth_OnCombat(Unit, Event)
Unit:RegisterEvent("Earth_Stone", 6000, 0)
end

function Earth_Stone(pUnit, Event)
pUnit:FullCastSpellOnTarget(59742, pUnit:GetRandomPlayer(0))
end

function Earth_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents();
end

function Earth_OnDied(Unit, Event)
Unit:RemoveEvents();
end

function Earth_OnKilledTarget(Unit, Event)
Unit:SendChatMessage(11, 0, "I killed him, master.")
end

RegisterUnitEvent(28584, 1, "Earth_OnCombat")
RegisterUnitEvent(28584, 2, "Earth_OnLeaveCombat")
RegisterUnitEvent(28584, 3, "Earth_OnKilledTarget")
RegisterUnitEvent(28584, 4, "Earth_OnDied")
Water Elemental No changes
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:

Every times he kills a players he uses Rock shield (making im protected from 50% of the damage for 10secs and he uses grow, making him hit for more 10%)

Phase 1(100%-90%)- He spams Arc lightning every 2 secs (hits 4-5k) and every 20 secs he does chain lighting, hitting for 8-9k 3 guys and does lightning shield 2. Very easy phase.
At 95%, he summons 4 air elemental, the IDs are some 80 elementals, do some customs and change them if u want.

Phase 2(90%-75%)- He does Arc lightning and chain lightning, like Phase1 but now he does every 30 secs Lightning nova hitting for 10-13k.
Very easy phase 2.

Phase 3(75%-50%)- He uses Water and frost spells: Every 2 secs, he spams 2,5k-3,5k Frostbolts, every 10sec he does a 1sec cast Water bolt hitting 8,5k to 11k and every 5secs he uses water blast hitting 5-6k and knocking the player back. At 65%, he summons 4 water elementals (make the custom if u want). Medium Phase
Phase 4(50%-30%)- It's a easy phase where he uses 3 earth spells. Each 20 secs he spawns a AoE spell where players must get out of it because it hit 3k each 3secs, every 2,5secs he does earth shock hitting 4,5k and does eathquake every 15sec hitting 1k and stunning for 3 secs.

At 45%, he spawns 6 easy non-elite earth elementals (make them custom if you want).
Phase 5 and last (30%-0%)- It's the hard phase where he modify's his Display ID to Prince Thunderan, the one who you need to kill to finish the quest for the legendary weapon "ThunderFury".
Every 15secs he uses Windfury hitting 3x, each 10secs he stuns a player for 8
sec making him unable to act and at each 16secs he stuns a player for 8 secs and makes him loose 1600 hp that time (not much I know ).

Each 8 secs he uses Windshear hitting 3k and knocking back the players. Each 50sec he uses Tendrils of Air, knocking a player really hard. Each 40secs he will use thunder hitting for 14-15,5k and knocking back players, each 20secs uses thunderblade hitting the normal damage but jumping to 2 additional players.