k1ng01
25-03-10, 05:05 PM
Ok, so here's my second attempt in making a LUA "Boss script" i know it's not the best but i thought i'd share it since it was a fun fight! :D
Well before he hits phase 1 he starts off casting bolts,curses and a few stuns here and there nothing to serious just a simple fight in the beginning
Phase 1 - He'll cast "HOLY BLAST and that'll knock everyone close range of him and possibly medium range as well. after that he'll throw down consecration every few seconds and it'll do quite a bit of damage so watch out for that (you can move the boss out of that "but he'll end up casting it again very soon) after he finishes with those he'll end up casting more HOLY spells "divine storm, crusader strike and holy bolt" along with holy blast every 20 seconds along with a stun every 30 seconds (this are instant cast spells)
Phase 2 - He goes into a unholy phase and cast UNHOLY spells most spells are casted on random targets (some spells do damage to nearby allies also) he lays down a strong "death and decay" later on he'll eventually use the spell "army of the dead" every 25 seconds and after all that its just a few unholy spells on random players :D
Phase - Not much to really say here besides its half unholy and half holy spells (may sound lame but it works pretty cool) :)
AND NOW!
Phase 4 - It's all phase 1 and 2 spells on this part except they dish out a little faster along with a few newer spells so more damage will be done on EVERY player 2 AOE's will be droped more curses/dots will be casted along with more bolts casted at random players :D
Well here ya go i hope you like it :p
it's not the best (and i know it's newbish haha) but it's fun and works fine :D so enjoy.
LUA -
function Gioran_OnCombat(Unit, Event)
Unit:SendChatMessage(14, 0, "So you mortals have chosen your own fate? let us see about that!")
Unit:RegisterEvent("Gioran_stun", 40000, 1)
Unit:RegisterEvent("Gioran_holybolt", 5000, 0)
Unit:RegisterEvent("Gioran_bolt2", 10000, 0)
Unit:RegisterEvent("Gioran_curse", 5500, 1)
Unit:RegisterEvent("Gioran_bolt3", 14000, 1)
Unit:RegisterEvent("Gioran_bolt4", 15000, 1)
Unit:RegisterEvent("Gioran_Phase1", 1000, 0)
Unit:RegisterEvent("Gioran_Summon", 60000, 2)
Unit:RegisterEvent("Gioran_Summon2", 60000, 2)
end
function Gioran_Summon2(Unit, Event)
Unit:SpawnCreature (75001, 2495.88, -4282.51, 74.1301, 2.14728, 14, 60000);
end
function Gioran_Summon(Unit, Event)
local x = Unit:GetX();
local y = Unit:GetY();
local z = Unit:GetZ();
local o = Unit:GetO();
Unit:SpawnCreature (75001, x, y, z, o, 14 ,60000);
end
function Gioran_aoe(Unit, Event)
Unit:FullCastSpellOnTarget(60953, Unit:GetMainTank())
end
function Gioran_bolt2(Unit, Event)
Unit:FullCastSpellOnTarget(70281, Unit:GetRandomPlayer(0))
end
function Gioran_bolt3(Unit, Event)
Unit:FullCastSpellOnTarget(38441, Unit:GetRandomPlayer(0))
end
function Gioran_bolt4(Unit, Event)
Unit:FullCastSpellOnTarget(72489, Unit:GetRandomPlayer(0))
end
function Gioran_holybolt(Unit, Event)
Unit:FullCastSpellOnTarget(57465, Unit:GetRandomPlayer(0))
end
function Gioran_curse(Unit, Event)
Unit:FullCastSpellOnTarget(68138, Unit:GetRandomPlayer(0))
end
function Gioran_bolt(Unit, Event)
Unit:FullCastSpellOnTarget(73784, Unit:GetRandomPlayer(0))
end
function Gioran_stun(Unit, Event)
Unit:FullCastSpellOnTarget(29511, Unit:GetRandomPlayer(0))
end
function Gioran_curse2(Unit, Event)
Unit:FullCastSpellOnTarget(72865, Unit:GetRandomPlayer(0))
end
function Gioran_boom(Unit, Event)
Unit:FullCastSpellOnTarget(59700, Unit:GetMainTank())
end
function Gioran_shock(Unit, Event)
Unit:FullCastSpellOnTarget(59726, Unit:GetMainTank())
end
function Gioran_divine(Unit, Event)
Unit:FullCastSpellOnTarget(53385, Unit:GetClosestPlayer())
end
function Gioran_Phase1(Unit, event)
if Unit:GetHealthPct() <90 then
Unit:RemoveEvents()
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "The fight has just begun.")
Unit:FullCastSpellOnTarget(59726, Unit:GetClosestPlayer())
Unit:RegisterEvent("Gioran_shock", 550000, 1)
Unit:RegisterEvent("Gioran_boom", 15000, 1)
Unit:RegisterEvent("Gioran_stun", 30000, 1)
Unit:RegisterEvent("Gioran_bolt", 5000, 0)
Unit:RegisterEvent("Gioran_bolt", 10000, 1)
Unit:RegisterEvent("Gioran_bolt2", 5000, 0)
Unit:RegisterEvent("Gioran_curse", 5500, 1)
Unit:RegisterEvent("Gioran_bolt3", 9000, 1)
Unit:RegisterEvent("Gioran_bolt4", 12000, 1)
Unit:CastSpell(43429)
Unit:CastSpell(59726)
Unit:RegisterEvent("Gioran_Phase2", 1000, 0)
else
end
end
function Gioran_Phase2(Unit, event)
if Unit:GetHealthPct() <75 then
Unit:RemoveEvents()
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "The world will fall upon you mortals!")
Unit:FullCastSpellOnTarget(59726, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(57369, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(29563, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(70437, Unit:GetMainTank())
Unit:FullCastSpellOnTarget(53639, Unit:GetMainTank())
Unit:RegisterEvent("Gioran_stun", 40000, 1)
Unit:RegisterEvent("Gioran_bolt2", 3500, 0)
Unit:RegisterEvent("Gioran_curse", 5500, 1)
Unit:RegisterEvent("Gioran_bolt3", 9000, 1)
Unit:RegisterEvent("Gioran_bolt4", 12000, 1)
Unit:CastSpell(59726)
Unit:CastSpell(55974)
Unit:CastSpell(24437)
Unit:RegisterEvent("Gioran_Phase3", 1000, 0)
else
end
end
function Gioran_Phase3(Unit, event)
if Unit:GetHealthPct() <50 then
Unit:RemoveEvents()
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "This is not your fate mortals. turn back now!")
Unit:FullCastSpellOnTarget(59726, Unit:GetClosestPlayer())
Unit:RegisterEvent("Gioran_shock", 550000, 1)
Unit:RegisterEvent("Gioran_boom", 20000, 1)
Unit:RegisterEvent("Gioran_stun", 30000, 1)
Unit:RegisterEvent("Gioran_bolt", 2000, 1)
Unit:RegisterEvent("Gioran_curse", 20000, 2)
Unit:CastSpell(55974)
Unit:CastSpell(24437)
Unit:CastSpell(43429)
Unit:CastSpell(53385)
Unit:CastSpell(59726)
Unit:RegisterEvent("Gioran_stun", 40000, 1)
Unit:RegisterEvent("Gioran_bolt2", 9000, 0)
Unit:RegisterEvent("Gioran_curse", 5500, 1)
Unit:RegisterEvent("Gioran_bolt3", 12000, 1)
Unit:RegisterEvent("Gioran_bolt4", 15000, 1)
Unit:RegisterEvent("Gioran_Phase4", 1000, 0)
else
end
end
function Gioran_Phase4(Unit, event)
if Unit:GetHealthPct() <25 then
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "This ends now. it is time for my power to fully unleash!")
Unit:FullCastSpellOnTarget(59726, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(57369, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(29563, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(70437, Unit:GetMainTank())
Unit:FullCastSpellOnTarget(53639, Unit:GetMainTank())
Unit:RegisterEvent("Gioran_aoe", 5000, 1)
Unit:RegisterEvent("Gioran_curse", 10000, 2)
Unit:CastSpell(55974)
Unit:CastSpell(24437)
Unit:RegisterEvent("Gioran_stun", 40000, 1)
Unit:RegisterEvent("Gioran_holybolt", 5000, 0)
Unit:RegisterEvent("Gioran_bolt2", 9000, 0)
Unit:RegisterEvent("Gioran_curse", 5500, 1)
Unit:RegisterEvent("Gioran_bolt3", 12000, 1)
Unit:RegisterEvent("Gioran_bolt4", 15000, 1)
Unit:CastSpell(53385)
Unit:CastSpell(59726)
else
end
end
function Gioran_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents()
end
function Gioran_OnKilledTarget(Unit, Event)
Unit:SendChatMessage(14, 0, "You have failed foolish one")
end
function Gioran_OnDied(Unit, Event)
Unit:SendChatMessage(14, 0, "Wait... this cannot be, it's not suppose to end this way! well... i guess you champions are worthy enough for this world, may you find what you seek in this life.")
Unit:RemoveEvents()
end
RegisterUnitEvent(75000, 1, "Gioran_OnCombat")
RegisterUnitEvent(75000, 2, "Gioran_OnLeaveCombat")
RegisterUnitEvent(75000, 3, "Gioran_OnKilledTarget")
RegisterUnitEvent(75000, 4, "Gioran_OnDied")
Servant LUA -
function servant_OnCombat(Unit, Event)
Unit:SendChatMessage(14, 0, "For master...!")
Unit:RegisterEvent("servant_aura", 5000, 0)
Unit:RegisterEvent("servant_slash1", 10000, 0)
Unit:RegisterEvent("servant_slash2", 5000, 0)
end
function servant_aura(Unit, Event)
Unit:FullCastSpellOnTarget(72523, Unit:GetRandomPlayer(0))
end
function servant_slash1(Unit, Event)
Unit:FullCastSpellOnTarget(42395, Unit:GetRandomPlayer(0))
end
function servant_slash2(Unit, Event)
Unit:FullCastSpellOnTarget(55249, Unit:GetRandomPlayer(0))
end
function servant_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents()
end
function servant_OnKilledTarget(Unit, Event)
end
function servant_OnDied(Unit, Event)
Unit:RemoveEvents()
end
RegisterUnitEvent(75001, 1, "servant_OnCombat")
RegisterUnitEvent(75001, 2, "servant_OnLeaveCombat")
RegisterUnitEvent(75001, 3, "servant_OnKilledTarget")
RegisterUnitEvent(75001, 4, "servant_OnDied")
SQL here - SQL HERE! :D (http://pastebin.com/MWD580ev)
Well before he hits phase 1 he starts off casting bolts,curses and a few stuns here and there nothing to serious just a simple fight in the beginning
Phase 1 - He'll cast "HOLY BLAST and that'll knock everyone close range of him and possibly medium range as well. after that he'll throw down consecration every few seconds and it'll do quite a bit of damage so watch out for that (you can move the boss out of that "but he'll end up casting it again very soon) after he finishes with those he'll end up casting more HOLY spells "divine storm, crusader strike and holy bolt" along with holy blast every 20 seconds along with a stun every 30 seconds (this are instant cast spells)
Phase 2 - He goes into a unholy phase and cast UNHOLY spells most spells are casted on random targets (some spells do damage to nearby allies also) he lays down a strong "death and decay" later on he'll eventually use the spell "army of the dead" every 25 seconds and after all that its just a few unholy spells on random players :D
Phase - Not much to really say here besides its half unholy and half holy spells (may sound lame but it works pretty cool) :)
AND NOW!
Phase 4 - It's all phase 1 and 2 spells on this part except they dish out a little faster along with a few newer spells so more damage will be done on EVERY player 2 AOE's will be droped more curses/dots will be casted along with more bolts casted at random players :D
Well here ya go i hope you like it :p
it's not the best (and i know it's newbish haha) but it's fun and works fine :D so enjoy.
LUA -
function Gioran_OnCombat(Unit, Event)
Unit:SendChatMessage(14, 0, "So you mortals have chosen your own fate? let us see about that!")
Unit:RegisterEvent("Gioran_stun", 40000, 1)
Unit:RegisterEvent("Gioran_holybolt", 5000, 0)
Unit:RegisterEvent("Gioran_bolt2", 10000, 0)
Unit:RegisterEvent("Gioran_curse", 5500, 1)
Unit:RegisterEvent("Gioran_bolt3", 14000, 1)
Unit:RegisterEvent("Gioran_bolt4", 15000, 1)
Unit:RegisterEvent("Gioran_Phase1", 1000, 0)
Unit:RegisterEvent("Gioran_Summon", 60000, 2)
Unit:RegisterEvent("Gioran_Summon2", 60000, 2)
end
function Gioran_Summon2(Unit, Event)
Unit:SpawnCreature (75001, 2495.88, -4282.51, 74.1301, 2.14728, 14, 60000);
end
function Gioran_Summon(Unit, Event)
local x = Unit:GetX();
local y = Unit:GetY();
local z = Unit:GetZ();
local o = Unit:GetO();
Unit:SpawnCreature (75001, x, y, z, o, 14 ,60000);
end
function Gioran_aoe(Unit, Event)
Unit:FullCastSpellOnTarget(60953, Unit:GetMainTank())
end
function Gioran_bolt2(Unit, Event)
Unit:FullCastSpellOnTarget(70281, Unit:GetRandomPlayer(0))
end
function Gioran_bolt3(Unit, Event)
Unit:FullCastSpellOnTarget(38441, Unit:GetRandomPlayer(0))
end
function Gioran_bolt4(Unit, Event)
Unit:FullCastSpellOnTarget(72489, Unit:GetRandomPlayer(0))
end
function Gioran_holybolt(Unit, Event)
Unit:FullCastSpellOnTarget(57465, Unit:GetRandomPlayer(0))
end
function Gioran_curse(Unit, Event)
Unit:FullCastSpellOnTarget(68138, Unit:GetRandomPlayer(0))
end
function Gioran_bolt(Unit, Event)
Unit:FullCastSpellOnTarget(73784, Unit:GetRandomPlayer(0))
end
function Gioran_stun(Unit, Event)
Unit:FullCastSpellOnTarget(29511, Unit:GetRandomPlayer(0))
end
function Gioran_curse2(Unit, Event)
Unit:FullCastSpellOnTarget(72865, Unit:GetRandomPlayer(0))
end
function Gioran_boom(Unit, Event)
Unit:FullCastSpellOnTarget(59700, Unit:GetMainTank())
end
function Gioran_shock(Unit, Event)
Unit:FullCastSpellOnTarget(59726, Unit:GetMainTank())
end
function Gioran_divine(Unit, Event)
Unit:FullCastSpellOnTarget(53385, Unit:GetClosestPlayer())
end
function Gioran_Phase1(Unit, event)
if Unit:GetHealthPct() <90 then
Unit:RemoveEvents()
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "The fight has just begun.")
Unit:FullCastSpellOnTarget(59726, Unit:GetClosestPlayer())
Unit:RegisterEvent("Gioran_shock", 550000, 1)
Unit:RegisterEvent("Gioran_boom", 15000, 1)
Unit:RegisterEvent("Gioran_stun", 30000, 1)
Unit:RegisterEvent("Gioran_bolt", 5000, 0)
Unit:RegisterEvent("Gioran_bolt", 10000, 1)
Unit:RegisterEvent("Gioran_bolt2", 5000, 0)
Unit:RegisterEvent("Gioran_curse", 5500, 1)
Unit:RegisterEvent("Gioran_bolt3", 9000, 1)
Unit:RegisterEvent("Gioran_bolt4", 12000, 1)
Unit:CastSpell(43429)
Unit:CastSpell(59726)
Unit:RegisterEvent("Gioran_Phase2", 1000, 0)
else
end
end
function Gioran_Phase2(Unit, event)
if Unit:GetHealthPct() <75 then
Unit:RemoveEvents()
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "The world will fall upon you mortals!")
Unit:FullCastSpellOnTarget(59726, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(57369, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(29563, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(70437, Unit:GetMainTank())
Unit:FullCastSpellOnTarget(53639, Unit:GetMainTank())
Unit:RegisterEvent("Gioran_stun", 40000, 1)
Unit:RegisterEvent("Gioran_bolt2", 3500, 0)
Unit:RegisterEvent("Gioran_curse", 5500, 1)
Unit:RegisterEvent("Gioran_bolt3", 9000, 1)
Unit:RegisterEvent("Gioran_bolt4", 12000, 1)
Unit:CastSpell(59726)
Unit:CastSpell(55974)
Unit:CastSpell(24437)
Unit:RegisterEvent("Gioran_Phase3", 1000, 0)
else
end
end
function Gioran_Phase3(Unit, event)
if Unit:GetHealthPct() <50 then
Unit:RemoveEvents()
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "This is not your fate mortals. turn back now!")
Unit:FullCastSpellOnTarget(59726, Unit:GetClosestPlayer())
Unit:RegisterEvent("Gioran_shock", 550000, 1)
Unit:RegisterEvent("Gioran_boom", 20000, 1)
Unit:RegisterEvent("Gioran_stun", 30000, 1)
Unit:RegisterEvent("Gioran_bolt", 2000, 1)
Unit:RegisterEvent("Gioran_curse", 20000, 2)
Unit:CastSpell(55974)
Unit:CastSpell(24437)
Unit:CastSpell(43429)
Unit:CastSpell(53385)
Unit:CastSpell(59726)
Unit:RegisterEvent("Gioran_stun", 40000, 1)
Unit:RegisterEvent("Gioran_bolt2", 9000, 0)
Unit:RegisterEvent("Gioran_curse", 5500, 1)
Unit:RegisterEvent("Gioran_bolt3", 12000, 1)
Unit:RegisterEvent("Gioran_bolt4", 15000, 1)
Unit:RegisterEvent("Gioran_Phase4", 1000, 0)
else
end
end
function Gioran_Phase4(Unit, event)
if Unit:GetHealthPct() <25 then
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "This ends now. it is time for my power to fully unleash!")
Unit:FullCastSpellOnTarget(59726, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(57369, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(29563, Unit:GetRandomPlayer(0))
Unit:FullCastSpellOnTarget(70437, Unit:GetMainTank())
Unit:FullCastSpellOnTarget(53639, Unit:GetMainTank())
Unit:RegisterEvent("Gioran_aoe", 5000, 1)
Unit:RegisterEvent("Gioran_curse", 10000, 2)
Unit:CastSpell(55974)
Unit:CastSpell(24437)
Unit:RegisterEvent("Gioran_stun", 40000, 1)
Unit:RegisterEvent("Gioran_holybolt", 5000, 0)
Unit:RegisterEvent("Gioran_bolt2", 9000, 0)
Unit:RegisterEvent("Gioran_curse", 5500, 1)
Unit:RegisterEvent("Gioran_bolt3", 12000, 1)
Unit:RegisterEvent("Gioran_bolt4", 15000, 1)
Unit:CastSpell(53385)
Unit:CastSpell(59726)
else
end
end
function Gioran_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents()
end
function Gioran_OnKilledTarget(Unit, Event)
Unit:SendChatMessage(14, 0, "You have failed foolish one")
end
function Gioran_OnDied(Unit, Event)
Unit:SendChatMessage(14, 0, "Wait... this cannot be, it's not suppose to end this way! well... i guess you champions are worthy enough for this world, may you find what you seek in this life.")
Unit:RemoveEvents()
end
RegisterUnitEvent(75000, 1, "Gioran_OnCombat")
RegisterUnitEvent(75000, 2, "Gioran_OnLeaveCombat")
RegisterUnitEvent(75000, 3, "Gioran_OnKilledTarget")
RegisterUnitEvent(75000, 4, "Gioran_OnDied")
Servant LUA -
function servant_OnCombat(Unit, Event)
Unit:SendChatMessage(14, 0, "For master...!")
Unit:RegisterEvent("servant_aura", 5000, 0)
Unit:RegisterEvent("servant_slash1", 10000, 0)
Unit:RegisterEvent("servant_slash2", 5000, 0)
end
function servant_aura(Unit, Event)
Unit:FullCastSpellOnTarget(72523, Unit:GetRandomPlayer(0))
end
function servant_slash1(Unit, Event)
Unit:FullCastSpellOnTarget(42395, Unit:GetRandomPlayer(0))
end
function servant_slash2(Unit, Event)
Unit:FullCastSpellOnTarget(55249, Unit:GetRandomPlayer(0))
end
function servant_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents()
end
function servant_OnKilledTarget(Unit, Event)
end
function servant_OnDied(Unit, Event)
Unit:RemoveEvents()
end
RegisterUnitEvent(75001, 1, "servant_OnCombat")
RegisterUnitEvent(75001, 2, "servant_OnLeaveCombat")
RegisterUnitEvent(75001, 3, "servant_OnKilledTarget")
RegisterUnitEvent(75001, 4, "servant_OnDied")
SQL here - SQL HERE! :D (http://pastebin.com/MWD580ev)