示例#1
0
        public override void ExecuteCC()
        {
            if (TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick() ||
                (DateTime.Now - LastEclipseCheck > TimeSpan.FromSeconds(eclipseCheckTime) &&
                 CheckForEclipseProcs()) ||
                (WowInterface.ObjectManager.Player.ManaPercentage < 30 &&
                 CastSpellIfPossible(innervateSpell, 0)) ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 70 &&
                 CastSpellIfPossible(barkskinSpell, 0, true)) ||
                (LunarEclipse &&
                 CastSpellIfPossible(starfireSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                (SolarEclipse &&
                 CastSpellIfPossible(wrathSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                (WowInterface.ObjectManager.WowObjects.OfType <WowUnit>().Where(e => !e.IsInCombat && WowInterface.ObjectManager.Player.Position.GetDistance(e.Position) < 35).Count() < 4 &&
                 CastSpellIfPossible(starfallSpell, WowInterface.ObjectManager.TargetGuid, true)))
            {
                return;
            }

            if (CastSpellIfPossible(forceOfNatureSpell, 0, true))
            {
                WowInterface.HookManager.ClickOnTerrain(WowInterface.ObjectManager.Player.Position);
            }
        }
示例#2
0
        public override void Execute()
        {
            // we dont want to do anything if we are casting something...
            if (WowInterface.ObjectManager.Player.IsCasting)
            {
                return;
            }

            if (!WowInterface.ObjectManager.Player.IsAutoAttacking)
            {
                WowInterface.HookManager.StartAutoAttack();
            }

            if (MyAuraManager.Tick() ||
                TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick() ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 60 &&
                 CastSpellIfPossibleDk(iceboundFortitudeSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                CastSpellIfPossibleDk(bloodStrikeSpell, WowInterface.ObjectManager.TargetGuid, false, true) ||
                CastSpellIfPossibleDk(scourgeStrikeSpell, WowInterface.ObjectManager.TargetGuid, false, false, true, true) ||
                CastSpellIfPossibleDk(deathCoilSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                CastSpellIfPossibleDk(summonGargoyleSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                (WowInterface.ObjectManager.Player.Runeenergy > 60 &&
                 CastSpellIfPossibleDk(runeStrikeSpell, WowInterface.ObjectManager.TargetGuid)))
            {
                return;
            }
        }
示例#3
0
        public override void Execute()
        {
            // we dont want to do anything if we are casting something...
            if (WowInterface.ObjectManager.Player.IsCasting)
            {
                return;
            }

            if (!WowInterface.ObjectManager.Player.IsAutoAttacking)
            {
                WowInterface.HookManager.StartAutoAttack();
                AmeisenLogger.Instance.Log(Displayname, $"Started Auto-Attacking", LogLevel.Verbose);
            }

            if (MyAuraManager.Tick() ||
                TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick() ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 60 &&
                 CastSpellIfPossibleDk(iceboundFortitudeSpell, 0, true)) ||
                CastSpellIfPossibleDk(unbreakableArmorSpell, 0, false, false, true) ||
                CastSpellIfPossibleDk(obliterateSpell, WowInterface.ObjectManager.TargetGuid, false, false, true, true) ||
                CastSpellIfPossibleDk(bloodStrikeSpell, WowInterface.ObjectManager.TargetGuid, false, true) ||
                CastSpellIfPossibleDk(deathCoilSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                (WowInterface.ObjectManager.Player.Runeenergy > 60 &&
                 CastSpellIfPossibleDk(runeStrikeSpell, WowInterface.ObjectManager.TargetGuid)))
            {
                return;
            }
        }
示例#4
0
        public override void Execute()
        {
            // we dont want to do anything if we are casting something...
            if (WowInterface.ObjectManager.Player.IsCasting)
            {
                return;
            }

            if (MyAuraManager.Tick() ||
                TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick())
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                if ((WowInterface.ObjectManager.Player.HealthPercentage < 16 &&
                     CastSpellIfPossible(iceBlockSpell, 0)) ||
                    (WowInterface.ObjectManager.Player.ManaPercentage < 40 &&
                     CastSpellIfPossible(evocationSpell, 0, true)) ||
                    CastSpellIfPossible(mirrorImageSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    (MyAuraManager.Buffs.Contains(missileBarrageSpell.ToLower()) && CastSpellIfPossible(arcaneMissilesSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                    CastSpellIfPossible(arcaneBarrageSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    CastSpellIfPossible(arcaneBlastSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    CastSpellIfPossible(fireballSpell, WowInterface.ObjectManager.TargetGuid, true))
                {
                    return;
                }
            }
        }
示例#5
0
        public override void ExecuteCC()
        {
            if (!WowInterface.ObjectManager.Player.IsAutoAttacking && AutoAttackEvent.Run())
            {
                WowInterface.HookManager.StartAutoAttack(WowInterface.ObjectManager.Target);
            }

            double distanceToTarget = WowInterface.ObjectManager.Player.Position.GetDistance(WowInterface.ObjectManager.Target.Position);

            if (distanceToTarget > 16 &&
                CastSpellIfPossible(dashSpell, 0))
            {
                return;
            }

            if (TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick() ||
                (WowInterface.ObjectManager.Player.EnergyPercentage > 70 &&
                 CastSpellIfPossible(berserkSpell, 0)) ||
                (WowInterface.ObjectManager.Player.Energy < 30 &&
                 CastSpellIfPossible(tigersFurySpell, 0)) ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 70 &&
                 CastSpellIfPossible(barkskinSpell, 0, true)) ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 35 &&
                 CastSpellIfPossible(survivalInstinctsSpell, 0, true)) ||
                (WowInterface.ObjectManager.Player.ComboPoints == 5 &&
                 CastSpellIfPossibleRogue(ferociousBiteSpell, WowInterface.ObjectManager.Target.Guid, true, true, 5)) ||
                CastSpellIfPossible(shredSpell, WowInterface.ObjectManager.Target.Guid, true))
            {
                return;
            }
        }
示例#6
0
        public override void ExecuteCC()
        {
            if (!WowInterface.ObjectManager.Player.IsAutoAttacking && AutoAttackEvent.Run())
            {
                WowInterface.HookManager.StartAutoAttack(WowInterface.ObjectManager.Target);
            }

            if (TargetInterruptManager.Tick() ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 20 &&
                 CastSpellIfPossibleRogue(cloakOfShadowsSpell, 0, true)))
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                if ((WowInterface.ObjectManager.Target.Position.GetDistance(WowInterface.ObjectManager.Player.Position) > 16 &&
                     CastSpellIfPossibleRogue(sprintSpell, 0, true)))
                {
                    return;
                }
            }

            if (CastSpellIfPossibleRogue(eviscerateSpell, WowInterface.ObjectManager.TargetGuid, true, true, 5) ||
                CastSpellIfPossibleRogue(mutilateSpell, WowInterface.ObjectManager.TargetGuid, true))
            {
                return;
            }
        }
示例#7
0
        public override void ExecuteCC()
        {
            if (!WowInterface.ObjectManager.Player.IsAutoAttacking && AutoAttackEvent.Run())
            {
                WowInterface.HookManager.StartAutoAttack(WowInterface.ObjectManager.Target);
            }

            if (TargetInterruptManager.Tick())
            {
                return;
            }

            if ((!WowInterface.ObjectManager.Player.HasBuffByName(lightningShieldSpell) && WowInterface.ObjectManager.Player.ManaPercentage > 60.0 && CastSpellIfPossible(lightningShieldSpell, 0)) ||
                !WowInterface.ObjectManager.Player.HasBuffByName(waterShieldSpell) && WowInterface.ObjectManager.Player.ManaPercentage < 20.0 && CastSpellIfPossible(waterShieldSpell, 0))
            {
                return;
            }

            if (CheckForWeaponEnchantment(EquipmentSlot.INVSLOT_MAINHAND, flametoungueBuff, flametoungueWeaponSpell) ||
                CheckForWeaponEnchantment(EquipmentSlot.INVSLOT_OFFHAND, windfuryBuff, windfuryWeaponSpell))
            {
                return;
            }

            if (WowInterface.ObjectManager.Player.HealthPercentage < 30 &&
                WowInterface.ObjectManager.Target.Type == WowObjectType.Player &&
                CastSpellIfPossible(hexSpell, WowInterface.ObjectManager.TargetGuid, true))
            {
                HexedTarget = true;
                return;
            }

            if (WowInterface.ObjectManager.Player.HealthPercentage < 60 &&
                CastSpellIfPossible(healingWaveSpell, WowInterface.ObjectManager.PlayerGuid, true))
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                if ((WowInterface.ObjectManager.Target.MaxHealth > 10000000 &&
                     WowInterface.ObjectManager.Target.HealthPercentage < 25 &&
                     CastSpellIfPossible(heroismSpell, 0)) ||
                    CastSpellIfPossible(stormstrikeSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    CastSpellIfPossible(lavaLashSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    CastSpellIfPossible(earthShockSpell, WowInterface.ObjectManager.TargetGuid, true))
                {
                    return;
                }

                if (WowInterface.ObjectManager.Player.HasBuffByName(maelstromWeaponSpell) &&
                    WowInterface.ObjectManager.Player.Auras.FirstOrDefault(e => e.Name == maelstromWeaponSpell)?.StackCount >= 5 &&
                    CastSpellIfPossible(lightningBoltSpell, WowInterface.ObjectManager.TargetGuid, true))
                {
                    return;
                }
            }
        }
示例#8
0
        public override void Execute()
        {
            // we dont want to do anything if we are casting something...
            if (WowInterface.ObjectManager.Player.IsCasting ||
                WowInterface.ObjectManager.TargetGuid == WowInterface.ObjectManager.PlayerGuid)
            {
                return;
            }

            if (!WowInterface.ObjectManager.Player.IsAutoAttacking)
            {
                WowInterface.HookManager.StartAutoAttack();
            }

            if (MyAuraManager.Tick() ||
                TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick())
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                double distanceToTarget = WowInterface.ObjectManager.Target.Position.GetDistance(WowInterface.ObjectManager.Player.Position);

                if (distanceToTarget > 3)
                {
                    if (CastSpellIfPossible(chargeSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                        CastSpellIfPossible(interceptSpell, WowInterface.ObjectManager.Target.Guid, true))
                    {
                        return;
                    }
                }
                else
                {
                    if ((WowInterface.ObjectManager.Target.HealthPercentage < 20 || WowInterface.ObjectManager.Target.HasBuffByName("Sudden Death")) &&
                        CastSpellIfPossible(executeSpell, WowInterface.ObjectManager.Target.Guid, true))
                    {
                        return;
                    }

                    if ((WowInterface.ObjectManager.WowObjects.OfType <WowUnit>().Where(e => WowInterface.ObjectManager.Target.Position.GetDistance(e.Position) < 16).Count() > 2 && CastSpellIfPossible(bladestormSpell, 0, true)) ||
                        CastSpellIfPossible(overpowerSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                        CastSpellIfPossible(mortalStrikeSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                        CastSpellIfPossible(heroicStrikeSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        return;
                    }
                }
            }
        }
示例#9
0
        public override void ExecuteCC()
        {
            if (!WowInterface.ObjectManager.Player.IsAutoAttacking && AutoAttackEvent.Run())
            {
                WowInterface.HookManager.StartAutoAttack(WowInterface.ObjectManager.Target);
            }

            if (TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick())
            {
                return;
            }

            if (WowInterface.ObjectManager.Player.HealthPercentage < 10 &&
                CastSpellIfPossible(layOnHandsSpell, 0, true))
            {
                return;
            }

            if (WowInterface.ObjectManager.Player.HealthPercentage < 20 &&
                CastSpellIfPossible(flashOfLightSpell, 0, true))
            {
                return;
            }
            else if (WowInterface.ObjectManager.Player.HealthPercentage < 35 &&
                     CastSpellIfPossible(holyLightSpell, 0, true))
            {
                return;
            }

            if (WowInterface.ObjectManager.Player.ManaPercentage < 25 &&
                CastSpellIfPossible(divinePleaSpell, 0, true))
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                if (CastSpellIfPossible(avengersShieldSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                    CastSpellIfPossible(hammerOfWrathSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                    CastSpellIfPossible(judgementOfLightSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                    CastSpellIfPossible(hammerOfTheRighteousSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                    CastSpellIfPossible(consecrationSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                    CastSpellIfPossible(shieldOfTheRighteousnessSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    CastSpellIfPossible(holyShieldSpell, WowInterface.ObjectManager.Target.Guid, true))
                {
                    return;
                }
            }
        }
示例#10
0
        public override void Execute()
        {
            // we dont want to do anything if we are casting something...
            if (WowInterface.ObjectManager.Player.IsCasting)
            {
                return;
            }

            if (MyAuraManager.Tick() ||
                TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick())
            {
                return;
            }

            if (WowInterface.ObjectManager.Player.HealthPercentage < 30 &&
                WowInterface.ObjectManager.Target.Type == WowObjectType.Player &&
                CastSpellIfPossible(hexSpell, WowInterface.ObjectManager.TargetGuid, true))
            {
                HexedTarget = true;
                return;
            }

            if (WowInterface.ObjectManager.Player.HealthPercentage < 60 &&
                CastSpellIfPossible(healingWaveSpell, WowInterface.ObjectManager.PlayerGuid, true))
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                if ((WowInterface.ObjectManager.Target.Position.GetDistance(WowInterface.ObjectManager.Player.Position) < 6 &&
                     CastSpellIfPossible(thunderstormSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                    (WowInterface.ObjectManager.Target.MaxHealth > 10000000 &&
                     WowInterface.ObjectManager.Target.HealthPercentage < 25 &&
                     CastSpellIfPossible(heroismSpell, 0)) ||
                    CastSpellIfPossible(lavaBurstSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    CastSpellIfPossible(elementalMasterySpell, 0))
                {
                    return;
                }

                if ((WowInterface.ObjectManager.WowObjects.OfType <WowUnit>().Where(e => WowInterface.ObjectManager.Target.Position.GetDistance(e.Position) < 16).Count() > 2 && CastSpellIfPossible(chainLightningSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                    CastSpellIfPossible(lightningBoltSpell, WowInterface.ObjectManager.TargetGuid, true))
                {
                    return;
                }
            }
        }
示例#11
0
        public override void ExecuteCC()
        {
            if (!WowInterface.ObjectManager.Player.IsAutoAttacking && AutoAttackEvent.Run())
            {
                WowInterface.HookManager.StartAutoAttack(WowInterface.ObjectManager.Target);
            }

            if (WowInterface.ObjectManager.Target.TargetGuid != WowInterface.ObjectManager.PlayerGuid &&
                CastSpellIfPossible(growlSpell, 0, true))
            {
                return;
            }

            int nearEnemies = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Player.Position, 10).Count();

            if (TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick() ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 70 &&
                 CastSpellIfPossible(barkskinSpell, 0, true)) ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 50 &&
                 WowInterface.ObjectManager.Player.RagePercentage > 50 &&
                 CastSpellIfPossible(frenziedRegenerationSpell, 0, true)) ||
                (WowInterface.ObjectManager.Player.HealthPercentage > 80 &&
                 WowInterface.ObjectManager.Player.RagePercentage < 10 &&
                 CastSpellIfPossible(enrageSpell, 0, true)) ||
                (nearEnemies > 2 && CastSpellIfPossible(challengingRoarSpell, 0, true)) ||
                CastSpellIfPossible(feralChargeSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                CastSpellIfPossible(lacerateSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                (nearEnemies > 2 && CastSpellIfPossible(swipeSpell, 0, true)))
            {
                return;
            }

            if (InHealCombo &&
                WowInterface.ObjectManager.Player.HealthPercentage < 25 &&
                CastSpellIfPossible(rejuvenationSpell, 0, true))
            {
                InHealCombo = false;
                return;
            }

            if (WowInterface.ObjectManager.Player.HealthPercentage < 25 &&
                CastSpellIfPossible(healingTouchSpell, 0, true))
            {
                InHealCombo = WowInterface.ObjectManager.Player.ManaPercentage > 15;
                return;
            }
        }
示例#12
0
        public override void ExecuteCC()
        {
            if (TargetInterruptManager.Tick())
            {
                return;
            }

            if ((!WowInterface.ObjectManager.Player.HasBuffByName(lightningShieldSpell) && WowInterface.ObjectManager.Player.ManaPercentage > 60.0 && CastSpellIfPossible(lightningShieldSpell, 0)) ||
                !WowInterface.ObjectManager.Player.HasBuffByName(waterShieldSpell) && WowInterface.ObjectManager.Player.ManaPercentage < 20.0 && CastSpellIfPossible(waterShieldSpell, 0))
            {
                return;
            }

            if (WowInterface.ObjectManager.Player.HealthPercentage < 30 &&
                WowInterface.ObjectManager.Target.Type == WowObjectType.Player &&
                CastSpellIfPossible(hexSpell, WowInterface.ObjectManager.TargetGuid, true))
            {
                HexedTarget = true;
                return;
            }

            if (WowInterface.ObjectManager.Player.HealthPercentage < 60 &&
                CastSpellIfPossible(healingWaveSpell, WowInterface.ObjectManager.PlayerGuid, true))
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                if ((WowInterface.ObjectManager.Target.Position.GetDistance(WowInterface.ObjectManager.Player.Position) < 6 &&
                     CastSpellIfPossible(thunderstormSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                    (WowInterface.ObjectManager.Target.MaxHealth > 10000000 &&
                     WowInterface.ObjectManager.Target.HealthPercentage < 25 &&
                     CastSpellIfPossible(heroismSpell, 0)) ||
                    CastSpellIfPossible(lavaBurstSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    CastSpellIfPossible(elementalMasterySpell, 0))
                {
                    return;
                }

                if ((WowInterface.ObjectManager.WowObjects.OfType <WowUnit>().Where(e => WowInterface.ObjectManager.Target.Position.GetDistance(e.Position) < 16).Count() > 2 && CastSpellIfPossible(chainLightningSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                    CastSpellIfPossible(lightningBoltSpell, WowInterface.ObjectManager.TargetGuid, true))
                {
                    return;
                }
            }
        }
示例#13
0
        public override void ExecuteCC()
        {
            if (!WowInterface.ObjectManager.Player.IsAutoAttacking && AutoAttackEvent.Run())
            {
                WowInterface.HookManager.StartAutoAttack(WowInterface.ObjectManager.Target);
            }

            if (TargetInterruptManager.Tick())
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                double distanceToTarget = WowInterface.ObjectManager.Target.Position.GetDistance(WowInterface.ObjectManager.Player.Position);

                if (distanceToTarget > 3)
                {
                    if (CastSpellIfPossible(chargeSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                        CastSpellIfPossible(interceptSpell, WowInterface.ObjectManager.Target.Guid, true))
                    {
                        return;
                    }
                }
                else
                {
                    if ((WowInterface.ObjectManager.Target.HealthPercentage < 20 || WowInterface.ObjectManager.Target.HasBuffByName("Sudden Death")) &&
                        CastSpellIfPossible(executeSpell, WowInterface.ObjectManager.Target.Guid, true))
                    {
                        return;
                    }

                    if ((WowInterface.ObjectManager.WowObjects.OfType <WowUnit>().Where(e => WowInterface.ObjectManager.Target.Position.GetDistance(e.Position) < 8).Count() > 2 && CastSpellIfPossible(bladestormSpell, 0, true)) ||
                        CastSpellIfPossible(overpowerSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                        CastSpellIfPossible(mortalStrikeSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                        CastSpellIfPossible(heroicStrikeSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        return;
                    }
                }
            }
        }
示例#14
0
        public override void Execute()
        {
            // we dont want to do anything if we are casting something...
            if (WowInterface.ObjectManager.Player.IsCasting)
            {
                return;
            }

            if (!WowInterface.ObjectManager.Player.IsAutoAttacking)
            {
                WowInterface.HookManager.StartAutoAttack();
            }

            if (MyAuraManager.Tick() ||
                TargetInterruptManager.Tick() ||
                (MyAuraManager.Buffs.Contains(sealOfVengeanceSpell.ToLower()) &&
                 CastSpellIfPossible(judgementOfLightSpell, 0)) ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 20 &&
                 CastSpellIfPossible(layOnHandsSpell, WowInterface.ObjectManager.PlayerGuid)) ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 60 &&
                 CastSpellIfPossible(holyLightSpell, WowInterface.ObjectManager.PlayerGuid, true)) ||
                CastSpellIfPossible(avengingWrathSpell, 0, true) ||
                (WowInterface.ObjectManager.Player.ManaPercentage < 80 &&
                 CastSpellIfPossible(divinePleaSpell, 0, true)))
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                if ((WowInterface.ObjectManager.Player.HealthPercentage < 20 &&
                     CastSpellIfPossible(hammerOfWrathSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                    CastSpellIfPossible(crusaderStrikeSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    CastSpellIfPossible(divineStormSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    CastSpellIfPossible(consecrationSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    CastSpellIfPossible(exorcismSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    CastSpellIfPossible(holyWrathSpell, WowInterface.ObjectManager.TargetGuid, true))
                {
                    return;
                }
            }
        }
示例#15
0
        public override void ExecuteCC()
        {
            if (!WowInterface.ObjectManager.Player.IsAutoAttacking && AutoAttackEvent.Run())
            {
                WowInterface.HookManager.StartAutoAttack(WowInterface.ObjectManager.Target);
            }

            if (TargetInterruptManager.Tick())
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                double distanceToTarget = WowInterface.ObjectManager.Target.Position.GetDistance(WowInterface.ObjectManager.Player.Position);

                if (distanceToTarget > 3)
                {
                    if (CastSpellIfPossible(chargeSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                        CastSpellIfPossible(interceptSpell, WowInterface.ObjectManager.Target.Guid, true))
                    {
                        return;
                    }
                }
                else
                {
                    if ((WowInterface.ObjectManager.Target.HealthPercentage < 20) &&
                        CastSpellIfPossible(executeSpell, WowInterface.ObjectManager.Target.Guid, true))
                    {
                        return;
                    }

                    if (CastSpellIfPossible(bloodthirstSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                        CastSpellIfPossible(whirlwindSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                        (WowInterface.ObjectManager.WowObjects.OfType <WowUnit>().Where(e => WowInterface.ObjectManager.Target.Position.GetDistance(e.Position) < 5).Count() > 2 && CastSpellIfPossible(cleaveSpell, 0, true)) ||
                        CastSpellIfPossible(heroicStrikeSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        return;
                    }
                }
            }
        }
示例#16
0
        public override void ExecuteCC()
        {
            if (TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick())
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                if (CastSpellIfPossible(mirrorImageSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                    (WowInterface.ObjectManager.Player.HealthPercentage < 16 &&
                     CastSpellIfPossible(iceBlockSpell, 0, true)) ||
                    (WowInterface.ObjectManager.Player.HasBuffByName(hotstreakSpell.ToLower()) && CastSpellIfPossible(pyroblastSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                    (WowInterface.ObjectManager.Player.ManaPercentage < 40 &&
                     CastSpellIfPossible(evocationSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                    CastSpellIfPossible(fireballSpell, WowInterface.ObjectManager.TargetGuid, true))
                {
                    return;
                }
            }
        }
示例#17
0
        public override void ExecuteCC()
        {
            if (!WowInterface.ObjectManager.Player.IsAutoAttacking && AutoAttackEvent.Run())
            {
                WowInterface.HookManager.StartAutoAttack(WowInterface.ObjectManager.Target);
            }

            if (MyAuraManager.Tick() ||
                TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick() ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 60 &&
                 CastSpellIfPossibleDk(iceboundFortitudeSpell, 0, true)) ||
                CastSpellIfPossibleDk(unbreakableArmorSpell, 0, false, false, true) ||
                CastSpellIfPossibleDk(obliterateSpell, WowInterface.ObjectManager.TargetGuid, false, false, true, true) ||
                CastSpellIfPossibleDk(bloodStrikeSpell, WowInterface.ObjectManager.TargetGuid, false, true) ||
                CastSpellIfPossibleDk(deathCoilSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                (WowInterface.ObjectManager.Player.Runeenergy > 60 &&
                 CastSpellIfPossibleDk(runeStrikeSpell, WowInterface.ObjectManager.TargetGuid)))
            {
                return;
            }
        }
示例#18
0
        public override void Execute()
        {
            // we dont want to do anything if we are casting something...
            if (WowInterface.ObjectManager.Player.IsCasting)
            {
                return;
            }

            if (!WowInterface.ObjectManager.Player.IsAutoAttacking)
            {
                WowInterface.HookManager.StartAutoAttack();
            }

            if (MyAuraManager.Tick() ||
                TargetInterruptManager.Tick() ||
                (WowInterface.ObjectManager.Player.HealthPercentage < 20 &&
                 CastSpellIfPossibleRogue(cloakOfShadowsSpell, 0, true)))
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                if ((WowInterface.ObjectManager.Target.Position.GetDistance(WowInterface.ObjectManager.Player.Position) > 16 &&
                     CastSpellIfPossibleRogue(sprintSpell, 0, true)))
                {
                    return;
                }
            }

            if (CastSpellIfPossibleRogue(eviscerateSpell, WowInterface.ObjectManager.TargetGuid, true, true, 5) ||
                CastSpellIfPossibleRogue(mutilateSpell, WowInterface.ObjectManager.TargetGuid, true))
            {
                return;
            }
        }
示例#19
0
        public override void Execute()
        {
            // we dont want to do anything if we are casting something...
            if (WowInterface.ObjectManager.Player.IsCasting ||
                WowInterface.ObjectManager.TargetGuid == WowInterface.ObjectManager.PlayerGuid)
            {
                return;
            }

            if (!WowInterface.ObjectManager.Player.IsAutoAttacking)
            {
                WowInterface.HookManager.StartAutoAttack();
            }

            if (MyAuraManager.Tick() ||
                TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick() ||
                PetManager.Tick())
            {
                return;
            }

            WowUnit target = (WowUnit)WowInterface.ObjectManager.WowObjects.FirstOrDefault(e => e.Guid == WowInterface.ObjectManager.TargetGuid);

            if (target != null)
            {
                double distanceToTarget = target.Position.GetDistance(WowInterface.ObjectManager.Player.Position);

                if (WowInterface.ObjectManager.Player.HealthPercentage < 15 &&
                    CastSpellIfPossible(feignDeathSpell, 0))
                {
                    return;
                }

                if (distanceToTarget < 3)
                {
                    if (CastSpellIfPossible(frostTrapSpell, 0, true))
                    {
                        InFrostTrapCombo  = true;
                        DisengagePrepared = true;
                        return;
                    }

                    if (WowInterface.ObjectManager.Player.HealthPercentage < 30 &&
                        CastSpellIfPossible(deterrenceSpell, 0, true))
                    {
                        return;
                    }

                    if (CastSpellIfPossible(raptorStrikeSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                        CastSpellIfPossible(mongooseBiteSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        return;
                    }
                }
                else
                {
                    if (DisengagePrepared &&
                        CastSpellIfPossible(concussiveShotSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        DisengagePrepared = false;
                        return;
                    }

                    if (InFrostTrapCombo &&
                        CastSpellIfPossible(disengageSpell, 0, true))
                    {
                        InFrostTrapCombo = false;
                        return;
                    }

                    if (target.HealthPercentage < 20 &&
                        CastSpellIfPossible(killShotSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        return;
                    }

                    CastSpellIfPossible(killCommandSpell, WowInterface.ObjectManager.TargetGuid, true);
                    CastSpellIfPossible(rapidFireSpell, WowInterface.ObjectManager.TargetGuid);

                    if ((WowInterface.ObjectManager.WowObjects.OfType <WowUnit>().Where(e => target.Position.GetDistance(e.Position) < 16).Count() > 2 && CastSpellIfPossible(multiShotSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                        CastSpellIfPossible(chimeraShotSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                        CastSpellIfPossible(aimedShotSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                        CastSpellIfPossible(arcaneShotSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                        CastSpellIfPossible(steadyShotSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        return;
                    }
                }
            }
        }
示例#20
0
        public override void ExecuteCC()
        {
            if (!WowInterface.ObjectManager.Player.IsAutoAttacking && AutoAttackEvent.Run())
            {
                WowInterface.HookManager.StartAutoAttack(WowInterface.ObjectManager.Target);
            }

            if (TargetInterruptManager.Tick())
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                double distanceToTarget = WowInterface.ObjectManager.Target.Position.GetDistance(WowInterface.ObjectManager.Player.Position);

                if (distanceToTarget > 3)
                {
                    if (CastSpellIfPossible(heroicThrowSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                        (SwitchStance(battleStanceSpell) && CastSpellIfPossible(chargeSpell, WowInterface.ObjectManager.Target.Guid, true)))
                    {
                        return;
                    }
                }
                else
                {
                    if (WowInterface.ObjectManager.Target.TargetGuid != WowInterface.ObjectManager.PlayerGuid)
                    {
                        if ((SwitchStance(defensiveStanceSpell) && CastSpellIfPossible(tauntSpell, WowInterface.ObjectManager.Target.Guid)) ||
                            (WowInterface.ObjectManager.WowObjects.OfType <WowUnit>().Where(e => WowInterface.ObjectManager.Target.Position.GetDistance(e.Position) < 10).Count() > 3 && CastSpellIfPossible(challengingShoutSpell, 0, true)))
                        {
                            return;
                        }
                    }

                    if (WowInterface.ObjectManager.Target.IsCasting &&
                        CastSpellIfPossible(spellReflectionSpell, 0))
                    {
                        return;
                    }

                    if (WowInterface.ObjectManager.Player.HealthPercentage < 40)
                    {
                        if (CastSpellIfPossible(lastStandSpell, 0) &&
                            CastSpellIfPossible(shieldWallSpell, 0))
                        {
                            return;
                        }
                    }

                    if (CastSpellIfPossible(berserkerRageSpell, 0, true) ||
                        (SwitchStance(defensiveStanceSpell) && CastSpellIfPossible(revengeSpell, WowInterface.ObjectManager.Target.Guid, true)) ||
                        (SwitchStance(defensiveStanceSpell) && CastSpellIfPossible(shieldBlockSpell, WowInterface.ObjectManager.Target.Guid, true)) ||
                        CastSpellIfPossible(shieldSlamSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                        CastSpellIfPossible(thunderClapSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                        CastSpellIfPossible(mockingBlowSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                        (WowInterface.ObjectManager.WowObjects.OfType <WowUnit>().Where(e => WowInterface.ObjectManager.Target.Position.GetDistance(e.Position) < 5).Count() > 2 && CastSpellIfPossible(shockwaveSpell, WowInterface.ObjectManager.Target.Guid, true)) ||
                        (WowInterface.ObjectManager.Target.HealthPercentage < 20) && CastSpellIfPossible(executeSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                        CastSpellIfPossible(devastateSpell, WowInterface.ObjectManager.Target.Guid, true) ||
                        CastSpellIfPossible(heroicStrikeSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        return;
                    }
                }
            }
        }
示例#21
0
        public override void ExecuteCC()
        {
            if (!WowInterface.ObjectManager.Player.IsAutoAttacking && AutoAttackEvent.Run())
            {
                WowInterface.HookManager.StartAutoAttack(WowInterface.ObjectManager.Target);
            }

            if (MyAuraManager.Tick() ||
                TargetAuraManager.Tick() ||
                TargetInterruptManager.Tick() ||
                PetManager.Tick())
            {
                return;
            }

            if (WowInterface.ObjectManager.Target != null)
            {
                double distanceToTarget = WowInterface.ObjectManager.Target.Position.GetDistance(WowInterface.ObjectManager.Player.Position);

                if (WowInterface.ObjectManager.Player.HealthPercentage < 15 &&
                    CastSpellIfPossible(feignDeathSpell, 0))
                {
                    return;
                }

                if (distanceToTarget < 3)
                {
                    if (CastSpellIfPossible(frostTrapSpell, 0, true))
                    {
                        InFrostTrapCombo  = true;
                        DisengagePrepared = true;
                        return;
                    }

                    if (WowInterface.ObjectManager.Player.HealthPercentage < 30 &&
                        CastSpellIfPossible(deterrenceSpell, 0, true))
                    {
                        return;
                    }

                    if (CastSpellIfPossible(raptorStrikeSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                        CastSpellIfPossible(mongooseBiteSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        return;
                    }
                }
                else
                {
                    if (DisengagePrepared &&
                        CastSpellIfPossible(concussiveShotSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        DisengagePrepared = false;
                        return;
                    }

                    if (InFrostTrapCombo &&
                        CastSpellIfPossible(disengageSpell, 0, true))
                    {
                        InFrostTrapCombo = false;
                        return;
                    }

                    if (WowInterface.ObjectManager.Target.HealthPercentage < 20 &&
                        CastSpellIfPossible(killShotSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        return;
                    }

                    CastSpellIfPossible(killCommandSpell, WowInterface.ObjectManager.TargetGuid, true);
                    CastSpellIfPossible(rapidFireSpell, 0);

                    if ((WowInterface.ObjectManager.WowObjects.OfType <WowUnit>().Where(e => WowInterface.ObjectManager.Target.Position.GetDistance(e.Position) < 16).Count() > 2 && CastSpellIfPossible(multiShotSpell, WowInterface.ObjectManager.TargetGuid, true)) ||
                        CastSpellIfPossible(explosiveShotSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                        CastSpellIfPossible(aimedShotSpell, WowInterface.ObjectManager.TargetGuid, true) ||
                        CastSpellIfPossible(steadyShotSpell, WowInterface.ObjectManager.TargetGuid, true))
                    {
                        return;
                    }
                }
            }
        }