Пример #1
0
    /*
     * CombatRotation()
     */
    public void CombatRotation()
    {
        if (OutlawSettings.CurrentSetting.EnableInterrupt)
        {
            WoWUnit toInterrupt = MyHelpers.InterruptableUnits();
            if (toInterrupt != null)
            {
                ObjectManager.Me.FocusGuid = toInterrupt.Guid;

                if (Kick.IsSpellUsable && Kick.KnownSpell)
                {
                    MovementManager.Face(toInterrupt.Position);
                    Kick.Launch(false, false, false, "focus");
                    Lua.LuaDoString("dRotationFrame.text:SetText(\"Kick " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")");
                    return;
                }
                if (Gouge.IsSpellUsable && Gouge.KnownSpell)
                {
                    MovementManager.Face(toInterrupt.Position);
                    Gouge.Launch(false, false, false, "focus");
                    Lua.LuaDoString("dRotationFrame.text:SetText(\"Gouge " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")");
                    return;
                }
                if (Blind.IsSpellUsable && Blind.KnownSpell)
                {
                    MovementManager.Face(toInterrupt.Position);
                    Blind.Launch(false, false, false, "focus");
                    Lua.LuaDoString("dRotationFrame.text:SetText(\"Blind " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")");
                    return;
                }
            }
        }

        if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.6)
        {
            if (CrimsonVial.KnownSpell && CrimsonVial.IsSpellUsable)
            {
                CrimsonVial.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Crimson Vial"")");
                return;
            }


            if (Feint.KnownSpell && Feint.IsSpellUsable)
            {
                Feint.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Feint"")");
                return;
            }
        }

        if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.3)
        {
            if (SmokeBomb.KnownSpell && SmokeBomb.IsSpellUsable)
            {
                SmokeBomb.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Smoke Bomb"")");
                return;
            }

            if (Riposte.KnownSpell && Riposte.IsSpellUsable)
            {
                Riposte.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Riposte"")");
                return;
            }
        }

        if (ObjectManager.Me.IsStunned || ObjectManager.Me.Rooted || ObjectManager.Me.Confused)
        {
            if (GladiatorsMedallion.KnownSpell && GladiatorsMedallion.IsSpellUsable)
            {
                GladiatorsMedallion.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Gladiators Medallion"")");
                return;
            }
        }

        if (ObjectManager.Me.SpeedMoving < 8.05 && ObjectManager.Me.SpeedMoving > 0)
        {
            if (OutlawSettings.CurrentSetting.EnableCloakOfShadows &&
                CloakOfShadows.KnownSpell && CloakOfShadows.IsSpellUsable)
            {
                CloakOfShadows.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Cloak Of Shadows"")");
                return;
            }
        }
        if (OutlawSettings.CurrentSetting.EnableRazorCoral &&
            EquippedItems.GetEquippedItems().Find(x => x.GetItemInfo.ItemName == ItemsManager.GetNameById(169311)) != null &&
            MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() &&
            Lua.LuaDoString("result = \"\";  local cooldown = GetItemCooldown(169311) if (cooldown == 0 ) then     result = true else     result = false end ", "result") == "true" &&
            (!ObjectManager.Target.BuffCastedByAll("Razor Coral").Contains(ObjectManager.Me.Guid) || ObjectManager.Target.BuffStack("Razor Coral") >= 10))
        {
            ItemsManager.UseItem(169311);
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Razor Coral"")");
            return;
        }

        if (OutlawSettings.CurrentSetting.EnableSprint &&
            !ObjectManager.Me.IsMounted &&
            Sprint.KnownSpell &&
            Sprint.IsSpellUsable &&
            MyHelpers.getTargetDistance() > 20.0f
            )
        {
            Sprint.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Sprint"")");
            return;
        }

        if (OutlawSettings.CurrentSetting.EnableAdrenalineRush &&
            AdrenalineRush.KnownSpell &&
            AdrenalineRush.IsSpellUsable &&
            MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() &&
            (ObjectManager.Target.IsBoss ||
             ObjectManager.Target.IsElite ||
             ObjectManager.Target.IsLocalPlayer ||
             ObjectManager.Target.Type == WoWObjectType.Player ||
             MyHelpers.getAttackers(10) > 3))
        {
            AdrenalineRush.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Adrenaline Rush"")");
            return;
        }



        if (Garrote.KnownSpell && Garrote.IsSpellUsable &&
            !ObjectManager.Target.HaveBuff("Garrote"))
        {
            Garrote.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Garrote"")");
            return;
        }

        if (Rupture.KnownSpell && Rupture.IsSpellUsable &&
            MyHelpers.getComboPoint() >= 4 &&
            !ObjectManager.Target.HaveBuff("Rupture"))
        {
            Rupture.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Rupture"")");
            return;
        }
        if (ToxicBlade.KnownSpell && ToxicBlade.IsSpellUsable &&
            ObjectManager.Target.HaveBuff("Rupture"))
        {
            ToxicBlade.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Toxic Blade"")");
            return;
        }
        if (Vendetta.KnownSpell && Vendetta.IsSpellUsable &&
            ObjectManager.Target.HaveBuff("Rupture"))
        {
            Vendetta.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Vendetta"")");
            return;
        }
        if (Envenom.KnownSpell && Envenom.IsSpellUsable &&
            MyHelpers.getComboPoint() >= 4 &&
            ObjectManager.Target.HaveBuff("Rupture"))
        {
            Envenom.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Envenom"")");
            return;
        }
        if (Mutilate.KnownSpell && Mutilate.IsSpellUsable &&
            MyHelpers.getComboPoint() < 4)
        {
            Mutilate.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Mutilate"")");
            return;
        }
    }
Пример #2
0
    /*
     * CombatRotation()
     */
    public void CombatRotation()
    {
        if (lastTarget != ObjectManager.Target)
        {
            lastTarget = ObjectManager.Target;
            isCheap    = true;
        }

        if (OutlawSettings.CurrentSetting.EnableInterrupt)
        {
            WoWUnit toInterrupt = MyHelpers.InterruptableUnits();
            if (toInterrupt != null)
            {
                ObjectManager.Me.FocusGuid = toInterrupt.Guid;

                if (Kick.IsSpellUsable && Kick.KnownSpell)
                {
                    MovementManager.Face(toInterrupt.Position);
                    Kick.Launch(false, false, false, "focus");
                    Lua.LuaDoString("dRotationFrame.text:SetText(\"Kick " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")");
                    return;
                }
                if (Gouge.IsSpellUsable && Gouge.KnownSpell)
                {
                    MovementManager.Face(toInterrupt.Position);
                    Gouge.Launch(false, false, false, "focus");
                    Lua.LuaDoString("dRotationFrame.text:SetText(\"Gouge " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")");
                    return;
                }
                if (Blind.IsSpellUsable && Blind.KnownSpell)
                {
                    MovementManager.Face(toInterrupt.Position);
                    Blind.Launch(false, false, false, "focus");
                    Lua.LuaDoString("dRotationFrame.text:SetText(\"Blind " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")");
                    return;
                }
            }
        }

        if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.7)
        {
            if (CrimsonVial.KnownSpell && CrimsonVial.IsSpellUsable)
            {
                CrimsonVial.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Crimson Vial"")");
                return;
            }
            if (Feint.KnownSpell && Feint.IsSpellUsable)
            {
                Feint.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Feint"")");
                return;
            }
        }

        if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.3)
        {
            if (Evasion.KnownSpell && Evasion.IsSpellUsable)
            {
                Evasion.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Evasion"")");
                return;
            }

            if (EquippedItems.GetEquippedItems().Find(x => x.GetItemInfo.ItemName == ItemsManager.GetNameById(167378)) != null &&
                MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() &&
                Lua.LuaDoString("result = \"\";  local cooldown = GetItemCooldown(167378) if (cooldown == 0 ) then     result = true else     result = false end ", "result") == "true")
            {
                ItemsManager.UseItem(167378);
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Emblem"")");
                return;
            }
        }

        if (ObjectManager.Me.IsStunned || ObjectManager.Me.Rooted || ObjectManager.Me.Confused)
        {
            if (GladiatorsMedallion.KnownSpell && GladiatorsMedallion.IsSpellUsable)
            {
                GladiatorsMedallion.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Gladiators Medallion"")");
                return;
            }
        }


        if (MyHelpers.sealthed() &&
            ColdBlood.KnownSpell &&
            ColdBlood.IsSpellUsable &&
            MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange()
            )
        {
            ColdBlood.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""ColdBlood"")");
            return;
        }

        if (Sealth.KnownSpell &&
            Sealth.IsSpellUsable
            )
        {
            Sealth.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Sealth"")");
            return;
        }

        if (MyHelpers.sealthed() &&
            ShadowBlades.KnownSpell &&
            ShadowBlades.IsSpellUsable &&
            MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange()
            )
        {
            ShadowBlades.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""ShadowBlades"")");
            return;
        }
        if (SymbolsofDeath.KnownSpell &&
            SymbolsofDeath.IsSpellUsable &&
            MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange()
            )
        {
            SymbolsofDeath.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""SymbolsofDeath"")");
            return;
        }
        if (MyHelpers.sealthed() &&
            isCheap &&
            CheapShot.KnownSpell &&
            CheapShot.IsSpellUsable &&
            !ObjectManager.Target.HaveBuff("Cheap Shot") &&
            !ObjectManager.Target.HaveBuff("Kidney Shot") &&
            MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange()
            )
        {
            CheapShot.Launch();
            Thread newThread = new Thread(runCheap);
            newThread.Start();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""CheapShot"")");
            return;
        }
        if (EquippedItems.GetEquippedItems().Find(x => x.GetItemInfo.ItemName == ItemsManager.GetNameById(167383)) != null &&
            MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() &&
            Lua.LuaDoString("result = \"\";  local cooldown = GetItemCooldown(167383) if (cooldown == 0 ) then     result = true else     result = false end ", "result") == "true"
            )
        {
            ItemsManager.UseItem(167383);
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""maledict"")");
            return;
        }
        if (MarkedforDeath.KnownSpell &&
            MarkedforDeath.IsSpellUsable &&
            MyHelpers.getComboPoint() == 0 &&
            MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange()
            )
        {
            MarkedforDeath.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""MarkedforDeath"")");
            return;
        }
        if (MyHelpers.sealthed() &&
            Nightblade.KnownSpell &&
            Nightblade.IsSpellUsable &&
            MyHelpers.getComboPoint() >= 4 &&
            !ObjectManager.Target.HaveBuff("Nightblade") &&
            MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange()
            )
        {
            Nightblade.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Nightblade"")");
            return;
        }

        if (MyHelpers.sealthed() &&
            Shadowstrike.KnownSpell &&
            Shadowstrike.IsSpellUsable &&
            MyHelpers.getComboPoint() < 4 &&
            MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange()
            )
        {
            Shadowstrike.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Shadowstrike"")");
            return;
        }
        if (ShadowStep.KnownSpell &&
            ShadowStep.IsSpellUsable &&
            MyHelpers.getTargetDistance() > MyHelpers.getMeleeRange() &&
            MyHelpers.getTargetDistance() < 25.0f
            )
        {
            ShadowStep.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""ShadowStep"")");
            return;
        }
        if (!MyHelpers.sealthed() &&
            ShadowDance.KnownSpell &&
            ShadowDance.IsSpellUsable &&
            MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange()
            )
        {
            ShadowDance.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""ShadowDance"")");
            return;
        }
        if (!MyHelpers.sealthed() &&
            KidneyShot.KnownSpell &&
            KidneyShot.IsSpellUsable &&
            MyHelpers.getComboPoint() >= 4 &&
            !ObjectManager.Target.HaveBuff("Cheap Shot") &&
            !ObjectManager.Target.HaveBuff("Kidney Shot") &&
            MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange()
            )
        {
            KidneyShot.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""ShadowDance"")");
            return;
        }

        if (Eviscerate.KnownSpell &&
            Eviscerate.IsSpellUsable &&
            MyHelpers.getComboPoint() >= 4 &&
            MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange()
            )
        {
            Eviscerate.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Eviscerate"")");
            return;
        }
        if (ConcentratedFlame.KnownSpell &&
            ConcentratedFlame.IsSpellUsable
            )
        {
            ConcentratedFlame.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Concentrated Flame"")");
            return;
        }
        if (!MyHelpers.sealthed() &&
            Backstab.KnownSpell &&
            Backstab.IsSpellUsable &&
            MyHelpers.getComboPoint() < 4 &&
            MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange()
            )
        {
            Backstab.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""ShadowDance"")");
            return;
        }
    }
Пример #3
0
    /*
     * CombatRotation()
     */
    public void CombatRotation()
    {
        if (OutlawSettings.CurrentSetting.EnableInterrupt)
        {
            WoWUnit toInterrupt = MyHelpers.InterruptableUnits();
            if (toInterrupt != null)
            {
                ObjectManager.Me.FocusGuid = toInterrupt.Guid;

                if (Kick.IsSpellUsable && Kick.KnownSpell)
                {
                    MovementManager.Face(toInterrupt.Position);
                    Kick.Launch(false, false, false, "focus");
                    Lua.LuaDoString("dRotationFrame.text:SetText(\"Kick " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")");
                    return;
                }
                if (Gouge.IsSpellUsable && Gouge.KnownSpell)
                {
                    MovementManager.Face(toInterrupt.Position);
                    Gouge.Launch(false, false, false, "focus");
                    Lua.LuaDoString("dRotationFrame.text:SetText(\"Gouge " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")");
                    return;
                }
                if (Blind.IsSpellUsable && Blind.KnownSpell)
                {
                    MovementManager.Face(toInterrupt.Position);
                    Blind.Launch(false, false, false, "focus");
                    Lua.LuaDoString("dRotationFrame.text:SetText(\"Blind " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")");
                    return;
                }
            }
        }

        if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.7)
        {
            if (CrimsonVial.KnownSpell && CrimsonVial.IsSpellUsable)
            {
                CrimsonVial.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Crimson Vial"")");
                return;
            }


            if (Feint.KnownSpell && Feint.IsSpellUsable)
            {
                Feint.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Feint"")");
                return;
            }
        }

        if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.3)
        {
            if (SmokeBomb.KnownSpell && SmokeBomb.IsSpellUsable)
            {
                SmokeBomb.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Smoke Bomb"")");
                return;
            }

            if (Riposte.KnownSpell && Riposte.IsSpellUsable)
            {
                Riposte.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Riposte"")");
                return;
            }
        }

        if (ObjectManager.Me.IsStunned || ObjectManager.Me.Rooted || ObjectManager.Me.Confused)
        {
            if (GladiatorsMedallion.KnownSpell && GladiatorsMedallion.IsSpellUsable)
            {
                GladiatorsMedallion.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Gladiators Medallion"")");
                return;
            }
        }

        if (ObjectManager.Me.SpeedMoving < 8.05 && ObjectManager.Me.SpeedMoving > 0)
        {
            if (OutlawSettings.CurrentSetting.EnableCloakOfShadows &&
                CloakOfShadows.KnownSpell && CloakOfShadows.IsSpellUsable)
            {
                CloakOfShadows.Launch();
                Lua.LuaDoString(@"dRotationFrame.text:SetText(""Cloak Of Shadows"")");
                return;
            }
        }
        if (OutlawSettings.CurrentSetting.EnableRazorCoral &&
            EquippedItems.GetEquippedItems().Find(x => x.GetItemInfo.ItemName == ItemsManager.GetNameById(169311)) != null &&
            MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() &&
            Lua.LuaDoString("result = \"\";  local cooldown = GetItemCooldown(169311) if (cooldown == 0 ) then     result = true else     result = false end ", "result") == "true" &&
            (!ObjectManager.Target.BuffCastedByAll("Razor Coral").Contains(ObjectManager.Me.Guid) || ObjectManager.Target.BuffStack("Razor Coral") >= 10))
        {
            ItemsManager.UseItem(169311);
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Razor Coral"")");
            return;
        }

        if (OutlawSettings.CurrentSetting.EnableBladeFlurry &&
            BladeFlurry.KnownSpell && !MyHelpers.haveBuff("Blade Flurry") && BladeFlurry.IsSpellUsable && (MyHelpers.getAttackers(10) > 1))
        {
            BladeFlurry.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Blade Flurry"")");
            return;
        }

        if (OutlawSettings.CurrentSetting.EnableBloodoftheEnemy &&
            BloodoftheEnemy.KnownSpell &&
            BloodoftheEnemy.IsSpellUsable &&
            MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() &&
            !MyHelpers.rtbReroll() &&
            BetweenTheEyes.IsSpellUsable &&
            (ObjectManager.Target.IsLocalPlayer || ObjectManager.Target.Type == WoWObjectType.Player)

            )
        {
            BloodoftheEnemy.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Bloodof the Enemy"")");
            return;
        }



        if (OutlawSettings.CurrentSetting.EnableGrapplingHook &&
            !ObjectManager.Me.IsMounted &&
            GrapplingHook.KnownSpell &&
            GrapplingHook.IsSpellUsable &&
            MyHelpers.getTargetDistance() <= 20.0f &&
            MyHelpers.getTargetDistance() > MyHelpers.getMeleeRange()
            )
        {
            ClickOnTerrain.Spell(195457, ObjectManager.Target.Position);
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Grappling Hook"")");
            return;
        }

        if (OutlawSettings.CurrentSetting.EnableSprint &&
            !ObjectManager.Me.IsMounted &&
            Sprint.KnownSpell &&
            Sprint.IsSpellUsable &&
            MyHelpers.getTargetDistance() > 20.0f
            )
        {
            Sprint.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Sprint"")");
            return;
        }

        if (OutlawSettings.CurrentSetting.EnableRolltheBones &&
            RolltheBones.KnownSpell &&
            RolltheBones.IsSpellUsable &&
            MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() &&
            MyHelpers.getComboPoint() >= 4 &&
            MyHelpers.rtbReroll()
            )
        {
            RolltheBones.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Roll the Bones"")");
            return;
        }
        if (OutlawSettings.CurrentSetting.EnableAdrenalineRush &&
            AdrenalineRush.KnownSpell &&
            AdrenalineRush.IsSpellUsable &&
            MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() &&
            (ObjectManager.Target.IsBoss ||
             ObjectManager.Target.IsElite ||
             ObjectManager.Target.IsLocalPlayer ||
             ObjectManager.Target.Type == WoWObjectType.Player ||
             MyHelpers.getAttackers(10) > 3))
        {
            AdrenalineRush.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Adrenaline Rush"")");
            return;
        }

        if (BladeRush.KnownSpell &&
            BladeRush.IsSpellUsable &&
            MyHelpers.getTargetDistance() <= 20.0f &&
            MyHelpers.getTargetDistance() > MyHelpers.getMeleeRange() &&
            !ObjectManager.Me.IsMounted
            )
        {
            BladeRush.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Blade Rush"")");
            return;
        }

        if (OutlawSettings.CurrentSetting.EnablePistolShot &&
            PistolShot.KnownSpell &&
            PistolShot.IsSpellUsable &&
            MyHelpers.getTargetDistance() <= 20.0f &&
            ((MyHelpers.haveBuff("Opportunity") && MyHelpers.getComboPoint() <= 4) ||
             (MyHelpers.getTargetDistance() > MyHelpers.getMeleeRange() && !(BetweenTheEyes.IsSpellUsable && MyHelpers.getComboPoint() == 6)) ||
             (MyHelpers.haveBuff("Deadshot") && MyHelpers.haveBuff("Seething Rage") && !BetweenTheEyes.IsSpellUsable)
            ))
        {
            PistolShot.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Pistol Shot"")");
            return;
        }

        if (OutlawSettings.CurrentSetting.EnableSinisterStrike &&
            SinisterStrike.KnownSpell &&
            SinisterStrike.IsSpellUsable &&
            MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() &&
            MyHelpers.getComboPoint() <= 5)
        {
            SinisterStrike.Launch();
            Lua.LuaDoString("dRotationFrame.text:SetText(\"Sinister Strike " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")");
            return;
        }



        if (OutlawSettings.CurrentSetting.EnableBetweenTheEyes &&
            BetweenTheEyes.KnownSpell &&
            BetweenTheEyes.IsSpellUsable &&
            MyHelpers.getTargetDistance() <= 20.0f &&
            MyHelpers.getComboPoint() == 6)
        {
            BetweenTheEyes.Launch();
            Lua.LuaDoString(@"dRotationFrame.text:SetText(""Between the Eyes"")");

            return;
        }

        if (OutlawSettings.CurrentSetting.EnableDispatch &&
            Dispatch.KnownSpell &&
            Dispatch.IsSpellUsable &&
            MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() &&
            MyHelpers.getComboPoint() == 6)
        {
            Dispatch.Launch();
            Lua.LuaDoString("dRotationFrame.text:SetText(\"Dispatch " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")");
            return;
        }
    }