diff --git a/MementoMori/MagicOnion/MagicOnionLocalRaidReceiver.cs b/MementoMori/MagicOnion/MagicOnionLocalRaidReceiver.cs index 2f5cb97..2c116e8 100644 --- a/MementoMori/MagicOnion/MagicOnionLocalRaidReceiver.cs +++ b/MementoMori/MagicOnion/MagicOnionLocalRaidReceiver.cs @@ -5,17 +5,18 @@ namespace MementoMori.MagicOnion; -public class MagicOnionLocalRaidReceiver: IMagicOnionLocalRaidReceiver, IMagicOnionErrorReceiver +public class MagicOnionLocalRaidReceiver : IMagicOnionLocalRaidReceiver, IMagicOnionErrorReceiver { private readonly OrtegaMagicOnionClient _ortegaMagicOnionClient; - + public MagicOnionLocalRaidReceiver(OrtegaMagicOnionClient ortegaMagicOnionClient) { _ortegaMagicOnionClient = ortegaMagicOnionClient; } - + public long QuestId { get; set; } public bool IsBattleStarted { get; private set; } + public bool IsNoRemainingChallenges { get; private set; } public void OnGetRoomList(OnGetRoomListResponse response) { @@ -79,6 +80,13 @@ public async void OnError(ErrorCode errorCode) await Task.Delay(500); _ortegaMagicOnionClient.SendLocalRaidJoinRandomRoom(QuestId); break; + case ErrorCode.MagicOnionLocalRaidInviteNoRemainingChallenges: + case ErrorCode.MagicOnionLocalRaidJoinRoomNoRemainingChallenges: + case ErrorCode.MagicOnionLocalRaidOpenRoomNoRemainingChallenges: + case ErrorCode.MagicOnionLocalRaidJoinFriendRoomNoRemainingChallenges: + case ErrorCode.MagicOnionLocalRaidJoinRandomRoomNoRemainingChallenges: + IsNoRemainingChallenges = true; + break; } } } \ No newline at end of file diff --git a/MementoMori/MementoMoriFuncs.Ops.cs b/MementoMori/MementoMoriFuncs.Ops.cs index bc8fd92..4f52c19 100644 --- a/MementoMori/MementoMoriFuncs.Ops.cs +++ b/MementoMori/MementoMoriFuncs.Ops.cs @@ -984,10 +984,7 @@ public async Task GetMyPage() public async Task Debug() { - await ExecuteQuickAction(async (log, token) => - { - - }); + await ExecuteQuickAction(async (log, token) => { }); } public async Task LogDebug() @@ -1764,6 +1761,11 @@ public async Task AutoLocalRaid() while (!token.IsCancellationRequested) { await Task.Delay(1000); + if (localRaidReceiver.IsNoRemainingChallenges) + { + return; + } + if (localRaidReceiver.IsBattleStarted) { await Task.Delay(1000);