Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local darion
- local arthas
- local darionID = 100000
- local arthasID = 100001
- function darion_bla(pUnit, event)
- darion = pUnit
- end
- function arthas_bla(pUnit, event)
- arthas = pUnit
- end
- RegisterUnitEvent(darionID, 18, "darion_bla")
- RegisterUnitEvent(arthasID, 18, "arthas_bla")
- function darion_dead(pUnit, event)
- arthas:SetUInt32Value(58, 2)
- arthas:SendChatMessage(14, 0, "Darion, We could conquer the world, But you have failed!")
- arthas:Despawn(4000, 0)
- darion:Despawn(4000, 0)
- end
- function arthas_dead(pUnit, event)
- darion:SendChatMessage(14, 0, "My work is done... Farewell, Champions")
- darion:Despawn(4000, 0)
- arthas:Despawn(4000, 0)
- end
- RegisterUnitEvent(darionID, 4, "darion_dead")
- RegisterUnitEvent(arthasID, 4, "arthas_dead")
- function Darion_menu(pUnit, event, player)
- pUnit:GossipCreateMenu(100, player, 0)
- pUnit:GossipMenuAddItem(0, "Summon Him!", 1, 0)
- pUnit:GossipSendMenu(player)
- end
- function Darion_onselect(pUnit, event, player, id, intid, code, pMisc)
- if(intid == 1) then
- pUnit:SendChatMessage(14, 0, "Be prepared!")
- pUnit:SetNPCFlags(2)
- RegisterTimedEvent("Darion_summon", 2000, 1, pUnit, event)
- player:GossipComplete()
- end
- end
- function Darion_summon(pUnit, event)
- pUnit:SendChatMessage(14, 0, "Now, I try to summon Arthas...")
- RegisterTimedEvent("Darion_summon2", 30000, 1, pUnit, event)
- pUnit:FullCastSpell(32929)
- end
- function Darion_summon2(pUnit, event)
- darion:SpawnCreature(arthasID, darion:GetX()+5, darion:GetY(), darion:GetZ(), darion:GetO()+2.5, 1882, 24000)
- arthas:SetUInt32Value(58, 0)
- arthas:SetTauntedBy(darion)
- darion:SetTauntedBy(arthas)
- arthas:SetUInt32Value(58, 2)
- RegisterTimedEvent("Arthas_talk1", 3000, 1, pUnit, event)
- pUnit:RemoveEvents()
- end
- RegisterUnitGossipEvent(darionID, 1, "Darion_menu")
- RegisterUnitGossipEvent(darionID, 2, "Darion_onselect")
- function Arthas_talk1(pUnit, event)
- arthas:SendChatMessage(14, 0, "Aaah Darion! What are you doing?!")
- pUnit:RegisterEvent("darion_talk1", 4000, 1)
- end
- function darion_talk1(pUnit, event)
- darion:SendChatMessage(14, 0, "What do you think, Arthas? We want to kill you!")
- pUnit:RegisterEvent("arthas_talk2", 4000, 1)
- end
- function arthas_talk2(pUnit, event)
- arthas:SendChatMessage(14, 0, "HAHAHA, Outrageously funny, Darion! Noone can stop me!")
- pUnit:RegisterEvent("darion_talk2", 4000, 1)
- end
- function darion_talk2(pUnit, event)
- darion:SendChatMessage(14, 0, "We will see...")
- pUnit:RegisterEvent("arthas_mind1", 4000, 1)
- end
- function arthas_mind1(pUnit, event)
- arthas:FullCastSpellOnTarget(60857, darion)
- pUnit:RegisterEvent("darion_mind1", 4000, 1)
- end
- function darion_mind1(pUnit, event)
- darion:SendChatMessage(14, 0, "What?... NOOO!")
- pUnit:RegisterEvent("darion_faction", 2000, 1)
- end
- function darion_faction(pUnit, event)
- darion:SetFaction(14)
- pUnit:RegisterEvent("darion_phase1", 1000, 1)
- end
- function darion_phase1(pUnit, event)
- pUnit:RegisterEvent("dar_burst1", 19000, 0)
- pUnit:RegisterEvent("dar_burst2", 17200, 0)
- pUnit:RegisterEvent("dar_wrath", 19800, 0)
- pUnit:RegisterEvent("dar_bash", 25200, 0)
- pUnit:RegisterEvent("darion_phase2", 1000, 0)
- end
- function dar_burst1(pUnit, event)
- darion:FullCastSpellOnTarget(71468, darion:GetRandomPlayer(0))
- end
- function dar_burst2(pUnit, event)
- darion:FullCastSpellOnTarget(71469, darion:GetRandomPlayer(0))
- end
- function dar_wrath(pUnit, event)
- darion:FullCastSpell(43430)
- end
- function dar_bash(pUnit, event)
- darion:FullCastSpellOnTarget(25515, darion:GetRandomPlayer(0))
- end
- function darion_phase2(pUnit, event)
- if pUnit:GetHealthPct() < 85 then
- pUnit:RemoveEvents()
- pUnit:RegisterEvent("dar_deliver", 15000, 0)
- pUnit:RegisterEvent("dar_judgement", 15800, 0)
- pUnit:RegisterEvent("dar_shield", 18000, 0)
- pUnit:RegisterEvent("dar_renew", 8000, 0)
- pUnit:RegisterEvent("darion_phase3", 1000, 0)
- end
- end
- function dar_deliver(pUnit, event)
- darion:FullCastSpell(70760)
- end
- function dar_shield(pUnit, event)
- darion:FullCastSpell(68034)
- end
- function dar_renew(pUnit, event)
- darion:FullCastSpell(66177)
- end
- function dar_judgement(pUnit, event)
- darion:FullCastSpellOnTarget(68019, darion:GetRandomPlayer(0))
- end
- function darion_phase3(pUnit, event)
- if pUnit:GetHealthPct() < 65 then
- darion:RemoveAura(60857)
- darion:RemoveAura(70760)
- darion:RemoveAura(66177)
- darion:RemoveAura(43430)
- darion:SetFaction(1866)
- darion:RemoveEvents()
- darion:SetCombatCapable(1)
- darion:Root()
- darion:ClearThreatList()
- pUnit:RegisterEvent("darion_summonagain", 3000, 1)
- end
- end
- function darion_summonagain(pUnit, event)
- darion:SpawnCreature(arthasID, darion:GetX()+5, darion:GetY(), darion:GetZ(), darion:GetO()+2.5, 1882, 0)
- arthas:SetUInt32Value(58, 0)
- arthas:SetTauntedBy(darion)
- darion:SetTauntedBy(arthas)
- arthas:SetUInt32Value(58, 2)
- darion:SetUInt32Value(58, 2)
- pUnit:RegisterEvent("arthas_talk3", 3000, 1)
- end
- function arthas_talk3(pUnit, event)
- arthas:SendChatMessage(14, 0, "Uhmm, Darion, You're stronger than I thought...")
- pUnit:RegisterEvent("arthas_sword", 2000, 1)
- end
- function arthas_sword(pUnit, event)
- arthas:FullCastSpell(72729)
- pUnit:RegisterEvent("darion_ready", 5000, 1)
- end
- function darion_ready(pUnit, event)
- darion:SendChatMessage(14, 0, "Ok, Arthas, We're ready!")
- darion:SetHealthPct(100)
- pUnit:RegisterEvent("arthas_faction", 2000, 1)
- end
- function arthas_faction(pUnit, event)
- arthas:SetFaction(14)
- darion:SetCombatCapable(0)
- darion:Unroot()
- arthas:SetUInt32Value(58, 0)
- darion:SetUInt32Value(58, 0)
- pUnit:RegisterEvent("arthas_phase1", 1000, 1)
- pUnit:RegisterEvent("darion_aphase1", 1000, 1)
- end
- function arthas_phase1(pUnit, event)
- local select = math.random (1, 3)
- if (select == 1) then
- arthas:FullCastSpell(55222)
- arthas:SendChatMessage(14, 0, "Become the part of the scourge or die!")
- pUnit:RegisterEvent("arthas_unholy", 1000, 1)
- elseif (select == 2) then
- arthas:FullCastSpell(50689)
- arthas:SendChatMessage(14, 0, "You shall serve the one, true, king!")
- pUnit:RegisterEvent("arthas_blood", 1000, 1)
- elseif (select == 3) then
- arthas:FullCastSpell(48263)
- arthas:SendChatMessage(14, 0, "The Lich King has given me true power!")
- pUnit:RegisterEvent("arthas_frost", 1000, 0)
- end
- end
- function arthas_unholy(pUnit, event)
- pUnit:RegisterEvent("DaD", 19000, 0)
- pUnit:RegisterEvent("death_coil", 23000, 0)
- pUnit:RegisterEvent("death_blast", 15000, 0)
- pUnit:RegisterEvent("arthas_uphase2", 1000, 0)
- end
- function DaD(pUnit, event)
- arthas:FullCastSpell(72109)
- end
- function death_coil(pUnit, event)
- arthas:FullCastSpellOnTarget(68141, darion)
- end
- function death_blast(pUnit, event)
- arthas:FullCastSpellOnTarget(38819, arthas:GetRandomPlayer(0))
- end
- function arthas_uphase2(pUnit, event)
- if arthas:GetHealthPct() < 75 then
- pUnit:RemoveAllAuras()
- pUnit:RemoveEvents()
- pUnit:RegisterEvent("death_plague", 16000, 0)
- pUnit:RegisterEvent("deathembrance", 23000, 0)
- pUnit:RegisterEvent("deathchill", 15000, 0)
- pUnit:RegisterEvent("arthas_uphase3", 1000, 0)
- end
- end
- function death_plague(pUnit, event)
- arthas:FullCastSpellOnTarget(72865, arthas:GetRandomPlayer(0))
- end
- function deathembrance(pUnit, event)
- arthas:FullCastSpell(53635)
- end
- function deatchchill(pUnit, event)
- arthas:FullCastSpell(72487)
- end
- function arthas_uphase3(pUnit, event)
- if arthas:GetHealthPct() < 45 then
- arthas:RemoveAllAuras()
- arthas:RemoveEvents()
- pUnit:RegisterEvent("death_plague", 13000, 0)
- pUnit:RegisterEvent("deathembrance", 23000, 0)
- pUnit:RegisterEvent("deathchill", 16000, 0)
- pUnit:RegisterEvent("DaD", 19000, 0)
- pUnit:RegisterEvent("death_coil", 21000, 0)
- pUnit:RegisterEvent("death_blast", 15000, 0)
- end
- end
- function arthas_blood(pUnit, event)
- pUnit:RegisterEvent("bloodbolt", 19000, 0)
- pUnit:RegisterEvent("arm_of_law", 23000, 0)
- pUnit:RegisterEvent("obliterate", 15000, 0)
- pUnit:RegisterEvent("arthas_bphase2", 1000, 0)
- end
- function arthas_bphase2(pUnit, event)
- if arthas:GetHealthPct() < 75 then
- arthas:RemoveEvents()
- arthas:RegisterEvent("bloodbolt", 13000, 0)
- arthas:RegisterEvent("obliterate", 6000, 0)
- arthas:RegisterEvent("rend_flesh", 28000, 0)
- arthas:RegisterEvent("arthas_bphase3", 1000, 0)
- end
- end
- function arthas_bphase3(pUnit, event)
- if arthas:GetHealthPct() < 35 then
- arthas:RemoveEvents()
- arthas:RegisterEvent("rending_throw", 30000, 0)
- arthas:RegisterEvent("valkyr", 13000, 0)
- arthas:RegisterEvent("wound_strike", 17000, 0)
- arthas:RegisterEvent("rend_flesh", 25000, 0)
- arthas:RegisterEvent("arm_of_law", 19000, 0)
- end
- end
- function arthas_frost(pUnit, event)
- arthas:RegisterEvent("freeze_cloud", 18000, 0)
- arthas:RegisterEvent("frost_volley", 13000, 0)
- arthas:RegisterEvent("pene_cold", 9000, 0)
- arthas:RegisterEvent("shadow_lance", 21000, 0)
- arthas:RegisterEvent("arthas_fphase2", 1000, 0)
- end
- function arthas_fphase2(pUnit, event)
- if arthas:GetHealthPct() < 75 then
- arthas:RemoveEvents()
- arthas:RegisterEvent("frost_armor", 1000, 1)
- arthas:RegisterEvent("frost_aura", 13000, 3)
- arthas:RegisterEvent("frost_blast", 10000, 0)
- arthas:RegisterEvent("arthas_fphase3", 1000, 0)
- end
- end
- function arthas_fphase3(pUnit, event)
- if arthas:GetHealthPct() < 35 then
- arthas:RemoveEvents()
- arthas:RegisterEvent("frost_breath", 18000, 0)
- arthas:RegisterEvent("frost_nova", 13000, 0)
- arthas:RegisterEvent("frost_blast", 10000, 0)
- arthas:RegisterEvent("frost_volley", 15000, 0)
- arthas:RegisterEvent("pene_cold", 9000, 0)
- end
- end
- function freeze_cloud(pUnit, event)
- arthas:FullCastSpellOnTarget(60020, arthas:GetRandomPlayer(0))
- end
- function frost_volley(pUnit, event)
- arthas:FullCastSpell(72908, arthas:GetRandomPlayer(0))
- end
- function pene_cold(pUnit, event)
- arthas:FullCastSpellOnTarget(68510, arthas:GetRandomPlayer(0))
- end
- function shadow_lance(pUnit, event)
- arthas:FullCastSpellOnTarget(69058, arthas:GetRandomPlayer(0))
- end
- function frost_armor(pUnit, event)
- arthas:FullCastSpell(31256)
- end
- function frost_aura(pUnit, event)
- arthas:FullCastSpell(70084)
- end
- function frost_blast(pUnit, event)
- arthas:FullCastSpellOnTarget(72123, arthas:GetRandomPlayer(0))
- end
- function frost_breath(pUnit, event)
- arthas:FullCastSpellOnTarget(49111, arthas:GetRandomPlayer(0))
- end
- function frost_nova(pUnit, event)
- arthas:FullCastSpell(62597)
- end
- function bloodbolt(pUnit, event)
- arthas:FullCastSpellOnTarget(71481, arthas:GetRandomPlayer(0))
- end
- function arm_of_law(pUnit, event)
- arthas:FullCastSpellOnTarget(63846, arthas:GetRandomPlayer(0))
- end
- function obliterate(pUnit, event)
- arthas:FullCastSpellOnTarget(72360, arthas:GetClosestPlayer())
- end
- function rend_flesh(pUnit, event)
- arthas:FullCastSpellOnTarget(71154, arthas:GetClosestPlayer())
- end
- function rending_throw(pUnit, event)
- arthas:FullCastSpellOnTarget(70309, arthas:GetRandomPlayer(0))
- end
- function valkyr(pUnit, event)
- arthas:FullCastSpell(71843)
- arthas:FullCastSpell(71844)
- end
- function wound_strike(pUnit, event)
- arthas:FullCastSpellOnTarget(72571, arthas:GetClosestPlayer())
- end
- function darion_aphase1(pUnit, event)
- pUnit:RegisterEvent("dar_burst3", 19000, 0)
- pUnit:RegisterEvent("dar_burst4", 17200, 0)
- pUnit:RegisterEvent("dar_wrath", 19800, 0)
- pUnit:RegisterEvent("dar_bash2", 25200, 0)
- pUnit:RegisterEvent("dar_deliver", 15000, 0)
- pUnit:RegisterEvent("dar_judgement2", 15800, 0)
- pUnit:RegisterEvent("dar_shield", 18000, 0)
- pUnit:RegisterEvent("dar_renew", 8000, 0)
- end
- function dar_burst3(pUnit, event)
- darion:FullCastSpellOnTarget(71468, arthas)
- end
- function dar_burst4(pUnit, event)
- darion:FullCastSpellOnTarget(71469, arthas)
- end
- function dar_bash2(pUnit, event)
- darion:FullCastSpellOnTarget(25515, arthas)
- end
- function dar_judgement2(pUnit, event)
- darion:FullCastSpellOnTarget(68019, arthas)
- end
Advertisement
Add Comment
Please, Sign In to add comment