… | |
… | |
58 | |
58 | |
59 | 1 |
59 | 1 |
60 | } |
60 | } |
61 | |
61 | |
62 | sub on_time { |
62 | sub on_time { |
63 | my ($event) = @_; |
63 | my ($event, $who) = @_; |
64 | |
|
|
65 | my $who = $event->{who}; |
|
|
66 | |
64 | |
67 | if (my $queue = $who->{queue}) { |
65 | if (my $queue = $who->{queue}) { |
68 | my $count = 4; |
66 | my $count = 4; |
69 | |
67 | |
70 | while (@$queue) { |
68 | while (@$queue) { |
… | |
… | |
82 | $count-- |
80 | $count-- |
83 | or last; |
81 | or last; |
84 | } |
82 | } |
85 | } else { |
83 | } else { |
86 | # generate minesweeper field |
84 | # generate minesweeper field |
87 | my %arg = split /(?:\s+|=)/, $event->{options}; |
85 | my %arg = split /(?:\s+|=)/, $event->options; |
88 | |
86 | |
89 | $who->{options} = \%arg; |
87 | $who->{options} = \%arg; |
90 | $who->{queue} = []; |
88 | $who->{queue} = []; |
91 | |
89 | |
92 | my $map = $who->{map} = []; |
90 | my $map = $who->{map} = []; |
… | |
… | |
120 | } |
118 | } |
121 | } |
119 | } |
122 | } |
120 | } |
123 | |
121 | |
124 | sub on_apply { |
122 | sub on_apply { |
125 | my ($event) = @_; |
123 | my ($event, $ob, $who) = @_; |
126 | |
124 | |
127 | my $who = $event->{who}; |
|
|
128 | my $activator = $event->{activator}; |
|
|
129 | |
|
|
130 | $who->{meta}{player} = $activator->name; |
125 | $ob->{meta}{player} = $who->name; |
131 | push @{$who->{meta}{queue}}, $who; |
126 | push @{$ob->{meta}{queue}}, $ob; |
132 | |
127 | |
133 | 1 |
128 | 1 |
134 | } |
129 | } |
135 | |
130 | |
136 | |
131 | |