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.267 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )