public static bool CloseTasks() { if (!IsOpen) { return(true); } return(SelectString.ClickLineEquals(RetainerTaskStrings.Quit)); }
public static bool OpenInventory() { if (IsOpen) { return(SelectString.ClickLineEquals(RetainerTaskStrings.Inventory)); } Logging.Write("Retainer task window not open"); return(false); }
public async Task <bool> RetainerHandleVentures() { if (!SelectString.IsOpen) { return(false); } if (SelectString.Lines().Contains(Translator.VentureCompleteText)) { //Log("Venture Done"); SelectString.ClickLineEquals(Translator.VentureCompleteText); await Coroutine.Wait(5000, () => RetainerTaskResult.IsOpen); if (!RetainerTaskResult.IsOpen) { Log("RetainerTaskResult didn't open"); return(false); } var taskId = AgentRetainerVenture.Instance.RetainerTask; var task = VentureData.Value.FirstOrDefault(i => i.Id == taskId); if (task != default(RetainerTaskData)) { Log($"Finished Venture {task.Name}"); Log($"Reassigning Venture {task.Name}"); } else { Log($"Finished Venture"); Log($"Reassigning Venture"); } RetainerTaskResult.Reassign(); await Coroutine.Wait(5000, () => RetainerTaskAsk.IsOpen); if (!RetainerTaskAsk.IsOpen) { Log("RetainerTaskAsk didn't open"); return(false); } await Coroutine.Wait(2000, RetainerTaskAskExtensions.CanAssign); if (RetainerTaskAskExtensions.CanAssign()) { RetainerTaskAsk.Confirm(); } else { Log($"RetainerTaskAsk Error: {RetainerTaskAskExtensions.GetErrorReason()}"); RetainerTaskAsk.Close(); } await Coroutine.Wait(1500, () => DialogOpen || SelectString.IsOpen); await Coroutine.Sleep(200); if (DialogOpen) { Next(); } await Coroutine.Sleep(200); await Coroutine.Wait(5000, () => SelectString.IsOpen); } else { Log("Venture Not Done"); } return(true); }
private async Task <bool> HandleWindows() { while (WindowsOpen()) { if (SelectString.IsOpen) { if (DialogOption > -1) { SelectString.ClickSlot((uint)DialogOption); } SelectString.ClickLineEquals(QuestName); await Coroutine.Sleep(100); } if (SelectIconString.IsOpen) { if (DialogOption > -1) { SelectIconString.ClickSlot((uint)DialogOption); } SelectIconString.ClickLineEquals(QuestName); await Coroutine.Sleep(100); } if (SelectYesno.IsOpen) { SelectYesno.ClickYes(); await Coroutine.Sleep(100); } if (Request.IsOpen) { var items = InventoryManager.FilledInventoryAndArmory.ToArray(); for (int i = 0; i < ItemIds.Length; i++) { BagSlot item; if (RequiresHq[i]) { item = items.FirstOrDefault(z => z.RawItemId == ItemIds[i] && z.IsHighQuality && !usedSlots.Contains(z)); } else { item = items.FirstOrDefault(z => z.RawItemId == ItemIds[i] && !usedSlots.Contains(z)); } item.Handover(); usedSlots.Add(item); } usedSlots.Clear(); Request.HandOver(); await Coroutine.Sleep(100); } if (JournalResult.IsOpen) { if (JournalResult.ButtonClickable) { JournalResult.Complete(); } if (hasRewards) { JournalResult.SelectSlot(RewardSlot); } await Coroutine.Sleep(100); } if (JournalAccept.IsOpen) { JournalAccept.Accept(); await Coroutine.Sleep(100); } if (Talk.DialogOpen) { Talk.Next(); await Coroutine.Sleep(100); } if (QuestLogManager.InCutscene) { if (AgentCutScene.Instance.CanSkip && !SelectString.IsOpen) { AgentCutScene.Instance.PromptSkip(); if (await Coroutine.Wait(600, () => SelectString.IsOpen)) { SelectString.ClickSlot(0); await Coroutine.Sleep(1000); } } } await Coroutine.Yield(); } return(QuestLogManager.InCutscene || Core.Player.HasTarget); }