Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Hard Shaman Boss (Complex)
- -- by tommyrego of ac-web.org
- -- Elemental Lord
- function Elemental_OnCombat(pUnit, Event)
- pUnit:SendChatMessage(14, 0, "Thunder will destroy you!")
- pUnit:RegisterEvent("Elemental_Arc", 2000, 0)
- pUnit:RegisterEvent("Elemental_Chain", 20000, 0)
- pUnit:RegisterEvent("Elemetal_Shield", 10000, 0)
- pUnit:RegisterEvent("SummonThunder", 3000, 1)
- pUnit:RegisterEvent("Phase2", 1000, 0)
- end
- function Phase2(pUnit, Event)
- if pUnit:GetHealthPct() < 90 then
- pUnit:RemoveEvents();
- pUnit:RegisterEvent("Elemental_Arc", 2000, 0)
- pUnit:RegisterEvent("Elemental_Chain", 20000, 0)
- pUnit:RegisterEvent("Elemental_Nova", 30000, 0)
- pUnit:RegisterEvent("Phase3", 1000, 0)
- end
- end
- function Phase3(pUnit, Event)
- if pUnit:GetHealthPct() < 75 then
- pUnit:RemoveEvents();
- pUnit:SendChatMessage(14, 0, "Water! Make me powerfull.")
- pUnit:CastSpell(36881)
- pUnit:RegisterEvent("SummonWater",1000, 1)
- pUnit:RegisterEvent("Elemental_Blast", 5000, 0)
- pUnit:RegisterEvent("Elemental_Bolt", 10000, 0)
- pUnit:RegisterEvent("Elemental_Frost", 2000, 0)
- pUnit:RegisterEvent("Phase4", 1000, 0)
- end
- end
- function Phase4(pUnit, Event)
- if pUnit:GetHealthPct() < 50 then
- pUnit:RemoveEvents();
- pUnit:SendChatMessage(14, 0, "Earth! Protect me!")
- pUnit:CastSpell(51489)
- pUnit:RegisterEvent("Elemental_Charred", 20000, 0)
- pUnit:RegisterEvent("Elemental_Shock", 2500, 0)
- pUnit:RegisterEvent("Elemetal_Earth", 15000, 0)
- pUnit:RegisterEvent("SummonEarth", 2000, 1)
- pUnit:RegisterEvent("Phase5", 1000, 0)
- end
- end
- function Phase5(pUnit, Event)
- if pUnit:GetHealthPct() < 31 then
- pUnit:RemoveEvents();
- pUnit:SendChatMessage(14, 0, "Wind! Destroy that stupid Heroes!")
- pUnit:CastSpell(54589)
- pUnit:RegisterEvent("Elemental_Fury",15000, 0)
- pUnit:RegisterEvent("Elemental_Wind",20000, 0)
- pUnit:RegisterEvent("Elemental_Burning",16000, 0)
- pUnit:RegisterEvent("Elemental_Shear",8000, 0)
- pUnit:RegisterEvent("Elemental_Tendrils",50000, 0)
- pUnit:RegisterEvent("Elemental_Thunder",40000, 0)
- pUnit:RegisterEvent("Elemental_Blade",20000, 0)
- end
- end
- RegisterUnitEvent(NPCIDHERE, 1, "Elemental_OnCombat")
- RegisterUnitEvent(NPCIDHERE, 2, "Elemental_OnLeaveCombat")
- RegisterUnitEvent(NPCIDHERE, 3, "Elemental_OnKilledTarget")
- RegisterUnitEvent(NPCIDHERE, 4, "Elemental_OnDied")
- function Elemental_Arc(pUnit, Event)
- pUnit:FullCastSpellOnTarget(52921, pUnit:GetRandomPlayer(0))
- end
- function Elemental_Chain(pUnit, Event)
- pUnit:FullCastSpellOnTarget(59082, pUnit:GetRandomPlayer(0))
- end
- function Elemental_Frost(pUnit, Event)
- pUnit:FullCastSpellOnTarget(41384, pUnit:GetRandomPlayer(0))
- end
- function Elemental_Nova(pUnit, Event)
- pUnit:CastSpell(59835)
- end
- function Elemental_Shear(pUnit, Event)
- pUnit:CastSpell(52870)
- end
- function Elemetal_Shield(pUnit, Event)
- pUnit:CastSpell(51620, pUnit:GetRandomPlayer(0))
- end
- function Elemental_Blast(pUnit, Event)
- pUnit:FullCastSpellOnTarget(59520, pUnit:GetRandomPlayer(0))
- end
- function Elemental_Bolt(pUnit, Event)
- pUnit:FullCastSpellOnTarget(37138, pUnit:GetRandomPlayer(0))
- end
- function Elemental_Charred(pUnit, Event)
- pUnit:CastSpell(30129)
- end
- function Elemental_Shock(pUnit, Event)
- pUnit:FullCastSpellOnTarget(43305, pUnit:GetRandomPlayer(0))
- end
- function Elemental_Wind(pUnit, Event)
- pUnit:FullCastSpellOnTarget(25189, pUnit:GetRandomPlayer(0))
- end
- function Elemental_Burning(pUnit, Event)
- pUnit:FullCastSpellOnTarget(17293, pUnit:GetRandomPlayer(0))
- end
- function Elemental_Tendrils(pUnit, Event)
- pUnit:FullCastSpellOnTarget(23009, pUnit:GetRandomPlayer(0))
- end
- function Elemental_Blade(pUnit, Event)
- pUnit:FullCastSpellOnTarget(55866, pUnit:GetRandomPlayer(0))
- end
- function Elemetal_Earth(pUnit, Event)
- pUnit:CastSpell(33919)
- end
- function Elemental_Rain(pUnit, Event)
- pUnit:CastSpell(34435)
- end
- function Elemental_Fury(pUnit, Event)
- pUnit:CastSpell(38229)
- end
- function Elemental_Thunder(pUnit, Event)
- pUnit:CastSpell(53630)
- end
- function Elemental_OnLeaveCombat(pUnit, Event)
- pUnit:RemoveEvents();
- pUnit:SendChatMessage(14, 0, "Ahah! Your so weak!")
- end
- function Elemental_OnDied(pUnit, Event)
- pUnit:RemoveEvents();
- pUnit:SendChatMessage(14, 0, "This is impossible! The Elements can't be
- destroyed!")
- end
- function Elemental_OnKilledTarget(pUnit, Event)
- pUnit:CastSpell(55948)
- pUnit:CastSpell(50363)
- pUnit:SendChatMessage(14, 0, "One more down! Soon you will be all dead.")
- end
- function SummonWater(pUnit,event)
- x = pUnit:GetX()
- y = pUnit:GetY()
- z = pUnit:GetZ()
- o = pUnit:GetO()
- pUnit:SpawnCreature(30419, x+5, y, z, o, 14, 30000)
- pUnit:SpawnCreature(30419, x+10, y, z, o, 14, 30000)
- end
- function SummonThunder(pUnit,event)
- x = pUnit:GetX()
- y = pUnit:GetY()
- z = pUnit:GetZ()
- o = pUnit:GetO()
- pUnit:SpawnCreature(28825, x+5, y, z, o, 14, 30000)
- pUnit:SpawnCreature(28825, x+10, y, z, o, 14, 30000)
- end
- function SummonEarth(pUnit,event)
- x = pUnit:GetX()
- y = pUnit:GetY()
- z = pUnit:GetZ()
- o = pUnit:GetO()
- pUnit:SpawnCreature(28584, x+5, y, z, o, 14, 30000)
- pUnit:SpawnCreature(28584, x+10, y, z, o, 14, 30000)
- end
- function Earth_OnCombat(Unit, Event)
- Unit:RegisterEvent("Earth_Stone", 6000, 0)
- end
- function Earth_Stone(pUnit, Event)
- pUnit:FullCastSpellOnTarget(59742, pUnit:GetRandomPlayer(0))
- end
- function Earth_OnLeaveCombat(Unit, Event)
- Unit:RemoveEvents();
- end
- function Earth_OnDied(Unit, Event)
- Unit:RemoveEvents();
- end
- function Earth_OnKilledTarget(Unit, Event)
- Unit:SendChatMessage(11, 0, "I killed him, master.")
- end
- RegisterUnitEvent(28584, 1, "Earth_OnCombat")
- RegisterUnitEvent(28584, 2, "Earth_OnLeaveCombat")
- RegisterUnitEvent(28584, 3, "Earth_OnKilledTarget")
- RegisterUnitEvent(28584, 4, "Earth_OnDied")
- function Frostele_OnCombat(Unit, Event)
- Unit:RegisterEvent("Frostele_Nova", 10000, 0)
- Unit:RegisterEvent("Frostele_Bolt", 2000, 0)
- Unit:RegisterEvent("Frostele_Cone", 8000, 0)
- end
- function Frostele_Nova(pUnit, Event)
- pUnit:CastSpell(57668)
- end
- function Frostele_Bolt(pUnit, Event)
- pUnit:FullCastSpellOnTarget(36990, pUnit:GetRandomPlayer(0))
- end
- function Frostele_Cone(pUnit, Event)
- pUnit:CastSpell(29717)
- end
- function Frostele_OnLeaveCombat(Unit, Event)
- Unit:RemoveEvents();
- end
- function Frostele_OnDied(Unit, Event)
- Unit:RemoveEvents();
- end
- function Frostele_OnKilledTarget(Unit, Event)
- Unit:SendChatMessage(11, 0, "I killed him, master.")
- end
- RegisterUnitEvent(30419, 1, "Frostele_OnCombat")
- RegisterUnitEvent(30419, 2, "Frostele_OnLeaveCombat")
- RegisterUnitEvent(30419, 3, "Frostele_OnKilledTarget")
- RegisterUnitEvent(30419, 4, "Frostele_OnDied")
- function Thunderele_OnCombat(Unit, Event)
- Unit:RegisterEvent("Thunderele_Light", 2000, 0)
- Unit:RegisterEvent("Thunderele_Breath", 4000, 0)
- end
- function Thunderele_Light(pUnit, Event)
- pUnit:FullCastSpellOnTarget(43301, pUnit:GetRandomPlayer(0))
- end
- function Thunderele_Breath(pUnit, Event)
- pUnit:CastSpell(38193)
- end
- function Thunderele_OnLeaveCombat(Unit, Event)
- Unit:RemoveEvents();
- end
- function Thunderele_OnDied(Unit, Event)
- Unit:RemoveEvents();
- end
- function Thunderele_OnKilledTarget(Unit, Event)
- Unit:SendChatMessage(11, 0, "I killed him, master.")
- end
- RegisterUnitEvent(28825, 1, "Thunderele_OnCombat")
- RegisterUnitEvent(28825, 2, "Thunderele_OnLeaveCombat")
- RegisterUnitEvent(28825, 3, "Thunderele_OnKilledTarget")
- RegisterUnitEvent(28825, 4, "Thunderele_OnDied")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement