Mercurial > hg > batmud > misc
changeset 106:234a0f978726 misc
Updates and bugfixes.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 04 Oct 2010 13:12:02 +0000 |
parents | 6d6aebcdc0e3 |
children | d40580ef29d0 |
files | nun/saintinfo-to-docbook-table.pl |
diffstat | 1 files changed, 28 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/nun/saintinfo-to-docbook-table.pl Mon Oct 04 13:11:49 2010 +0000 +++ b/nun/saintinfo-to-docbook-table.pl Mon Oct 04 13:12:02 2010 +0000 @@ -12,36 +12,45 @@ ); my $powerstr = join("|", @powers); my $name; -my $power; -my $effect; my %saints = (); my %powers = (); +my %qsaints = (); + +sub add_saint($$$) +{ + my ($sname, $power, $effect) = @_; + if (defined($sname)) { + if (defined($powers{$sname}) && $powers{$sname} ne $effect) { + print STDERR "Saint '$sname' already defined for '".$powers{$sname}."' ($effect)!\n"; + } + $powers{$sname} = $effect; + $saints{$effect}{$power}{$sname} = 1; + } else { + print STDERR "ERR: $_\n"; + } +} + while (<STDIN>) { chomp; if (/^ St. ([A-Z][a-z]+)/) { $name = $1; + if (defined($qsaints{$name})) { + $name = undef; + } else { + $qsaints{$name} = 1; + } } elsif (/^ +Her ($powerstr) power is reavealed in (.+?)\.$/) { - if (defined($name)) { - $power = $1; - $effect = $2; - if (defined($powers{$name}) && $powers{$name} ne $effect) { - print STDERR "Saint '$name' already defined for '".$powers{$name}."' ($effect)!\n"; - } - $powers{$name} = $effect; - $saints{$effect}{$power}{$name} = 1; - } else { - print STDERR "ERR: $_\n"; - } - undef($name); + add_saint($name, $1, $2); + } elsif (/^ +Her power is faint but those who believe are aided/) { + add_saint($name, $powers[0], "aid"); +# print STDERR "faint: $name\n"; } elsif (/_________|index=/) { - } elsif (/Her power is faint but those who believe/) { - print STDERR "FAINT: $name\n"; } } print " -<table> +<table id='saints'> <title>List of powers bestowed by Saints</title> <tgroup cols='".((scalar @powers) + 1)."' align='left'> <thead> @@ -69,3 +78,5 @@ </tgroup> </table> "; + +print STDERR "Saints (".scalar(keys %qsaints)."): ".join(", ", keys %qsaints)."\n";