--- deliantra/Deliantra-Client/DC/Protocol.pm 2007/08/22 16:52:34 1.161
+++ deliantra/Deliantra-Client/DC/Protocol.pm 2007/08/28 01:23:47 1.167
@@ -403,7 +403,7 @@
my @diffs = map $_->[1]->($self, $_->[2], $prev->{$_->[0]}, $stats->{$_->[0]}), @statchange
) {
my $msg = "stat change: " . (join " ", @diffs);
- $self->{statusbox}->add ($msg, group => "stat $msg", fg => [0.8, 1, 0.2, 1], timeout => 10);
+ $self->{statusbox}->add ($msg, group => "stat $msg", fg => [0.8, 1, 0.2, 1], timeout => 20);
}
$self->update_stats_window ($stats, $prev);
@@ -480,7 +480,14 @@
my $sktbl = $::STATWIDS->{skill_tbl};
my @skills = keys %{ $self->{skill_info} };
- if (grep +(exists $stats->{$_}) != (exists $prev->{$_}), @skills) {
+ my @order = sort { $stats->{$b->[0]}[1] <=> $stats->{$a->[0]}[1] or $a->[1] cmp $b->[1] }
+ map [$_, $self->{skill_info}{$_}],
+ grep exists $stats->{$_},
+ @skills;
+
+ if ($self->{stat_order} ne join ",", map $_->[0], @order) {
+ $self->{stat_order} = join ",", map $_->[0], @order;
+
$sktbl->clear;
my $sw = $self->{skillwid}{""} ||= [
@@ -502,12 +509,7 @@
my @TOOLTIP_EXP = (tooltip => "Experience. The experience points you have in this skill.$TOOLTIP_ALL", can_events => 1, can_hover => 1);
my ($x, $y) = (0, 1);
- for (
- sort { $stats->{$b->[0]}[1] <=> $stats->{$a->[0]}[1] or $a->[1] cmp $b->[1] }
- map [$_, $self->{skill_info}{$_}],
- grep exists $stats->{$_},
- @skills
- ) {
+ for (@order) {
my ($idx, $name) = @$_;
my $spell_cb = sub {
@@ -562,19 +564,19 @@
$sktbl->add_at (@add);
}
- for (grep exists $stats->{$_}, @skills) {
- my $sw = $self->{skillwid}{$_};
- $sw->[0]->set_text (::formsep ($stats->{$_}[1]));
- $sw->[1]->set_text ($stats->{$_}[0] * 1);
- $sw->[2]->set_value (@{$stats->{$_}});
- }
-}
-
-sub macro_send {
- my ($self, $macro) = @_;
+ for (@order) {
+ my ($idx, $name) = @$_;
+ my $val = $stats->{$idx};
+
+ next if $prev->{$idx}[1] eq $val->[1];
+
+ my $sw = $self->{skillwid}{$idx};
+ $sw->[0]->set_text (::formsep ($val->[1]));
+ $sw->[1]->set_text ($val->[0] * 1);
+ $sw->[2]->set_value (@$val);
- for my $cmd (@{ $macro->{action} }) {
- $self->send_command ($cmd);
+ $::GAUGES->{sklprg}->set_label ("$name %d%%");
+ $::GAUGES->{sklprg}->set_value (@$val);
}
}
@@ -586,7 +588,6 @@
$self->logprint ("send: ", $command);
$self->send_command ($command);
- ::status ($command);
}
sub record {