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;