Automatically transmutes items from your list
// ==UserScript==
// @name Flight Rising Baldwin
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Automatically transmutes items from your list
// @author Gnorbu
// @match https://www1.flightrising.com/trading/baldwin/transmute*
// @grant none
// ==/UserScript==
(function() {
'use strict';
getState();
})();
// Categories are food, mats, app, fam, battle, skins, specialty, other
let transmuteItems = [['food','Albino Dasher'],
['food','Common Sparrow'],
['food','Red Squirrel'],
['mats','Sand'],
['other','Broken Clay Pot']
];
let randomIndex = Math.floor(Math.random() * transmuteItems.length);
let transmuteItem = transmuteItems[randomIndex];
function getState(){
let idle = document.querySelector('#plus-button-container');
let brewing = document.querySelector('.baldwin-cauldron-brewing');
let done = document.querySelector('.baldwin-cauldron-done');
if(done){
collectItem();
} else if (brewing){
brewingWait();
} else if(idle){
transmute();
}
}
async function collectItem(){
let collectDoneItem = document.querySelector('input[value="Collect!"]').click();
await sleep(1000);
location.reload();
}
async function brewingWait(){
let brewingTime = document.querySelector('#baldwin-timer-value').getAttribute('data-seconds-left');
brewingTime = parseInt(brewingTime) + 3;
console.log(`Now waiting for ${brewingTime} seconds. Please Stand by.`)
await sleep(brewingTime * 1000);
location.reload();
}
async function transmute(){
let clickTransmuteButton = document.querySelector('#plus-button').click();
await sleep(2000);
console.log(`${transmuteItem[0]} : ${transmuteItem[1]}`)
let chooseCategory = document.querySelector(`#swaptabs > a[data-tab-id="${transmuteItem[0]}"]`).click();
await sleep(2000);
let itemList = document.querySelectorAll('#itempage > span > a');
let transmuteSelection;
itemList.forEach((node) => {
if(node.getAttribute('data-name') == transmuteItem[1]){
transmuteSelection = node;
}
})
transmuteSelection.click();
await sleep(1000);
let transmuteStart = document.querySelector('#attch').click();
await sleep(2000);
let transmuteConfirm = document.querySelector('#transmute-confirm-ok').click();
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}