Beispiel #1
0
        private void BuffManager()
        {
            if (TargetSelectEvent.Run())
            {
                List <WowUnit> CastBuff = new List <WowUnit>(WowInterface.ObjectManager.Partymembers)
                {
                    WowInterface.ObjectManager.Player
                };

                CastBuff = CastBuff.Where(e => (!e.HasBuffByName("Prayer of Fortitude") || !e.HasBuffByName("Prayer of Shadow Protection")) && !e.IsDead).OrderBy(e => e.HealthPercentage).ToList();

                if (CastBuff != null)
                {
                    if (CastBuff.Count > 0)
                    {
                        if (WowInterface.ObjectManager.TargetGuid != CastBuff.FirstOrDefault().Guid)
                        {
                            WowInterface.HookManager.WowTargetGuid(CastBuff.FirstOrDefault().Guid);
                        }
                    }
                    if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null)
                    {
                        if (!TargetInLineOfSight)
                        {
                            return;
                        }
                        if (!WowInterface.ObjectManager.Target.HasBuffByName("Prayer of Fortitude") && CustomCastSpell(PrayerofFortitude))
                        {
                            return;
                        }
                        if (!WowInterface.ObjectManager.Target.HasBuffByName("Prayer of Shadow Protection") && CustomCastSpell(PrayerofShadowProtection))
                        {
                            return;
                        }
                    }
                }
            }
            //if ((!WowInterface.ObjectManager.Player.HasBuffByName("Power Word: Fortitude") || !WowInterface.ObjectManager.Target.HasBuffByName("Power Word: Fortitude")) && CustomCastSpell(PowerWordFortitudeSpell))
            //{
            //    return;
            //}
            if (!WowInterface.ObjectManager.Player.HasBuffByName("Divine Spirit") && CustomCastSpell(DivineSpiritSpell, true))
            {
                return;
            }
            if (!WowInterface.ObjectManager.Player.HasBuffByName("Inner Fire") && CustomCastSpell(InnerFireSpell, true))
            {
                return;
            }
            if (!WowInterface.ObjectManager.Player.HasBuffByName("Fear Ward") && CustomCastSpell(FearWardSpell, true))
            {
                return;
            }
            //if (!WowInterface.ObjectManager.Player.HasBuffByName("Shadow Protection") && CustomCastSpell(ShadowProtectionSpell))
            //{
            //    return;
            //}
        }
        private void BuffManager()
        {
            if (TargetSelectEvent.Run())
            {
                List <WowUnit> CastBuff = new List <WowUnit>(WowInterface.ObjectManager.Partymembers)
                {
                    WowInterface.ObjectManager.Player
                };

                CastBuff = CastBuff.Where(e => !e.HasBuffByName("Blessing of Kings") && !e.IsDead).OrderBy(e => e.HealthPercentage).ToList();

                if (CastBuff != null)
                {
                    if (CastBuff.Count > 0)
                    {
                        if (WowInterface.ObjectManager.TargetGuid != CastBuff.FirstOrDefault().Guid)
                        {
                            WowInterface.HookManager.WowTargetGuid(CastBuff.FirstOrDefault().Guid);
                        }
                    }
                    if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null)
                    {
                        if (!TargetInLineOfSight)
                        {
                            return;
                        }
                        if (!WowInterface.ObjectManager.Target.HasBuffByName("Blessing of Kings") && CustomCastSpell(blessingofKingsSpell))
                        {
                            return;
                        }
                    }
                }
            }
            if (!WowInterface.ObjectManager.Player.HasBuffByName("Seal of Wisdom") && CustomCastSpell(sealofWisdomSpell))
            {
                return;
            }
            if (!WowInterface.ObjectManager.Player.HasBuffByName("Devotion Aura") && CustomCastSpell(devotionAuraSpell))
            {
                return;
            }
            if (!WowInterface.ObjectManager.Player.HasBuffByName("Righteous Fury") && CustomCastSpell(righteousFurySpell))
            {
                return;
            }
        }
Beispiel #3
0
        public void TargetselectionTank()
        {
            if (TargetSelectEvent.Run())
            {
                WowUnit nearTargetToTank = WowInterface.ObjectManager.GetEnemiesTargetingPartymembers <WowUnit>(WowInterface.Player.Position, 60)
                                           .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type != WowObjectType.Player && e.Name != "The Lich King" && e.Name != "Anub'Rekhan" && !(WowInterface.ObjectManager.MapId == WowMapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346))
                                           .OrderBy(e => e.Position.GetDistance(WowInterface.Player.Position))
                                           .FirstOrDefault();

                if (nearTargetToTank != null)
                {
                    WowInterface.HookManager.WowTargetGuid(nearTargetToTank.Guid);

                    if (!TargetInLineOfSight)
                    {
                        return;
                    }
                    else
                    {
                        AttackTarget();
                    }
                }
                else
                {
                    WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.Player.Position, 80)
                                         .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type == WowObjectType.Player)
                                         .OrderBy(e => e.Position.GetDistance(WowInterface.Player.Position))
                                         .FirstOrDefault();//&& e.Type(Player)

                    if (nearTarget != null)
                    {
                        WowInterface.HookManager.WowTargetGuid(nearTarget.Guid);

                        if (!TargetInLineOfSight)
                        {
                            return;
                        }
                    }
                    else
                    {
                        AttackTarget();
                    }
                }
            }
        }
Beispiel #4
0
        private void Targetselection()
        {
            if (TargetSelectEvent.Run())
            {
                WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Player.Position, 40)
                                     .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Name != "The Lich King" && !(WowInterface.ObjectManager.MapId == MapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346))
                                     .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position))
                                     .FirstOrDefault();

                if (nearTarget != null)
                {
                    WowInterface.HookManager.TargetGuid(nearTarget.Guid);

                    if (!TargetInLineOfSight)
                    {
                        return;
                    }
                }
            }
        }
Beispiel #5
0
        public void Targetselection()
        {
            if (TargetSelectEvent.Run())
            {
                WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.Player.Position, 50)
                                     .Where(e => !e.IsNotAttackable && (e.Type == WowObjectType.Player && (e.IsPvpFlagged && !e.IsFriendyTo(WowInterface, WowInterface.Player)) || (e.IsInCombat)) || (e.IsInCombat && e.Name != "The Lich King" && !(WowInterface.ObjectManager.MapId == WowMapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346)))
                                     .OrderBy(e => e.Position.GetDistance(WowInterface.Player.Position))
                                     .FirstOrDefault();//&& e.Type(Player)

                if (nearTarget != null)
                {
                    WowInterface.HookManager.WowTargetGuid(nearTarget.Guid);

                    if (!TargetInLineOfSight)
                    {
                        return;
                    }
                }
                else
                {
                    AttackTarget();
                }
            }
        }
        private void Targetselection()
        {
            if (TargetSelectEvent.Run())
            {
                if (!OffTank)
                {
                    WowUnit nearTargetToTank = WowInterface.ObjectManager.GetEnemiesTargetingPartymembers <WowUnit>(WowInterface.ObjectManager.Player.Position, 60)
                                               .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type != WowObjectType.Player && e.Name != "The Lich King" && e.Name != "Anub'Rekhan" && !(WowInterface.ObjectManager.MapId == MapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346))
                                               .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position))
                                               .FirstOrDefault();

                    if (nearTargetToTank != null)
                    {
                        WowInterface.HookManager.WowTargetGuid(nearTargetToTank.Guid);

                        if (!TargetInLineOfSight)
                        {
                            return;
                        }
                    }
                    else
                    {
                        WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Player.Position, 80)
                                             .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type == WowObjectType.Player)
                                             .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position))
                                             .FirstOrDefault();//&& e.Type(Player)

                        if (nearTarget != null)
                        {
                            WowInterface.HookManager.WowTargetGuid(nearTarget.Guid);

                            if (!TargetInLineOfSight)
                            {
                                return;
                            }
                        }
                    }
                }
                else
                {
                    WowUnit nearTargetToTank = WowInterface.ObjectManager.GetEnemiesTargetingPartymembers <WowUnit>(WowInterface.ObjectManager.Player.Position, 80)
                                               .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type != WowObjectType.Player && e.Name != "Anub'Rekhan")
                                               .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position))
                                               .FirstOrDefault();

                    if (nearTargetToTank != null)
                    {
                        WowInterface.HookManager.WowTargetGuid(nearTargetToTank.Guid);

                        if (!TargetInLineOfSight)
                        {
                            return;
                        }
                        if (WowInterface.ObjectManager.Target.Name != "Anub'Rekhan" && WowInterface.ObjectManager.Target.TargetGuid == WowInterface.ObjectManager.PlayerGuid)
                        {
                            //HandlesMovement = false;
                            WowInterface.MovementEngine.SetMovementAction(Movement.Enums.MovementAction.Moving, new Vector3(3272, -3476, 287));
                        }
                    }
                    else
                    {
                        WowUnit nearTargetToTankOffTank = WowInterface.ObjectManager.GetEnemiesTargetingPartymembers <WowUnit>(WowInterface.ObjectManager.Player.Position, 80)
                                                          .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type != WowObjectType.Player && e.Name == "Anub'Rekhan")
                                                          .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position))
                                                          .FirstOrDefault();

                        if (nearTargetToTank != null)
                        {
                            WowInterface.HookManager.WowTargetGuid(nearTargetToTank.Guid);

                            if (!TargetInLineOfSight)
                            {
                                return;
                            }
                        }
                    }
                }
            }
        }
