Code:
--[[Aryana's Cinematicpart]]--
function Aryana_OnTalk(Unit, event, player)
Unit:GossipCreateMenu(100, player, 0)
Unit:GossipMenuAddItem(0, "Aryana, we have come to kill you!", 15, 0)
Unit:GossipMenuAddItem(0, "I need some more time to prepare.", 25, 0)
Unit:GossipSendMenu(player)
end
function Aryana_OnSelect(Unit, event, player, id, intid, code)
if (intid == 15) then
local name = player
Unit:RegisterEvent("Aryana_CinStart", 1000, 1)
player:GossipComplete()
end
if (intid == 25) then
local name = player:GetName()
Unit:SendChatMessage(12, 0, "Very well "..name..", Take all the time you need.")
player:GossipComplete()
end
end
function Aryana_CinStart(Unit, event)
Unit:RemoveEvents()
Unit:SendChatMessage(14,0,"You fools, do you honestly believe that lowlife scum like you could kill me?!")
Unit:SpawnGameObject(186469, -11165.081055, -1912.020752, 232.009491, 1, 999999)
Unit:RegisterEvent("Aryana_Spawn",2000,1)
end
function Aryana_Spawn(Unit, event)
Unit:SpawnCreature(50001, -11154.050781, -1903.339478, 232.008530, 3.031605, 35, 999999)
Unit:RegisterEvent("Aryana_Talk2",7000,1)
end
function Aryana_Talk2(Unit, event)
Unit:SendChatMessage(14,0,"Just the thought of you killing me is ridicilous, i will deal with you after i have talked to Emma!")
Unit:Emote(5,1000)
Unit:RegisterEvent("Aryana_Move",7000,1)
end
function Aryana_Move(Unit, event)
Unit:MoveTo(-11157.506836, -1905.950195, 232.008530, 0.685651)
Unit:RegisterEvent("Aryana_Talk3",5000,1)
end
function Aryana_Talk3(Unit, event)
Unit:SendChatMessage(12,0,"Yes Emma?")
Unit:RegisterEvent("Aryana_Talk4",20000,1)
end
function Aryana_Talk4(Unit, event)
Unit:SendChatMessage(12,0,"Shut up Emma! you are embarrassing me infront of my guests!")
Unit:RegisterEvent("Aryana_Talk5",28000,1)
end
function Aryana_Talk5(Unit, event)
Unit:SendChatMessage(12,0,"I guess i could do it for him since he helped me when i was sick... I'll have to call in some reinforcements to deal with the 'trash' if know what i mean.")
Unit:RegisterEvent("Aryana_Talk6", 23000,1)
end
function Aryana_Talk6(Unit, event)
Unit:SendChatMessage(12,0,"Sorry but i have to leave, you can fight my brother, he's way more powerfull then i am.")
Unit:SetMoveRunFlag(1)
Unit:MoveTo(-11189.088867, -1881.744751, 231.951218, 2.245466)
Unit:RegisterEvent("Aryana_Yell",8000,1)
end
function Aryana_Yell(Unit, event)
Unit:SendChatMessage(14,0,"James, come on down here, we've got company... I need you to deal with them, i have to go help Kael'thas!")
Unit:SpawnCreature(50002, -11212.946289, -1851.549508, 223.943787, 5.412950, 35, 999999999)
Unit:MoveTo(-11076, -1918, 65, 4)
Emma:MoveTo(-11076, -1918, 65, 4)
end
--[[Emma's Cinematicpart]]--
function Emma_Talk3(Unit, event)
Emma:SendChatMessage(12,0,"Alright, just hurry up!")
end
function Emma_Talk2(Unit, event)
Emma:SendChatMessage(12,0,"Well, i will read the message now... Aryana, as you might know, the filthy dwarfs are trying to take over The Eye, i know you have alot to do running your own place, but i need you to help me run mine for a few days, I was in war with the humans, and i got severely damaged. I would really appriciate it, Kael'thas.")
Emma:RegisterEvent("Emma_Talk3",25000,1)
end
function Emma_Talk1(Unit, event)
Emma:SendChatMessage(12,0,"Kael'thas told me to give you this message, he says its urgent... but since you can't read... I will read it for you.")
Emma:RegisterEvent("Emma_Talk2",30000,1)
end
function Emma_Talk(Unit, event)
Emma:SendChatMessage(12,0,"Pst... Aryana... A word please?")
end
--[[James Cinematicpart]]--
function James_Yell(Unit, event)
James:SendChatMessage(14,0,"Crap, i was watching TV, But i guess i have to handle this...")
James:MoveTo(-11177.955078, -1895.718628, 232.007324, 5.381533)
James:RegisterEvent("James_Talk",6000,1)
end
function James_Talk(Unit, event)
James:SendChatMessage(12,0,"Man, this is such a pain... I'm really gonna have a talk with Aryana when she gets back.")
James:RegisterEvent("James_Talk2",7000,1)
end
function James_Talk2(Unit, event)
James:SendChatMessage(12,0,"I guess i have to get this overwith, TIME TO DIE!")
James:CastSpell(58538)
James:SetFaction(14)
end
--[[James Bosspart]]--
function James_Elementals(Unit, event)
James:SpawnCreature(50004, -11167.340820, -1931.925659, 232.009018, 1.422342, 14, 999999999)
James:SpawnCreature(50004, -11184.752930, -1909.731689, 232.009018, 6.166149, 14, 999999999)
James:SpawnCreature(50004, -11162.935547, -1891.515137, 232.009018, 4.563941, 14, 999999999)
James:SpawnCreature(50004, -11146.055664, -1914.142456, 232.009018, 3.020635, 14, 999999999)
end
function James_Fireball(Unit, event)
local SpellTarget = James:GetRandomPlayer(0)
if (SpellTarget ~= nil) then
James:FullCastSpellOnTarget(20678,SpellTarget)
else
end
end
function James_Counterspell(Unit, event)
James:FullCastSpellOnTarget(29961,Unit:GetRandomPlayer(4))
end
function James_Conflagration(Unit, event)
local SpellTarget = James:GetClosestPlayer()
if (SpellTarget ~= nil) then
James:FullCastSpellOnTarget(23023,SpellTarget)
else
end
end
function James_FrostBolt(Unit, event)
local SpellTarget = James:GetRandomPlayer(0)
if (SpellTarget ~= nil) then
James:FullCastSpellOnTarget(41486,SpellTarget)
else
end
end
function James_Arcane_Missiles(Unit, event)
local SpellTarget = James:GetRandomPlayer(0)
if (SpellTarget ~= nil) then
James:CastSpellOnTarget(29955,SpellTarget)
else
end
end
function James_Arcane_Explosion(Unit, event)
James:FullCastSpell(29973)
end
--[[Elementals]]--
function Elemental_OnSpawn(Unit, event)
Elemental = Unit
Elemental:StopMovement(9999999)
Elemental:SetCombatMeleeCapable(0)
end
function Elemental_OnCombat(Unit, event)
Elemental:RegisterEvent("Elemental_Nova",10000,0)
Elemental:RegisterEvent("Elemental_Bolt",1500,0)
end
function Elemental_LeaveCombat(Unit, event)
Elemental:RemoveEvents()
Elemental:Despawn(1000,0)
end
function Elemental_Died(Unit, event)
Elemental:RemoveEvents()
Elemental:Despawn(1000,0)
end
function Elemental_Nova(Unit, event)
local SpellTarget = Elemental:GetRandomPlayer(0)
if (SpellTarget ~= nil) then
Elemental:FullCastSpellOnTarget(24099, SpellTarget)
else
end
end
function Elemental_Bolt(Unit, event)
local SpellTarget = Elemental:GetRandomPlayer(0)
if (SpellTarget ~= nil) then
Elemental:FullCastSpellOnTarget(37252, SpellTarget)
else
end
end
--[[All Register Unit Events]]--
RegisterUnitEvent(50004,1,"Elemental_OnCombat")
RegisterUnitEvent(50004,18,"Elemental_OnSpawn")
RegisterUnitEvent(50004,2,"Elemental_LeaveCombat")
RegisterUnitEvent(50004,4,"Elemental_Died")
RegisterUnitEvent(50000,1,"Aryana_OnCombat")
RegisterUnitGossipEvent(50000,1, "Aryana_OnTalk")
RegisterUnitGossipEvent(50000,2, "Aryana_OnSelect")
RegisterUnitEvent(50001,18, "Emma_OnSpawn")
RegisterUnitEvent(50002,1,"James_OnCombat")
RegisterUnitEvent(50002,18, "James_OnSpawn")
RegisterUnitEvent(50002,2, "James_OnLeaveCombat")
--[[All Register Events]]--
function James_OnLeaveCombat(Unit, event)
James:SendChatMessage(14, 0,"Hah, i don't understand why Aryana didn't kill you before she left, this was to easy!")
James:RemoveEvents()
James:Despawn(1000,0)
Unit:ReturnToSpawnPoint()
end
function Aryana_OnSpawn(Unit, event)
Unit:SetFaction(35)
end
function Emma_OnSpawn(Unit, event)
Emma = Unit
Emma:RegisterEvent("Emma_Talk1",25000,1)
Emma:RegisterEvent("Emma_Talk",5000,1)
end
function James_OnSpawn(Unit, event)
James = Unit
James:SetMoveRunFlag(1)
James:RegisterEvent("James_Yell",4000,1)
end
function James_OnCombat(Unit, event)
James:RegisterEvent("James_Fireball",6000,0)
James:RegisterEvent("James_Counterspell",13000,0)
James:RegisterEvent("James_FrostBolt",17000,0)
James:RegisterEvent("James_Arcane_Missiles",25000,0)
James:RegisterEvent("James_Phase2",1000,0)
end
function James_Phase2(Unit, event)
if James:GetHealthPct() < 65 then
James:RemoveEvents()
James:SendChatMessage(14, 0,"Time to get serious!")
James:RegisterEvent("James_Arcane_Explosion",33000,0)
James:RegisterEvent("James_Elementals",120000,0)
James:RegisterEvent("James_Conflagration",44000,0)
James:RegisterEvent("James_FrostBolt",15000,0)
end
end
and the sql's
Code:
insert into `creature_names` (`entry`, `name`, `subname`, `info_str`, `Flags1`, `type`, `family`, `rank`, `unk4`, `spelldataid`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `unknown_float1`, `unknown_float2`, `civilian`, `leader`)
values ('50001', "Image of Archmage Emma", "", '', '0', '10', '0', '1', '0', '0', '23991', '0', '0', '0', '1', '1', '0', '0');
insert into `creature_proto` (`entry`, `minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `attacktype`, `mindamage`, `maxdamage`, `can_ranged`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `extra_a9_flags`, `spell1`, `spell2`, `spell3`, `spell4`, `spell_flags`, `modImmunities`)
values ('50001', '80', '80', '35', '1500000', '1500000', '300000', '3', '0', '100', '0', '0', '0', '0', '0', '0', '0', '86400000', '0', '0', '0', '0', '0', '0', '0', '0', '0', "0", '1', '0', '0', '0', '2.50', '8.00', '14.00', '0', '0', '0', '0', '0', '0', '0');
insert into `creature_names` (`entry`, `name`, `subname`, `info_str`, `Flags1`, `type`, `family`, `rank`, `unk4`, `spelldataid`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `unknown_float1`, `unknown_float2`, `civilian`, `leader`)
values ('50004', "Summoned Water Elemental", "James Minion", '', '0', '4', '0', '1', '0', '0', '11172', '0', '0', '0', '1', '1', '0', '0');
insert into `creature_proto` (`entry`, `minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `attacktype`, `mindamage`, `maxdamage`, `can_ranged`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `extra_a9_flags`, `spell1`, `spell2`, `spell3`, `spell4`, `spell_flags`, `modImmunities`)
values ('50004', '80', '80', '14', '59481', '59481', '35000', '1', '0', '100000', '0', '0', '0', '0', '0', '0', '0', '0', '4000', '0', '0', '0', '0', '0', '0', '0', '0', "0", '0', '0', '0', '0', '2.50', '8.00', '14.00', '0', '0', '0', '0', '0', '0', '0');
insert into `creature_names` (`entry`, `name`, `subname`, `info_str`, `Flags1`, `type`, `family`, `rank`, `unk4`, `spelldataid`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `unknown_float1`, `unknown_float2`, `civilian`, `leader`)
values ('50002', "Archmage James", "The Brother", '', '0', '7', '0', '1', '0', '0', '23855', '0', '0', '0', '1', '1', '0', '0');
insert into `creature_proto` (`entry`, `minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `attacktype`, `mindamage`, `maxdamage`, `can_ranged`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `extra_a9_flags`, `spell1`, `spell2`, `spell3`, `spell4`, `spell_flags`, `modImmunities`)
values ('50002', '80', '80', '35', '1200000', '1200000', '350000', '3', '0', '3000', '0', '6000', '20000', '0', '0', '0', '0', '86400000', '0', '0', '0', '0', '0', '0', '0', '0', '0', "0", '1', '0', '0', '0', '4.00', '16.00', '16.00', '0', '0', '0', '0', '0', '0', '0');
insert into `creature_names` (`entry`, `name`, `subname`, `info_str`, `Flags1`, `type`, `family`, `rank`, `unk4`, `spelldataid`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `unknown_float1`, `unknown_float2`, `civilian`, `leader`)
values ('50000', "Aryana Sunreaver", "Archmage", '', '0', '7', '0', '1', '0', '0', '22847', '0', '0', '0', '1', '1', '0', '0');
insert into `creature_proto` (`entry`, `minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `attacktype`, `mindamage`, `maxdamage`, `can_ranged`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `extra_a9_flags`, `spell1`, `spell2`, `spell3`, `spell4`, `spell_flags`, `modImmunities`)
values ('50000', '80', '80', '35', '1200000', '1200000', '350000', '3', '1', '3000', '0', '6000', '20000', '0', '0', '0', '0', '86400000', '0', '0', '0', '0', '0', '0', '0', '0', '0', "0", '1', '0', '0', '0', '4.00', '16.00', '16.00', '0', '0', '0', '0', '0', '0', '0');