ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/Protocol.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/Protocol.pm (file contents):
Revision 1.222 by root, Sun Nov 4 02:14:11 2012 UTC vs.
Revision 1.223 by root, Sun Nov 4 14:28:24 2012 UTC

34 }, 34 },
35 ); 35 );
36 36
37 $self->update_fx_want; 37 $self->update_fx_want;
38 38
39 my $guard = $self->addme_guard; 39 my $exp_guard = $self->addme_guard;
40 my $skl_guard = $self->addme_guard;
41 my $spl_guard = $self->addme_guard;
40 $self->send_exti_req (resource => "exp_table", sub { 42 $self->send_exti_req (resource => qw(exp_table skill_info spell_paths), sub {
41 my ($idx) = @_; 43 my ($exp, $skl, $spl) = @_;
42 44
43 $self->register_face_handler ($idx, sub { 45 $self->register_face_handler ($exp, sub {
44 my ($face) = @_; 46 my ($face) = @_;
45 47
46 undef $guard; 48 undef $exp_guard;
47 $self->{exp_table} = $self->{json_coder}->decode (delete $face->{data}); 49 $self->{exp_table} = $self->{json_coder}->decode (delete $face->{data});
48 $_->() for values %{ $self->{on_exp_update} }; 50 $_->() for values %{ $self->{on_exp_update} };
49 }); 51 });
50 52
51 ()
52 });
53
54 my $guard = $self->addme_guard;
55 $self->send_exti_req (resource => "skill_info", sub {
56 my ($idx) = @_;
57
58 $self->register_face_handler ($idx, sub { 53 $self->register_face_handler ($skl, sub {
59 my ($face) = @_; 54 my ($face) = @_;
60 55
61 undef $guard; 56 undef $skl_guard;
62 my $info = $self->{json_coder}->decode (delete $face->{data}); 57 my $info = $self->{json_coder}->decode (delete $face->{data});
63 $self->{skill_info} = { map { CS_STAT_SKILLINFO + $_ => $info->[$_][0] } 0 .. $#$info }; 58 $self->{skill_info} = { map { CS_STAT_SKILLINFO + $_ => $info->[$_][0] } 0 .. $#$info };
64 }); 59 });
65 60
66 ()
67 });
68
69 my $guard = $self->addme_guard;
70 $self->send_exti_req (resource => "spell_paths", sub {
71 my ($idx) = @_;
72
73 $self->register_face_handler ($idx, sub { 61 $self->register_face_handler ($spl, sub {
74 my ($face) = @_; 62 my ($face) = @_;
75 63
76 undef $guard; 64 undef $spl_guard;
77 my $info = $self->{json_coder}->decode (delete $face->{data}); 65 my $info = $self->{json_coder}->decode (delete $face->{data});
78 $self->{spell_paths} = { map { (1 << $_) => $info->[$_][0] } 0 .. $#$info }; 66 $self->{spell_paths} = { map { (1 << $_) => $info->[$_][0] } 0 .. $#$info };
79 }); 67 });
80 68
81 () 69 ()

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines