changeset 295:15c288dd7dc5

checking spy risks
author "Rex Tsai <chihchun@kalug.linux.org.tw>"
date Sun, 07 Dec 2008 15:10:14 +0800
parents 2cdf6c6bfd0e
children 1d0a55318262
files Ikariam.pm scan.pl sheep.pl
diffstat 3 files changed, 15 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/Ikariam.pm	Fri Dec 05 20:22:20 2008 +0800
+++ b/Ikariam.pm	Sun Dec 07 15:10:14 2008 +0800
@@ -351,6 +351,17 @@
     return @cities;
 }
 
+sub switchCityBySafehouseLevel {
+    my $self = shift;
+}
+
+sub viewSendSpy {
+    my $self = shift;
+    my $cityId = shift;
+    my $res = $self->{mech}->get(sprintf('http://%s/index.php?view=sendSpy&destinationCityId=%d', $self->{server}, $cityId));
+    return Ikariam::Extractor->new(content => $res->content)->find(sprintf('//div[@class="percentage"]/text()'));
+}
+
 sub increaseTransporter {
     my $self = shift;
     my $param = shift;
@@ -855,7 +866,6 @@
             my $extractor = Ikariam::Extractor->new(content => $res->content);
             foreach (1..25) {
                 my @links = $extractor->find(sprintf('//div[@class="spyinfo" and position() = %d]//a/@href', $_));
-                last if($#links < 0);
                 if ($links[0] =~ /id=(\d+)/) {
                     $data->{$1}->{city} = $self->readCity($1);
                     @{$data->{$1}->{risks}} = Ikariam::Extractor->new(content => $self->{mech}->get($links[1])->content)->find('//div[@class="missionRisk"]');
--- a/scan.pl	Fri Dec 05 20:22:20 2008 +0800
+++ b/scan.pl	Sun Dec 07 15:10:14 2008 +0800
@@ -17,7 +17,6 @@
 
 sub new {
     my($class, $i) = @_;
-    warn("new scanner");
     my $self = {
         ikariam => $i,
     };
@@ -47,6 +46,8 @@
         } else {
             $c = Ikariam::Cities->insert($h_city);
         }
+ 
+        $c->set(risk => $self->{ikariam}->viewSendSpy($h_city->{cityId}));
         $c->update();
 
         my $user = Ikariam::User->retrieve($h_city->{'user'});
--- a/sheep.pl	Fri Dec 05 20:22:20 2008 +0800
+++ b/sheep.pl	Sun Dec 07 15:10:14 2008 +0800
@@ -75,9 +75,9 @@
             # 測試風險評估
             # $capture = $capture - ($sheep->army_score_main*100);
                         
-            $line = sprintf("%d %s score %d army %d %s/%s,", 
+            $line = sprintf("%d %s score %d army %d risk %d %s/%s,", 
                 $capture,
-                $c->status, $sheep->score, $sheep->army_score_main, $sheep->name, $sheep->ally);
+                $c->status, $sheep->score, $sheep->army_score_main, $c->risk, $sheep->name, $sheep->ally);
 
             $line .= sprintf("\"%s\" %d [%d,%d] %s http://%s/index.php?view=island&id=%d&selectCity=%d\n",
                 $c->cityname, $c->citylevel,