My script is completed so enjoy it
LUA SCRIPTS
Sargeras
Code:
function Sargeras_EnterCombat(pUnit,Event)
pUnit:SendChatMessage(14, 0, "How dare you challenge the Destroyer of Worlds?")
pUnit:SendChatMessage(14, 0, "You will regret it!")
pUnit:RegisterEvent("Sargeras_Chat", 20000, 0)
pUnit:RegisterEvent("Hatefull_Phase", 2000, 0)
end
--->Chatting :)<---
function Sargeras_Chat(pUnit,Event)
Choice=math.random(1,3)
if Choice==1 then
pUnit:SendChatMessage(14, 0, "Stay on task, do not waste time!")
pUnit:PlaySoundToSet(12496)
end
if Choice==2 then
pUnit:SendChatMessage(14, 0, "Fail me, and suffer for eternity")
pUnit:PlaySoundToSet(12498)
end
if Choice==3 then
pUnit:SendChatMessage(14, 0, "Very long thing, basically he tells us that he will take control over the Burning Legion!")
pUnit:PlaySoundToSet(12500)
end
end
--->Attacks ^^<---
function Sargeras_FlameCrash(pUnit,Event)
pUnit:SendChatMessage(14, 0, "You have wasted to much time mortals. Now you shall fall!")
pUnit:PlaySoundToSet(11474)
pUnit:FullCastSpellOnTarget(40832, pUnit:GetMainTank())
end
function Sargeras_FireBall(pUnit,Event)
Choice=math.random(1,3)
if Choice==1 then
pUnit:FullCastSpellOnTarget(40598, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(14, 0, "My flames shall burn you!")
end
if Choice==2 then
pUnit:FullCastSpellOnTarget(40598, pUnit:GetMainTank())
pUnit:SendChatMessage(14, 0, "Im beggining to get frustrated...!")
end
if Choice==3 then
pUnit:FullCastSpellOnTarget(40598, pUnit:GetMainTank())
pUnit:FullCastSpellOnTarget(12809, pUnit:GetMainTank())
pUnit:SendChatMessage(14, 0, "I hate tanks!")
end
end
function Sargeras_DoomFire(pUnit,Event)
pUnit:FullCastSpellOnTarget(31944, pUnit:GetRandomPlayer(0))
end
function Sargeras_Talk1(pUnit,Event)
pUnit:SendChatMessage(12, 0, "Who are you?!")
end
function Sargeras_Talk2(pUnit,Event)
pUnit:SendChatMessage(14, 0, "How dare you, fool? I will slice you!")
end
function Sargeras_Talk3(pUnit,Event)
pUnit:SendChatMessage(14, 0, "Lets decide it now!")
end
function Sargeras_AgonizingArmor(pUnit,Event)
pUnit:FullCastSpellOnTarget(36836)
end
function Sargeras_Frenzy(pUnit,Event)
pUnit:FullCastSpell(40683)
end
function Sargeras_Grow(pUnit,Event)
pUnit:FullCastSpell(36300)
end
function Sargeras_DrawSoul(pUnit,Event)
Choice=math.random(1,2)
if Choice==1 then
pUnit:FullCastSpellOnTarget(40904, pUnit:GetMainTank())
pUnit:SendChatMessage(14, 0, "AHAH You even heal me!")
end
if Choice==2 then
pUnit:FullCastSpellOnTarget(40904, pUnit:GetMainTank())
end
end
function Sargeras_Prison(pUnit,Event)
pUnit:FulCastSpellOnTarget(40647, pUnit:GetRandomPlayer(0))
end
function Sargeras_MortalStrike(pUnit,Event)
pUnit:FullCastSpellOnTarget(21553, pUnit:GetMainTank())
end
function Sargeras_Geyser(pUnit,Event)
Choice=math.random(1,2)
if Choice==1 then
pUnit:FullCastSpellOnTarget(42052, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(14, 0, "Has I promised you, here it is!")
end
if Choice==2 then
pUnit:FullCastSpellOnTarget(42052, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(14, 0, "This is the end, weaklings. Take my surprise and DIE!")
end
end
--->Phases :D(YAY)<---
function Hatefull_Phase(pUnit,Event)
if pUnit:GetHealthPct() < 85 then
pUnit:RemoveEvents()
pUnit:SendChatMessage(14, 0, "I have waited long enough!")
pUnit:PlaySoundToSet(12497)
pUnit:FullCastSpell(34912)
pUnit:RegisterEvent("Sargeras_FlameCrash", 15000, 1)
pUnit:RegisterEvent("Sargeras_FireBall", 25000, 0)
pUnit:RegisterEvent("Sargeras_DoomFire", 40000, 0)
pUnit:RegisterEvent("Sargeras_Chat", 20000, 0)
pUnit:RegisterEvent("Demonic_Phase", 2000, 0)
end
end
function Demonic_Phase(pUnit,Event)
if pUnit:GetHealthPct() < 50 then
pUnit:RemoveEvents()
RegisterEvent("Sargeras_Prison", 1000, 1)
RegisterEvent("Demonic_Phase1", 1000, 0)
end
end
function Demonic_Phase1(pUnit,Event)
pUnit:SetCombatCapable(1)
pUnit:SendChatMessage(14, 0, "Behold the power of the Demon Within!")
pUnit:PlaySoundToSet(11475)
pUnit:FullCastSpell(15473)
pUnit:SendChatMessage(12, 0, "You are uselless trash")
pUnit:SpawnCreature(22917, 542.51, 2114.76, 130.39, 2.35, 35, 0)
pUnit:RegisterEvent("Sargeras_Talk1", 2000, 1)
pUnit:RegisterEvent("Sargeras_Talk2", 8000, 1)
pUnit:RegisterEvent("Sargeras_Talk3", 14000, 1)
pUnit:RegisterEvent("Demonic_Phase2", 2000, 0)
end
end
function Demonic_Phase2(pUnit,Event)
if pUnit:IsCreature() then
pUnit:RemoveEvents()
pUnit:SetCombatCapable(0)
pUnit:FullCastSpell(15473)
pUnit:FullCastSpell(40683)
pUnit:RegisterEvent("Sargeras_FireBall", 15000, 0)
pUnit:RegisterEvent("Sargeras_Doomfire", 35000, 0)
pUnit:RegisterEvent("Sargeras_AgonizingArmor", 30000, 0)
pUnit:RegisterEvent("Sargeras_Frenzy", 20000, 0)
pUnit:RegisterEvent("Demonic Phase3", 2000, 0)
end
end
function Demonic_Phase3(pUnit,Event)
pUnit:RemoveEvents()
if pUnit:IsPlayer() then
pUnit:GetRandomPlayer(5)
pUnit:SendChatMessage(14, 0, "Illidan is uselless.. Like everyone of you!")
pUnit:FullCastSpell(15473)
pUnit:FullCastSpell(38166)
pUnit:RegisterEvent("Sargeras_Grow", 2000000, 3)
pUnit:RegisterEvent("Sargeras_FireBall", 15000, 0)
pUnit:RegisterEvent("Sargeras_AgonizingArmor", 30000, 0)
pUnit:RegisterEvent("Sargeras_DrawSoul", 25000, 0)
pUnit:RegisterEvent("Ultimate_Phase", 2000, 0)
end
end
function Ultimate_Phase(pUnit,Event)
if pUnit:GetHealthPct() < 3 then
pUnit:RemoveEvents()
pUnit:SendChatMessage(14, 0, "How is this possible?")
pUnit:SendChatMessage(12, 0, "But I have one little surprise left...")
pUnit:FullCastSpell(15473)
pUnit:FullCastSpell(38166)
pUnit:FullCastSpellOnTarget(21553, pUnit:GetMainTank())
pUnit:SetModel(6377)
pUnit:RegisterEvent("Sargeras_Talk", 20000, 0)
pUnit:RegisterEvent("Sargeras_FireBall", 15000, 0)
pUnit:RegisterEvent("Sargeras_AgonizingArmor", 27067, 0)
pUnit:RegisterEvent("Sargeras_MortalStrike", 20000, 0)
pUnit:RegisterEvent("Sargeras_DrawSoul", 30000, 6)
pUnit:RegisterEvent("Sargeras_FlameCrash", 60000, 1)
pUnit:RegisterEvent("Ending_Phase", 2000, 0)
end
end
function Ending_Phase(pUnit,Event)
if pUnit:GetHealthPct() < 1 then
pUnit:RemoveEvents()
pUnit:SendChatMessage(14, 0, "How come... But I still have that little surprise I promised you!")
pUnit:FullCastSpell(15473)
pUnit:FullCastSpell(38166)
pUnit:FullCastSpellOnTarget(21553, pUnit:GetMainTank())
pUnit:SetModel(6377)
pUnit:RegisterEvent("Sargeras_Talk", 20000, 0)
pUnit:RegisterEvent("Sargeras_FireBall", 15000, 0)
pUnit:RegisterEvent("Sargeras_AgonizingArmor", 27067, 0)
pUnit:RegisterEvent("Sargeras_MortalStrike", 20000, 0)
pUnit:RegisterEvent("Sargeras_DrawSoul", 30000, 6)
pUnit:RegisterEvent("Sargeras_Geyser", 60000, 1)
pUnit:RegisterEvent("Ending_Phase", 2000, 0)
end
end
function Sargeras_Death(pUnit,Event)
pUnit:RemoveEvents()
pUnit:SendChatMessage(12, 0, "How is this possible... Weaklings killing the Lord of the Burning Legion... Ahhh...")
end
function Sargeras_LeaveCombat(pUnit,Event)
pUnit:RemoveEvents()
end
function Sargeras_KilledTarget(pUnit,Event)
Choice=math.random(1,3)
if Choice==1 then
pUnit:SendChatMessage(14, 0, "One by one, they fall!")
end
if Choice==2 then
pUnit:SendChatMessage(14, 0, "I will not be touched by a rebel such as you!")
pUnit:PlaySoundToSet(11479)
end
if Choice==3 then
pUnit:SendChatMessage(14, 0, "This is too easy")
pUnit:PlaySoundToSet(11472)
end
end
RegisterUnitEvent(179680, 1, "Sargeras_EnterCombat")
RegisterUnitEvent(179680, 2, "Sargeras_Death")
RegisterUnitEvent(179680, 3, "Sargeras_LeaveCombat")
RegisterUnitEvent(179680, 4, "Sargeras_KilledTarget")
Illidan
Code:
function Illidan_EnterCombat(pUnit,Event)
pUnit:SetCombatCapable(1)
RegisterEvent("Illidan_Talk1", 5000, 1)
RegisterEvent("Illidan_Talk2", 11000, 1)
RegisterEvent("Illidan_Talk3", 17000, 1)
RegisterEvent("Fight_Phase", 1000, 0)
end
function Illidan_Talk1(pUnit,Event)
pUnit:SendChatMessage(12, 0, "I am Illidan Stormrage... Im here to kill you.")
end
function Illidan_Talk2(pUnit,Event)
pUnit:SendChatMessage(14, 0, "Im here to challenge you... In the name of Outland!")
end
function Illidan_Talk3(pUnit,Event)
pUnit:SendChatMessage(14, 0, "You are not prepared!")
pUnit:PlaySoundToSet(11466)
end
function Fight_phase(pUnit,Event)
pUnit:RemoveEvents()
if pUnit:IsCreature() then
pUnit:SetCombatCapable(0)
RegisterEvent("Despawn_Phase1", 1000, 0)
end
end
function Despawn_Phase1(pUnit,Event)
if pUnit:GetHealthPct() <30 then
RegisterEvent("Illidan_Chat1", 2000, 1)
RegisterEvent("Illidan_Chat2", 7000, 1)
RegisterEvent("Illidan_Chat3", 14000, 1)
RegisterEvent("Illidan_Chat4", 18000, 1)
RegisterEvent("Despawn_Phase2", 1000, 0)
end
end
function Illidan_Chat1(pUnit,Event)
pUnit:SendChatMessage(12, 0, "I am loosing...Argh!")
end
function Illidan_Chat2(pUnit,Event)
pUnit:SendChatMessage(12, 0, "I suppose I'm defeated...")
end
function Illidan_Chat3(pUnit,Event)
pUnit:SendChatMessage(12, 0, "BUT, you knights are the only hope... You shall kill him!")
end
function Illidan_Chat4(pUnit,Event)
pUnit:SendChatMessage(12, 0, "I will go now... keep up the task!")
end
function Despawn_Phase2(pUnit,Event)
pUnit:RemoveEvents()
pUnit:Despawn(1000, 0)
end
RegisterUnitEvent(229170, 1, "Illidan_EnterCombat")
DESCRIPTION
Phase 1 - In this phase he will only do normal attacks and say random things
Phase 2 - He will start doing his spells... Watch out!
Phase 3 - This is the phase where his chatting with Illidan Beggins... Players will be stunned for 30 secs (I still have to make Illidans script lol)
Phase 4 - Ok now he has Shadowform, Berserking and the main tank will be Illidan (he is your friend here )
Phase 5 - When Illidan is at 30% he will despawn and Sargeras will target someone with rage. He will have his berserk and shadowform on, and will have 2 new dangerous attacks. One which heals himself and another where he grows up and increases attack power
Phase 6 - This is the Ultimate Phase (3%!). Here he changes his model and becomes a dragon. Carefull here, he begins to cast Mortal Strike on the Main Tank, Reducing the effectivness of healing spells on him by 50%
Phase 7 - Last Phase, where he casts Geyser, AoE spell causing 4000-6000 dmg to all players in a 15 yard radius
SQL'S
Sargeras
Code:
INSERT INTO creature_names (entry, name, subname, info_str, Flags1, type, family, rank, male_displayid, female_displayid, male_displayid2, female_displayid2, civilian, leader)
VALUES ('179680','Sargeras','The Destroyer of Worlds','','0','3','0','3','20939','0','0','0','0','0')
INSERT INTO creature_proto (entry, minlevel, maxlevel, faction, minhealth, maxhealth, mana, scale, npcflags, attacktime, mindamage, maxdamage, rangedattacktime, rangedmindamage, rangedmaxdamage, mountdisplayid, equipmodel1, equipmodel2, equipmodel3, respawntime, armor, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, combat_reach, auras, boss, money, invisibility_type, death_state, walk_speed, run_speed, fly_speed)
VALUES ('179680','73','73','90','23000000','23000000','1000000','0','2000','25000','30000','0','0','0','0','0','0','0','0','9000','0','0','0','0','0','0','3','0','1','5000000','0','0','2.5','8','14')
Illidan
Code:
INSERT INTO creature_names (entry, name, subname, info_str, Flags1, type, family, rank, male_displayid, female_displayid, male_displayid2, female_displayid2, civilian, leader)
VALUES ('229170','Illidan Stormrage','The Betrayer','','0','3','0','3','21135','0','0','0','0','1')
INSERT INTO creature_proto (entry, minlevel, maxlevel, faction, minhealth, maxhealth, mana, scale, npcflags, attacktime, mindamage, maxdamage, rangedattacktime, rangedmindamage, rangedmaxdamage, mountdisplayid, equipmodel1, equipmodel2, equipmodel3, respawntime, armor, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, combat_reach, auras, boss, money, invisibility_type, death_state, walk_speed, run_speed, fly_speed)
VALUES ('229170','73','73','1820','5534309','5534309','10000','0','2000','10000','14000','0','0','0','0','45479','45481','0','360000','8000','25','25','25','25','25','25','1','0','1','0','0','0','2.5','8','14')
Please give me your opinion and of course, if you find any errors, tell me ^^
Im just missing the scripts
And thanks to Nymphx for teaching me the math.random command