Yield to the normal interaction timing
if (!LokiPoe.IsInGame)
return;
await Coroutines.FinishCurrentAction();
await Coroutines.LatencyWait();Use inside the bot's asynchronous workflow. Do not block the bot thread with Thread.Sleep.
Asynchronous helpers for timing, interaction and common game actions. Await these helpers within the bot workflow.
Namespace: DreamPoeBot.Loki.Bot
public static class CoroutinesView DPB2 version โusing System;
using System.Linq;
using DreamPoeBot.Loki.Game;
using DreamPoeBot.Loki.Game.Objects;
using DreamPoeBot.Loki.Bot;
using DreamPoeBot.Loki.Bot.Pathfinding;
using DreamPoeBot.Loki.Common;if (!LokiPoe.IsInGame)
return;
await Coroutines.FinishCurrentAction();
await Coroutines.LatencyWait();Use inside the bot's asynchronous workflow. Do not block the bot thread with Thread.Sleep.
public static Task<Vector2i> Coroutines.ExInteractWith<T>(NetworkObject obj, bool holdCtrl, int timeout)
Attempts to interact with a game object of the requested type and returns the character's interaction position. The character may move into range when necessary. For WorldItems, this overload allows the game to equip the collected item automatically when the game permits it.
objNetworkObjectholdCtrlbooltimeoutintReturns: The interaction position when successful; otherwise, DreamPoeBot.Common.Vector2i.Zero.
DPB1 0.3.29.47 ยท Reference reviewed 2026-10-02. Descriptions use source summaries where available, otherwise concise signature-based descriptions. Examples illustrate usage; they are not a live-game test.