コード例 #1
0
        public override void Pulse()
        {
            if (UseCooldowns)
            {
            }

            if (combatRoutine.Type == RotationType.SingleTarget)
            {
                if (WoW.HasTarget && WoW.TargetIsEnemy && WoW.IsInCombat && WoW.TargetIsVisible && !WoW.IsMounted && !WoW.PlayerIsChanneling)
                {
                    if (WoW.CanPreCast("Kick") && WoW.TargetIsCastingAndSpellIsInterruptible && WoW.TargetPercentCast >= 60 && WoW.IsSpellInRange("Ghostly Strike") && !WoW.IsSpellOnCooldown("Kick"))
                    {
                        WoW.CastSpell("Kick");
                        return;
                    }
                    if (WoW.CanPreCast("Blade Flurry") && WoW.IsSpellInRange("Ghostly Strike") && WoW.CountEnemyNPCsInRange >= 2 && !WoW.PlayerHasBuff("Blade Flurry"))
                    {
                        WoW.CastSpell("Blade Flurry");
                        return;
                    }
                    if (WoW.CanPreCast("Cancel Blade Flurry") && WoW.IsSpellInRange("Ghostly Strike") && WoW.PlayerHasBuff("Blade Flurry") && WoW.CountEnemyNPCsInRange <= 1)
                    {
                        WoW.CastSpell("Cancel Blade Flurry");
                        return;
                    }
                    if (WoW.CanPreCast("Ambush") && WoW.Energy >= 60 && WoW.IsSpellInRange("Ghostly Strike") && WoW.CurrentComboPoints >= 4 && (WoW.PlayerHasBuff("Stealth") || WoW.PlayerHasBuff("Vanish")))
                    {
                        WoW.CastSpell("Ambush");
                        return;
                    }
                    if (WoW.CanCast("Slice and Dice") && WoW.Energy >= 21 && WoW.IsSpellInRange("Ghostly Strike") && WoW.Talent(7) == 1 && WoW.CurrentComboPoints >= 4 && WoW.PlayerHasBuff("Loaded Dice"))
                    {
                        WoW.CastSpell("Slice and Dice");
                        return;
                    }
                    if (WoW.CanCast("Slice and Dice") && WoW.Energy >= 21 && WoW.IsSpellInRange("Ghostly Strike") && !WoW.PlayerHasBuff("Slice and Dice") && WoW.PlayerBuffTimeRemaining("Slice and Dice") <= 500 && WoW.CurrentComboPoints >= 4 && WoW.Talent(7) == 1)
                    {
                        WoW.CastSpell("Slice and Dice");
                        return;
                    }
                    if (WoW.CanCast("Roll the Bones") && WoW.Energy >= 21 && WoW.IsSpellInRange("Ghostly Strike") && WoW.Talent(7) == 2 && WoW.PlayerHasBuff("Loaded Dice") && WoW.CurrentComboPoints >= 4)
                    {
                        WoW.CastSpell("Roll the Bones");
                        return;
                    }
                    if (WoW.CanCast("Roll the Bones") && WoW.Talent(7) == 2 && WoW.Energy >= 21 && WoW.IsSpellInRange("Ghostly Strike") && WoW.CurrentComboPoints >= 4 &&
                        !WoW.PlayerHasBuff("Buried Treasure") && !WoW.PlayerHasBuff("Shark Infested Waters") && !WoW.PlayerHasBuff("True Bearing") &&
                        !WoW.PlayerHasBuff("Jolly Roger") && !WoW.PlayerHasBuff("Broadsides"))
                    {
                        WoW.CastSpell("Roll the Bones");
                        return;
                    }
                    if (WoW.CanPreCast("Ghostly Strike") && WoW.IsSpellInRange("Ghostly Strike") && WoW.Energy >= 30 && WoW.CurrentComboPoints <= 5 && !WoW.TargetHasDebuff("Ghostly Strike") && WoW.TargetDebuffTimeRemaining("Ghostly Strike") <= 200 && WoW.Talent(1) == 1)
                    {
                        WoW.CastSpell("Ghostly Strike");
                        return;
                    }
                    if (WoW.CanPreCast("Adrenaline Rush") && UseCooldowns && WoW.IsSpellInRange("Ghostly Strike"))
                    {
                        WoW.CastSpell("Adrenaline Rush");
                        return;
                    }
                    if (WoW.CanPreCast("Vanish") && UseCooldowns && WoW.IsSpellInRange("Ghostly Strike") && WoW.Energy >= 60 && !WoW.PlayerHasBuff("Adrenaline Rush"))
                    {
                        WoW.CastSpell("Vanish");
                        return;
                    }
                    if (WoW.CanPreCast("Arcane Torrent") && UseCooldowns && WoW.IsSpellInRange("Ghostly Strike") && !WoW.PlayerHasBuff("Adrenaline Rush") && WoW.Energy <= 20 && WoW.PlayerRace == "BloodElf")
                    {
                        WoW.CastSpell("Arcane Torrent");
                        return;
                    }
                    if (WoW.CanPreCast("Marked for Death") && WoW.IsSpellInRange("Ghostly Strike") && WoW.CurrentComboPoints <= 1 && WoW.Talent(7) == 2)
                    {
                        WoW.CastSpell("Marked for Death");
                        return;
                    }
                    if (WoW.CanPreCast("Curse of the Dreadblades") && UseCooldowns && WoW.IsSpellInRange("Ghostly Strike"))
                    {
                        WoW.CastSpell("Curse of the Dreadblades");
                        return;
                    }
                    if (WoW.CanCast("Between the Eyes") && WoW.CurrentComboPoints >= 5 && WoW.Energy >= 31 && WoW.IsSpellInRange("Ghostly Strike"))
                    {
                        WoW.CastSpell("Between the Eyes");
                        return;
                    }
                    if (WoW.CanCast("Run Through") && WoW.CurrentComboPoints == 6 && WoW.Energy >= 31 && WoW.IsSpellInRange("Ghostly Strike") || (WoW.PlayerHasBuff("Broadsides") && WoW.CurrentComboPoints >= 5 && WoW.Energy >= 31))
                    {
                        WoW.CastSpell("Run Through");
                        return;
                    }
                    if (WoW.CanPreCast("Pistol Shot") && WoW.IsSpellInRange("Ghostly Strike") && WoW.PlayerHasBuff("Opportunity") && WoW.CurrentComboPoints <= 5)
                    {
                        WoW.CastSpell("Pistol Shot");
                        return;
                    }
                    if (WoW.CanPreCast("Saber Slash") && WoW.CurrentComboPoints <= 5 && WoW.Energy >= 50 && WoW.IsSpellInRange("Ghostly Strike"))
                    {
                        WoW.CastSpell("Saber Slash");
                        return;
                    }
                }
            }
        }