… | |
… | |
49 | |
49 | |
50 | =back |
50 | =back |
51 | |
51 | |
52 | =cut |
52 | =cut |
53 | |
53 | |
54 | cf::register_attachment check_inventory_on_apply => |
54 | cf::object::attachment check_inventory_on_apply => |
55 | on_apply => sub { |
55 | on_apply => sub { |
56 | my ($self, $pl) = @_; |
56 | my ($self, $pl) = @_; |
57 | my $cfg = $self->{check_inventory_on_apply}; |
57 | my $cfg = $self->{check_inventory_on_apply}; |
58 | my $match; |
58 | my $match; |
59 | rec_inv_by_slaying ($pl, $cfg->{key_string}, sub { |
59 | rec_inv_by_slaying ($pl, $cfg->{key_string}, sub { |
60 | my ($ob) = @_; |
60 | my ($ob) = @_; |
61 | $match = $ob; |
61 | $match = $ob; |
62 | }); |
62 | }); |
63 | if ($match) { |
63 | if ($match) { |
64 | $match->decrease_ob_nr ($cfg->{decrease_by_cnt}) if $cfg->{decrease_by_cnt}; |
64 | $match->decrease_ob_nr ($cfg->{decrease_by_cnt}) if $cfg->{decrease_by_cnt}; |
65 | $pl->message ($cfg->{message_on_match}) if defined $cfg->{message_on_match}; |
65 | $pl->message ($cfg->{message_on_match}, cf::NDI_UNIQUE) if defined $cfg->{message_on_match}; |
66 | } else { |
66 | } else { |
67 | $pl->message ($cfg->{message_on_nomatch}) if defined $cfg->{message_on_nomatch}; |
67 | $pl->message ($cfg->{message_on_nomatch}, cf::NDI_RED | cf::NDI_UNIQUE) if defined $cfg->{message_on_nomatch}; |
68 | cf::override; |
68 | cf::override; |
69 | } |
69 | } |
70 | }; |
70 | }; |
71 | |
71 | |
72 | =back |
72 | =back |