From 5730efa0b636b3f4d671778a69a136b5089ee2f7 Mon Sep 17 00:00:00 2001 From: goat Date: Sun, 8 Dec 2019 16:28:54 +0900 Subject: [PATCH] fix: set lastPreferredRole in task to prevent race condition --- Dalamud/Game/Network/NetworkHandlers.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dalamud/Game/Network/NetworkHandlers.cs b/Dalamud/Game/Network/NetworkHandlers.cs index 9def7eef8..dad88bac6 100644 --- a/Dalamud/Game/Network/NetworkHandlers.cs +++ b/Dalamud/Game/Network/NetworkHandlers.cs @@ -65,9 +65,7 @@ namespace Dalamud.Game.Network { return; } - Task.Run(async () => { - for (var rouletteIndex = 1; rouletteIndex < 11; rouletteIndex++) { var currentRole = data[16 + rouletteIndex]; var prevRole = this.lastPreferredRole[16 + rouletteIndex]; @@ -91,13 +89,15 @@ namespace Dalamud.Game.Network { var prevRoleName = RoleKeyToName(prevRole); var currentRoleName = RoleKeyToName(currentRole); + this.dalamud.Framework.Gui.Chat.Print($"Roulette bonus for {rouletteName} changed: {prevRole} => {currentRoleName}"); + if (this.dalamud.BotManager.IsConnected) await this.dalamud.BotManager.ProcessCfPreferredRoleChange(rouletteName, prevRoleName, currentRoleName); } } - }); - this.lastPreferredRole = data; + this.lastPreferredRole = data; + }); return; }