1 | #! perl |
1 | #! perl # MANDATORY |
2 | |
2 | |
3 | use POSIX (); |
3 | use POSIX (); |
4 | |
4 | |
5 | # miscellaneous commands |
5 | # miscellaneous commands |
6 | |
6 | |
… | |
… | |
150 | for my $cmd ("run", "fire") { |
150 | for my $cmd ("run", "fire") { |
151 | my $oncmd = "${cmd}_on"; |
151 | my $oncmd = "${cmd}_on"; |
152 | cf::register_command $cmd => sub { |
152 | cf::register_command $cmd => sub { |
153 | my ($ob, $arg) = @_; |
153 | my ($ob, $arg) = @_; |
154 | |
154 | |
155 | return $ob->reply (undef, "Can't $cmd into a non adjacent square.") |
155 | $ob->reply (undef, "Can't $cmd into a non adjacent square.") |
156 | if $arg < 0 or $arg >= 9; |
156 | if $arg < 0 or $arg >= 9; |
157 | |
157 | |
158 | $ob->contr->$oncmd (1); |
158 | $ob->contr->$oncmd (1); |
159 | $ob->move ($arg); |
159 | $ob->move_player ($arg); |
160 | |
160 | |
161 | 1 |
161 | 1 |
162 | }; |
162 | }; |
163 | |
163 | |
164 | cf::register_command "${cmd}_stop" => sub { |
164 | cf::register_command "${cmd}_stop" => sub { |
165 | my ($ob) = @_; |
165 | my ($ob) = @_; |
166 | |
166 | |
167 | $ob->contr->$oncmd (0); |
167 | $ob->contr->$oncmd (0); |
168 | |
168 | |
… | |
… | |
253 | cf::register_command brace => sub { |
253 | cf::register_command brace => sub { |
254 | my ($ob, $arg) = @_; |
254 | my ($ob, $arg) = @_; |
255 | |
255 | |
256 | $ob->contr->braced ($ob->contr->braced ? 0 : 1); |
256 | $ob->contr->braced ($ob->contr->braced ? 0 : 1); |
257 | $ob->reply (undef, $ob->contr->braced ? "You are braced." : "Not braced."); |
257 | $ob->reply (undef, $ob->contr->braced ? "You are braced." : "Not braced."); |
|
|
258 | |
|
|
259 | 1 |
|
|
260 | }; |
|
|
261 | |
|
|
262 | cf::register_command 'output-rate' => sub { |
|
|
263 | my ($ob, $arg) = @_; |
|
|
264 | |
|
|
265 | return $ob->reply (undef, sprintf "Output rate is presently %dbps.", $ob->contr->ns->max_rate / $cf::TICK) |
|
|
266 | unless $arg > 0; |
|
|
267 | |
|
|
268 | $ob->contr->ns->max_rate ($arg * $cf::TICK); |
|
|
269 | $ob->reply (undef, sprintf "Output rate now set to %dbps.", $ob->contr->ns->max_rate / $cf::TICK); |
258 | |
270 | |
259 | 1 |
271 | 1 |
260 | }; |
272 | }; |
261 | |
273 | |
262 | cf::register_command 'output-count' => sub { |
274 | cf::register_command 'output-count' => sub { |