… | |
… | |
477 | my @skills = keys %{ $self->{skill_info} }; |
477 | my @skills = keys %{ $self->{skill_info} }; |
478 | |
478 | |
479 | if (grep +(exists $stats->{$_}) != (exists $prev->{$_}), @skills) { |
479 | if (grep +(exists $stats->{$_}) != (exists $prev->{$_}), @skills) { |
480 | $sktbl->clear; |
480 | $sktbl->clear; |
481 | |
481 | |
482 | my @add; |
482 | my $sw = $self->{skillwid}{""} ||= [ |
483 | |
|
|
484 | push @add, |
|
|
485 | 0, 0, (new CFPlus::UI::Label text => "Experience", align => 1), |
483 | 0, 0, (new CFPlus::UI::Label text => "Experience", align => 1), |
486 | 1, 0, (new CFPlus::UI::Label text => "Lvl.", align => 1), |
484 | 1, 0, (new CFPlus::UI::Label text => "Lvl.", align => 1), |
487 | 2, 0, (new CFPlus::UI::Label text => "Progress", align => 0), |
485 | 2, 0, (new CFPlus::UI::Label text => "Progress", align => 0), |
488 | 3, 0, (new CFPlus::UI::Label text => "Skill", expand => 1), |
486 | 3, 0, (new CFPlus::UI::Label text => "Skill", expand => 1), |
489 | 4, 0, (new CFPlus::UI::Label text => "Experience", align => 1), |
487 | 4, 0, (new CFPlus::UI::Label text => "Experience", align => 1), |
490 | 5, 0, (new CFPlus::UI::Label text => "Lvl.", align => 1), |
488 | 5, 0, (new CFPlus::UI::Label text => "Lvl.", align => 1), |
491 | 6, 0, (new CFPlus::UI::Label text => "Progress", align => 0), |
489 | 6, 0, (new CFPlus::UI::Label text => "Progress", align => 0), |
492 | 7, 0, (new CFPlus::UI::Label text => "Skill", expand => 1), |
490 | 7, 0, (new CFPlus::UI::Label text => "Skill", expand => 1), |
493 | ; |
491 | ]; |
|
|
492 | |
|
|
493 | my @add = @$sw; |
494 | |
494 | |
495 | my $TOOLTIP_ALL = "\n\n<small>Left click - ready skill\nMiddle click - use spell\nRight click - further options</small>"; |
495 | my $TOOLTIP_ALL = "\n\n<small>Left click - ready skill\nMiddle click - use spell\nRight click - further options</small>"; |
496 | |
496 | |
497 | my @TOOLTIP_LVL = (tooltip => "<b>Level</b>. The level of the skill.$TOOLTIP_ALL", can_events => 1, can_hover => 1); |
497 | my @TOOLTIP_LVL = (tooltip => "<b>Level</b>. The level of the skill.$TOOLTIP_ALL", can_events => 1, can_hover => 1); |
498 | my @TOOLTIP_EXP = (tooltip => "<b>Experience</b>. The experience points you have in this skill.$TOOLTIP_ALL", can_events => 1, can_hover => 1); |
498 | my @TOOLTIP_EXP = (tooltip => "<b>Experience</b>. The experience points you have in this skill.$TOOLTIP_ALL", can_events => 1, can_hover => 1); |
… | |
… | |
526 | } |
526 | } |
527 | |
527 | |
528 | 1 |
528 | 1 |
529 | }; |
529 | }; |
530 | |
530 | |
|
|
531 | my $sw = $self->{skillwid}{$idx} ||= [ |
|
|
532 | # exp |
|
|
533 | (new CFPlus::UI::Label |
|
|
534 | align => 1, font => $::FONT_FIXED, fg => [1, 1, 0], on_button_down => $spell_cb, @TOOLTIP_EXP), |
|
|
535 | |
|
|
536 | # level |
|
|
537 | (new CFPlus::UI::Label |
|
|
538 | text => "0", align => 1, font => $::FONT_FIXED, fg => [0, 1, 0], padding_x => 4, on_button_down => $spell_cb, @TOOLTIP_LVL), |
|
|
539 | |
|
|
540 | # progress |
|
|
541 | (new CFPlus::UI::ExperienceProgress), |
|
|
542 | |
|
|
543 | # label |
|
|
544 | (new CFPlus::UI::Label text => $name, on_button_down => $spell_cb, |
|
|
545 | can_events => 1, can_hover => 1, tooltip => (CFPlus::Pod::section_label skill_description => $name) . $TOOLTIP_ALL), |
|
|
546 | ]; |
|
|
547 | |
531 | push @add, |
548 | push @add, |
532 | $x * 4 + 0, $y, ($self->{stat_widget_exp}{$idx} ||= new CFPlus::UI::Label |
549 | $x * 4 + 0, $y, $sw->[0], |
533 | align => 1, font => $::FONT_FIXED, fg => [1, 1, 0], on_button_down => $spell_cb, @TOOLTIP_EXP), |
550 | $x * 4 + 1, $y, $sw->[1], |
534 | $x * 4 + 1, $y, ($self->{stat_widget_lvl}{$idx} ||= new CFPlus::UI::Label |
551 | $x * 4 + 2, $y, $sw->[2], |
535 | text => "0", align => 1, font => $::FONT_FIXED, fg => [0, 1, 0], padding_x => 4, on_button_down => $spell_cb, @TOOLTIP_LVL), |
552 | $x * 4 + 3, $y, $sw->[3], |
536 | $x * 4 + 2, $y, ($self->{stat_widget_prg}{$idx} ||= new CFPlus::UI::ExperienceProgress), |
|
|
537 | $x * 4 + 3, $y, ($self->{stat_widget_lbl}{$idx} ||= new CFPlus::UI::Label text => $name, on_button_down => $spell_cb, |
|
|
538 | can_events => 1, can_hover => 1, tooltip => (CFPlus::Pod::section_label skill_description => $name) . $TOOLTIP_ALL), |
|
|
539 | ; |
553 | ; |
540 | |
554 | |
541 | $x++ and ($x, $y) = (0, $y + 1); |
555 | $x++ and ($x, $y) = (0, $y + 1); |
542 | } |
556 | } |
543 | |
557 | |
544 | $sktbl->add_at (@add); |
558 | $sktbl->add_at (@add); |
545 | } |
559 | } |
546 | |
560 | |
547 | for (grep exists $stats->{$_}, @skills) { |
561 | for (grep exists $stats->{$_}, @skills) { |
|
|
562 | my $sw = $self->{skillwid}{$_}; |
548 | $self->{stat_widget_exp}{$_}->set_text (::formsep ($stats->{$_}[1])); |
563 | $sw->[0]->set_text (::formsep ($stats->{$_}[1])); |
549 | $self->{stat_widget_lvl}{$_}->set_text ($stats->{$_}[0] * 1); |
564 | $sw->[1]->set_text ($stats->{$_}[0] * 1); |
550 | $self->{stat_widget_prg}{$_}->set_value (@{$stats->{$_}}); |
565 | $sw->[2]->set_value (@{$stats->{$_}}); |
551 | } |
566 | } |
552 | } |
567 | } |
553 | |
568 | |
554 | sub macro_send { |
569 | sub macro_send { |
555 | my ($self, $macro) = @_; |
570 | my ($self, $macro) = @_; |