illu-plugins/archive/blastfurnacebot/Blast Furnace Logic (Pseudo)

128 lines
3.4 KiB
Plaintext

BLAST FURNACE:
TIMEOUT > 0:
-Timeout--;
RETURN;
PLAYER IS MOVING || INTERACTING:
-Timeout = 1
RETURN;
BANK IS NOT OPEN: //Potential logic flaw if I'm not in BANK or BELT location and the other conditions are not met. May need to add a default condition.
-HandleRun()
INVENTORY CONTAINS BARS:
-Open Bank
RETURN;
BARS IN FURNACE: //28 is max - Varbit 936 for whether there is bars in furnace
INVENTORY < 26 SPACES:
-Open Bank
RETURN;
-Collect bars/click furnace
RETURN;
COINS IN COFFER BELOW THRESHOLD //Varbit 5357 for coffer amount
COINS >= CONFIG.DEPOSITAMOUNT IN INVENTORY
-Fill Coffer
ELSE COINS < CONFIG.DEPOSITAMOUNT IN INVENTORY
-Open Bank
-TIMEOUT = 1
RETURN;
LOCATION NEAR BANK:
INVENTORY DOES NOT CONTAIN COAL || RUNITE ORE:
-Open Bank
-TIMEOUT = 1
RETURN;
COAL BAG NOT FULL: //Essentially coal bag is empty
INVENTORY CONTAINS COAL:
-Fill Coal Bag
-BOOL coalBagFull = true
INVENTORY CONTAINS RUNITE ORE: //Shouldn't happen, but if it does I might need to handle better
-Click Conveyor Belt/Place Ore on belt
-TIMEOUT = 1
RETURN;
COAL BAG IS FULL:
INVENTORY CONTAINS COAL/ORE:
-Click Conveyor Belt/Place Ore on belt
-TIMEOUT = 1
RETURN;
LOCATION CONVEYOR BELT:
INVENTORY DOES NOT CONTAIN ORE:
COAL BAG EMPTY:
FURNACE CONTAINS BARS: //or expected to
-Walk to furnace //or maybe return?
-TIMEOUT = 1
RETURN;
FURNACE DOES NOT CONTAIN BARS: //or not expected to
-Open Bank
TIMEOUT = 1
RETURN;
COAL BAG CONTAINS ORE:
-Empty Coal Bag
-BOOL coalBagFull = false;
INVENTORY DOES CONTAIN ORE:
-Click Conveyor Belt/Place Ore on belt
COAL BAG EMPTY: //Should always be empty at this point but using as failsafe
-GameTick Timeout = 1 //Need to test timeout length
RETURN;
BANK OPEN:
INVENTORY CONTAINS BARS:
-Deposit Bars
BARS IN FURNACE: //28 is max - Varbit 936 for whether there is bars in furnace
INVENTORY < 26 SPACES:
-Deposit inventory
-Collect bars/click furnace
RETURN;
COINS IN COFFER BELOW THRESHOLD
INVENTORY CONTAINS COINS >= CONFIG.DEPOSITAMOUNT //failsafe
-Close Bank
RETURN;
INVENTORY FULL
-Deposit inventory
BANK CONTAINS COINS >= CONFIG.DEPOSITAMOUNT
-Withdraw Coins
-Close Bank
RETURN;
ELSE BANK CONTAINS COINS < CONFIG.DEPOSITAMOUNT
-Close Bank
-Log off
RETURN;
INVENTORY CONTAINS EMPTY VIAL:
-Deposit Vial
-Sleep
INVENTORY DOESN'T CONTAIN STAMINA AND BANK DOES:
INVENTORY FULL:
-Deposit Inventory
-Sleep
-Withdraw Stamina
CONVEYOR BELT < 81 COAL || COAL BAG IS EMPTY:
INVENTORY EMPTY:
BANK CONTAINS MIN COAL
-Withdraw Coal
-Sleep
ELSE BANK DOES NOT CONTAIN MIN COAL
-Close Bank
-Log Off
RETURN;
INVENTORY CONTAINS COAL && COAL BAG IS EMPTY:
-Close Bank //Bank not open will handle filling coal bag and reopening bank
RETURN;
INVENTORY CONTAINS COAL && COAL BAG IS FULL:
-Click Conveyor Belt/Place Ore on belt
TIMEOUT = 1;
RETURN;
CONVEYOR BELT >= 81 COAL && COAL BAG IS NOT EMPTY: //May need to remove Coal Bag empty condition
INVENTORY DOESN'T CONTAIN RUNITE ORES:
BANK CONTAINS RUNITE ORES:
-Withdraw Runite Ores
ELSE BANK DOESN'T CONTAIN RUNITE ORES:
-Close Bank
-Log off
RETURN;
INVENTORY CONTAINS RUNITE ORES:
-Click Conveyor Belt/Place Ore on belt
-TIMEOUT = 1
RETURN;
//254 is max amount of COAL