/usr/share/perl5/Games/PangZero/DeathBall.pm is in pangzero 1.4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | ##########################################################################
package Games::PangZero::DeathBall;
##########################################################################
@ISA = qw(Games::PangZero::Ball);
use strict;
use warnings;
sub new {
my $class = shift;
my $self = Games::PangZero::Ball->new(@_);
$self->{expires} = 2000; # 20sec
$self->{speedX} *= 0.9;
bless $self, $class;
}
sub NormalAdvance {
my $self = shift;
$self->SUPER::NormalAdvance();
if (--$self->{expires} < 0) {
$self->{bonus} = 1 if $self->{hasmagic};
$self->Pop(undef, 'expire');
}
}
sub Pop {
my ($self, $guy, $popEffect) = @_;
$self->{dontspawn} = 1 if $popEffect eq 'expire' or $popEffect eq 'superkill';
$self->SUPER::Pop($guy, $popEffect);
if (CountDeathBalls() > 30) {
$Games::PangZero::GameEvents{'meltdown'} = 1;
}
}
sub SpawnChildren {
my $self = shift;
return if $self->{dontspawn};
$self->SUPER::SpawnChildren(@_);
}
sub CountDeathBalls {
my $count = 0;
foreach my $ball (@Games::PangZero::GameObjects) {
if (ref($ball) eq 'Games::PangZero::DeathBall') { ++$count; }
}
return $count;
}
1;
|