private static void RangeManager() { wManager.Events.FightEvents.OnFightLoop += (unit, cancelable) => { if (MyTarget.GetDistance < 6 && MyTarget.HaveBuff(FrostNova.Id)) { var xvector = (ObjectManager.Me.Position.X) - (ObjectManager.Target.Position.X); var yvector = (ObjectManager.Me.Position.Y) - (ObjectManager.Target.Position.Y); Vector3 newpos = new Vector3() { X = ObjectManager.Me.Position.X + (float)((xvector * (20 / ObjectManager.Target.GetDistance) - xvector)), Y = ObjectManager.Me.Position.Y + (float)((yvector * (20 / ObjectManager.Target.GetDistance) - yvector)), Z = ObjectManager.Me.Position.Z }; MovementManager.Go(PathFinder.FindPath(newpos), false); Thread.Sleep(1500); } }; }
private static void CombatRotation() { if (Me.ManaPercentage < MageLevelSettings.CurrentSetting.Manastone) { _foodManager.UseManaStone(); } if (MageLevelSettings.CurrentSetting.Sheep) { //Poly Management if (Extension.GetAttackingUnits(5).Count() > 1 && Polymorph.KnownSpell) { Extension.Frameunlock(); Logging.Write("2 Attackers, one will get Feared"); WoWUnit mainTarget = Extension.GetAttackingUnits(5).Where(u => u.HealthPercent == Extension.GetAttackingUnits(5).Min(x => x.HealthPercent)).FirstOrDefault(); WoWUnit polyTarget = Extension.GetAttackingUnits(5).Where(u => u.HealthPercent == Extension.GetAttackingUnits(5).Max(x => x.HealthPercent)).FirstOrDefault(); if (polyTarget != mainTarget && !polyTarget.HaveBuff("Polymorph")) { ObjectManager.Me.FocusGuid = polyTarget.Guid; Extension.FightSpell(Polymorph, true); Logging.Write("Cast Poly on " + polyTarget); Thread.Sleep(1000); } } } if (Extension.InterruptableUnit(20f) != null && CounterSpell.KnownSpell && CounterSpell.IsSpellUsable) { Logging.Write("Interrupt Target found"); ObjectManager.Me.FocusGuid = Extension.InterruptableUnit(20f).Guid; Logging.Write("Interrupt Target Set" + Extension.InterruptableUnit(20f).Guid); Extension.FightSpell(CounterSpell, true); } if (Me.HaveBuff("Fireball!")) { Extension.FightSpell(FrostFirebolt); } if (!IceBarrier.IsSpellUsable && !IceBlock.IsSpellUsable) { Extension.BuffSpell(ColdSnap); } if (Me.HealthPercent < 15 && Extension.GetAttackingUnits(20).Count() >= 2) { Extension.BuffSpell(Evocation); } if (Me.HealthPercent < 14 && !IceBarrier.IsSpellUsable) { Extension.BuffSpell(IceBlock); } if (Me.HealthPercent < 95) { Extension.BuffSpell(IceBarrier); } if (Extension.GetAttackingUnits(25).Count() >= 3 || MyTarget.IsElite) { Extension.FightSpell(MirrorImage); Extension.FightSpell(SummonWaterElemental); } if (Extension.GetAttackingUnits(25).Count() >= 2 || MyTarget.IsElite) { Extension.BuffSpell(IcyVeins); Extension.FightSpell(SummonWaterElemental); } Extension.FightSpell(DeepFreeze); if (Me.HaveBuff("Fingers of Frost") || MyTarget.HaveBuff(FrostNova.Id)) { Extension.FightSpell(IceLance); } if (!Frostbolt.KnownSpell) { Extension.FightSpell(Fireball, false, false, false, false); } Extension.FightSpell(Frostbolt, false, false, false, false); if (MyTarget.HealthPercent < 10) { Extension.FightSpell(FireBlast); } if (MyTarget.GetDistance < 7) { Extension.FightSpell(FrostNova); } Extension.Frameunlock(); }
private static void ShadowRotation() { Extension.BuffSpell(ShadowForm); if (Extension.GetAttackingUnits(6).Count() > 1) { Extension.FightSpell(PsychicScream); } if (Extension.GetAttackingUnits(6).Count() > 1) { Extension.BuffSpell(InnerFire); } if (_icanusewand && Me.ManaPercentage < 5) { Extension.FightSpell(UseWand); } if (_icanusewand && PriestLevelSettings.CurrentSetting.UseWand && MyTarget.HealthPercent < PriestLevelSettings.CurrentSetting.UseWandTresh) { Extension.FightSpell(UseWand); return; } if (Me.Level >= 10 && Me.Level < 20) { Extension.FightSpell(MindBlast); if (!MindBlast.IsSpellUsable) { Extension.FightSpell(ShadowWordPain); } if (!MindBlast.IsSpellUsable) { Extension.FightSpell(Smite); } } if (Me.Level > 19 && Me.Level < 30) { if (Extension.GetAttackingUnits(20).Count() > 1 && !Me.IsStunned) { WoWUnit MainTarget = Extension.GetAttackingUnits(20).Where(u => u.HealthPercent == Extension.GetAttackingUnits(20).Min(x => x.HealthPercent)).FirstOrDefault(); WoWUnit DotTarget = Extension.GetAttackingUnits(20).Where(u => u.HealthPercent == Extension.GetAttackingUnits(20).Max(x => x.HealthPercent)).FirstOrDefault(); if (DotTarget != MainTarget) { ObjectManager.Me.FocusGuid = DotTarget.Guid; Extension.FightSpell(ShadowWordPain, true, true); Logging.Write("Cast Dot on " + DotTarget); Thread.Sleep(50); } } Extension.FightSpell(HolyFire); Extension.FightSpell(DevouringPlague); Extension.FightSpell(ShadowWordPain); if (MyTarget.HaveBuff(DevouringPlague.Id) && MyTarget.HaveBuff(ShadowWordPain.Id) && PriestLevelSettings.CurrentSetting.ShadowUseMindflay) { Extension.FightSpell(MindFlay); } Extension.FightSpell(MindBlast); } if (Me.Level > 29 && Me.Level < 40) { //Vampiric Touch > Vampiric Embrace > Mind Blast > Mind Flay if (Extension.GetAttackingUnits(20).Count() > 1 && !Me.IsStunned) { WoWUnit MainTarget = Extension.GetAttackingUnits(20).Where(u => u.HealthPercent == Extension.GetAttackingUnits(20).Min(x => x.HealthPercent)).FirstOrDefault(); WoWUnit DotTarget = Extension.GetAttackingUnits(20).Where(u => u.HealthPercent == Extension.GetAttackingUnits(20).Max(x => x.HealthPercent)).FirstOrDefault(); if (DotTarget != MainTarget) { ObjectManager.Me.FocusGuid = DotTarget.Guid; Extension.FightSpell(ShadowWordPain, true, true); Logging.Write("Cast Dot on " + DotTarget); Thread.Sleep(50); } } Extension.FightSpell(HolyFire); Extension.FightSpell(DevouringPlague); if (MyTarget.HaveBuff(DevouringPlague.Id)) { Extension.BuffSpell(VampiricEmbrace); } Extension.FightSpell(ShadowWordPain); if (MyTarget.HaveBuff(DevouringPlague.Id) && MyTarget.HaveBuff(ShadowWordPain.Id) && PriestLevelSettings.CurrentSetting.ShadowUseMindflay) { Extension.FightSpell(MindFlay); } Extension.FightSpell(MindBlast); } if (Me.Level > 39 && Me.Level < 50) { //Vampiric Touch > Vampiric Embrace > Mind Blast > Mind Flay if (Extension.GetAttackingUnits(20).Count() > 1 && !Me.IsStunned) { WoWUnit MainTarget = Extension.GetAttackingUnits(20).Where(u => u.HealthPercent == Extension.GetAttackingUnits(20).Min(x => x.HealthPercent)).FirstOrDefault(); WoWUnit DotTarget = Extension.GetAttackingUnits(20).Where(u => u.HealthPercent == Extension.GetAttackingUnits(20).Max(x => x.HealthPercent)).FirstOrDefault(); if (DotTarget != MainTarget) { ObjectManager.Me.FocusGuid = DotTarget.Guid; Extension.FightSpell(ShadowWordPain, true, true); Logging.Write("Cast Dot on " + DotTarget); Thread.Sleep(50); } } if (PriestLevelSettings.CurrentSetting.ShadowDPUse) { Extension.FightSpell(DevouringPlague); } Extension.FightSpell(ShadowWordPain); if (MyTarget.HaveBuff(ShadowWordPain.Id)) { Extension.BuffSpell(VampiricEmbrace); } Extension.FightSpell(MindBlast); if (MyTarget.HaveBuff(ShadowWordPain.Id) && PriestLevelSettings.CurrentSetting.ShadowUseMindflay) { Extension.FightSpell(MindFlay); } } if (Me.Level > 49 && Me.Level < 60) { //Vampiric Touch > Vampiric Embrace > Mind Blast > Mind Flay if (Extension.GetAttackingUnits(20).Count() > 1 && !Me.IsStunned) { WoWUnit MainTarget = Extension.GetAttackingUnits(20).Where(u => u.HealthPercent == Extension.GetAttackingUnits(20).Min(x => x.HealthPercent)).FirstOrDefault(); WoWUnit DotTarget = Extension.GetAttackingUnits(20).Where(u => u.HealthPercent == Extension.GetAttackingUnits(20).Max(x => x.HealthPercent)).FirstOrDefault(); if (DotTarget != MainTarget) { ObjectManager.Me.FocusGuid = DotTarget.Guid; Extension.FightSpell(ShadowWordPain, true, true); Logging.Write("Cast Dot on " + DotTarget); Thread.Sleep(50); } } if (PriestLevelSettings.CurrentSetting.ShadowDPUse) { Extension.FightSpell(DevouringPlague); } Extension.FightSpell(VampiricTouch); if (MyTarget.HaveBuff(VampiricTouch.Id)) { Extension.FightSpell(ShadowWordPain); } Extension.BuffSpell(VampiricEmbrace); Extension.FightSpell(MindBlast); if (MyTarget.HaveBuff(VampiricTouch.Id) && MyTarget.HaveBuff(ShadowWordPain.Id) && PriestLevelSettings.CurrentSetting.ShadowUseMindflay) { Extension.FightSpell(MindFlay); } } if (Me.Level > 59) { //Vampiric Touch > Vampiric Embrace > Mind Blast > Mind Flay if (Extension.GetAttackingUnits(20).Count() > 1 && !Me.IsStunned) { WoWUnit MainTarget = Extension.GetAttackingUnits(20).Where(u => u.HealthPercent == Extension.GetAttackingUnits(20).Min(x => x.HealthPercent)).FirstOrDefault(); WoWUnit DotTarget = Extension.GetAttackingUnits(20).Where(u => u.HealthPercent == Extension.GetAttackingUnits(20).Max(x => x.HealthPercent)).FirstOrDefault(); if (DotTarget != MainTarget) { ObjectManager.Me.FocusGuid = DotTarget.Guid; Extension.FightSpell(ShadowWordPain, true, true); Logging.Write("Cast Dot on " + DotTarget); Thread.Sleep(50); } } if (PriestLevelSettings.CurrentSetting.ShadowDPUse) { Extension.FightSpell(DevouringPlague); } Extension.FightSpell(VampiricTouch); if (MyTarget.HaveBuff(VampiricTouch.Id)) { Extension.FightSpell(ShadowWordPain); } Extension.BuffSpell(VampiricEmbrace); if (Me.ManaPercentage < 20) { Extension.FightSpell(ShadowFiend); } Extension.FightSpell(MindBlast); if (MyTarget.HaveBuff(VampiricTouch.Id) && MyTarget.HaveBuff(ShadowWordPain.Id) && PriestLevelSettings.CurrentSetting.ShadowUseMindflay) { Extension.FightSpell(MindFlay); } } }