Code:
---[start of creature script's]---
local WEPID = 33475 -- Fill in
local DOORID = 197341 -- Fill in
local SWORDID = 202302 -- Fill in
local UTHERID = 37225
local LADYID = 38189
local LKID = 37226
local JENAID = 36955
local S = {}
local C = {}
local L = {}
S.L = { -- Stored sound ID's here
s1 = 17050, s2 = 17051,
s3 = 17052, s4 = 17053,
s5 = 17054, s6 = 17055,
s7 = 17056, s10 = 17057,
u1 = 16659, u2 = 16660, -- UTHER[Unit:GetSpawnId()] speech 1 is wrong
u3 = 16661, u4 = 16662,
u5 = 16663, u6 = 16664,
u7 = 16665,
l1 = 17225, l2 = 17226,
l3 = 17227,
j1 = 16631, j2 = 16632,
j3 = 16633, j4 = 16634,
j5 = 16635, j6 = 16636,
j7 = 16637, j8 = 16638,
j9 = 16639, j10 = 16640,
j11 = 16641, j12 = 16642,
ua1 = 16666, ua2 = 16667,
ua3 = 16668, ua4 = 16668,
ua5 = 16669, ua5 = 16670,
ua6 = 16671, ua7 = 16672,
ua8 = 16673, ua9 = 16674,
f1 = 16717, f2 = 16714,
}
C.L = { -- Stored chat strings here
sy1 = "Standing this close to the blade that ended my life... oh the pain... it is renewed.",
sy2 = "I dare not touch it! Stand back! Stand back! As I attempt to commune with the blade, perhaps our salvation lies within...",
sy3 = "Uther... Uther the lightbringer... How?",
sy4 = "The Lich King is here? Then my destiny shall be fulfilled on this day!",
sy5 = "There must be a way?!",
sy6 = "Who could wear such a burden?",
sy7 = "The frozen throne...",
sy8 = "You will not escape me that easily Arthas! I will have my vengeance!",
ul1 = "Careful girl! Ive heard talk of that cursed blade saving us before! Look around you and see what has been born of Frostmourne...",
ul2 = "You havent much time, The Lich King sees what the sword sees, he will be here shortly.",
ul3 = "You can not defeat The Lich King, not here, you would be a fool to try, he will kill those that follow you and raise them as powerful soldiers of the scourge... But for you sylvanas, his reward for you would be even worse than the last!",
ul4 = "Perhaps, but know this there must always be a Lich King, even if you would strike down Arthas, another one must take his place. For without the control of The Lich King, the scourge would wash over the world like locusts, Destroying all that they touched!",
ul5 = "I do not know Banshee Queen I suspect that the piece of Arthas that might be left inside The Lich King, is all that holds the scourge from Annihilating Azeroth!",
ul6 = "Alas the only way to defeat The Lich King is to destroy him at the place he was created!", -- Timers wrong
ul7 = "He.. He is coming.. You you must!",
LK1 = "SILENCE PALADIN!",
LK2 = "So... You wish to commune with the dead? You shall have your wish...",
LK3 = "Flaric, Marwyn, Bring back there corpses when you are through",
fc1 = "As you wish.. My lord!",
fc2 = "Soliders of lorderon, Rise to meet your masters call!",
}
--[Gossip Events]--
Lady = {}
function Lady.Define(Unit, event)
Lady[tostring(Unit)] = {}
Lady[tostring(Unit)].var = Unit
Lady[tostring(Unit)].var:SetNPCFlags(1)
end
RegisterUnitEvent(38189, 18, "Lady.Define")
Lady = {}
Lady.Gossip = {}
function Lady.Gossip.OnTalk(pUnit, event, player)
pUnit:GossipCreateMenu(100, player, 0)
pUnit:GossipMenuAddItem(0, "Can you remove the sword?", 1, 0)
pUnit:GossipSendMenu(player)
end
function Lady.Gossip.OnSelect(pUnit, event, player, id, intid, code)
if(intid == 1) then
pUnit:SetNPCFlags(4)
pUnit:RegisterEvent("Event_Pre_Intro", 1000, 1)
end
end
RegisterUnitGossipEvent(38189, 1, "Lady.Gossip.OnTalk")
RegisterUnitGossipEvent(38189, 2, "Lady.Gossip.OnSelect")
--[Cinematic events]--
HR = {}
HR.Script = {}
function Event_Pre_Intro(Unit, event)
Unit:RegisterEvent("HR.Script.Event_Intro_One", 1000, 1)
end
function HR.Script.Event_Intro_One(Unit, event)
Unit:SendChatMessage(14, 0, "I... I don't believe it! Frostmourne stands before us, unguarded, just as the Gnome claimed. Come, heroes!")
Unit:PlaySoundToSet(17049)
Unit:RegisterEvent("HR.Script.Event_Intro_Two", 9000, 1)
end
function HR.Script.Event_Intro_Two(Unit, event)
Unit:SetMovementFlags(1)
Unit:SetMoveRunFlag(1)
Unit:SetMovementType(1)
Unit:SendChatMessage(14, 0, "Standing this close to the blade that ended my life... Oh the pain... It is renewed!")
Unit:PlaySoundToSet(17050)
Unit:ModifyWalkSpeed(7)
Unit:MoveTo(5307.530762, 1997.527832, 709.340942, 2.144029)
Unit:RegisterEvent("HR.Script.Event_Intro_Three", 10000, 1)
end
function HR.Script.Event_Intro_Three(Unit, event)
Unit:SendChatMessage(14, 0, "I dare not touch it! Stand back! Stand back! As I attempt to commune with the blade, perhaps our salvation lies within...")
Unit:PlaySoundToSet(17051)
Unit:Emote(468, 9000)
local sword = Unit:GetGameObjectNearestCoords(5309.478516, 2006.661987, 711.634338, 202302)
sword:Activate()
Unit:ChannelSpell(68837, sword)
Unit:RegisterEvent("HR.Script.Event_Intro_Four", 8000, 1)
end
local uther = nil
function Uther_OnSpawn(pUnit, event)
uther = pUnit
end
RegisterUnitEvent(37225, 18, "Uther_OnSpawn")
local lk = nil
function LK_OnSpawn(pUnit, event)
lk = pUnit
end
RegisterUnitEvent(37226, 18, "LK_OnSpawn")
function HR.Script.Event_Intro_Four(Unit, event)
uther:SendChatMessage(12, 0, "Careful girl! I've heard talk of that cursed blade saving us before! Look around you and see what has been born of Frostmourne!")
uther:PlaySoundToSet(16659)
uther:Emote(1, 9000)
Unit:RegisterEvent("HR.Script.Event_Intro_Five", 10500, 1)
end
function HR.Script.Event_Intro_Five(Unit, event)
Unit:SendChatMessage(12, 0, "Uther... Uther the Lightbringer... How?")
Unit:PlaySoundToSet(17052)
Unit:StopChannel()
Unit:Emote(1, 0)
Unit:RegisterEvent("HR.Script.Event_Intro_Six", 3500, 1)
end
function HR.Script.Event_Intro_Six(Unit, event)
uther:SendChatMessage(12, 0, "You haven't much time. The Lich King sees what the sword sees, he would be here shortly.")
uther:PlaySoundToSet(16660)
uther:Emote(1, 7000)
Unit:RegisterEvent("HR.Script.Event_Intro_Seven", 8000, 1)
end
function HR.Script.Event_Intro_Seven(Unit, event)
Unit:SendChatMessage(12, 0, "The Lich King is here?! Then my destiny shall be fulfilled on this day!")
Unit:PlaySoundToSet(17053)
Unit:Emote(1, 7000)
Unit:RegisterEvent("You_Can_Not_Defeat", 8000, 1)
end
function You_Can_Not_Defeat(pUnit, event)
uther:SendChatMessage(12, 0, "You cannot defeat The Lich King, not here, you would be a fool to try, he will kill those that follow you and raise them as powerful soldiers of The Scourge... But for you Sylvanas, his reward for you would be worse than the last!")
uther:Emote(1, 18000)
uther:PlaySoundToSet(16661)
pUnit:RegisterEvent("There_Must_Be_A_Way", 19000, 1)
end
function There_Must_Be_A_Way(pUnit, event)
pUnit:Emote(29, 1000)
pUnit:SendChatMessage(12, 0, "There must be a way!")
pUnit:PlaySoundToSet(17054)
pUnit:RegisterEvent("I_Do_Not_Know", 6000, 1)
end
function I_Do_Not_Know(pUnit, event)
uther:SendChatMessage(12, 0, "Perhaps, but know this: There must always be a Lich King, even if you were to strike down Arthas, another would have to take his place, for without the control of The Lich King, The Scourge would wash over the world like locusts, destroying all that they touched!")
uther:PlaySoundToSet(16662)
uther:Emote(1, 18000)
pUnit:RegisterEvent("Who_Could_Bear", 23000, 1)
end
function Who_Could_Bear(pUnit, event)
pUnit:SendChatMessage(12, 0, "Who could bear such a burden?")
pUnit:PlaySoundToSet(17055)
pUnit:RegisterEvent("Lich_Weakness_Exposed", 18000, 1)
pUnit:RegisterEvent("Arthas_Is_Nearly_Here", 4000, 1)
end
function Arthas_Is_Nearly_Here(pUnit, event)
uther:SendChatMessage(12, 0, "I do not know, Banshee Queen. I suspect that the piece of Arthas that might be left inside The Lich King, is all that holds The Scourge from annihilating Azeroth!")
uther:PlaySoundToSet(16663)
uther:Emote(1, 11000)
end
function Lich_Weakness_Exposed(pUnit, event)
uther:SendChatMessage(12, 0, "Alas, the only way to defeat The Lich King is to destroy him at the place where he was created!")
uther:PlaySoundToSet(16664)
uther:Emote(1, 8000)
pUnit:RegisterEvent("Frozen_Throne", 9000, 1)
end
function Frozen_Throne(pUnit, event)
pUnit:SendChatMessage(12, 0, "The Frozen Throne...")
pUnit:PlaySoundToSet(17056)
pUnit:RegisterEvent("Arthas_Coming", 6000, 1)
end
function Arthas_Coming(pUnit, event)
uther:Emote(462, 14000)
uther:SendChatMessage(12, 0, "Aye... AAAAAARGHHHH... He... He is coming... You... You must!")
uther:PlaySoundToSet(16665)
pUnit:RegisterEvent("SpawnLK", 8000, 1)
end
function SpawnLK(pUnit, event)
pUnit:SpawnCreature(37226, 5331.732910, 2030.051392, 707.695557, 3.966937, 14, 0)
lk:SendChatMessage(14, 0, "SILENCE PALADIN!")
uther:Despawn(4000, 0)
lk:PlaySoundToSet(17225)
lk:SetFaction(35)
lk:MoveTo(5313.907227, 2011.094604, 709.341431, 3.9)
pUnit:RegisterEvent("LK_Grab_Frostmourne", 11500, 1)
end
function LK_Grab_Frostmourne(pUnit, event)
lk:CastSpell(72729)
lk:SetModel(25337)
local sword = lk:GetGameObjectNearestCoords(5309.478516, 2006.661987, 711.634338, 202302)
sword:Despawn(1000, 0)
pUnit:RegisterEvent("LK_Speech_One", 8500, 1)
end
function LK_Speech_One(pUnit, event)
lk:SendChatMessage(14, 0, "So... You wish to commune with the dead? You shall have your wish.")
lk:PlaySoundToSet(17226)
pUnit:RegisterEvent("LK_Call_Bosses", 10000, 1)
end
function LK_Call_Bosses(pUnit, event)
lk:PlaySoundToSet(17227)
lk:SendChatMessage(14, 0, "Falric... Marwyn... Bring their corpses to my chamber when you are through.")
lk:MoveTo(5363.472168, 2063.222168, 707.695007, 0.814350)
lk:SpawnCreature(38113, 5344.072266, 1973.608032, 709.320190, 2.386716, 14, 0, 51010, 51010, 0, 1, 0)
lk:SpawnCreature(38112, 5274.784668, 2039.267578, 709.319275, 5.540875, 14, 0, 50771, 50065, 0, 1, 0)
pUnit:RegisterEvent("LK_Walk_Away", 17000, 1)
end
function LK_Walk_Away(pUnit, event)
pUnit:MoveTo(5363.472168, 2063.222168, 707.695007, 0.814350)
pUnit:SendChatMessage(14, 0, "You will not escape me that easily, Arthas, I will have my vengeance!")
pUnit:PlaySoundToSet(17057)
pUnit:SetNPCFlags(0)
pUnit:RegisterEvent("Final_Part", 10000, 1)
end
function Final_Part(pUnit, event)
lk:Despawn(5000, 0)
pUnit:Despawn(10000, 0)
pUnit:SpawnCreature(37226, 5551.043457, 2260.976563, 733.011414, 3.974793, 14, 0, 33475, 0, 0, 1)
lk:SpawnCreature(38189, 5548.727051, 2258.427734, 733.011414, 0.820634, 1, 0, 2139, 0, 0, 1)
pUnit:SetNPCFlags(0)
pUnit:RegisterEvent("Fleeing_Away_From_Arthas", 20000, 1)
end
function Fleeing_Away_From_Arthas(pUnit, event)
pUnit:RemoveEvents()
lk:RemoveEvents()
pUnit:MoveTo(5591.495605, 2222.339355, 733.011963, 2.378081)
pUnit:SendChatMessage(14, 0, "He's... too powerful. Heroes, quickly... come to me! We must leave this place at once! I will do what I can to hold him in place while we flee.")
pUnit:PlaySoundToSet(17058)
pUnit:RegisterEvent("Fleeing_Away_From_Arthas_1", 10000, 1)
end
Every line/event you see out there works 100%... But, the last one: