| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package BalanceOfPower::Commands::ComTreaty; | 
| 2 |  |  |  |  |  |  | $BalanceOfPower::Commands::ComTreaty::VERSION = '0.400115'; | 
| 3 | 13 |  |  | 13 |  | 53 | use Moo; | 
|  | 13 |  |  |  |  | 18 |  | 
|  | 13 |  |  |  |  | 69 |  | 
| 4 |  |  |  |  |  |  |  | 
| 5 | 13 |  |  | 13 |  | 3085 | use BalanceOfPower::Utils qw( prev_turn ); | 
|  | 13 |  |  |  |  | 21 |  | 
|  | 13 |  |  |  |  | 4050 |  | 
| 6 |  |  |  |  |  |  |  | 
| 7 |  |  |  |  |  |  | extends 'BalanceOfPower::Commands::TargetRoute'; | 
| 8 |  |  |  |  |  |  | with 'BalanceOfPower::Commands::Role::TreatiesUnderLimit'; | 
| 9 |  |  |  |  |  |  |  | 
| 10 |  |  |  |  |  |  | sub get_available_targets | 
| 11 |  |  |  |  |  |  | { | 
| 12 | 0 |  |  | 0 | 0 | 0 | my $self = shift; | 
| 13 | 0 |  |  |  |  | 0 | my @targets = $self->SUPER::get_available_targets(); | 
| 14 | 0 |  |  |  |  | 0 | my $nation = $self->actor; | 
| 15 | 0 |  |  |  |  | 0 | @targets = grep {! $self->world->exists_treaty($nation, $_) } @targets; | 
|  | 0 |  |  |  |  | 0 |  | 
| 16 | 0 |  |  |  |  | 0 | @targets = grep {! $self->world->diplomacy_status($nation, $_) ne 'HATE' } @targets; | 
|  | 0 |  |  |  |  | 0 |  | 
| 17 | 0 |  |  |  |  | 0 | return $self->nations_under_treaty_limit(@targets); | 
| 18 |  |  |  |  |  |  | } | 
| 19 |  |  |  |  |  |  |  | 
| 20 |  |  |  |  |  |  | sub IA | 
| 21 |  |  |  |  |  |  | { | 
| 22 | 4 |  |  | 4 | 0 | 6 | my $self = shift; | 
| 23 | 4 |  |  |  |  | 11 | my $actor = $self->get_nation(); | 
| 24 | 4 |  |  |  |  | 25 | my $prev_year = prev_turn($actor->current_year); | 
| 25 | 4 |  |  |  |  | 21 | my @trade_ok = $actor->get_events("TRADE OK", $prev_year); | 
| 26 | 4 |  |  |  |  | 9 | for(@trade_ok) | 
| 27 |  |  |  |  |  |  | { | 
| 28 | 0 |  |  |  |  | 0 | my $route = $_; | 
| 29 | 0 |  |  |  |  | 0 | $route =~ s/^TRADE OK //; | 
| 30 | 0 |  |  |  |  | 0 | $route =~ s/ \[.*$//; | 
| 31 | 0 |  |  |  |  | 0 | my $status = $self->world->diplomacy_status($actor->name, $route); | 
| 32 | 0 | 0 | 0 |  |  | 0 | if(! $self->world->exists_treaty($actor->name, $route) && $status ne 'HATE') | 
| 33 |  |  |  |  |  |  | { | 
| 34 | 0 |  |  |  |  | 0 | return "TREATY COM WITH " . $route; | 
| 35 |  |  |  |  |  |  | } | 
| 36 |  |  |  |  |  |  | } | 
| 37 | 4 |  |  |  |  | 8 | return undef; | 
| 38 |  |  |  |  |  |  | } | 
| 39 |  |  |  |  |  |  |  | 
| 40 |  |  |  |  |  |  | 1; |