Code:
function Arthas_OnEnterCombat(pUnit,Event)
pUnit:SendChatMessage(14, 0, "You shall serve the One... True...King!")
pUnit:RegisterEvent("Arthas_Talk", 30000, 0)
pUnit:RegisterEvent("Arthas_Blizzard", 15000, 0)
pUnit:RegisterEvent("Arthas_Breath", 30000, 0)
pUnit:RegisterEvent("Arthas_Wrath1", 1000, 0)
end
---BLA BLA BLA---
function Arthas_Talk(pUnit,Event)
Choice=math.random(1,3)
if Choice==1 then
pUnit:SendChatMessage(14, 0, "All life shall be extincted!")
end
if Choice==2 then
pUnit:SendChatMessage(14, 0, "We... are... one!")
end
if Choice==3 then
pUnit:SendChatMessage(14, 0, "Bow... to your Master!")
end
end
---ATTACKS---
function Arthas_Blizzard(pUnit,Event)
Choice=math.random(1,2)
if Choice==1 then
pUnit:FullCastSpellOnTarget(42938, pUnit:GetRandomPlayer(0))
end
if Choice==2 then
pUnit:FullCastSpellOnTarget(42938, pUnit:GetRandomPlayer(0))
pUnit:FullCastSpellOnTarget(60020, pUnit:GetRandomPlayer(0))
end
end
function Arthas_Breath(pUnit,Event)
Choice=math.random(1,2)
if Choice==1 then
pUnit:FullCastSpellOnTarget(49111, pUnit:GetRandomPlayer(0))
end
if Choice==2 then
pUnit:FullCastSpellOnTarget(49111, pUnit:GetRandomPlayer(0))
pUnit:FullCastSpellOnTarget(60020, pUnit:GetRandomPlayer(0))
end
end
function Arthas_Froze(pUnit,Event)
pUnit:SetCombatCapable(1)
pUnit:FullCastSpellOnTarget(51209, pUnit:GetRandomPlayer(0))
end
function Arthas_Summon(pUnit,Event)
pUnit:SetCombatCapable(0)
pUnit:FullCastSpellOnTarget(49100, pUnit:GetMainTank())
pUnit:SendChatMessage(14, 0, "Come my minions, extinguish all life!")
end
function Arthas_FrostBurn(pUnit,Event)
pUnit:FullCastSpellOnTarget(23189, pUnit:GetRandomPlayer(0))
end
function Arthas_FrostBurn2(pUnit,Event)
pUnit:FullCastSpellOnTarget(23189, pUnit:GetRandomPlayer(0))
pUnit:FullCastSpellOnTarget(60020, pUnit:GetRandomPlayer(0))
end
function Arthas_Tomb(pUnit,Event)
Choice=math.random(1,2)
if Choice==1 then
pUnit:FullCastSpellOnTarget(48400, pUnit:GetMainTank())
end
if Choice==2 then
pUnit:FullCastSpellOnTarget(48400, pUnit:GetRandomPlayer(4))
pUnit:FullCastSpellOnTarget(29058, pUnit:GetRandomPlayer(4))
end
end
function Arthas_Bolt(pUnit,Event)
Choice=math.random(1,3)
if Choice==1 then
pUnit:FullCastSpellOnTarget(55802, pUnit:GetRandomPlayer(4))
end
if Choice==2 then
pUnit:FullCastSpellOnTarget(55802, pUnit:GetRandomPlayer(5))
end
if Choice==3 then
pUnit:FullCastSpellOnTarget(55802, pUnit:GetMainTank())
pUnit:FullCastSpellOnTarget(48400, pUnit:GetMainTank())
end
end
function Arthas_Rest(pUnit,Event)
pUnit:FullCastSpell(40647)
pUnit:ClearHateList()
pUnit:SetCombatCapable(1)
pUnit:SendChatMessage(12, 0, "I need... energy...")
end
function Arthas_Rest1(pUnit,Event)
pUnit:SetCombatCapable(1)
pUnit:SendChatMessage(12, 0, "Spirits of the dead.. Heal me!")
pUnit:FullCastSpell(35341)
pUnit:FullCastSpell(19823)
pUnit:FullCastSpell(35341)
pUnit:FullCastSpell(19823)
pUnit:FullCastSpell(35341)
pUnit:FullCastSpell(19823)
pUnit:FullCastSpell(35341)
end
function Arthas_Rest2(pUnit,Event)
pUnit:SetCombatCapable(1)
pUnit:FullCastSpell(39990)
pUnit:SetHealthPct(65)
pUnit:SetCombatCapable(1)
pUnit:SendChatMessage(12, 0, "Yes...")
end
function Arthas_Rest3(pUnit,Event)
pUnit:SetCombatCapable(1)
pUnit:FullCastSpell(39990)
pUnit:FullCastSpell(26072)
pUnit:SetHealthPct(69)
pUnit:SetCombatCapable(1)
pUnit:SendChatMessage(12, 0, "Power....")
end
function Arthas_Prepare(pUnit,Event)
pUnit:SetCombatCapable(1)
pUnit:FullCastSpell(39028)
pUnit:SendChatMessage(14, 0, "I am ready to kill...")
end
function Arthas_Fight(pUnit,Event)
pUnit:SetCombatCapable(0)
end
function Arthas_Ghoul(pUnit,Event)
Choice=math.random(1,3)
if Choice==1 then
pUnit:FullCastSpell(42651)
pUnit:SendChatMessage(14, 0, "Fallen knights, rise and deal with these weaklings... Obey to your Master!")
end
if Choice==2 then
pUnit:FullCastSpell(42651)
pUnit:SendChatMessage(14, 0, "The Lich King commands you to Kill... Destroy... Extinguish!")
end
if Choice==3 then
pUnit:FullCastSpell(42651)
pUnit:SendChatMessage(14, 0, "Your partners will rise up against you!")
end
end
function Arthas_Plague(pUnit,Event)
pUnit:FullCastSpellOnTarget(56361, pUnit:GetClosestPlayer())
end
function Arthas_Incinerate(pUnit,Event)
pUnit:FullCastSpellOnTarget(40239, pUnit:GetRandomPlayer(0))
end
function Arthas_ShadowOfDeath(pUnit,Event)
Choice=math.random(1,3)
if Choice==1 then
pUnit:FullCastSpellOnTarget(40251, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(14, 0, "Time is ticking...")
end
if Choice==2 then
pUnit:FullCastSpellOnTarget(40251, pUnit:GetMainTank())
pUnit:SendChatMessage(14, 0, "Death awaits you...")
end
if Choice==3 then
pUnit:FullCastSpellOnTarget(40251, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(14, 0, "You will die and rise has my minion!")
end
end
function Arthas_Enrage(pUnit,Event)
pUnit:FullCastSpell(40683)
end
function Arthas_ShadowDemon(pUnit,Event)
Choice=math.random(1,2)
if Choice==1 then
pUnit:FullCastSpell(41117)
end
if Choice==2 then
pUnit:FullCastSpell(41117)
end
end
function Arthas_Mortal(pUnit,Event)
pUnit:FullCastSpellOnTarget(47486, pUnit:GetMainTank())
end
function Arthas_Fear(pUnit,Event)
pUnit:FullCastSpell(31970)
end
function Arthas_Grip(pUnit,Event)
pUnit:FullCastSpellOnTarget(17968, pUnit:GetMainTank())
pUnit:SendChatMessage(14, 0, "You are on the Lich King's grasp now...")
end
function Arthas_Betrayal(pUnit,Event)
pUnit:FullCastSpellOnTarget(41001, pUnit:GetRandomPlayer(0))
pUnit:SendChatMessage(14, 0, "My new disease... your friends will kill you!")
end
function Arthas_Deathknight(pUnit,Event)
x=pUnit:GetX();
y=pUnit:GetY();
z=pUnit:GetZ();
o=pUnit:GetO();
pUnit:SpawnCreature(29101, x, y, z, o, 20, 0)
end
function Arthas_Deathknight2(pUnit,Event)
x=pUnit:GetX();
y=pUnit:GetY();
z=pUnit:GetZ();
o=pUnit:GetO();
pUnit:SpawnCreature(29196, x, y, z, o, 20, 0)
end
function Arthas_DKChoice(pUnit,Event)
Choice=math.random(1,2)
if Choice==1 then
x=pUnit:GetX();
y=pUnit:GetY();
z=pUnit:GetZ();
o=pUnit:GetO();
pUnit:SpawnCreature(29196, x, y, z, o, 20, 0)
end
if Choice==2 then
x=pUnit:GetX();
y=pUnit:GetY();
z=pUnit:GetZ();
o=pUnit:GetO();
pUnit:SpawnCreature(29101, x, y, z, o, 20, 0)
end
end
--------------------------------------------FUNCTIONS--------------------------------------
function Arthas_Wrath1(pUnit,Event)
if pUnit:GetHealthPct() < 94 then
pUnit:RemoveEvents()
pUnit:RegisterEvent("Arthas_Talk", 30000, 0)
pUnit:RegisterEvent("Arthas_Froze", 2000, 1)
pUnit:RegisterEvent("Arthas_Summon", 45000, 5)
pUnit:RegisterEvent("Arthas_Blizzard", 14000, 0)
pUnit:RegisterEvent("Arthas_Breath", 28000, 0)
pUnit:RegisterEvent("Arthas_Wrath2", 2000, 0)
end
end
function Arthas_Wrath2(pUnit,Event)
if pUnit:GetHealthPct() < 80 then
pUnit:RemoveEvents()
pUnit:SendChatMessage(12, 0, "Your courage will lead to your death!")
pUnit:RegisterEvent("Arthas_Talk", 30000, 0)
pUnit:RegisterEvent("Arthas_Summon", 40000, 6)
pUnit:RegisterEvent("Arthas_Blizzard", 14000, 0)
pUnit:RegisterEvent("Arthas_Breath", 28000, 0)
pUnit:RegisterEvent("Arthas_FrostBurn", 10000, 2)
pUnit:RegisterEvent("Arthas_FrostBurn2", 30000, 0)
pUnit:RegisterEvent("Arthas_Tomb", 17000, 0)
pUnit:RegisterEvent("Arthas_Wrath3", 3000, 0)
end
end
function Arthas_Wrath3(pUnit,Event)
if pUnit:GetHealthPct() < 70 then
pUnit:RemoveEvents()
pUnit:RegisterEvent("Arthas_Talk", 30000, 0)
pUnit:RegisterEvent("Arthas_Summon", 40000, 5)
pUnit:RegisterEvent("Arthas_Bolt", 20000, 1)
pUnit:RegisterEvent("Arthas_Blizzard", 14000, 0)
pUnit:RegisterEvent("Arthas_Breath", 28000, 0)
pUnit:RegisterEvent("Arthas_FrostBurn", 10000, 2)
pUnit:RegisterEvent("Arthas_FrostBurn2", 30000, 0)
pUnit:RegisterEvent("Arthas_Tomb", 17000, 0)
pUnit:RegisterEvent("Arthas_Wrath4", 3000, 0)
end
end
function Arthas_Wrath4(pUnit,Event)
if pUnit:GetHealthPct() < 60 then
pUnit:RemoveEvents()
pUnit:SendChatMessage(14, 0, "This is getting boring...")
pUnit:SendChatMessage(12, 0, "Kel'thuzad needs... rest..")
pUnit:RegisterEvent("Arthas_Rest", 4000, 1)
pUnit:RegisterEvent("Arthas_Rest1", 7000, 1)
pUnit:RegisterEvent("Arthas_Rest2", 13000, 1)
pUnit:RegisterEvent("Arthas_Rest3", 17000, 1)
pUnit:RegisterEvent("Arthas_Prepare", 27000, 1)
pUnit:RegisterEvent("Arthas_Fight", 31000, 0)
pUnit:RegisterEvent("Arthas_Blizzard", 37000, 0)
pUnit:RegisterEvent("Arthas_Breath", 32000, 0)
pUnit:RegisterEvent("Arthas_Wrath5", 2000, 0)
end
end
function Arthas_Wrath5(pUnit,Event)
if pUnit:GetHealthPct() < 69 then
pUnit:RemoveEvents()
pUnit:RegisterEvent("Arthas_Talk", 30000, 0)
pUnit:RegisterEvent("Arthas_Summon", 35000, 0)
pUnit:RegisterEvent("Arthas_Bolt", 20000, 1)
pUnit:RegisterEvent("Arthas_Deathknight", 60000, 0)
pUnit:RegisterEvent("Arthas_Blizzard", 14000, 0)
pUnit:RegisterEvent("Arthas_Breath", 28000, 0)
pUnit:RegisterEvent("Arthas_FrostBurn", 10000, 2)
pUnit:RegisterEvent("Arthas_FrostBurn2", 30000, 0)
pUnit:RegisterEvent("Arthas_Tomb", 17000, 0)
pUnit:RegisterEvent("Arthas_Wrath6", 2000, 0)
end
end
function Arthas_Wrath6(pUnit,Event)
if pUnit:GetHealthPct() < 50 then
pUnit:RemoveEvents()
pUnit:RegisterEvent("Arthas_Talk", 30000, 0)
pUnit:RegisterEvent("Arthas_Ghoul", 40000, 0)
pUnit:RegisterEvent("Arthas_Bolt", 20000, 3)
pUnit:RegisterEvent("Arthas_Blizzard", 14000, 0)
pUnit:RegisterEvent("Arthas_Breath", 28000, 0)
pUnit:RegisterEvent("Arthas_FrostBurn", 10000, 2)
pUnit:RegisterEvent("Arthas_DeathKnight2", 70000, 0)
pUnit:RegisterEvent("Arthas_FrostBurn2", 30000, 0)
pUnit:RegisterEvent("Arthas_Tomb", 17000, 0)
pUnit:RegisterEvent("Arthas_Plague", 15687, 0)
pUnit:RegisterEvent("Arthas_Wrath7", 2000, 0)
end
end
function Arthas_Wrath7(pUnit,Event)
if pUnit:GetHealthPct() < 25 then
pUnit:RemoveEvents()
pUnit:RegisterEvent("Arthas_Talk", 30000, 0)
pUnit:RegisterEvent("Arthas_Ghoul", 40000, 0)
pUnit:RegisterEvent("Arthas_Incinerate", 20000, 0)
pUnit:RegisterEvent("Arthas_Blizzard", 14000, 0)
pUnit:RegisterEvent("Arthas_Breath", 28000, 0)
pUnit:RegisterEvent("Arthas_Tomb", 17000, 0)
pUnit:RegisterEvent("Arthas_Plague", 15687, 0)
pUnit:RegisterEvent("Arthas_DeathKnight2", 70000, 0)
pUnit:RegisterEvent("Arthas_ShadowOfDeath", 60000, 2)
pUnit:RegisterEvent("Arthas_Fury1", 2000, 0)
end
end
function Arthas_Fury1(pUnit,Event)
if pUnit:GetHealthPct() < 5 then
pUnit:SendChatMessage(12, 0, "Kel'Thuzad, this is getting dangerous...")
pUnit:SendChatMessage(12, 0, "I'll have to use your power.")
pUnit:RegisterEvent("Arthas_Enrage", 20000, 0)
pUnit:RegisterEvent("Arthas_ShadowDemon", 34000, 0)
pUnit:RegisterEvent("Arthas_Blizzard", 14000, 0)
pUnit:RegisterEvent("Arthas_Plague", 15687, 0)
pUnit:RegisterEvent("Arthas_Mortal", 30000, 0)
pUnit:RegisterEvent("Arthas_DeathKnight2", 50000, 0)
pUnit:RegisterEvent("Arthas_Final", 2000, 0)
end
end
function Arthas_Final(pUnit,Event)
if pUnit:GetHealthPct() < 2 then
pUnit:SendChatMessage(14, 0, "Impossible! The King cant be defeated!")
pUnit:PlaySoundToSet(12736)
pUnit:PlaySoundToSet(12735)
pUnit:RegisterEvent("Arthas_Enrage", 2000, 0)
pUnit:RegisterEvent("Arthas_ShadowDemon", 34000, 0)
pUnit:RegisterEvent("Arthas_Blizzard", 14000, 0)
pUnit:RegisterEvent("Arthas_Plague", 15687, 0)
pUnit:RegisterEvent("Arthas_DeathKnight2", 50000, 0)
pUnit:RegisterEvent("Arthas_DeathKnight", 50000, 0)
pUnit:RegisterEvent("Arthas_Mortal", 30000, 0)
pUnit:RegisterEvent("Arthas_Fear", 20000, 0)
pUnit:RegisterEvent("Arthas_Grip", 25000, 1)
pUnit:RegisterEvent("Arthas_Betrayal", 45000, 0)
end
end
-----------------------------------Other functions----------------------------------------------------
function Arthas_OnLeaveCombat(pUnit,Event)
pUnit:RemoveEvents()
end
function Arthas_Died(pUnit,Event)
pUnit:RemoveEvents()
pUnit:SendChatMessage(14, 0, "Kel'thuzad... I have been defeated by... your creations.")
end
function Arthas_Killtarget(pUnit,Event)
pUnit:RemoveEvents()
pUnit:SendChatMessage(14, 0, "Rise as my minion!")
pUnit:RegisterEvent("Arthas_DKChoice", 2000, 0)
end
RegisterUnitEvent(25462, 1, "Arthas_OnEnterCombat")
RegisterUnitEvent(25462, 2, "Arthas_OnLeaveCombat")
RegisterUnitEvent(25462, 4, "Arthas_Died")
RegisterUnitEvent(25462, 3, "Arthas_Killtarget")
------------------------------------------- ------------------------------
-------------------------------------------DEATHKNIGHT SCRIPTS------------------------------
------------------------------------------- ------------------------------
function DeathKnight_OnEnterCombat(pUnit,Event)
pUnit:SendChatMessage(14, 0, "The Lich King demands me to kill... destroy... extinguish!")
pUnit:RegisterEvent("DeathKnight_DeathCoil", 36547, 0)
pUnit:RegisterEvent("DeathKnight_Strangulate", 15000, 0)
pUnit:RegisterEvent("DeathKnight_HungeringCold", 20000, 0)
pUnit:RegisterEvent("DeathKnight_HowlingBlast", 20100, 0)
end
function DeathKnight_DeathCoil(pUnit,Event)
pUnit:FullCastSpellOnTarget(35954, pUnit:GetMainTank())
end
function DeathKnight_Strangulate(pUnit,Event)
pUnit:FullCastSpellOnTarget(55334, pUnit:GetMainTank())
end
function DeathKnight_HungeringCold(pUnit,Event)
pUnit:FullCastSpellOnTarget(51209, pUnit:GetMainTank())
end
function DeathKnight_HowlingBlast(pUnit,Event)
pUnit:FullCastSpellOnTarget(61061, pUnit:GetMainTank())
end
function DeathKnight_OnLeaveCombat(pUnit,Event)
pUnit:RemoveEvents()
end
function DeathKnight_KillTarget(pUnit,Event)
pUnit:RemoveEvents()
end
function DeathKnight_Died(pUnit,Event)
pUnit:RemoveEvents()
end
RegisterUnitEvent(29101, 1, "DeathKnight_OnEnterCombat")
RegisterUnitEvent(29101, 2, "DeathKnight_OnLeaveCombat")
RegisterUnitEvent(29101, 3, "DeathKnight_KillTarget")
RegisterUnitEvent(29101, 4, "DeathKnight_Died")
--------------------------------------------------------
function DeathKnight2_OnEnterCombat(pUnit,Event)
pUnit:SendChatMessage(14, 0, "Experience the DeathKnight Power!")
pUnit:RegisterEvent("DeathKnight2_DeathCoil", 36547, 0)
pUnit:RegisterEvent("DeathKnight2_Strangulate", 15000, 0)
pUnit:RegisterEvent("DeathKnight2_HungeringCold", 20000, 0)
pUnit:RegisterEvent("DeathKnight2_HowlingBlast", 20100, 0)
end
function DeathKnight2_DeathCoil(pUnit,Event)
pUnit:FullCastSpellOnTarget(35954, pUnit:GetMainTank())
end
function DeathKnight2_Strangulate(pUnit,Event)
pUnit:FullCastSpellOnTarget(55334, pUnit:GetMainTank())
end
function DeathKnight2_HungeringCold(pUnit,Event)
pUnit:FullCastSpellOnTarget(51209, pUnit:GetMainTank())
end
function DeathKnight2_HowlingBlast(pUnit,Event)
pUnit:FullCastSpellOnTarget(61061, pUnit:GetMainTank())
end
function DeathKnight2_OnLeaveCombat(pUnit,Event)
pUnit:RemoveEvents()
end
function DeathKnight2_KillTarget(pUnit,Event)
pUnit:RemoveEvents()
end
function DeathKnight2_Died(pUnit,Event)
pUnit:RemoveEvents()
end
RegisterUnitEvent(29196, 1, "DeathKnight2_OnEnterCombat")
RegisterUnitEvent(29196, 2, "DeathKnight2_OnLeaveCombat")
RegisterUnitEvent(29196, 3, "DeathKnight2_KillTarget")
RegisterUnitEvent(29196, 4, "DeathKnight2_Died")
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 ('25462','The Lich King','','','2','6','0','3','24191','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 ('25462','83','83','2082','13945','13945','0','2','2000','1','1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','2','0','0','0','0','0','2.5','8','14')
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 ('29101','Death Knight Champion','','','0','6','0','0','25907','25908','25909','25910','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 ('29101','56','56','2084','26990','26990','21630','0','2000','1','1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','4','0','0','0','0','0','2.5','8','14')
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 ('29196','Lord Thorval','','','0','6','0','1','25459','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 ('29196','1','1','0','100','100','100','0','1500','0','0','0','0','0','0','0','0','0','36000','0','0','0','0','0','0','0','1','0','0','0','0','0','2.5','8','14')