Beispiel #7
0
        private void StartHeal()
        {
            List <WowUnit> partyMemberToHeal = new List <WowUnit>(WowInterface.ObjectManager.Partymembers);

            //healableUnits.AddRange(WowInterface.ObjectManager.PartyPets);
            partyMemberToHeal.Add(WowInterface.ObjectManager.Player);

            partyMemberToHeal = partyMemberToHeal.Where(e => e.HealthPercentage <= 94 && !e.IsDead).OrderBy(e => e.HealthPercentage).ToList();

            if (partyMemberToHeal.Count > 0)
            {
                if (WowInterface.ObjectManager.TargetGuid != partyMemberToHeal.FirstOrDefault().Guid)
                {
                    WowInterface.HookManager.WowTargetGuid(partyMemberToHeal.FirstOrDefault().Guid);
                }

                if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null)
                {
                    targetIsInRange = WowInterface.ObjectManager.Player.Position.GetDistance(WowInterface.ObjectManager.GetWowObjectByGuid <WowUnit>(partyMemberToHeal.FirstOrDefault().Guid).Position) <= 30;
                    if (targetIsInRange)
                    {
                        if (!TargetInLineOfSight)
                        {
                            return;
                        }
                        if (WowInterface.MovementEngine.MovementAction != Movement.Enums.MovementAction.None)
                        {
                            WowInterface.HookManager.WowStopClickToMove();
                            WowInterface.MovementEngine.Reset();
                        }

                        if (WowInterface.ObjectManager.Target != null && WowInterface.ObjectManager.Target.HealthPercentage >= 90)
                        {
                            WowInterface.HookManager.LuaDoString("SpellStopCasting()");
                            return;
                        }

                        if (UseSpellOnlyInCombat && (WowInterface.ObjectManager.Player.IsConfused || WowInterface.ObjectManager.Player.IsSilenced || WowInterface.ObjectManager.Player.IsDazed) && CustomCastSpell(EveryManforHimselfSpell))
                        {
                            return;
                        }

                        if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.ManaPercentage <= 20 && CustomCastSpell(HymnofHopeSpell))
                        {
                            return;
                        }

                        if (partyMemberToHeal.Count >= 5 && WowInterface.ObjectManager.Target.HealthPercentage < 50 && CustomCastSpell(DivineHymnSpell))
                        {
                            return;
                        }

                        if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.HealthPercentage < 50 && CustomCastSpell(FadeSpell))
                        {
                            return;
                        }

                        if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Target.HealthPercentage < 30 && CustomCastSpell(GuardianSpiritSpell))
                        {
                            return;
                        }

                        if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Target.HealthPercentage < 30 && CustomCastSpell(DesperatePrayerSpell))
                        {
                            return;
                        }

                        if (WowInterface.ObjectManager.Target.HealthPercentage < 55 && CustomCastSpell(GreaterHealSpell))
                        {
                            return;
                        }

                        if (WowInterface.ObjectManager.Target.HealthPercentage < 80 && CustomCastSpell(FlashHealSpell))
                        {
                            return;
                        }

                        if (partyMemberToHeal.Count >= 3 && WowInterface.ObjectManager.Target.HealthPercentage < 80 && CustomCastSpell(CircleOfHealingSpell))
                        {
                            return;
                        }

                        if (UseSpellOnlyInCombat && partyMemberToHeal.Count >= 2 && WowInterface.ObjectManager.Target.HealthPercentage < 80 && CustomCastSpell(PrayerofMendingSpell))
                        {
                            return;
                        }

                        if (UseSpellOnlyInCombat && partyMemberToHeal.Count >= 3 && WowInterface.ObjectManager.Target.HealthPercentage < 80 && CustomCastSpell(PrayerofHealingSpell))
                        {
                            return;
                        }

                        if (!WowInterface.ObjectManager.Target.HasBuffByName("Renew") && WowInterface.ObjectManager.Target.HealthPercentage < 90 && CustomCastSpell(RenewSpell))
                        {
                            return;
                        }

                        if (UseSpellOnlyInCombat && !WowInterface.ObjectManager.Target.HasBuffByName("Weakened Soul") && !WowInterface.ObjectManager.Target.HasBuffByName("Power Word: Shield") && WowInterface.ObjectManager.Target.HealthPercentage < 90 && CustomCastSpell(PowerWordShieldSpell))
                        {
                            return;
                        }
                    }
                }
            }
            else
            {
                if (TargetSelectEvent.Run())
                {
                    WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Player.Position, 30)
                                         .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Name != "The Lich King" && !(WowInterface.ObjectManager.MapId == MapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346))//&& e.IsCasting
                                         .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position))
                                         .FirstOrDefault();

                    if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null && nearTarget != null)
                    {
                        WowInterface.HookManager.WowTargetGuid(nearTarget.Guid);

                        if (!TargetInLineOfSight)
                        {
                            return;
                        }
                        if (WowInterface.MovementEngine.MovementAction != Movement.Enums.MovementAction.None)
                        {
                            WowInterface.HookManager.WowStopClickToMove();
                            WowInterface.MovementEngine.Reset();
                        }
                        if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.ManaPercentage >= 80 && CustomCastSpell(HolyFireSpell))
                        {
                            return;
                        }
                        if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.ManaPercentage >= 80 && CustomCastSpell(SmiteSpell))
                        {
                            return;
                        }
                    }
                }
                //target gui id is bigger than null
                //{
                //WowInterface.HookManager.ClearTarget();
                //return;
                //}
                //Attacken
            }
        }
