ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/lib/cf.pm
(Generate patch)

Comparing deliantra/server/lib/cf.pm (file contents):
Revision 1.609 by root, Tue Nov 20 14:30:22 2012 UTC vs.
Revision 1.611 by root, Tue Nov 20 14:54:17 2012 UTC

3280 3280
3281=item $client->update_command_faces 3281=item $client->update_command_faces
3282 3282
3283=cut 3283=cut
3284 3284
3285our @COMMAND_FACES; # [normal commands, emotes, dm commands] 3285our %COMMAND_FACE;
3286 3286
3287sub cf::client::update_command_faces { 3287sub cf::client::update_command_faces {
3288 my ($self) = @_; 3288 my ($self) = @_;
3289 3289
3290 my @faces = ( 3290 my @faces = grep $_,
3291 $COMMAND_FACE{standard},
3291 $COMMAND_FACES[0], 3292 $COMMAND_FACE{emote},
3292 $COMMAND_FACES[1], 3293 $COMMAND_FACE{skill},
3293 $self->pl->ob->flag (cf::FLAG_WIZ) ? $COMMAND_FACES[2] : () 3294 $self->pl->ob->flag (cf::FLAG_WIZ) ? $COMMAND_FACE{dm} : (),
3294 ); 3295 ;
3295 3296
3296 $self->send_face ($_) 3297 $self->send_face ($_)
3297 for @faces; 3298 for @faces;
3298 $self->flush_fx; 3299 $self->flush_fx;
3299 3300
3300 $self->ext_msg (command_list => @faces); 3301 $self->ext_msg (command_list => @faces);
3301} 3302}
3302 3303
3303=item cf::client::set_command_faces $normal_commands, $emotes, $dm_commands 3304=item cf::client::set_command_face $type, $commands
3304 3305
3305=cut 3306=cut
3306 3307
3307sub cf::client::set_command_faces { 3308sub cf::client::set_command_face {
3308 @COMMAND_FACES = @_; 3309 my ($type, $list) = @_;
3310
3311 my $idx = &cf::face::set ( #d# ugly forward reference
3312 "command_list/$type" => cf::FT_RSRC,
3313 JSON::XS->new->utf8->encode ([ sort @$list ])
3314 );
3315
3316 $COMMAND_FACE{$type} = $idx;
3309} 3317}
3310 3318
3311cf::client->attach ( 3319cf::client->attach (
3312 on_connect => sub { 3320 on_connect => sub {
3313 my ($ns) = @_; 3321 my ($ns) = @_;
3779 cf::face::set 3787 cf::face::set
3780 "res/spell_paths" => FT_RSRC, 3788 "res/spell_paths" => FT_RSRC,
3781 JSON::XS->new->utf8->canonical->encode ( 3789 JSON::XS->new->utf8->canonical->encode (
3782 [map [cf::spellpathnames ($_)], 0 .. NRSPELLPATHS - 1] 3790 [map [cf::spellpathnames ($_)], 0 .. NRSPELLPATHS - 1]
3783 ); 3791 );
3792
3793 # command completion
3794 my @commands;
3795
3796 for (0..cf::arch::skillvec_size - 1) {
3797 my $skill = cf::arch::skillvec $_;
3798 my $name = $skill->name;
3799 my $flags = cf::skill_flags $skill->subtype;
3800
3801 push @commands, "ready_skill $name" if $flags & (SF_COMBAT | SF_RANGED | SF_GRACE);
3802 push @commands, "use_skill $name" if $flags & (SF_USE | SF_AUTARK | SF_GRACE);
3803 }
3804
3805 cf::client::set_command_face skill => \@commands;
3784} 3806}
3785 3807
3786sub reload_treasures { 3808sub reload_treasures {
3787 load_resource_file "$DATADIR/treasures" 3809 load_resource_file "$DATADIR/treasures"
3788 or die "unable to load treasurelists\n"; 3810 or die "unable to load treasurelists\n";

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines