示例#1
0
        public override async Task <bool> PreCombat()
        {
            if (!Common_Utils.InActiveInstance())
            {
                return(false);
            }

            if (OpenerEnabled)
            {
                return(await Pull());
            }

            if (MainSettingsModel.Instance.UseAutoSprint && Target == null && Me.EnemiesInRange(20) == 0 && MovementManager.IsMoving)
            {
                await Spells.Sprint.Use(Me, true);
            }

            if (Me.IsCasting)
            {
                return(await DodgeManager.DodgeThis(Me.SpellCastInfo.SpellData, CurrentTarget, CastedAura, IsDot, IsBuff, IsHealingSpell));
            }

            Logger.DebugLog("Pulsing Pre-combat");

            switch (MainSettingsModel.Instance.CurrentRoutine)
            {
            case "Barret":
                return(await BarretRotation.PreCombat());

            case "Beatrix":
                return(await BeatrixRotation.PreCombat());

            case "Cecil":
                return(await CecilRotation.PreCombat());

            case "Cyan":
                return(await CyanRotation.PreCombat());

            case "Edward":
                return(await EdwardRotation.PreCombat());

            case "Eiko":
                return(await EikoRotation.PreCombat());

            case "Elayne":
                return(await ElayneRotation.PreCombat());

            case "Freya":
                return(await FreyaRotation.PreCombat());

            case "Mikoto":
                return(await MikotoRotation.PreCombat());

            case "Paine":
                return(await PaineRotation.PreCombat());

            case "Remiel":
                return(await RemielRotation.PreCombat());

            case "Sabin":
                return(await SabinRotation.PreCombat());

            case "Shadow":
                return(await ShadowRotation.PreCombat());

            case "Surito":
                return(await SuritoRotation.PreCombat());

            case "Vivi":
                return(await ViviRotation.PreCombat());
            }

            return(false);
        }