Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const MATS = {
- ORE_IRON: "iron ores",
- ORE_COPPER: "copper ores",
- ORE_STONE: "stone ores",
- INGOT_IRON: "iron ingot",
- INGOT_COPPER: "copper ingot",
- INGOT_STEEL: "steel ingot",
- CONCRETE: "Concrete",
- PLATE: "Iron plate",
- ROD: "rod",
- SCREW: "screw",
- TOUGH_PLATE: "Reinforced Iron Plate",
- WIRE: "Wire",
- CABLE: "Cable",
- QUICK_WIRE: "Quickwire",
- COPPER_SHEET: "Copper Sheet",
- CUBE: "Modular Frame",
- STEEL_BEAM: "Steel Beam",
- STEEL_PIPE: "Steel Beam",
- ROTOR: "Rotor",
- STATOR: "Stator",
- MOTOR: "Motor",
- PLASTIC: "Plastic",
- RUBBER: "Rubber",
- SMART_PLATES: "Smart Plating",
- AUTO_WIRES: "Automated Wiring",
- BOARD: "Circuit Board",
- FAT_CUBE: "Heavy Modular Frame",
- CONCRETE_BEAM: "Encased Industrial Beam",
- CPU: "Computer",
- VERS_FRAMES: "Versatile Framework",
- MOD_ENGINE: "Modular Engine",
- ACU: "Adaptive Control Unit",
- }
- const PLANS = {
- "iron ingot": [MATS.ORE_IRON, 1],
- "rod": [MATS.INGOT_IRON, 15],
- "screw": [MATS.ROD, 40],
- "Iron plate": [MATS.INGOT_IRON, 3],
- "Modular Frame": [
- MATS.TOUGH_PLATE, 3,
- MATS.ROD, 12,
- ],
- "Reinforced Iron Plate": [
- MATS.PLATE, 6,
- MATS.SCREW, 12,
- ],
- "Smart Plating": [
- MATS.TOUGH_PLATE, 1,
- MATS.ROTOR, 1,
- ],
- "Automated Wiring": [
- MATS.STATOR, 1,
- MATS.CABLE, 20,
- ],
- "Circuit Board": [
- MATS.COPPER_SHEET, 2,
- MATS.PLASTIC, 4,
- ],
- "Heavy Modular Frame": [
- MATS.CUBE, 5,
- MATS.STEEL_PIPE, 15,
- MATS.CONCRETE_BEAM, 5,
- MATS.SCREW, 100,
- ],
- "Encased Industrial Beam": [
- MATS.STEEL_BEAM, 4,
- MATS.CONCRETE, 5,
- ],
- "Computer": [
- MATS.BOARD, 10,
- MATS.CABLE, 9,
- MATS.PLASTIC, 18,
- MATS.SCREW, 52,
- ],
- "Versatile Framework": [
- MATS.CUBE, 1,
- MATS.STEEL_BEAM, 12,
- ],
- "Modular Engine": [
- MATS.MOTOR, 2,
- MATS.RUBBER, 15,
- MATS.SMART_PLATES, 2,
- ],
- "Adaptive Control Unit": [
- MATS.AUTO_WIRES, 15,
- MATS.BOARD, 10,
- MATS.FAT_CUBE, 2,
- MATS.CPU, 2,
- ],
- }
- function loadResult(){
- const resultEle = document.getElementById("result");
- const requestEle = document.getElementById("request");
- // 2500 vers frames,
- // 500 mod engines
- // 100 adaptive control units
- const request = [
- MATS.VERS_FRAMES, 2500,
- MATS.MOD_ENGINE, 500,
- MATS.ACU, 100,
- ];
- const mats = getMatsFor(request);
- requestEle.innerHTML = request;
- for(let i=0; i<mats.length; i+=2){
- let oneLi = document.createElement('li');
- oneLi.innerHTML = mats[i] +" x" +mats[i+1];
- resultEle.appendChild(oneLi);
- }
- }
- function getMatsFor(req){
- //debugger;
- if( !req ) return null;
- if( !Array.isArray(req) ) return null;
- /*
- if( Array.isArray(req[0]) ){
- const tray = [];
- req.forEach(function(oneReq){
- const oneResult = getMatsFor(oneReq);
- tray.push(oneResult);
- });
- return tray;
- } */
- const type = req[0];
- const count = req[1];
- const tray = [];
- tray.push(type, count);
- const deeperReqs = getMatsFor(PLANS[type]);
- //debugger;
- if(!!deeperReqs){
- const toAdd = deeperReqs.map((x, i) => {
- if(i%2==0) tray.push(x);
- else tray.push(x*count);
- });
- }
- return tray;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement