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.161 by root, Wed Aug 22 16:52:34 2007 UTC vs.
Revision 1.167 by root, Tue Aug 28 01:23:47 2007 UTC

401 401
402 if ( 402 if (
403 my @diffs = map $_->[1]->($self, $_->[2], $prev->{$_->[0]}, $stats->{$_->[0]}), @statchange 403 my @diffs = map $_->[1]->($self, $_->[2], $prev->{$_->[0]}, $stats->{$_->[0]}), @statchange
404 ) { 404 ) {
405 my $msg = "<b>stat change</b>: " . (join " ", @diffs); 405 my $msg = "<b>stat change</b>: " . (join " ", @diffs);
406 $self->{statusbox}->add ($msg, group => "stat $msg", fg => [0.8, 1, 0.2, 1], timeout => 10); 406 $self->{statusbox}->add ($msg, group => "stat $msg", fg => [0.8, 1, 0.2, 1], timeout => 20);
407 } 407 }
408 408
409 $self->update_stats_window ($stats, $prev); 409 $self->update_stats_window ($stats, $prev);
410 410
411 $self->{prev_stats} = { %$stats }; 411 $self->{prev_stats} = { %$stats };
478 for keys %RES_TBL; 478 for keys %RES_TBL;
479 479
480 my $sktbl = $::STATWIDS->{skill_tbl}; 480 my $sktbl = $::STATWIDS->{skill_tbl};
481 my @skills = keys %{ $self->{skill_info} }; 481 my @skills = keys %{ $self->{skill_info} };
482 482
483 if (grep +(exists $stats->{$_}) != (exists $prev->{$_}), @skills) { 483 my @order = sort { $stats->{$b->[0]}[1] <=> $stats->{$a->[0]}[1] or $a->[1] cmp $b->[1] }
484 map [$_, $self->{skill_info}{$_}],
485 grep exists $stats->{$_},
486 @skills;
487
488 if ($self->{stat_order} ne join ",", map $_->[0], @order) {
489 $self->{stat_order} = join ",", map $_->[0], @order;
490
484 $sktbl->clear; 491 $sktbl->clear;
485 492
486 my $sw = $self->{skillwid}{""} ||= [ 493 my $sw = $self->{skillwid}{""} ||= [
487 0, 0, (new CFPlus::UI::Label text => "Experience", align => 1), 494 0, 0, (new CFPlus::UI::Label text => "Experience", align => 1),
488 1, 0, (new CFPlus::UI::Label text => "Lvl.", align => 1), 495 1, 0, (new CFPlus::UI::Label text => "Lvl.", align => 1),
500 507
501 my @TOOLTIP_LVL = (tooltip => "<b>Level</b>. The level of the skill.$TOOLTIP_ALL", can_events => 1, can_hover => 1); 508 my @TOOLTIP_LVL = (tooltip => "<b>Level</b>. The level of the skill.$TOOLTIP_ALL", can_events => 1, can_hover => 1);
502 my @TOOLTIP_EXP = (tooltip => "<b>Experience</b>. The experience points you have in this skill.$TOOLTIP_ALL", can_events => 1, can_hover => 1); 509 my @TOOLTIP_EXP = (tooltip => "<b>Experience</b>. The experience points you have in this skill.$TOOLTIP_ALL", can_events => 1, can_hover => 1);
503 510
504 my ($x, $y) = (0, 1); 511 my ($x, $y) = (0, 1);
505 for ( 512 for (@order) {
506 sort { $stats->{$b->[0]}[1] <=> $stats->{$a->[0]}[1] or $a->[1] cmp $b->[1] }
507 map [$_, $self->{skill_info}{$_}],
508 grep exists $stats->{$_},
509 @skills
510 ) {
511 my ($idx, $name) = @$_; 513 my ($idx, $name) = @$_;
512 514
513 my $spell_cb = sub { 515 my $spell_cb = sub {
514 my ($widget, $ev) = @_; 516 my ($widget, $ev) = @_;
515 517
560 } 562 }
561 563
562 $sktbl->add_at (@add); 564 $sktbl->add_at (@add);
563 } 565 }
564 566
565 for (grep exists $stats->{$_}, @skills) { 567 for (@order) {
568 my ($idx, $name) = @$_;
569 my $val = $stats->{$idx};
570
571 next if $prev->{$idx}[1] eq $val->[1];
572
566 my $sw = $self->{skillwid}{$_}; 573 my $sw = $self->{skillwid}{$idx};
567 $sw->[0]->set_text (::formsep ($stats->{$_}[1])); 574 $sw->[0]->set_text (::formsep ($val->[1]));
568 $sw->[1]->set_text ($stats->{$_}[0] * 1); 575 $sw->[1]->set_text ($val->[0] * 1);
569 $sw->[2]->set_value (@{$stats->{$_}}); 576 $sw->[2]->set_value (@$val);
570 }
571}
572 577
573sub macro_send { 578 $::GAUGES->{sklprg}->set_label ("$name %d%%");
574 my ($self, $macro) = @_; 579 $::GAUGES->{sklprg}->set_value (@$val);
575
576 for my $cmd (@{ $macro->{action} }) {
577 $self->send_command ($cmd);
578 } 580 }
579} 581}
580 582
581sub user_send { 583sub user_send {
582 my ($self, $command) = @_; 584 my ($self, $command) = @_;
584 $self->{record}->($command) 586 $self->{record}->($command)
585 if $self->{record}; 587 if $self->{record};
586 588
587 $self->logprint ("send: ", $command); 589 $self->logprint ("send: ", $command);
588 $self->send_command ($command); 590 $self->send_command ($command);
589 ::status ($command);
590} 591}
591 592
592sub record { 593sub record {
593 my ($self, $cb) = @_; 594 my ($self, $cb) = @_;
594 595

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines