From 24c2bebef08fc961c970f7bc915aeddb39de274f Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Wed, 31 Oct 2007 14:46:09 +0100 Subject: [PATCH] Updated for multi targettint --- database/multi-targets.sql | 3 +++ scripts/stats.pl | 13 ++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 database/multi-targets.sql diff --git a/database/multi-targets.sql b/database/multi-targets.sql new file mode 100644 index 0000000..23e3316 --- /dev/null +++ b/database/multi-targets.sql @@ -0,0 +1,3 @@ +ALTER TABLE ship_stats RENAME COLUMN target TO t1; +ALTER TABLE ship_stats ADD t2 text; +ALTER TABLE ship_stats ADD t3 text; diff --git a/scripts/stats.pl b/scripts/stats.pl index 3d4222e..ad8fc00 100755 --- a/scripts/stats.pl +++ b/scripts/stats.pl @@ -40,14 +40,17 @@ for my $file ("/home/whale/db.pl") } $dbh->do("SET CLIENT_ENCODING TO 'LATIN1';"); +my %classes = (Fighter => 'Fi', Corvette => 'Co', Frigate => 'Fr', Destroyer => 'De', Cruiser => 'Cr', Battleship => 'Bs'); + my $file = get("http://game.planetarion.com/manual.php?page=stats"); $dbh->begin_work; -my $st = $dbh->prepare(q{INSERT INTO ship_stats (name,"class",target,"type",init,guns,armor,damage,eres,metal,crystal,eonium,race) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)}); -while ($file =~ /((?:\w| )+)<\/td>(\w+)<\/td>(\w+)<\/td>(\w+)\D+(\d+)\D+(\d+)\D+(\d+)\D+?(\d+|-)\D+(\d+)\D+(\d+)\D+(\d+)\D+(\d+)\D+\d+\D+\d+.+?(\w+)<\/td>/g){ - my $dmg = $8; +my $st = $dbh->prepare(q{INSERT INTO ship_stats (name,"class",t1,t2,t3,"type",init,guns,armor,damage,eres,metal,crystal,eonium,race) VALUES(?,?,NULLIF(?,'-'),NULLIF(?,'-'),NULLIF(?,'-'),?,?,?,?,?,?,?,?,?,?)}); +while ($file =~ /((?:\w| )+)<\/td>(\w+)<\/td>(\w+|-)<\/td>(\w+|-)<\/td>(\w+|-)<\/td>(\w+)\D+(\d+)\D+(\d+)\D+(\d+)\D+?(\d+|-)\D+(\d+)\D+(\d+)\D+(\d+)\D+(\d+)\D+\d+\D+\d+.+?(\w+)<\/td>/g){ + my $dmg = $10; $dmg = 0 if $dmg eq '-'; - $st->execute($1,$2,$3,$4,$5,$6,$7,$dmg,$9,$10,$11,$12,$13) or die $dbh->errstr; - #print "$1,$2,$3,$4,$5,$6,$7,$dmg,$9,$10,$11,$12,$13\n"; + my $class = $classes{$2}; + $st->execute($1,$class,$3,$4,$5,$6,$7,$8,$9,$dmg,$11,$12,$13,$14,$15) or die $dbh->errstr; + #print "$1,$class,$3,$4,$5,$6,$7,$dmg,$9,$10,$11,$12,$13,$14,$15\n"; } $dbh->commit; -- 2.39.2