diff --git a/Directory.Build.props b/Directory.Build.props index 17dc79cd..f912e375 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - - 1.32.0 - 5.5.2 - + + 1.36.1 + 5.5.2 + diff --git a/Mimir.Worker/ActionHandler/ItemSlotStateHandler.cs b/Mimir.Worker/ActionHandler/ItemSlotStateHandler.cs index 7072dace..a0b3a46a 100644 --- a/Mimir.Worker/ActionHandler/ItemSlotStateHandler.cs +++ b/Mimir.Worker/ActionHandler/ItemSlotStateHandler.cs @@ -30,7 +30,7 @@ IStateGetterService stateGetterService store, headlessGqlClient, initializerManager, - "^hack_and_slash[0-9]*$|^hack_and_slash_sweep[0-9]*$|^battle_arena[0-9]*$|^event_dungeon_battle[0-9]*$|^join_arena[0-9]*$|^raid[0-9]*$", + "^hack_and_slash[0-9]*$|^hack_and_slash_sweep[0-9]*$|^battle_arena[0-9]*$|^event_dungeon_battle[0-9]*$|^event_dungeon_battle_sweep[0-9]*$|^join_arena[0-9]*$|^raid[0-9]*$", Log.ForContext(), stateGetterService ) @@ -97,6 +97,19 @@ protected override async Task>> HandleActio ); } + if (Regex.IsMatch(actionType, "^event_dungeon_battle_sweep[0-9]*$")) + { + var action = new EventDungeonBattleSweep(); + action.LoadPlainValue(actionPlainValue); + return await ItemSlotCollectionUpdater.UpdateAsync( + StateService, + blockIndex, + BattleType.Adventure, + action.AvatarAddress, + stoppingToken + ); + } + if (Regex.IsMatch(actionType, "^join_arena[0-9]*$")) { var action = new JoinArena(); diff --git a/Mimir.Worker/ActionHandler/RuneSlotStateHandler.cs b/Mimir.Worker/ActionHandler/RuneSlotStateHandler.cs index d54ead1a..de418209 100644 --- a/Mimir.Worker/ActionHandler/RuneSlotStateHandler.cs +++ b/Mimir.Worker/ActionHandler/RuneSlotStateHandler.cs @@ -30,7 +30,7 @@ PlanetType planetType store, headlessGqlClient, initializerManager, - "^(battle_arena[0-9]*|event_dungeon_battle[0-9]*|hack_and_slash[0-9]*|hack_and_slash_sweep[0-9]*|join_arena[0-9]*|raid[0-9]*|unlock_rune_slot[0-9]*)$", + "^(battle_arena[0-9]*|event_dungeon_battle[0-9]*|event_dungeon_battle_sweep[0-9]*|hack_and_slash[0-9]*|hack_and_slash_sweep[0-9]*|join_arena[0-9]*|raid[0-9]*|unlock_rune_slot[0-9]*)$", Log.ForContext(), stateGetterService ) @@ -86,6 +86,13 @@ private async Task>> TryProcessRuneSlotStat return await TryProcessRuneSlotStateAsync(blockIndex, action, stoppingToken); } + if (Regex.IsMatch(actionType, "^event_dungeon_battle_sweep[0-9]*$")) + { + var action = new EventDungeonBattleSweep(); + action.LoadPlainValue(actionPlainValue); + return await TryProcessRuneSlotStateAsync(blockIndex, action, stoppingToken); + } + if (Regex.IsMatch(actionType, "^hack_and_slash[0-9]*$")) { var action = new HackAndSlash(); @@ -147,6 +154,21 @@ private async Task>> TryProcessRuneSlotStat ); } + private async Task>> TryProcessRuneSlotStateAsync( + long blockIndex, + EventDungeonBattleSweep action, + CancellationToken stoppingToken = default + ) + { + return await RuneSlotCollectionUpdater.UpdateAsync( + blockIndex, + StateService, + BattleType.Adventure, + action.AvatarAddress, + stoppingToken + ); + } + private async Task>> TryProcessRuneSlotStateAsync( long blockIndex, HackAndSlash action, diff --git a/Mimir.Worker/Util/ActionParser.cs b/Mimir.Worker/Util/ActionParser.cs index c6408d95..aff1e536 100644 --- a/Mimir.Worker/Util/ActionParser.cs +++ b/Mimir.Worker/Util/ActionParser.cs @@ -469,6 +469,9 @@ public static ExtractedActionValues ExtractActionValue(string raw) case IEventDungeonBattleV2 eventDungeonBattle2: avatarAddress = eventDungeonBattle2.AvatarAddress; break; + case IEventDungeonBattleSweep eventDungeonBattleSweep: + avatarAddress = eventDungeonBattleSweep.AvatarAddress; + break; case IEventMaterialItemCraftsV1 eventMaterialItemCrafts: avatarAddress = eventMaterialItemCrafts.AvatarAddress; break;