Advertisement
KujiUn

Pokedex Importation Project Script

Aug 5th, 2012
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 5.73 KB | None | 0 0
  1. #!/usr/bin/perl
  2. open FILIN, "<moveinput.txt";
  3. open FILOUT, ">output.txt";
  4. my $mode = 0;
  5.  
  6. while (my $line = <FILIN>) {
  7.     if ($line =~ m/Move List/) {
  8.         $mode = 0 if ($line =~ s/Level Up Move List */|levelupmoves=/);
  9.         $mode = 1 if ($line =~ s/TM\/HM Move List */|tmmoves=/);
  10.         $mode = 2 if ($line =~ s/Egg Move List */\n|eggmoves=/ or $line =~ s/Tutor Move List */\n|tutormoves=/);
  11.         chomp $line;
  12.     } else {
  13.         if ($mode eq 0) {
  14.             $line =~ s/ - \w+ *//;
  15.         } elsif ($mode eq 1) {
  16.             chomp $line;
  17.             $line =~ s/, /\n/g;
  18.             $line =~ s/01/TM01 Hone Claws/;
  19.             $line =~ s/38/TM38 Fire Blast/;
  20.             $line =~ s/02/TM02 Dragon Claw/;
  21.             $line =~ s/39/TM39 Rock Tomb/;
  22.             $line =~ s/03/TM03 Psyshock/;
  23.             $line =~ s/40/TM40 Aerial Ace/;
  24.             $line =~ s/04/TM04 Calm Mind/;
  25.             $line =~ s/41/TM41 Torment/;
  26.             $line =~ s/05/TM05 Roar/;
  27.             $line =~ s/42/TM42 Facade/;
  28.             $line =~ s/06/TM06 Toxic/;
  29.             $line =~ s/43/TM43 Flame Charge/;
  30.             $line =~ s/07/TM07 Hail/;
  31.             $line =~ s/44/TM44 Rest/;
  32.             $line =~ s/08/TM08 Bulk Up/;
  33.             $line =~ s/45/TM45 Attract/;
  34.             $line =~ s/09/TM09 Venoshock/;
  35.             $line =~ s/46/TM46 Thief/;
  36.             $line =~ s/10/TM10 Hidden Power/;
  37.             $line =~ s/47/TM47 Low Sweep/;
  38.             $line =~ s/11/TM11 Sunny Day/;
  39.             $line =~ s/48/TM48 Round/;
  40.             $line =~ s/12/TM12 Taunt/;
  41.             $line =~ s/49/TM49 Echoed Voice/;
  42.             $line =~ s/13/TM13 Ice Beam/;
  43.             $line =~ s/50/TM50 Overheat/;
  44.             $line =~ s/14/TM14 Blizzard/;
  45.             $line =~ s/51/TM51 Ally Switch/;
  46.             $line =~ s/15/TM15 Hyper Beam/;
  47.             $line =~ s/52/TM52 Focus Blast/;
  48.             $line =~ s/16/TM16 Light Screen/;
  49.             $line =~ s/53/TM53 Energy Ball/;
  50.             $line =~ s/17/TM17 Protect/;
  51.             $line =~ s/54/TM54 False Swipe/;
  52.             $line =~ s/18/TM18 Rain Dance/;
  53.             $line =~ s/55/TM55 Scald/;
  54.             $line =~ s/19/TM19 Telekinesis/;
  55.             $line =~ s/56/TM56 Fling/;
  56.             $line =~ s/20/TM20 Safeguard/;
  57.             $line =~ s/57/TM57 Charge Beam/;
  58.             $line =~ s/21/TM21 Frustration/;
  59.             $line =~ s/58/TM58 Sky Drop/;
  60.             $line =~ s/22/TM22 Solarbeam/;
  61.             $line =~ s/59/TM59 Incinerate /;
  62.             $line =~ s/23/TM23 Smack Down/;
  63.             $line =~ s/60/TM60 Quash/;
  64.             $line =~ s/24/TM24 Thunderbolt/;
  65.             $line =~ s/61/TM61 Will-O-Wisp/;
  66.             $line =~ s/25/TM25 Thunder/;
  67.             $line =~ s/62/TM62 Acrobatics/;
  68.             $line =~ s/26/TM26 Earthquake/;
  69.             $line =~ s/63/TM63 Embargo/;
  70.             $line =~ s/27/TM27 Return/;
  71.             $line =~ s/64/TM64 Explosion/;
  72.             $line =~ s/28/TM28 Dig/;
  73.             $line =~ s/65/TM65 Shadow Claw/;
  74.             $line =~ s/29/TM29 Psychic/;
  75.             $line =~ s/66/TM66 Payback/;
  76.             $line =~ s/30/TM30 Shadow Ball/;
  77.             $line =~ s/67/TM67 Retaliate/;
  78.             $line =~ s/31/TM31 Brick Break/;
  79.             $line =~ s/68/TM68 Giga Impact/;
  80.             $line =~ s/32/TM32 Double Team/;
  81.             $line =~ s/69/TM69 Rock Polish/;
  82.             $line =~ s/33/TM33 Reflect/;
  83.             $line =~ s/70/TM70 Flash/;
  84.             $line =~ s/34/TM34 Sludge Wave/;
  85.             $line =~ s/71/TM71 Stone Edge/;
  86.             $line =~ s/35/TM35 Flamethrower/;
  87.             $line =~ s/72/TM72 Volt Switch/;
  88.             $line =~ s/36/TM36 Sludge Bomb/;
  89.             $line =~ s/73/TM73 Thunder Wave/;
  90.             $line =~ s/37/TM37 Sandstorm/;
  91.             $line =~ s/74/TM74 Gyro Ball/;
  92.             $line =~ s/75/TM75 Swords Dance/;
  93.             $line =~ s/89/TM89 U-Turn/;
  94.             $line =~ s/76/TM76 Struggle Bug/;
  95.             $line =~ s/90/TM90 Substitute/;
  96.             $line =~ s/77/TM77 Psych Up/;
  97.             $line =~ s/91/TM91 Flash Cannon/;
  98.             $line =~ s/78/TM78 Bulldoze/;
  99.             $line =~ s/92/TM92 Trick Room/;
  100.             $line =~ s/79/TM79 Frost Breath/;
  101.             $line =~ s/93/TM93 Wild Charge/;
  102.             $line =~ s/80/TM80 Rock Slide/;
  103.             $line =~ s/94/TM94 Rock Smash/;
  104.             $line =~ s/81/TM81 X-Scissor/;
  105.             $line =~ s/95/TM95 Snarl/;
  106.             $line =~ s/82/TM82 Dragon Tail/;
  107.             $line =~ s/A1/TMA1 Cut/;
  108.             $line =~ s/83/TM83 Work Up/;
  109.             $line =~ s/A2/TMA2 Fly/;
  110.             $line =~ s/84/TM84 Poison Jab/;
  111.             $line =~ s/A3/TMA3 Surf/;
  112.             $line =~ s/85/TM85 Dream Eater/;
  113.             $line =~ s/A4/TMA4 Strength/;
  114.             $line =~ s/86/TM86 Grass Knot/;
  115.             $line =~ s/A5/TMA5 Waterfall/;
  116.             $line =~ s/87/TM87 Swagger/;
  117.             $line =~ s/A6/TMA6 Dive/;
  118.             $line =~ s/88/TM88 Pluck/;
  119.         } elsif ($mode eq 2) {
  120.             chomp $line;
  121.             $line =~ s/, /\n/g;
  122.         }
  123.     }
  124.     print FILOUT $line;
  125. }
  126.  
  127. close FILIN;
  128. open FILIN, "<moninput.txt";
  129. my $first = 1;
  130.  
  131. while (my $line = <FILIN>) {
  132.     if ($first) {
  133.         chomp $line;
  134.         print FILOUT "\n|name=$line\n";
  135.         $line = lc $line;
  136.         print FILOUT "|image=http://img.pokemondb.net/artwork/$line.jpg\n";
  137.         $first = 0;
  138.     } else {
  139.         my $oldmode = $mode;
  140.         if ($line =~ m/Base Stats/) {
  141.             print FILOUT "|stats=";
  142.             $mode = 3;
  143.         }
  144.        
  145.         if ($line =~ m/Information/) {
  146.             $line = "";
  147.             $mode = 4;
  148.         }
  149.        
  150.         if ($line =~ m/Evolution *:/) {
  151.             $line = "|evotree=";
  152.             $mode = 5;
  153.         }
  154.        
  155.         if ($line =~ m/Capability List/) {
  156.             $line = "|caps=";
  157.             $mode = 6;
  158.         }
  159.        
  160.         if ($line =~ m/Capture Rate/) {
  161.             $mode = 4;
  162.         }
  163.        
  164.         if ($mode eq 3 and $line =~ m/\d/) {
  165.             my $last;
  166.            
  167.             if ($line =~ m/Speed/) { $last = 1; } else { $last = 0; }
  168.            
  169.             $line =~ s/\D//g;
  170.             print FILOUT $line;
  171.            
  172.             print FILOUT " / " if (not $last);
  173.             print FILOUT "\n" if ($last);
  174.         } elsif ($mode eq 4) {
  175.             $line =~ s/Type\s*:\s*/|type=/;
  176.             chomp $line if ($line =~ s/Basic Abilities\s*:\s*/|abilities=/);
  177.             $line =~ s/High Abilities\s*:\s*/\n|hiabilities=/;
  178.             $line =~ s/Height\s*:\s*/|height=/;
  179.             $line =~ s/Weight\s*:\s*/|weight=/;
  180.             $line =~ s/Gender Ratio\s*:\s*/|genratio=/;
  181.             $line =~ s/Egg Group\s*:\s*/|egggroup=/;
  182.             $line =~ s/Average Hatch Rate\s*:\s*/|hatchtime=/;
  183.             $line =~ s/Diet\s*:\s*/|diet=/;
  184.             $line =~ s/Habitat\s*:\s*/|habitat=/;
  185.             $line =~ s/Capture Rate\s*:\s*/\n|caprate=/;
  186.             $line =~ s/Experience Drop\s*:\s*/|expdrop=/;
  187.             $line =~ s/\n\n/\n/g;
  188.             print FILOUT $line;
  189.         } elsif ($mode eq 5) {
  190.             print FILOUT $line;
  191.         } elsif ($mode eq 6) {
  192.             chomp $line;
  193.             print FILOUT $line;
  194.         }
  195.     }
  196. }
  197. print "DONE!";
  198. <>;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement