BalanceOfPower

 view release on metacpan or  search on metacpan

lib/BalanceOfPower/Player/Role/Hitman.pm  view on Meta::CPAN

sub add_target
{
    my $self = shift;
    my $target = shift;
    push @{$self->targets}, $target;
}
sub check_targets
{
    my $self = shift;
    my $world = shift;
    my @not_achieved = ();
    for( @{$self->targets})
    {
        my $t = $_;
        if($t->achieved($self))
        {
            $self->point;
            $self->register_event("ACHIEVED TARGET: " . $t->name);
        }
        else
        {
            push @not_achieved, $t;
        }
    }
    $self->targets(\@not_achieved);
}
sub click_targets
{
    my $self = shift;
    my $world = shift;
    my @not_passed = ();
    for( @{$self->targets})
    {
        my $t = $_;
        if($t->click)
        {
            $self->register_event("TIME EXPIRED FOR TARGET: " . $t->name);
        }
        else
        {
            push @not_passed, $t;
        }
    }
    $self->targets(\@not_passed);
}
sub point
{
    my $self = shift;
    $self->mission_points($self->mission_points + 1);
}
sub dump_targets
{
    my $self = shift;
    my $io = shift;

lib/BalanceOfPower/Role/Merchant.pm  view on Meta::CPAN

sub delete_route
{
    my $self = shift;
    my $node1 = shift;;
    my $node2 = shift;
    my $n1 = $self->get_nation($node1);
    my $n2 = $self->get_nation($node2);
    my $present_treaty = $self->exists_treaty_by_type($node1, $node2, 'commercial');
    if($present_treaty)
    {
        my $not_event = "TRADEROUTE DELETION $node1<->$node2 BLOCKED BY TREATY";
        $self->broadcast_event($not_event, $node1, $node2);
    }
    else
    {
        $self->delete_traderoute($node1, $node2);
        my $event = { code => 'tradedeleted',
                      text => "TRADEROUTE DELETED: $node1<->$node2",
                      involved => [$node1, $node2],
                      values => [] };
        $self->broadcast_event($event, $node1, $node2);
        $self->change_diplomacy($node1, $node2, -1 * TRADEROUTE_DIPLOMACY_FACTOR, "TRADE DELETION");



( run in 0.857 second using v1.01-cache-2.11-cpan-cc502c75498 )