# HG changeset patch # User "Rex Tsai " # Date 1228633814 -28800 # Node ID 15c288dd7dc5045ecd951b3c336193c16b1e99f2 # Parent 2cdf6c6bfd0e34596cfe16a735f102c3ddd386c4 checking spy risks diff -r 2cdf6c6bfd0e -r 15c288dd7dc5 Ikariam.pm --- 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"]'); diff -r 2cdf6c6bfd0e -r 15c288dd7dc5 scan.pl --- 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'}); diff -r 2cdf6c6bfd0e -r 15c288dd7dc5 sheep.pl --- 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,