Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use Win32::Clipboard;
- use Net::FTP;
- my $CLIPBOARD = Win32::Clipboard();
- #insert sandbox code here
- while (1) {
- my $filename = '';
- my $filecontents = "[[include template:base-mon\n";
- while (1) {
- my $first = 1; #test to see if first iteration
- my $mode = 0; #mode switcher
- my %info = (); #info hash
- my $switch = 0;
- my $paste = $CLIPBOARD->Get();
- my @data = split(/\n/, $paste);
- my $basename
- foreach my $line (@data) {
- chop $line if (not $line =~ m/Experience Drop/);
- if ($first) {
- $line =~ s/\s*$//;
- $line =~ s/\d+\. //;
- $line = lc $line;
- $info{'Link'} = $line;
- $basename = "$line" if (not $filename);
- $line = ucfirst $line;
- $info{'Name'} = $line;
- $first = 0;
- } elsif ($line =~ m/Base Stats/) {
- $mode = 3;
- } elsif ($line =~ m/Information/) {
- $mode = 4;
- } elsif ($line =~ m/Evolution/) {
- $mode = 5;
- } elsif ($line =~ m/Capability List/) {
- $mode = 6;
- } elsif ($line =~ m/Move List/) {
- $mode = 0 if ($line =~ m/Level Up Move List/);
- $mode = 1 if ($line =~ m/TM\/HM Move List/);
- $mode = 2 if ($line =~ m/Egg Move List/ or $line =~ m/Tutor Move List/);
- $line =~ s/List.*/List/;
- $switch = $line;
- } elsif ($mode eq 3 and $line =~ m/\d/) {
- my $last = 0;
- $last = 1 if ($line =~ m/Speed/);
- $line =~ s/\D//g;
- $info{'Stats'} .= $line;
- $info{'Stats'} .= " / " if (not $last);
- next;
- } elsif ($mode eq 4 or $line =~ m/Capture Rate/) {
- $mode = 4;
- my @seg = split(/\s*:\s*/, $line);
- if ($seg[1]) {
- $info{$seg[0]} = $seg[1];
- $switch = 1 if ($seg[0] eq 'Basic Abilities');
- $switch = 2 if ($seg[0] eq 'High Abilities');
- } else {
- if ($switch eq 1) {
- $info{'Basic Abilities'} .= $line;
- } elsif ($switch eq 2) {
- $info{'High Abilities'} .= $line;
- }
- }
- } elsif ($mode eq 5) {
- $info{'Evolution'} .= "\n" if ($info{'Evolution'});
- $info{'Evolution'} .= $line;
- } elsif ($mode eq 6) {
- $info{'Capabilities'} .= $line;
- } else {
- if ($mode eq 0) {
- $info{$switch} .= "\n" if ($info{$switch});
- $line =~ s/ - \w+ *//;
- } elsif ($mode eq 2) {
- $line =~ s/, /\n/g;
- } elsif ($mode eq 1) {
- $line =~ s/[, ]+/\n/g;
- $line =~ s/01/TM01 Hone Claws/;
- $line =~ s/38/TM38 Fire Blast/;
- $line =~ s/02/TM02 Dragon Claw/;
- $line =~ s/39/TM39 Rock Tomb/;
- $line =~ s/03/TM03 Psyshock/;
- $line =~ s/40/TM40 Aerial Ace/;
- $line =~ s/04/TM04 Calm Mind/;
- $line =~ s/41/TM41 Torment/;
- $line =~ s/05/TM05 Roar/;
- $line =~ s/42/TM42 Facade/;
- $line =~ s/06/TM06 Toxic/;
- $line =~ s/43/TM43 Flame Charge/;
- $line =~ s/07/TM07 Hail/;
- $line =~ s/44/TM44 Rest/;
- $line =~ s/08/TM08 Bulk Up/;
- $line =~ s/45/TM45 Attract/;
- $line =~ s/09/TM09 Venoshock/;
- $line =~ s/46/TM46 Thief/;
- $line =~ s/10/TM10 Hidden Power/;
- $line =~ s/47/TM47 Low Sweep/;
- $line =~ s/11/TM11 Sunny Day/;
- $line =~ s/48/TM48 Round/;
- $line =~ s/12/TM12 Taunt/;
- $line =~ s/49/TM49 Echoed Voice/;
- $line =~ s/13/TM13 Ice Beam/;
- $line =~ s/50/TM50 Overheat/;
- $line =~ s/14/TM14 Blizzard/;
- $line =~ s/51/TM51 Ally Switch/;
- $line =~ s/15/TM15 Hyper Beam/;
- $line =~ s/52/TM52 Focus Blast/;
- $line =~ s/16/TM16 Light Screen/;
- $line =~ s/53/TM53 Energy Ball/;
- $line =~ s/17/TM17 Protect/;
- $line =~ s/54/TM54 False Swipe/;
- $line =~ s/18/TM18 Rain Dance/;
- $line =~ s/55/TM55 Scald/;
- $line =~ s/19/TM19 Telekinesis/;
- $line =~ s/56/TM56 Fling/;
- $line =~ s/20/TM20 Safeguard/;
- $line =~ s/57/TM57 Charge Beam/;
- $line =~ s/21/TM21 Frustration/;
- $line =~ s/58/TM58 Sky Drop/;
- $line =~ s/22/TM22 Solarbeam/;
- $line =~ s/59/TM59 Incinerate /;
- $line =~ s/23/TM23 Smack Down/;
- $line =~ s/60/TM60 Quash/;
- $line =~ s/24/TM24 Thunderbolt/;
- $line =~ s/61/TM61 Will-O-Wisp/;
- $line =~ s/25/TM25 Thunder/;
- $line =~ s/62/TM62 Acrobatics/;
- $line =~ s/26/TM26 Earthquake/;
- $line =~ s/63/TM63 Embargo/;
- $line =~ s/27/TM27 Return/;
- $line =~ s/64/TM64 Explosion/;
- $line =~ s/28/TM28 Dig/;
- $line =~ s/65/TM65 Shadow Claw/;
- $line =~ s/29/TM29 Psychic/;
- $line =~ s/66/TM66 Payback/;
- $line =~ s/30/TM30 Shadow Ball/;
- $line =~ s/67/TM67 Retaliate/;
- $line =~ s/31/TM31 Brick Break/;
- $line =~ s/68/TM68 Giga Impact/;
- $line =~ s/32/TM32 Double Team/;
- $line =~ s/69/TM69 Rock Polish/;
- $line =~ s/33/TM33 Reflect/;
- $line =~ s/70/TM70 Flash/;
- $line =~ s/34/TM34 Sludge Wave/;
- $line =~ s/71/TM71 Stone Edge/;
- $line =~ s/35/TM35 Flamethrower/;
- $line =~ s/72/TM72 Volt Switch/;
- $line =~ s/36/TM36 Sludge Bomb/;
- $line =~ s/73/TM73 Thunder Wave/;
- $line =~ s/37/TM37 Sandstorm/;
- $line =~ s/74/TM74 Gyro Ball/;
- $line =~ s/75/TM75 Swords Dance/;
- $line =~ s/89/TM89 U-Turn/;
- $line =~ s/76/TM76 Struggle Bug/;
- $line =~ s/90/TM90 Substitute/;
- $line =~ s/77/TM77 Psych Up/;
- $line =~ s/91/TM91 Flash Cannon/;
- $line =~ s/78/TM78 Bulldoze/;
- $line =~ s/92/TM92 Trick Room/;
- $line =~ s/79/TM79 Frost Breath/;
- $line =~ s/93/TM93 Wild Charge/;
- $line =~ s/80/TM80 Rock Slide/;
- $line =~ s/94/TM94 Rock Smash/;
- $line =~ s/81/TM81 X-Scissor/;
- $line =~ s/95/TM95 Snarl/;
- $line =~ s/82/TM82 Dragon Tail/;
- $line =~ s/A1/TMA1 Cut/;
- $line =~ s/83/TM83 Work Up/;
- $line =~ s/A2/TMA2 Fly/;
- $line =~ s/84/TM84 Poison Jab/;
- $line =~ s/A3/TMA3 Surf/;
- $line =~ s/85/TM85 Dream Eater/;
- $line =~ s/A4/TMA4 Strength/;
- $line =~ s/86/TM86 Grass Knot/;
- $line =~ s/A5/TMA5 Waterfall/;
- $line =~ s/87/TM87 Swagger/;
- $line =~ s/A6/TMA6 Dive/;
- $line =~ s/88/TM88 Pluck/;
- }
- $info{$switch} .= $line;
- }
- }
- my $clip;
- $clip .= "|levelupmoves=$info{'Level Up Move List'}\n";
- $clip .= "|eggmoves=$info{'Egg Move List'}\n" if ($info{'Egg Move List'});
- $clip .= "|tmmoves=$info{'TM/HM Move List'}\n";
- $clip .= "|tutormoves=$info{'Tutor Move List'}\n";
- $clip .= "|image=http://img.pokemondb.net/artwork/$info{'Link'}.jpg
- |stats=$info{'Stats'}
- |name=$info{'Name'}
- |type=$info{'Type'}
- |abilities=$info{'Basic Abilities'}
- |hiabilities=$info{'High Abilities'}
- |evotree=$info{'Evolution'}
- |height=$info{'Height'}
- |weight=$info{'Weight'}
- |genratio=$info{'Gender Ratio'}
- |egggroup=$info{'Egg Group'}
- ";
- $clip .= "|hatchtime=$info{'Average Hatch Rate'}\n" if ($info{'Average Hatch Rate'});
- $clip .= "|diet=$info{'Diet'}
- |habitat=$info{'Habitat'}
- |caps=$info{'Capabilities'}
- |caprate=$info{'Capture Rate'}
- |expdrop=$info{'Experience Drop'}\n";
- $clip =~ s/\n\s*\n/\n/s;
- chomp $clip;
- $filecontents .= $clip;
- $filecontents .= "\n]]";
- print "Next Evolution? ";
- my $choice = <>;
- if ($choice =~ m/[Nn]/) {
- $filename = $basename . ".txt" if (not $filename);
- last;
- }
- $filename = $basename . "-line.txt" if (not $filename);
- $filecontents .= "\n\n----\n\n[[include template:evolved-mon\n";
- }
- open FILOUT, ">$filename";
- print FILOUT $filecontents;
- close FILOUT;
- print "Uploading $filename...\n";
- $ftp->put($filename) or die "Upload failed ", $ftp->message;
- print "Deleting file...\n";
- unlink $filename;
- print "upload complete! Continue? ";
- my $choice = <>;
- last if ($choice =~ m/[Nn]/);
- }
- print "Closing connection...\n";
- $ftp->quit;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement