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); }
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 }); } } } }