ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/maps/perl/minesweeper.ext
(Generate patch)

Comparing deliantra/maps/perl/minesweeper.ext (file contents):
Revision 1.3 by root, Fri Mar 17 02:40:09 2006 UTC vs.
Revision 1.8 by root, Mon Aug 21 04:04:17 2006 UTC

25 my ($x, $y) = ($who->x - $meta->x, $who->y - $meta->y); 25 my ($x, $y) = ($who->x - $meta->x, $who->y - $meta->y);
26 26
27 $who->{visible} = 1; 27 $who->{visible} = 1;
28 28
29 if ($who->{bomb}) { 29 if ($who->{bomb}) {
30 result $meta, "failure"; 30 result $meta, "failure"
31 if $meta->{todo};
31 } else { 32 } else {
32 $meta->{todo}--; 33 $meta->{todo}--;
33 # if zero, finished 34 # if <= 0, finished
34 35
35 my @neigh; 36 my @neigh;
36 37
37 for my $y ($y - 1 .. $y + 1) { 38 for my $y ($y - 1 .. $y + 1) {
38 next if $y < 0 || $y > $#{$map->[0]}; 39 next if $y < 0 || $y > $#{$map->[0]};
58 59
59 1 60 1
60} 61}
61 62
62sub on_time { 63sub on_time {
63 my ($event) = @_; 64 my ($event, $who) = @_;
64
65 my $who = $event->{who};
66 65
67 if (my $queue = $who->{queue}) { 66 if (my $queue = $who->{queue}) {
68 my $count = 4; 67 my $count = 4;
69 68
70 while (@$queue) { 69 while (@$queue) {
82 $count-- 81 $count--
83 or last; 82 or last;
84 } 83 }
85 } else { 84 } else {
86 # generate minesweeper field 85 # generate minesweeper field
87 my %arg = split /(?:\s+|=)/, $event->{options}; 86 my %arg = split /(?:\s+|=)/, $event->options;
88 87
89 $who->{options} = \%arg; 88 $who->{options} = \%arg;
90 $who->{queue} = []; 89 $who->{queue} = [];
91 90
92 my $map = $who->{map} = []; 91 my $map = $who->{map} = [];
120 } 119 }
121 } 120 }
122} 121}
123 122
124sub on_apply { 123sub on_apply {
125 my ($event) = @_; 124 my ($event, $ob, $who) = @_;
126 125
127 my $who = $event->{who}; 126 $ob->{meta}{player} = $who->name;
128 my $activator = $event->{activator}; 127 push @{$ob->{meta}{queue}}, $ob;
129 128
130 $who->{meta}{player} = $activator->name; 129 1
131 push @{$who->{meta}{queue}}, $who;
132} 130}
133 131
134 132

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines