public static async Task <bool> OpenStash() { if (StashUi.IsOpened) { return(true); } WalkablePosition stashPos; if (World.CurrentArea.IsTown) { stashPos = StaticPositions.GetStashPosByAct(); } else { var stashObj = LokiPoe.ObjectManager.Stash; if (stashObj == null) { GlobalLog.Error("[OpenStash] Fail to find any Stash nearby."); return(false); } stashPos = stashObj.WalkablePosition(); } await PlayerAction.EnableAlwaysHighlight(); await stashPos.ComeAtOnce(); if (!await PlayerAction.Interact(LokiPoe.ObjectManager.Stash, () => StashUi.IsOpened && StashUi.StashTabInfo != null, "stash opening")) { return(false); } await Wait.SleepSafe(200); return(true); }