Beispiel #8
0
        private void StartHeal()
        {
            // List<WowUnit> partyMemberToHeal = WowInterface.ObjectManager.Partymembers.Where(e => e.HealthPercentage <= 94 && !e.IsDead).OrderBy(e => e.HealthPercentage).ToList();//FirstOrDefault => tolist

            List <WowUnit> partyMemberToHeal = new List <WowUnit>(WowInterface.ObjectManager.Partymembers)
            {
                //healableUnits.AddRange(WowInterface.ObjectManager.PartyPets);
                WowInterface.ObjectManager.Player
            };

            partyMemberToHeal = partyMemberToHeal.Where(e => e.HealthPercentage <= 94 && !e.IsDead).OrderBy(e => e.HealthPercentage).ToList();

            if (partyMemberToHeal.Count > 0)
            {
                if (WowInterface.ObjectManager.TargetGuid != partyMemberToHeal.FirstOrDefault().Guid)
                {
                    WowInterface.HookManager.WowTargetGuid(partyMemberToHeal.FirstOrDefault().Guid);
                }

                if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null)
                {
                    targetIsInRange = WowInterface.ObjectManager.Player.Position.GetDistance(WowInterface.ObjectManager.GetWowObjectByGuid <WowUnit>(partyMemberToHeal.FirstOrDefault().Guid).Position) <= 30;
                    if (targetIsInRange)
                    {
                        if (!TargetInLineOfSight)
                        {
                            return;
                        }
                        if (WowInterface.MovementEngine.MovementAction != Movement.Enums.MovementAction.None)
                        {
                            WowInterface.HookManager.WowStopClickToMove();
                            WowInterface.MovementEngine.Reset();
                        }

                        if (WowInterface.ObjectManager.Target != null && WowInterface.ObjectManager.Target.HealthPercentage >= 90)
                        {
                            WowInterface.HookManager.LuaDoString("SpellStopCasting()");
                            return;
                        }

                        //if (UseSpellOnlyInCombat)
                        //{
                        //    WowInterface.HookManager.UseItemByName("Talisman of Resuregence");
                        //    return;
                        //}

                        if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.HealthPercentage < 20 && CustomCastSpell(heroismSpell))
                        {
                            return;
                        }

                        if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Target.HealthPercentage < 20 && CustomCastSpell(naturesswiftSpell) && CustomCastSpell(healingWaveSpell))
                        {
                            return;
                        }

                        if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Target.HealthPercentage < 40 && CustomCastSpell(tidalForceSpell))
                        {
                            return;
                        }

                        //if (partyMemberToHeal.Count >= 3 && WowInterface.ObjectManager.Target.HealthPercentage < 40 && CustomCastSpell(Bloodlust))
                        //{
                        //    return;
                        //}
                        //Race Draenei
                        if (WowInterface.ObjectManager.Player.Race == WowRace.Draenei && WowInterface.ObjectManager.Target.HealthPercentage < 50 && CustomCastSpell(giftOfTheNaaruSpell))
                        {
                            return;
                        }

                        if (WowInterface.ObjectManager.Target.HealthPercentage <= 50 && CustomCastSpell(healingWaveSpell))
                        {
                            return;
                        }

                        if (WowInterface.ObjectManager.Target.HealthPercentage <= 75 && CustomCastSpell(lesserHealingWaveSpell))
                        {
                            return;
                        }

                        if (partyMemberToHeal.Count >= 4 && WowInterface.ObjectManager.Target.HealthPercentage >= 80 && CustomCastSpell(chainHealSpell))
                        {
                            return;
                        }

                        if (UseSpellOnlyInCombat && earthShieldEvent.Run() && !WowInterface.ObjectManager.Target.HasBuffByName("Earth Shield") && !WowInterface.ObjectManager.Target.HasBuffByName("Water Shield") && WowInterface.ObjectManager.Target.HealthPercentage < 90 && CustomCastSpell(earthShieldSpell))
                        {
                            return;
                        }

                        if (!WowInterface.ObjectManager.Target.HasBuffByName("Riptide") && WowInterface.ObjectManager.Target.HealthPercentage < 90 && CustomCastSpell(riptideSpell))
                        {
                            return;
                        }
                    }

                    totemItemCheck();

                    if (totemcastEvent.Run() && hasTotemItems)
                    {
                        if (WowInterface.ObjectManager.Player.ManaPercentage <= 10 && CustomCastSpell(ManaTideTotemSpell))
                        {
                            return;
                        }
                    }
                }
            }
            else
            {
                totemItemCheck();

                if (totemcastEvent.Run() && hasTotemItems)
                {
                    if (WowInterface.ObjectManager.Player.ManaPercentage >= 50 &&
                        !WowInterface.ObjectManager.Player.HasBuffByName("Windfury Totem") &&
                        !WowInterface.ObjectManager.Player.HasBuffByName("Stoneskin") &&
                        !WowInterface.ObjectManager.Player.HasBuffByName("Flametongue Totem") &&
                        CustomCastSpell(CalloftheElementsSpell))
                    {
                        return;
                    }
                }

                if (TargetSelectEvent.Run())
                {
                    WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Player.Position, 30)
                                         .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Name != "The Lich King" && !(WowInterface.ObjectManager.MapId == MapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346))//&& e.IsCasting
                                         .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position))
                                         .FirstOrDefault();

                    //if (nearTarget != null )
                    if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null && nearTarget != null)
                    {
                        WowInterface.HookManager.WowTargetGuid(nearTarget.Guid);

                        if (!TargetInLineOfSight)
                        {
                            return;
                        }
                        if (WowInterface.MovementEngine.MovementAction != Movement.Enums.MovementAction.None)
                        {
                            WowInterface.HookManager.WowStopClickToMove();
                            WowInterface.MovementEngine.Reset();
                        }
                        if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Target.IsCasting && CustomCastSpell(windShearSpell))
                        {
                            return;
                        }
                        if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.ManaPercentage >= 80 && CustomCastSpell(flameShockSpell))
                        {
                            return;
                        }
                        //if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.ManaPercentage >= 90 && CustomCastSpell(earthShockSpell))
                        //{
                        //    return;
                        //}
                    }
                }
                //target gui id is bigger than null
                //{
                //WowInterface.HookManager.ClearTarget();
                //return;
                //}
                //Attacken
            }
        }