Пример #1
0
    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);
            }
        };
    }
Пример #2
0
    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();
    }
Пример #3
0
 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);
         }
     }
 }