Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 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<lines.length; i++){
- var split=lines[i].replace("\r", "").trim().split(",");
- // Only (try) to parse lines that have the proper number of arguments
- if (split.length>=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<teamMembers; j++){
- outString=outString+array[Math.floor(Math.random()*array.length)].toUpperCase()+",1\r\n";
- }
- fs.writeFile(process.argv[3], outString);
- }
- }
- });
- }
- }
- function get(name){
- // There has got to be a better way to do this.
- var n=name.toLowerCase();
- if (n==="blackbelt")
- return blackBelt;
- if (n==="crushgirl")
- return crushGirl;
- if (n==="camper")
- return camper;
- if (n==="picnicker")
- return picnicker;
- if (n==="acetrainer_m")
- return acetrainer_m;
- if (n==="acetrainer_f")
- return acetrainer_f;
- if (n==="youngster")
- return youngster;
- if (n==="lass")
- return lass;
- if (n==="pokemonranger_m")
- return pokemonranger_m;
- if (n==="pokemonranger_f")
- return pokemonranger_f;
- if (n==="psychic_m")
- return psychic_m;
- if (n==="psychic_f")
- return psychic_f;
- if (n==="aromalady")
- return aromaLady;
- if (n==="beauty")
- return beauty;
- if (n==="biker")
- return biker;
- if (n==="birdkeeper")
- return birdkeeper;
- if (n==="bugcatcher")
- return bugCatcher;
- if (n==="burglar")
- return burglar;
- if (n==="chaneller")
- return chaneller;
- if (n==="cueball")
- return cueball;
- if (n==="engineer")
- return engineer;
- if (n==="fisherman")
- return fisherman;
- if (n==="gambler")
- return gambler;
- if (n==="gentleman")
- return gentleman;
- if (n==="hiker")
- return hiker;
- if (n==="juggler")
- return juggler;
- if (n==="lady")
- return lady;
- if (n==="painter")
- return painter;
- if (n==="pokemaniac")
- return pokemaniac;
- if (n==="aquaboss")
- return teamaquaBoss;
- if (n=="aquaadmin_m")
- return teamaquaAdmin_M;
- if (n=="aquaadmin_f")
- return teamaquaAdmin_F;
- if (n==="teamaqua_f")
- return teamaqua_f;
- if (n==="teamaqua_m")
- return teamaqua_m;
- if (n==="tuber2_f")
- return tuber2_f;
- if (n==="tuber2_m")
- return tuber2_m;
- if (n==="tuber_f")
- return tuber_f;
- if (n==="tuber_m")
- return tuber_m;
- if (n==="swimmer2_f")
- return swimmer2_f;
- if (n==="swimmer2_m")
- return swimmer2_m;
- if (n==="swimmer_f")
- return swimmer_f;
- if (n==="swimmer_m")
- return swimmer_m;
- if (n==="tamer")
- return tamer;
- if (n==="supernerd")
- return supernerd;
- if (n==="scientist")
- return scientist;
- if (n==="sailor")
- return sailor;
- if (n==="ruinmaniac")
- return ruinManiac;
- if (n==="rocket")
- return rocket;
- if (n==="professor")
- return professor;
- if (n==="pokemonbreeder")
- return pokemonbreeder;
- if (n=="nurse")
- return nurse;
- console.log("Not found: "+name);
- return generic; // return generic
- }
- go();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement