예제 #1
0
 private static async Task <bool> EndCurrentSong(BardSong currentSong, SpellData nextSong)
 {
     if (BardSong.ArmysPaeon.Equals(currentSong) && BardSettings.Instance.EndArmysPaeonEarly && ActionResourceManager.Bard.Timer.TotalMilliseconds <= BardSettings.Instance.EndArmysPaeonEarlyWithXMilliSecondsRemaining ||
         BardSong.MagesBallad.Equals(currentSong) && BardSettings.Instance.EndMagesBalladEarly && ActionResourceManager.Bard.Timer.TotalMilliseconds <= BardSettings.Instance.EndMagesBalladEarlyWithXMilliSecondsRemaining ||
         BardSong.WanderersMinuet.Equals(currentSong) && BardSettings.Instance.EndWanderersMinuetEarly && ActionResourceManager.Bard.Timer.TotalMilliseconds <= BardSettings.Instance.EndWanderersMinuetEarlyWithXMilliSecondsRemaining
         )
     {
         Logger.WriteInfo($@"[Cast {nextSong}] Time remaining for {ActionResourceManager.Bard.ActiveSong} : {ActionResourceManager.Bard.Timer.TotalMilliseconds}");
         return(await nextSong.Cast(Core.Me.CurrentTarget));
     }
     return(false);
 }
예제 #2
0
        private static List <SpellData> GetOrderedSongSpellList(BardSong currentSong)
        {
            if (SongStrategyEnum.MB_WM_AP.Equals(BardSettings.Instance.CurrentSongPlaylist))
            {
                if (BardSong.MagesBallad.Equals(currentSong))
                {
                    return new List <SpellData>()
                           {
                               Spells.TheWanderersMinuet, Spells.ArmysPaeon, Spells.MagesBallad
                           }
                }
                ;
                if (BardSong.WanderersMinuet.Equals(currentSong))
                {
                    return new List <SpellData>()
                           {
                               Spells.ArmysPaeon, Spells.MagesBallad, Spells.TheWanderersMinuet
                           }
                }
                ;

                return(new List <SpellData>()
                {
                    Spells.MagesBallad, Spells.TheWanderersMinuet, Spells.ArmysPaeon
                });
            }
            else if (SongStrategyEnum.MB_AP_WM.Equals(BardSettings.Instance.CurrentSongPlaylist))
            {
                if (BardSong.MagesBallad.Equals(currentSong))
                {
                    return new List <SpellData>()
                           {
                               Spells.ArmysPaeon, Spells.TheWanderersMinuet, Spells.MagesBallad
                           }
                }
                ;
                if (BardSong.ArmysPaeon.Equals(currentSong))
                {
                    return new List <SpellData>()
                           {
                               Spells.TheWanderersMinuet, Spells.MagesBallad, Spells.ArmysPaeon
                           }
                }
                ;

                return(new List <SpellData>()
                {
                    Spells.MagesBallad, Spells.ArmysPaeon, Spells.TheWanderersMinuet
                });
            }
            else
            {
                if (BardSong.WanderersMinuet.Equals(currentSong))
                {
                    return new List <SpellData>()
                           {
                               Spells.MagesBallad, Spells.ArmysPaeon, Spells.TheWanderersMinuet
                           }
                }
                ;
                if (BardSong.MagesBallad.Equals(currentSong))
                {
                    return new List <SpellData>()
                           {
                               Spells.ArmysPaeon, Spells.TheWanderersMinuet, Spells.MagesBallad
                           }
                }
                ;

                return(new List <SpellData>()
                {
                    Spells.TheWanderersMinuet, Spells.MagesBallad, Spells.ArmysPaeon
                });
            }
        }
    }
}