/// <summary> /// Manually uses each ashes on a tarromin potions to make serums. /// </summary> /// <returns>true if successful</returns> protected bool MakeSerums() { Point ashesInventorySlot; Point tarrominPotionInventorySlot; for (int i = 0; i < HALF_INVENTORY; i++) { if (StopFlag) { return(false); } ashesInventorySlot = Inventory.InventoryIndexToCoordinates(i); if (ashesInventorySlot.Y % 2 == 1) //Iterate through odd rows right to left instead of left to right like on even rows. { ashesInventorySlot = Inventory.MirrorHorizontal(ashesInventorySlot); } tarrominPotionInventorySlot = Inventory.MirrorVertical(ashesInventorySlot); if (i % 2 == 0) { //Use top half item on mirrored bottom half item. Inventory.UseItemOnItem(ashesInventorySlot, tarrominPotionInventorySlot, false); } else { //Use bottom half item on mirrored top half item. Inventory.UseItemOnItem(tarrominPotionInventorySlot, ashesInventorySlot, false); } RunParams.Iterations--; } return(true); }
/// <summary> /// Makes finished potions from unfinished potions and secondary ingredients. /// </summary> /// <returns>true if successful</returns> protected bool MakeFinishedPotions(bool countdown) { Inventory.UseItemOnItem(FirstHalfInventorySlot, SecondHalfInventorySlot); if (SafeWaitPlus(750, 200)) { return(false); } if (!ChatBoxSingleOptionMakeAll(RSClient)) { return(false); } return(WaitToMakeFinishedPotions(countdown)); }
/// <summary> /// Make the 14 items /// </summary> /// <param name="craftTime">time to wait for he items to be made</param> /// <returns>true if successful</returns> protected bool MakeItems(bool finishedProduct) { Inventory.UseItemOnItem(UseWithInventorySlot, UseOnInventorySlot, false); SafeWaitPlus(500, 150); if (!ChatBoxSingleOptionMakeAll(RSClient)) { return(false); } //Wait for the inventory to be processed WatchNetflix(0); CountDownItems(finishedProduct); return(!SafeWaitPlus(0, 300)); }
/// <summary> /// Use the tool on the other 27 items /// </summary> /// <returns>true if successful</returns> protected override bool ProcessInventory() { Inventory.UseItemOnItem(UseWithInventorySlot, UseOnInventorySlot, false); SafeWaitPlus(500, 200); if (!ChatBoxSingleOptionMakeAll(RSClient)) { return(false); } //Wait for the inventory to be processed WatchNetflix(0); CountDownItems(true); SafeWaitPlus(0, 300); return(true); }
/// <summary> /// Cleans herbs if grimy and makes unfinished potions. /// </summary> /// <returns>true if successful</returns> protected bool MakeUnfinishedPotions(bool countdown) { if (true && !CleanHerbs()) { return(false); } //TODO Replace true with conditional based user settings Inventory.UseItemOnItem(SecondHalfInventorySlot, FirstHalfInventorySlot); if (SafeWaitPlus(750, 200)) { return(false); } if (!ChatBoxSingleOptionMakeAll(RSClient)) { return(false); } return(WaitToMakeUnfinishedPotions(countdown)); }