// For those of you who just found this by scrolling through Pastebin, // this is for Pokémon Essentials. And I guess if you can find other uses // for this code that's cool too. "use strict"; const fs=require("fs"); // Choose your available Pokémon and put them in an array. // I'd suggest making a few of them as templates for default Trainers, // noob Trainers and strong Trainers. var generic=[ "Absol", "Arcanine", "Milotic", "Ampharos", "Gastrodon", "Jellicent", "Seismitoad", "Lapras", "Poliwrath", "Politoed", "Castform", "Tentacruel", "Ludicolo", "Galvantula", "Shuckle", "Stunfisk", "Crawdaunt", "Lanturn", "Gyarados", "Manectric", "Raticate", "Clefable", "Parasect", "Dragonite", "Tyranitar", "Aggron", "Ninjask", "Shedinja", "Dustox", "Beautifly", "Sawsbuck", "Flareon", "Jolteon", "Vaporeon", "Espeon", "Umbreon", "Glaceon", "Leafeon", "Altaria", "Quagsire", "Swellow", "Gardevoir", "Gallade", "Scrafty", "Hitmonlee", "Hitmonchan", "Hitmontop" ] var genericSuper=[ "Absol", "Arcanine", "Milotic", "Ampharos", "Gastrodon", "Jellicent", "Seismitoad", "Lapras", "Poliwrath", "Politoed", "Castform", "Tentacruel", "Ludicolo", "Galvantula", "Shuckle", "Stunfisk", "Crawdaunt", "Lanturn", "Gyarados", "Manectric", "Raticate", "Clefairy", "Parasect", "Dragonite", "Tyranitar", "Aggron", "Ninjask", "Dustox", "Beautifly", "Sawsbuck", "Flareon", "Jolteon", "Vaporeon", "Espeon", "Umbreon", "Glaceon", "Leafeon", "Altaria", "Quagsire", "Swellow", "Gardevoir", "Gallade", "Scrafty", "Hitmonlee", "Hitmonchan", "Hitmontop" ] var genericGimped=[ "Gastrodon", "Jellicent", "Seismitoad", "Tentacruel", "Ludicolo", "Galvantula", "Shuckle", "Stunfisk", "Crawdaunt", "Lanturn", "Raticate", "Clefairy", "Parasect", "Ninjask", "Dustox", "Beautifly", "Sawsbuck", "Altaria", "Quagsire", "Swellow", "Scrafty" ] // Make arrays for all of the trainer classes. var blackBelt=[ "Scrafty", "Gallade", "Hitmonlee", "Hitmonchan", "Hitmontop" ] var crushGirl=blackBelt; var camper=[ "Sawsbuck", "Castform", "Seismitoad", "Poliwrath", "Politoed", "Ludicolo", "Galvantula", "Stunfisk", "Crawdaunt", "Ninjask", "Shedinja", "Swellow", "Scyther", "Scizor" ] // If you copy any of the arrays you should probably call .splice() on it first. var picnicker=camper.splice(); var youngster=camper.slice(); youngster.push("Raticate"); youngster.push("Raticate"); youngster.push("Raticate"); var acetrainer_m=genericSuper.splice(); var acetrainer_f=genericSuper.splice(); var lass=camper.splice(); var pokemonranger_m=camper.splice(); var pokemonranger_f=camper.splice(); var psychic_m=[ "Gardevoir", "Gallade", "Jellicent", "Gengar" ] var psychic_f=psychic_m.splice(); var aromaLady=[ "Ludicolo", "Sawsbuck", "Castform", ] var beauty=[ "Clefairy", "Flareon", "Jolteon", "Vaporeon", "Espeon", "Umbreon", "Glaceon", "Leafeon", "Sawsbuck" ] var biker=[ "absol", "Arcanine", "Stunfisk", "Crawdaunt", "Tyranitar", "Aggron", "Scrafty" ] var birdkeeper=[ "Swellow" ] var bugCatcher=[ "Ninjask", "Shedinja", "Dustox", "Beautifly", "Galvantula", "Scyther", "Scizor" ] var burglar=genericGimped.splice(); var chaneller=psychic_m.splice(); var cueball=biker.splice(); var engineer=[ "Ampharos", "Galvantula", "Manectric", "Scizor" ] var fisherman=[ "Milotic", "Jellicent", "Lapras", "Poliwrath", "Politoed", "Tentacruel", "Crawdaunt", "Lanturn", "Gyarados", "Magikarp", "Gyarados" ] var gambler=genericGimped.splice(); var gentleman=[ "Gastrodon", "Jellicent", "Seismitoad", "Tentacruel", "Ludicolo", "Lanturn", "Clefairy", "Sawsbuck", "Altaria", "Quagsire", "Swellow" ] var hiker=[ "Arcanine", "shuckle", "Tyranitar", "aggron", "Scizor" ] var juggler=genericGimped.splice(); var lady=gentleman.slice(); // Gentlemen get extra Arcanine, because of course they do for (var i=0; i<5; i++){ gentleman.push("Arcanine"); } var painter=[ "no" ] var nurse=[ "Clefairy", "Clefable", "Eevee" ] var pokemaniac=generic.splice(); var pokemonbreeder=genericGimped.splice(); var professor=genericSuper.splice(); var rocket=generic.splice(); var ruinManiac=hiker.splice(); var sailor=fisherman.splice(); var scientist=engineer.splice(); var supernerd=pokemaniac.splice(); var tamer=pokemaniac.slice(); for (var i=0; i<5; i++){ tamer.push("Arcanine"); } var swimmer_m=fisherman.splice(); var swimmer_f=fisherman.splice(); var swimmer2_m=fisherman.splice(); var swimmer2_f=fisherman.splice(); var tuber_m=[ "Feebas", "Frillish", "Poliwag", "Tentacool", "Corphish", "Chinchou", "Magikarp", "Magikarp" ] var tuber_f=tuber_m.splice(); var tuber2_m=tuber_m.splice(); var tuber2_f=tuber_m.splice(); var teamaqua_m=fisherman.slice(); teamaqua_m.push("hydreigon"); var teamaqua_f=teamaqua_m.splice(); var teamaquaBoss=teamaqua_m.splice(); var teamaquaAdmin_M=teamaqua_m.splice(); var teamaquaAdmin_F=teamaqua_f.splice(); /* * Call via the command line like: * node random_teams.js input.txt output.txt * where input.txt is formatted something like: * ACETRAINER_M,Bob,0,4 * The arguments go like: * 1. Trainer class * 2. Trainer name * 3. Battle ID * 4. Number of Pokémon the trainer has * * Note that all levels are set to "1" until you manually change them. * I may or may not do something about this in an update. */ function go(){ if (process.argv.length<4){ console.log("Needs two command line arguments, sorry."); console.log("One input file and one output file."); } else { var lines; // Read the input file fs.readFile(process.argv[2], function(err, data){ if(err){ throw err; } lines=data.toString().split('\n'); var outString=""; for (var i=0; i=4){ var trainerClass=split[0]; var name=split[1]; var battleID=split[2]; var teamMembers=Number(split[3]); // Read the trainer class and append to the outString outString=outString+"# ---------------\r\n"; outString=outString+trainerClass.toUpperCase()+"\r\n"; outString=outString+name+","+battleID+"\r\n"; outString=outString+teamMembers+"\r\n"; // Choose a random element from the array that goes with the trainer class var array=get(trainerClass); for (var j=0; j