Code:
Replace 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 (94500,'Angel','God\'s Wings','',0,7,0,0,0,0,5233,0,0,0,1,1,0,0);
Replace INTO `creature_proto` (`entry`,`minlevel`,`maxlevel`,`faction`,`minhealth`,`maxhealth`,`mana`,`scale`,`npcflags`,`attacktime`,`attacktype`,`mindamage`,`maxdamage`,`rangedattacktime`,`rangedmindamage`,`rangedmaxdamage`,`mountdisplayid`,`equipmodel1`,`equipinfo1`,`equipslot1`,`equipmodel2`,`equipinfo2`,`equipslot2`,`equipmodel3`,`equipinfo3`,`equipslot3`,`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`) VALUES (94500,73,73,168,5500000,5500000,2968783,1,0,1300,10000,1300,1600,0,0,0,0,0,0,0,0,0,0,0,0,0,1,152,6,97,52,2,5,63,1,0,'',1,20697,0,0,2.5,8,14,0,0,0,0,0,0)
Here is the LUA
Code:
function Angel_EnterCombat (pUnit, Event)
local Choice=math.random(1, 2)
if Choice==1 then
pUnit:SendChatMessage(14, 0, "You will not reach the great lands %n, Turn back and return to your Homes!")
elseif Choice==2 then
pUnit:SendChatMessage(14, 0, "Tis not your time! %n Retreat before i unleash my Divine Power on You!")
end
end
function Angel_OnKill (pUnit, Event)
local Choice=math.random(1, 2)
if Choice==1 then
pUnit:SendChatMessage(14, 0, "I Warned you!")
elseif Choice==2 then
pUnit:SendChatMessage(14, 0, "Bless upon your corrupt Soul")
end
end
function Angel_LeaveCombat (pUnit, Event)
local Choice=math.random(1, 2)
if Choice==1 then
pUnit:SendChatMessage(14, 0, "Thank you for Listening and not waisting your life!")
elseif Choice==2 then
pUnit:SendChatMessage(14, 0, "Was i to much to handle? Hahaha")
end
end
function Angel_Died (pUnit, Event)
pUnit:SendChatMessage(14, 0, "This is my final move... aghhh")
pUnit:FullCastSpellOnTarget(38831,GetMainTank())
pUnit:FullCastSpellOnTarget(25699,GetMainTank())
end
function Angel_1(pUnit, Event)
if pUnit:GetHealthPct() < 96 then
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Light, Grant me strength")
pUnit:CastSpell(32829)
pUnit:RegisterEvent("Angel_2",1000, 0)
end
end
function Angel_2(pUnit, Event)
if pUnit:GetHealthPct() < 93 then
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Oh great one, I Need aid!")
pUnit:CastSpell(43110) -- Summons Spirit Wolf
pUnit:RegisterEvent("Angel_3",1000, 0)
end
end
function Angel_3(pUnit, Event)
if pUnit:GetHealthPct() < 91 then
pUnit:SendChatMessage(14, 0, "You don't want to die here! Turn back before its to late!")
pUnit:FullCastSpellOnTarget(40412,Unit:GetMainTank()) -- Makes Physical Damage increase by 100%
pUnit:CastSpell(43110) -- Summons Spirit Wolf
pUnit:CastSpell(43110) -- Summons Spirit Wolf This rounds up of 2 Spirit Wolfs for the caster
pUnit:RegisterEvent("Angel_4",1000, 0)
end
end
function Angel_4(pUnit,Event)
if pUnit:GetHealthPct() < 89 then
pUnit:SendChatMessage(14, 0, "I'll show you the dark side of an Angel!")
pUnit:FullCastSpellOnTarget(43439,Unit:GetMainTank()) -- 6475 to 7525 Shadow damage after 30 sec.
pUnit:CastSpell(18662) -- Doomguard
pUnit:FullCastSpellOnTarget(27226,Unit:GetMainTank()) -- Decrease armor by 800, advance damage by 180
pUnit:RegisterEvent("Angel_5",1000, 0)
end
end
function Angel_5(pUnit,Event)
if pUnit:GetHealthPct() < 86 then
pUnit:SendChatMessage(14, 0, "Prepare for extermination!")
pUnit:CastSpell(36455)
pUnit:SetScale(3)
pUnit:SetModel(6372)
pUnit:RegisterEvent("Angel_6",1000, 0)
end
end
function Angel_6(pUnit,Event)
if pUnit:GetHealthPct() < 83 then
pUnit:SendChatMessage(14, 0, "Your friend will Parish!")
pUnit:CastSpellOnTarget(5,Unit:GetRandomPlayer(4))
pUnit:RegisterEvent("Angel_7",1000, 0)
end
end
function Angel_7(pUnit,Event)
if pUnit:GetHealthPct() < 81 then
pUnit:SendChatMessage(14, 0, "This has gone far enough %n, even for a %R like you, Nobody cant stand for this!")
pUnit:CastSpell(40441)
pUnit:FullCastSpellOnTarget(40932,Unit:GetMainTank())
pUnit:FullCastSpellOnTarget(36836,Unit:GetMainTank())
pUnit:FullCastSpellOnTarget(38533,Unit:GetMainTank())
pUnit:RegisterEvent("Angel_8",1000, 0)
end
end
function Angel_8(pUnit,Event)
if pUnit:GetHealthPct() < 86 then
pUnit:SendChatMessage(14, 0, "The End is Now!")
pUnit:SendChatMessage(14, 0, "Souls of Dead Warriors, I Command you to release yourselfs and Corrupt this Un-Divine %R, Release your anger on The %R")
pUnit:FullCastSpellOnTarget(45657,Unit:GetMainTank())
pUnit:RegisterEvent("Angel_9",1000, 0)
end
end
function Angel_9(pUnit,Event)
if pUnit:GetHealthPct() < 83 then
pUnit:SendChatMessage(14, 0, "Your own Rogue shall fall!")
pUnit:CastSpellOnTarget(5,Unit:GetRandomPlayer(6))
pUnit:RegisterEvent("Angel_10",1000, 0)
end
end
function Angel_10(pUnit,Event)
if pUnit:GetHealthPct() < 81 then
pUnit:SendChatMessage(14, 0, "Why so far away? Don't want to fight?! Then DIE!")
pUnit:CastSpellOnTarget(5,Unit:GetRandomPlayer(3))
pUnit:RegisterEvent("Angel_11",1000, 0)
end
end
function Angel_11(pUnit,Event)
if pUnit:GetHealthPct() < 76 then
pUnit:SendChatMessage(14, 0, "Master i require aid!")
pUnit:CastSpell(43110) -- |
pUnit:CastSpell(43110) -- |
pUnit:CastSpell(43110) -- | -- These are Spirit Wolves!
pUnit:CastSpell(43110) -- |
pUnit:RegisterEvent("Angel_12",1000, 0)
end
end
function Angel_12(pUnit,Event)
if pUnit:GetHealthPct() < 73 then
pUnit:SendChatMessage(14, 0, "The end has come!")
local Choice=math.random(1, 2)
if Choice==1 then
pUnit:CastSpell(22865) --|
pUnit:CastSpell(22865) --|-- Summon Doom Guards
pUnit:CastSpell(22865) --|
pUnit:CastSpell(22865) --|
elseif Choice==2 then
pUnit:CastSpell(43110) --|
pUnit:CastSpell(43110) --|
pUnit:CastSpell(43110) --|--- Summons Spirit Wolves
pUnit:CastSpell(43110) --|
pUnit:CastSpell(43110) --|
pUnit:RegisterEvent("Angel_13",1000, 0)
end
end
end
function Angel_13(pUnit,Event)
if pUnit:GetHealthPct() < 66 then
pUnit:SendChatMessage(14, 0, "Light, Give me strength")
pUnit:FullCastSpellOnTarget(41472,Unit:GetMainTank())
pUnit:CastSpell(27778)
pUnit:CastSpell(27779)
pUnit:CastSpell(1020)
pUnit:RegisterEvent("Angel_14",1000, 0)
end
end
function Angel_14(pUnit,Event)
if pUnit:GetHealthPct() < 55 then
pUnit:SendChatMessage(14, 0, "No... My powers... are faiding!")
pUnit:SetModel(5233)
pUnit:SetScale(1)
pUnit:RegisterEvent("Angel_15",1000, 0)
end
end
function Angel_15(pUnit,Event)
if pUnit:GetHealthPct() < 43 then
pUnit:SendChatMessage(14, 0, "I Will not give up this easily!")
pUnit:FullCastSpellOnTarget(27085,Unit:GetMainTank())
pUnit:FullCastSpellOnTarget(27085,Unit:GetMainTank())
pUnit:FullCastSpellOnTarget(18435,Unit:GetMainTank())
pUnit:FullCastSpellOnTarget(18435,Unit:GetMainTank())
pUnit:RegisterEvent("Angel_16",1000, 0)
end
end
function Angel_16(pUnit,Event)
if pUnit:GetHealthPct() <36 then
pUnit:SendChatMessage(14, 0, "This will hurt only for a second!")
pUnit:FullCastSpellOnTarget(45150,Unit:GetMainTank())
pUnit:FullCastSpellOnTarget(15743,Unit:GetMainTank())
pUnit:FullCastSpellOnTarget(15743,Unit:GetMainTank())
pUnit:FullCastSpellOnTarget(15743,Unit:GetMainTank())
pUnit:RegisterEvent("Angel_17",1000, 0)
end
end
function Angel_17(pUnit,Event)
if pUnit:GetHealthPct() < 30 then
pUnit:SendChatMessage(14, 0,"There is need of mana for you!")
pUnit:CastSpellOnTarget(29881,Unit:GetRandomPlayer(4))
pUnit:CastSpellOnTarget(29881,Unit:GetRandomPlayer(3))
pUnit:CastSpellOnTarget(29881,Unit:GetRandomPlayer(4))
pUnit:CastSpellOnTarget(29881,Unit:GetRandomPlayer(3))
pUnit:RegisterEvent("Angel_18",1000, 0)
end
end
function Angel_18(pUnit,Event)
if pUnit:GetHealPct() < 22 then
pUnit:SendChatMessage(14, 0, "Seems like your a mighty ... Good... Time to show you the true power of a Angel!")
pUnit:CastSpellOnTarget(29881,Unit:GetRandomPlayer(4))
pUnit:CastSpellOnTarget(29881,Unit:GetRandomPlayer(3))
pUnit:CastSpellOnTarget(29881,Unit:GetRandomPlayer(4))
pUnit:CastSpellOnTarget(29881,Unit:GetRandomPlayer(3))
pUnit:FullCastSpellOnTarget(45150,Unit:GetMainTank())
pUnit:FullCastSpellOnTarget(15743,Unit:GetMainTank())
pUnit:FullCastSpellOnTarget(15743,Unit:GetMainTank())
pUnit:FullCastSpellOnTarget(15743,Unit:GetMainTank())
pUnit:CastSpell(43110)
pUnit:CastSpell(43110)
pUnit:CastSpell(43110)
pUnit:CastSpell(43110)
pUnit:CastSpell(43110)
pUnit:CastSpell(22865)
pUnit:CastSpell(22865)
pUnit:CastSpell(22865)
pUnit:CastSpell(22865)
pUnit:SendChatMessage(14, 0, "HAHAHAHA THERE IS NO SURVIVING!!!!!")
pUnit:RegisterEvent("Angel_19",1000, 0)
end
end
function Angel_19(pUnit,Event)
if pUnit:GetHealthPct() < 21 then
pUnit:SendChatMessage(14, 0, "You.. survived...through that... its... its impossible!!")
pUnit:RegisterEvent("Angel_20",1000, 0)
end
end
function Angel_20(pUnit,Event)
if pUnit:GetHealthPct() < 18 then
pUnit:SendChatMessage(14, 0, "Great one... i .. i am sorry..I Cannot win this...")
end
end
function Angel_start(pUnit,Event)
pUnit:RegisterEvent("phase_1",1000, 0)
end
RegisterUnitEvent(94500, 1, "Angel_start")
RegisterUnitEvent(94500, 1, "Angel_EnterCombat")
RegisterUnitEvent(94500, 3, "Angel_OnKill")
RegisterUnitEvent(94500, 2, "Angel_LeaveCombat")
RegisterUnitEvent(94500, 4, "Angel_Died")
Once the SQL is imported.