ok so i used to run a private server and i have all these scripts for bosses and trash lying around and i thought this would be EXTREMELY FUN for both horde and alliance players.....
the script i linked below is lua for lysirage lord of elements.
he is a shade of aran style boss (does not move and targets random players with spells) he also does not melee
phase 1 100%-75% frost phase
during this phase he spams frostbolts (6k-9kish dmg) on a randomly selected target(different target every frostbolt )
he casts an instant frostbolt volley that hits every target within his vicinity
he also casts a frostbolt that freezes the target in a block of ice and deals 2500 frost damage every second for 4 or 5 seconds
phase 2 75%-50% fire phase
during this phase he spams a weak fireball on random targets that start at 4-5k
he uses a flame buffet that hits all targets in his vicinity (increasing fire damage taken)
he uses magtheridons flame nova that spams a 2-3k dmg fire nova on all players in his vicinity
phase 3 50%-25% arcane phase
in this phase he spams an EXTREMELY powerful arcane blast type spell on random targets that start off at 12kish damage
he uses overload on everyone in his vicinity which increases arcane damage taken and it stacks(arcane blast will max at 20kish damage before resists)
he uses an ability that targets a player and causes everyone around that player to take low (800ish arcane damage a second) this damage not increased by overload (looks cool though)
phase 4 25%-death
upon this phase he goes into shadowform (20% less melee dmg taken)
he spams a shadow blast that hits all players around the target for 9k-10k dmg
every so often he turns into a black lightningfilled shadow cloud of doom
during the shadow cloud he spams a black chain lightning that drains mana but only does 3-5kish damage
if not killed quick enough he enrages during this phase causing his shadow blasts to hit for 50-60k...gg
function Lysirage_OnCombat(Unit, Event, miscunit, misc)
Unit:SendChatMessage(14, 0, "Do not harbor false hope. You cannot win!")
Unit:PlaySoundToSet(12509)
Unit:RegisterEvent("Lysirage_Frostbolt", 2500, 400)
Unit:RegisterEvent("Lysirage_Frostboltaoe", 10000, 400)
Unit:RegisterEvent("Lysirage_Icebolt", 25000, 400)
Unit:RegisterEvent("Phase_2", 1000, 0)
Unit:Root()
end
function Lysirage_Frostbolt(Unit, Event, miscunit, misc)
Unit:FullCastSpellOnTarget(28478, Unit:GetRandomPlayer(0))
end
function Lysirage_Frostboltaoe(Unit, Event, miscunit, misc)
Unit:CastSpell(28479, Unit:GetRandomPlayer(0))
end
function Lysirage_Icebolt(Unit, Event, miscunit, misc)
Unit:FullCastSpellOnTarget(31249, Unit:GetRandomPlayer(0))
end
function Phase_2(Unit, Event)
if Unit:GetHealthPct() <= 75 then
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "I will not be denied, this world shall fall!")
Unit:PlaySoundToSet(12508)
Unit:RegisterEvent("Lysirage_Nova", 35000, 400)
Unit:RegisterEvent("Lysirage_Fireball", 2000, 500)
Unit:RegisterEvent("Lysirage_Buffet", 10000, 500)
Unit:RegisterEvent("Phase_3", 1000, 0)
Unit:Root()
end
end
function Lysirage_Nova(Unit, Event, miscunit, misc)
Unit:CastSpell(30616, Unit:GetRandomPlayer(0))
end
function Lysirage_Fireball(Unit, Event, miscunit, misc)
Unit:FullCastSpellOnTarget(20678, Unit:GetRandomPlayer(0))
end
function Lysirage_Buffet(Unit, Event, miscunit, misc)
Unit:FullCastSpellOnTarget(41596, Unit:GetRandomPlayer(0))
end
function Phase_3(Unit, Event)
if Unit:GetHealthPct() <= 50 then
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "All my plans have led to this!")
Unit:PlaySoundToSet(12495)
Unit:RegisterEvent("Lysirage_Barrage", 2000, 400)
Unit:RegisterEvent("Lysirage_Overload", 2500, 500)
Unit:RegisterEvent("Lysirage_Storm", 25000, 100)
Unit:RegisterEvent("Phase_4", 1000, 0)
Unit:Root()
end
end
function Lysirage_Barrage(Unit, Event, miscunit, misc)
Unit:FullCastSpellOnTarget(50804, Unit:GetRandomPlayer(0))
end
function Lysirage_Overload(Unit, Event, miscunit, misc)
Unit:CastSpell(44353, Unit:GetRandomPlayer(0))
end
function Lysirage_Storm(Unit, Event, miscunit, misc)
Unit:FullCastSpellOnTarget(43648, Unit:GetRandomPlayer(0))
end
function Phase_4(Unit, Event)
if Unit:GetHealthPct() <= 25 then
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "I have waited long enough!")
Unit:PlaySoundToSet(12497)
Unit:RegisterEvent("Lysirage_Shadowform", 1000, 1)
Unit:RegisterEvent("Lysirage_Blast", 2500, 200)
Unit:RegisterEvent("Lysirage_Enrage", 60000, 1)
Unit:RegisterEvent("Lysirage_Morph", 20000, 100)
Unit:RegisterEvent("Lysirage_bolt", 1000, 2000)
morphed = 0
end
end
function Lysirage_Shadowform(Unit, Event)
Unit:CastSpell(35194)
end
function Lysirage_Blast(Unit, Event, miscunit, misc)
if morphed == 0 then
Unit:FullCastSpellOnTarget(41078, Unit:GetRandomPlayer(0))
else
end
end
function Lysirage_Enrage(Unit, Event)
Unit:CastSpell(35595, Unit:GetRandomPlayer(0))
Unit:SendChatMessage(14, 0, "Youve wasted to much time mortals, now you shall fall!")
Unit:PlaySoundToSet(11474)
end
function Lysirage_Morph(Unit, Event)
if morphed == 0 then
Unit:RegisterEvent("Lysirage_Demorph", 10000, 1)
Unit:SetModel(18996)
morphed = 1
else
end
end
function Lysirage_bolt(Unit, Event, miscunit, misc)
if morphed == 1 then
Unit:FullCastSpellOnTarget(40859, Unit:GetRandomPlayer(0))
else
end
end
function Lysirage_Demorph(Unit, Event)
if morphed == 1 then
Unit:SetModel(19392)
morphed = 0
else
end
end
function Lysirage_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents()
Unit:RemoveAura(35194)
end
function Lysirage_OnDied(Unit, Event)
Unit:RemoveEvents()
Unit:SendChatMessage(11, 0, "The... elements... failed...")
end
RegisterUnitEvent(200003, 1, "Lysirage_OnCombat")
RegisterUnitEvent(200003, 2, "Lysirage_OnLeaveCombat")
RegisterUnitEvent(200003, 4, "Lysirage_OnDied")
there it is. i was thinking he could be placed in the center of the contested AV pvp area and have a respawn timer of around 1 hour. was thinking everyone in his vicinity could gain 20ish gold when he died (give him around 5.5 million health for best results)
thank you for reading and i hope this will be used here ^^