wileymud-1.187b/
wileymud-1.187b/attic/
wileymud-1.187b/attic/bin/
wileymud-1.187b/attic/lib/
wileymud-1.187b/attic/lib/adm/
wileymud-1.187b/attic/lib/man/
wileymud-1.187b/attic/lib/new-wld/
wileymud-1.187b/attic/lib/new-wld/default/
wileymud-1.187b/attic/lib/old/
wileymud-1.187b/attic/lib/wld/
wileymud-1.187b/attic/public_html/
wileymud-1.187b/attic/public_html/gfx/
wileymud-1.187b/attic/src/bin/
wileymud-1.187b/attic/src/etc/
wileymud-1.187b/attic/src/libauth-4.0-p5/
wileymud-1.187b/attic/src/sedna/
wileymud-1.187b/backups/
wileymud-1.187b/bin/
wileymud-1.187b/docs/
wileymud-1.187b/etc/
wileymud-1.187b/lib/
wileymud-1.187b/lib/adm/
wileymud-1.187b/lib/boards/
wileymud-1.187b/lib/log/
wileymud-1.187b/lib/man/
wileymud-1.187b/lib/ply/
wileymud-1.187b/lib/ply/a/
wileymud-1.187b/lib/ply/b/
wileymud-1.187b/lib/ply/c/
wileymud-1.187b/lib/ply/d/
wileymud-1.187b/lib/ply/g/
wileymud-1.187b/lib/ply/k/
wileymud-1.187b/lib/ply/m/
wileymud-1.187b/lib/ply/s/
wileymud-1.187b/lib/ply/t/
wileymud-1.187b/public_html/gfx/
wileymud-1.187b/src/bin/
wileymud-1.187b/src/convert/attic/
wileymud-1.187b/src/convert/obj/
wileymud-1.187b/src/convert/perl/
wileymud-1.187b/src/convert/perl/MudConvert/
wileymud-1.187b/src/convert/perl/MudConvert/DUMP/
wileymud-1.187b/src/convert/perl/MudConvert/Report/
wileymud-1.187b/src/convert/perl/MudConvert/WileyMUD/
wileymud-1.187b/src/convert/perl/output/
wileymud-1.187b/src/convert/perl/output/DUMP/
wileymud-1.187b/src/convert/perl/output/Report/
wileymud-1.187b/src/convert/perl/output/WileyMUD/
wileymud-1.187b/src/etc/
wileymud-1.187b/src/etc/init.d/
wileymud-1.187b/src/etc/rc.d/
wileymud-1.187b/src/etc/rc.d/init.d/
wileymud-1.187b/src/lib/
wileymud-1.187b/src/lib/adm/
wileymud-1.187b/src/lib/boards/
wileymud-1.187b/src/lib/log/
wileymud-1.187b/src/lib/man/
wileymud-1.187b/src/lib/ply/
wileymud-1.187b/src/lib/ply/a/
wileymud-1.187b/src/lib/ply/b/
wileymud-1.187b/src/lib/ply/c/
wileymud-1.187b/src/lib/ply/d/
wileymud-1.187b/src/lib/ply/e/
wileymud-1.187b/src/lib/ply/f/
wileymud-1.187b/src/lib/ply/g/
wileymud-1.187b/src/lib/ply/h/
wileymud-1.187b/src/lib/ply/i/
wileymud-1.187b/src/lib/ply/j/
wileymud-1.187b/src/lib/ply/k/
wileymud-1.187b/src/lib/ply/l/
wileymud-1.187b/src/lib/ply/m/
wileymud-1.187b/src/lib/ply/n/
wileymud-1.187b/src/lib/ply/o/
wileymud-1.187b/src/lib/ply/p/
wileymud-1.187b/src/lib/ply/q/
wileymud-1.187b/src/lib/ply/r/
wileymud-1.187b/src/lib/ply/s/
wileymud-1.187b/src/lib/ply/t/
wileymud-1.187b/src/lib/ply/u/
wileymud-1.187b/src/lib/ply/v/
wileymud-1.187b/src/lib/ply/w/
wileymud-1.187b/src/lib/ply/x/
wileymud-1.187b/src/lib/ply/y/
wileymud-1.187b/src/lib/ply/z/
wileymud-1.187b/src/obj/
wileymud-1.187b/src/utils/
wileymud-1.187b/src/utils/mobmaker/
#!/usr/bin/perl -w

use Data::Dumper;

##SKILL
#Name         acetum primus~
#Type         Spell
#Info         10125
#Author      Smaug~
#Flags        6400
#Target       1
#Minpos       fighting~
#Saves        5
#Slot         302
#Mana         70
#Rounds       24
#Rent            29000
#Code         spell_smaug
#Dammsg       acetum primus~
#Wearoff      !Acetum Primus!~
#Hitchar      &GYou invoke a stream of corrosive acid which burns $N!&z~
#Hitvict      &GYou are corroded by a stream of acid from $n's hands!&z~
#Hitroom      &G$n burns $N horribly with a stream of acid from $s hands!&z ~
#Misschar     &GYour stream of acid misses $N by a hair!&z~
#Missvict     &G$n very nearly misses you with $s stream of acid!&z~
#Missroom     &G$n misses spraying $N with $s stream of acid!&z~
#Diechar      &GYou reduce $N into a pile of sticky mess with your acid stream!&z~
#Dievict      &GYou are reduced into a pile of sticky mess by the stream of acid!&z~
#Dieroom      &G$N is reduced to a bubbling mess by $n's acid stream!&z~
#Dice         ld6+(l/2) { 500~
#Minlevel     60
#End

my $file = '';
my $lines = 0;
my %sn = ();

open FP, "afk_skills.dat" or die "Cannot open afk_skills.dat";
while(<FP>) {
  $lines++;
  $file .= $_;
}
close FP;
printf STDERR "afk_skills.dat - %d lines, %d bytes\n", $lines, length($file);

foreach my $sk (split /^\#SKILL$/ms, $file) {
  my ($name, $slot) = (undef,undef);
  foreach my $line (split /\n/, $sk) {
    my @word = split /\s+/, $line, 2;
    next if !(defined $word[0]) or !(defined $word[1]);
    $name = $word[1] if $word[0] eq 'Name';
    $slot = $word[1] if $word[0] eq 'Slot';
    $name =~ s/~$// if (defined $name);
    $sn{$name} = $slot if (defined $name) and (defined $slot);
    next if (defined $name) and (defined $slot) and (defined $sn{$name});
  }
}

#printf("%s:%d\n", $_, $sn{$_}) foreach (sort keys %sn);

my @tmp = (sort{ $a <=> $b } (values %sn));
my ($lowest, $highest) = ($tmp[0], $tmp[-1]);

   @tmp = (sort{ ((defined $a) ? length $a : 0) <=> ((defined $b) ? length $b: 0) } (keys %sn));
my $longest = $tmp[-1];

open FP, ">include/afk_skills.h";

my %rev = (reverse %sn);
printf FP "char * const    afk_skill_names     [] =\n{\n";
for(my $i = 0; $i <= $highest; $i++) {
  printf FP "  \"%s\",%s/* %s */\n", (defined $rev{$i}) ? $rev{$i} : "NONE",
                                  (defined $rev{$i}) ?
                                    (" "x((length $longest) - (length $rev{$i}))) :
                                    (" "x((length $longest) - 4)),
                                  (defined $rev{$i}) ? $i : "";
}
printf FP "  \"END\"\n};\n";

close FP;