Skip to content

Commit

Permalink
Listen to Maritime Memory on Wii U Discontinuation Day (#299)
Browse files Browse the repository at this point in the history
Due to the shutdown of Wii U online services on April 8 at 23:00 UTC
(which affects Splatoon for Wii U), I'm opening a PR to memorialize
Splatoon multiplayer on Wii U by replacing bot music with Maritime
Memory on April 8-9.

Signed-off-by: mctaylors <[email protected]>
  • Loading branch information
mctaylors authored Apr 7, 2024
1 parent d3053d8 commit defa3c2
Showing 1 changed file with 25 additions and 6 deletions.
31 changes: 25 additions & 6 deletions src/Services/Update/SongUpdateService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ private static readonly (string Author, string Name, TimeSpan Duration)[] SongLi
("Off the Hook", "Fly Octo Fly ~ Ebb & Flow (Octo)", new TimeSpan(0, 3, 5))
];

private static readonly (string Author, string Name, TimeSpan Duration)[] SpecialSongList =
[
("Squid Sisters", "Maritime Memory", new TimeSpan(0, 2, 47))
];

private readonly List<Activity> _activityList = [new Activity("with Remora.Discord", ActivityType.Game)];

private readonly DiscordGatewayClient _client;
Expand All @@ -54,19 +59,33 @@ protected override async Task ExecuteAsync(CancellationToken ct)

while (!ct.IsCancellationRequested)
{
var nextSong = SongList[_nextSongIndex];
var nextSong = NextSong();
_activityList[0] = new Activity($"{nextSong.Name} / {nextSong.Author}",
ActivityType.Listening);
_client.SubmitCommand(
new UpdatePresence(
UserStatus.Online, false, DateTimeOffset.UtcNow, _activityList));
_nextSongIndex++;
if (_nextSongIndex >= SongList.Length)
{
_nextSongIndex = 0;
}

await Task.Delay(nextSong.Duration, ct);
}
}

private (string Author, string Name, TimeSpan Duration) NextSong()
{
var today = DateTime.Today;
// Discontinuation of Online Services for Nintendo Wii U
if (today.Day is 8 or 9 && today.Month is 4)
{
return SpecialSongList[0]; // Maritime Memory / Squid Sisters
}

var nextSong = SongList[_nextSongIndex];
_nextSongIndex++;
if (_nextSongIndex >= SongList.Length)
{
_nextSongIndex = 0;
}

return nextSong;
}
}

0 comments on commit defa3c2

Please sign in to comment.