import { randomNumber, userInput } from "./functions.js"; import "./variables.js"; // Inventories for the various shops, based of global item lists // Most item prices in Raven Rock and Eureka are multiplied by 10, as they are using pre-war money var rrInv = [ {item: supplyList[0], name: supplyList[0].name, price: supplyList[0].cost, amount: 1000}, {item: supplyList[1], name: supplyList[1].name, price: supplyList[1].cost*10, amount: 100}, {item: supplyList[2], name: supplyList[2].name, price: supplyList[2].cost*10, amount: 100}, {item: supplyList[3], name: supplyList[3].name, price: supplyList[3].cost*10, amount: 100}, {item: equipmentList[0], name: equipmentList[0].name, price: equipmentList[0].cost*10, amount: 10}, {item: equipmentList[2], name: equipmentList[2].name, price: equipmentList[1].cost*10, amount: 10}, {item: equipmentList[8], name: equipmentList[8].name, price: equipmentList[2].cost*10, amount: 10}, ]; var vt0Inv = []; var vegasInv = []; // A mix of gunrunners, mick&ralphs, and followers var eurInv = []; var traderInv = []; export function ravenRockStore() { while (true) { console.clear(); console.log("Welcome to Raven Rock. Requisition supplies before heading out."); console.log("Name | Price (PW Money) | Amount in stock"); console.log("-----------------------------------------------------"); for (var i = 0; i < rrInv.length; i++) { console.log(i+"). " + rrInv[i].name + " | " + rrInv[i].price + " | " + rrInv[i].amount); } console.log("-----------------------------------------------------"); console.log("You have " + preWarMoney + " pre-war money."); console.log("What would you like to do?"); console.log("1) Buy supplies"); console.log("2) Leave shop"); var rrInput = userInput("Enter: "); switch(rrInput) { case "1": console.log("What would you like to buy?"); let itemNum = userInput("Enter item number: "); let itemAmt = userInput("Enter amount: "); if (itemAmt > rrInv[itemNum].amount) { console.log("Not enough stock."); userInput("[Enter]"); break; } else if (itemAmt * rrInv[itemNum].price > preWarMoney) { console.log("Not enough money."); userInput("[Enter]"); break; } else { preWarMoney -= itemAmt * rrInv[itemNum].price; rrInv[itemNum].amount -= itemAmt; console.log("You bought " + itemAmt + " " + rrInv[itemNum].name + "(s)."); console.log("You have " + preWarMoney + " pre-war money left."); console.log("Press enter to continue..."); userInput("[Enter]"); } break; case "2": console.log("Leaving shop..."); return true; break; default: console.log("Invalid input, try again."); } } } function vaultZeroStore() { while (true) { console.clear(); console.log("Brotherhood of Steel Requisition System - Vault 0"); console.log("Name | Price (Caps) | Amount in stock"); console.log("-----------------------------------------------------"); for (var i = 0; i < vt0InvInv.length; i++) { console.log(i+"). " + vt0InvInv[i].item + " | " + vtInv[i].price + " | " + vtInv[i].amount); } console.log("-----------------------------------------------------"); console.log("You have " + caps + " caps."); console.log("What would you like to do?"); console.log("1) Buy supplies"); console.log("2) Leave shop"); var vt0Input = userInput("Enter: "); switch(vt0Input) { case "1": console.log("What would you like to buy?"); let itemNum = userInput("Enter item number: "); let itemAmt = userInput("Enter amount: "); if (itemAmt > vt0Inv[itemNum].amount) { console.log("Not enough stock."); break; } else if (itemAmt * vt0Inv[itemNum].price > caps) { console.log("Not enough money."); break; } else { caps -= itemAmt * vt0Inv[itemNum].price; rrInv[itemNum].amount -= itemAmt; console.log("You bought " + itemAmt + " " + vt0Inv[itemNum].item + "(s)."); console.log("You have " + caps + " caps left."); console.log("Press enter to continue..."); userInput("[Enter]"); } break; case "2": console.log("Leaving shop..."); return true; default: console.log("Invalid input, try again."); } } } function newVegasStore() { while (true) { console.clear(); console.log("Welcome to New Vegas. Selection pulls from Gunrunners, Mick & Ralph's, and Followers of the Apocalypse."); console.log("Name | Price (Caps) | Amount in stock"); console.log("-----------------------------------------------------"); for (var i = 0; i < vegasInv.length; i++) { console.log(i+"). " + vegasInv[i].item + " | " + vegasInv[i].price + " | " + vegasInv[i].amount); } console.log("-----------------------------------------------------"); console.log("You have " + caps + " caps."); console.log("What would you like to do?"); console.log("1) Buy supplies"); console.log("2) Leave shop"); var nvInput = userInput("Enter: "); switch(nvInput) { case "1": console.log("What would you like to buy?"); let itemNum = userInput("Enter item number: "); let itemAmt = userInput("Enter amount: "); if (itemAmt > vegasInv[itemNum].amount) { console.log("Not enough stock."); break; } else if (itemAmt * vegasInv[itemNum].price > preWarMoney) { console.log("Not enough money."); break; } else { preWarMoney -= itemAmt * vegasInv[itemNum].price; vegasInv[itemNum].amount -= itemAmt; console.log("You bought " + itemAmt + " " + vegasInv[itemNum].item + "(s)."); console.log("You have " + caps + " caps left."); console.log("Press enter to continue..."); userInput("[Enter]"); } break; case "2": console.log("Leaving shop..."); return true; break; default: console.log("Invalid input, try again."); } } } function eurekaStore() { while (true) { console.clear(); console.log("Welcome to Eureka. Selection pulls from local traders and willing Enclave Veterans."); console.log("Name | Price (PW Money) | Amount in stock"); console.log("-----------------------------------------------------"); for (var i = 0; i < eurInv.length; i++) { console.log(i+"). " + eurInv[i].item + " | " + eurInv[i].price + " | " + eurInv[i].amount); } console.log("-----------------------------------------------------"); console.log("You have " + preWarMoney + " pre-war money."); console.log("What would you like to do?"); console.log("1) Buy supplies"); console.log("2) Leave shop"); var eurInput = userInput("Enter: "); switch(eurInput) { case "1": console.log("What would you like to buy?"); let itemNum = userInput("Enter item number: "); let itemAmt = userInput("Enter amount: "); if (itemAmt > eurInv[itemNum].amount) { console.log("Not enough stock."); break; } else if (itemAmt * eurInv[itemNum].price > preWarMoney) { console.log("Not enough money."); break; } else { preWarMoney -= itemAmt * eurInv[itemNum].price; eurInv[itemNum].amount -= itemAmt; console.log("You bought " + itemAmt + " " + eurInv[itemNum].item + "(s)."); console.log("You have " + preWarMoney + " pre-war money left."); console.log("Press enter to continue..."); userInput("[Enter]"); } break; case "2": console.log("Leaving shop..."); return true; default: console.log("Invalid input, try again."); } } } function trader() { // Picks a selection of items from a global trader inventory, used for misc area shops var tempTraderInv = []; for (var a = 0; a <= 2; a++) { let randomPick = randomNumber() tempTraderInv.push(traderInv[1]); console.log(randomPick); } console.log(tempTraderInv); while (true) { console.clear(); console.log("You attempt to trade with a local trader, this is thier selection."); console.log("Name | Price (Caps) | Amount in stock"); console.log("-----------------------------------------------------"); for (var i = 0; i < Inv.length; i++) { console.log(i+"). " + rrInv[i].item + " | " + rrInv[i].price + " | " + rrInv[i].amount); } console.log("-----------------------------------------------------"); console.log("You have " + preWarMoney + " pre-war money."); console.log("What would you like to do?"); console.log("1) Buy supplies"); console.log("2) Leave shop"); var rrInput = userInput("Enter: "); switch(rrInput) { case "1": console.log("What would you like to buy?"); let itemNum = userInput("Enter item number: "); let itemAmt = userInput("Enter amount: "); if (itemAmt > rrInv[itemNum].amount) { console.log("Not enough stock."); break; } else if (itemAmt * rrInv[itemNum].price > preWarMoney) { console.log("Not enough money."); break; } else { preWarMoney -= itemAmt * rrInv[itemNum].price; rrInv[itemNum].amount -= itemAmt; console.log("You bought " + itemAmt + " " + rrInv[itemNum].item + "(s)."); console.log("You have " + preWarMoney + " pre-war money left."); console.log("Press enter to continue..."); userInput("[Enter]"); } break; case "2": console.log("Leaving shop..."); return true; break; default: console.log("Invalid input, try again."); } } }