… | |
… | |
37 | $self->update_fx_want; |
37 | $self->update_fx_want; |
38 | |
38 | |
39 | my $exp_guard = $self->addme_guard; |
39 | my $exp_guard = $self->addme_guard; |
40 | my $skl_guard = $self->addme_guard; |
40 | my $skl_guard = $self->addme_guard; |
41 | my $spl_guard = $self->addme_guard; |
41 | my $spl_guard = $self->addme_guard; |
|
|
42 | my $cmd_guard = $self->addme_guard; |
42 | $self->send_exti_req (resource => qw(exp_table skill_info spell_paths), sub { |
43 | $self->send_exti_req (resource => qw(exp_table skill_info spell_paths command_list), sub { |
43 | my ($exp, $skl, $spl) = @_; |
44 | my ($exp, $skl, $spl, $cmd) = @_; |
44 | |
45 | |
45 | $self->register_face_handler ($exp, sub { |
46 | $self->register_face_handler ($exp, sub { |
46 | my ($face) = @_; |
47 | my ($face) = @_; |
47 | |
48 | |
48 | undef $exp_guard; |
49 | undef $exp_guard; |
… | |
… | |
62 | my ($face) = @_; |
63 | my ($face) = @_; |
63 | |
64 | |
64 | undef $spl_guard; |
65 | undef $spl_guard; |
65 | my $info = $self->{json_coder}->decode (delete $face->{data}); |
66 | my $info = $self->{json_coder}->decode (delete $face->{data}); |
66 | $self->{spell_paths} = { map { (1 << $_) => $info->[$_][0] } 0 .. $#$info }; |
67 | $self->{spell_paths} = { map { (1 << $_) => $info->[$_][0] } 0 .. $#$info }; |
|
|
68 | }); |
|
|
69 | |
|
|
70 | $self->register_face_handler ($cmd, sub { |
|
|
71 | my ($face) = @_; |
|
|
72 | |
|
|
73 | undef $cmd_guard; |
|
|
74 | my $info = $self->{json_coder}->decode (delete $face->{data}); |
|
|
75 | $self->{command_list} = [ sort map @{ $_->[1] }, grep $_->[0] != 2, @$info ]; |
|
|
76 | |
67 | }); |
77 | }); |
68 | |
78 | |
69 | () |
79 | () |
70 | }); |
80 | }); |
71 | |
81 | |
… | |
… | |
150 | # per server |
160 | # per server |
151 | $self->{mapcache} = "mapcache_$self->{host}_$self->{port}"; |
161 | $self->{mapcache} = "mapcache_$self->{host}_$self->{port}"; |
152 | |
162 | |
153 | $self |
163 | $self |
154 | } |
164 | } |
|
|
165 | |
|
|
166 | #$self->send_exti_req (nickmon => 1, sub { use Data::Dump; ddx \@_ });#d# |
|
|
167 | #sub ext_nicklist { shift; use Data::Dump; ddx \@_; } #d# |
155 | |
168 | |
156 | sub update_fx_want { |
169 | sub update_fx_want { |
157 | my ($self) = @_; |
170 | my ($self) = @_; |
158 | |
171 | |
159 | $self->send_exti_msg (fx_want => { |
172 | $self->send_exti_msg (fx_want => { |