… | |
… | |
6 | use Crossfire::Protocol::Constants; |
6 | use Crossfire::Protocol::Constants; |
7 | |
7 | |
8 | use CFPlus; |
8 | use CFPlus; |
9 | use CFPlus::UI; |
9 | use CFPlus::UI; |
10 | use CFPlus::Pod; |
10 | use CFPlus::Pod; |
|
|
11 | use CFPlus::Macro; |
|
|
12 | use CFPlus::Item; |
11 | |
13 | |
12 | use Crossfire::Protocol::Base 0.95; |
14 | use Crossfire::Protocol::Base 0.95; |
13 | |
15 | |
14 | use base 'Crossfire::Protocol::Base'; |
16 | use base 'Crossfire::Protocol::Base'; |
15 | |
17 | |
… | |
… | |
291 | $::CONN->user_send ("use_skill $name"); |
293 | $::CONN->user_send ("use_skill $name"); |
292 | } elsif ($ev->{button} == 3) { |
294 | } elsif ($ev->{button} == 3) { |
293 | my $shortname = CFPlus::shorten $name, 14; |
295 | my $shortname = CFPlus::shorten $name, 14; |
294 | (new CFPlus::UI::Menu |
296 | (new CFPlus::UI::Menu |
295 | items => [ |
297 | items => [ |
296 | ["bind <i>ready_skill $shortname</i> to a key" => sub { $::BIND_EDITOR->do_quick_binding (["ready_skill $name"]) }], |
298 | ["bind <i>ready_skill $shortname</i> to a key" => sub { CFPlus::Macro::quick_macro ["ready_skill $name"] }], |
297 | ["bind <i>use_skill $shortname</i> to a key" => sub { $::BIND_EDITOR->do_quick_binding (["use_skill $name"]) }], |
299 | ["bind <i>use_skill $shortname</i> to a key" => sub { CFPlus::Macro::quick_macro ["use_skill $name"] }], |
298 | ], |
300 | ], |
299 | )->popup ($ev); |
301 | )->popup ($ev); |
300 | } else { |
302 | } else { |
301 | return 0; |
303 | return 0; |
302 | } |
304 | } |
… | |
… | |
319 | $self->{stat_widget_exp}{$_}->set_text (::formsep ($stats->{$_}[1])); |
321 | $self->{stat_widget_exp}{$_}->set_text (::formsep ($stats->{$_}[1])); |
320 | $self->{stat_widget_lvl}{$_}->set_text ($stats->{$_}[0] * 1); |
322 | $self->{stat_widget_lvl}{$_}->set_text ($stats->{$_}[0] * 1); |
321 | } |
323 | } |
322 | } |
324 | } |
323 | |
325 | |
|
|
326 | sub macro_send { |
|
|
327 | my ($self, $macro) = @_; |
|
|
328 | |
|
|
329 | for my $cmd (@{ $macro->{action} }) { |
|
|
330 | $self->send_command ($cmd); |
|
|
331 | } |
|
|
332 | } |
|
|
333 | |
324 | sub user_send { |
334 | sub user_send { |
325 | my ($self, $command) = @_; |
335 | my ($self, $command) = @_; |
326 | |
336 | |
327 | push @{$self->{record}}, $command |
337 | $self->{record}->($command) |
328 | if $self->{record}; |
338 | if $self->{record}; |
329 | |
339 | |
330 | $self->logprint ("send: ", $command); |
340 | $self->logprint ("send: ", $command); |
331 | $self->send_command ($command); |
341 | $self->send_command ($command); |
332 | ::status ($command); |
342 | ::status ($command); |
333 | } |
343 | } |
334 | |
344 | |
335 | sub start_record { |
345 | sub record { |
336 | my ($self) = @_; |
346 | my ($self, $cb) = @_; |
337 | |
347 | |
338 | $self->{record} = []; |
348 | $self->{record} = $cb; |
339 | } |
|
|
340 | |
|
|
341 | sub stop_record { |
|
|
342 | my ($self) = @_; |
|
|
343 | return delete $self->{record}; |
|
|
344 | } |
349 | } |
345 | |
350 | |
346 | sub map_scroll { |
351 | sub map_scroll { |
347 | my ($self, $dx, $dy) = @_; |
352 | my ($self, $dx, $dy) = @_; |
348 | |
353 | |