diff --git a/debug_loot_capture.png b/debug_loot_capture.png index 564601c..a66cec5 100644 Binary files a/debug_loot_capture.png and b/debug_loot_capture.png differ diff --git a/debug_loot_detected.png b/debug_loot_detected.png index 4feb9c3..128d063 100644 Binary files a/debug_loot_detected.png and b/debug_loot_detected.png differ diff --git a/debug_loot_edges.png b/debug_loot_edges.png index b690a27..5d058fd 100644 Binary files a/debug_loot_edges.png and b/debug_loot_edges.png differ diff --git a/src/Poe2Trade.Bot/BossRunExecutor.cs b/src/Poe2Trade.Bot/BossRunExecutor.cs index 6ea6a96..8b675d5 100644 --- a/src/Poe2Trade.Bot/BossRunExecutor.cs +++ b/src/Poe2Trade.Bot/BossRunExecutor.cs @@ -985,7 +985,8 @@ public class BossRunExecutor : GameExecutor if (attempt < 3) { - Log.Warning("Hideout command didn't register (attempt {Attempt}/3), retrying", attempt); + Log.Warning("Hideout command didn't register (attempt {Attempt}/3), clearing UI and retrying", attempt); + await _game.PressKey(InputSender.VK.SPACE); await Sleep(1000); } } diff --git a/src/Poe2Trade.Bot/CombatManager.cs b/src/Poe2Trade.Bot/CombatManager.cs index 3146a49..d56896f 100644 --- a/src/Poe2Trade.Bot/CombatManager.cs +++ b/src/Poe2Trade.Bot/CombatManager.cs @@ -100,7 +100,7 @@ public class CombatManager else _manaStableCount = 0; - await _game.MoveMouseFast(mouseX, mouseY); + _game.MoveMouseInstant(mouseX, mouseY); _game.LeftMouseDown(); await Helpers.Sleep(Rng.Next(20, 35)); @@ -121,7 +121,7 @@ public class CombatManager } else { - await _game.MoveMouseFast(mouseX, mouseY); + _game.MoveMouseInstant(mouseX, mouseY); if (mana < 0.30f) { @@ -132,7 +132,7 @@ public class CombatManager _manaStableCount = 0; } - await Helpers.Sleep(Rng.Next(80, 120)); + await Helpers.Sleep(10); } } diff --git a/src/Poe2Trade.Game/GameController.cs b/src/Poe2Trade.Game/GameController.cs index 559d2f9..81490cc 100644 --- a/src/Poe2Trade.Game/GameController.cs +++ b/src/Poe2Trade.Game/GameController.cs @@ -43,18 +43,26 @@ public class GameController : IGameController public async Task SendChatViaPaste(string message) { Log.Information("Sending chat message via paste: {Message}", message); - ClipboardHelper.Write(message); - await Helpers.Sleep(50); - await _input.PressKey(InputSender.VK.RETURN); - await Helpers.RandomDelay(100, 200); - await _input.SelectAll(); - await Helpers.Sleep(50); - await _input.PressKey(InputSender.VK.BACK); - await Helpers.Sleep(50); - await _input.Paste(); - await Helpers.RandomDelay(100, 200); - await _input.PressKey(InputSender.VK.RETURN); - await Helpers.Sleep(100); + var previousClipboard = ClipboardHelper.Read(); + try + { + ClipboardHelper.Write(message); + await Helpers.Sleep(50); + await _input.PressKey(InputSender.VK.RETURN); + await Helpers.RandomDelay(100, 200); + await _input.SelectAll(); + await Helpers.Sleep(50); + await _input.PressKey(InputSender.VK.BACK); + await Helpers.Sleep(50); + await _input.Paste(); + await Helpers.RandomDelay(100, 200); + await _input.PressKey(InputSender.VK.RETURN); + await Helpers.Sleep(100); + } + finally + { + ClipboardHelper.Write(previousClipboard); + } } public Task GoToHideout()