… | |
… | |
21 | sub { $_[0]->value (1000 * $price_fact) } |
21 | sub { $_[0]->value (1000 * $price_fact) } |
22 | ], |
22 | ], |
23 | mailscroll => [ |
23 | mailscroll => [ |
24 | 1, 'scroll', |
24 | 1, 'scroll', |
25 | sub { |
25 | sub { |
26 | $_[0]->name ("mailscroll T: $_[2] F: $_[1]"); |
26 | $_[0]->name ("mailscroll T: $_[2] F: $_[1]"); |
27 | $_[0]->name_plural ("mailscrolls T: $_[2] F: $_[1]"); |
27 | $_[0]->name_pl ("mailscrolls T: $_[2] F: $_[1]"); |
28 | $_[0]->value (1 * $price_fact); |
28 | $_[0]->value (1 * $price_fact); |
29 | }, |
29 | }, |
30 | 'plarg' |
30 | 'plarg' |
31 | ], |
31 | ], |
32 | bag => [ 1, 'r_sack', sub { set_package (@_, bag => 5000) }, 'plarg' ], |
32 | bag => [ 1, 'r_sack', sub { set_package (@_, bag => 5000) }, 'plarg' ], |
33 | package => [ 5, 'r_sack', sub { set_package (@_, package => 50000) }, 'plarg' ], |
33 | package => [ 5, 'r_sack', sub { set_package (@_, package => 50000) }, 'plarg' ], |
34 | carton => [10, 'r_sack', sub { set_package (@_, carton => 100000) }, 'plarg' ], |
34 | carton => [10, 'r_sack', sub { set_package (@_, carton => 100000) }, 'plarg' ], |
35 | mailwarning => [ |
35 | mailwarning => [ |
36 | 0, 'diploma', |
36 | 0, 'diploma', |
37 | sub { |
37 | sub { |
38 | $_[0]->name ("mailwarning T: $_[2] F: $_[1]"); |
38 | $_[0]->name ("mailwarning T: $_[2] F: $_[1]"); |
39 | $_[0]->name_plural ("mailwarnings T: $_[2] F: $_[1]"); |
39 | $_[0]->name_pl ("mailwarnings T: $_[2] F: $_[1]"); |
40 | $_[0]->value (0); |
40 | $_[0]->value (0); |
41 | }, |
41 | }, |
42 | 'plarg' |
42 | 'plarg' |
43 | ], |
43 | ], |
44 | ); |
44 | ); |
45 | |
45 | |
… | |
… | |
114 | |
114 | |
115 | for (@$mails) { |
115 | for (@$mails) { |
116 | my ($type, $from, $msg) = @$_; |
116 | my ($type, $from, $msg) = @$_; |
117 | $type = $mailtypes{$type || 1} || ['scroll', 'mailscroll']; |
117 | $type = $mailtypes{$type || 1} || ['scroll', 'mailscroll']; |
118 | my $mail = cf::object::new $type->[0]; |
118 | my $mail = cf::object::new $type->[0]; |
119 | $mail->name ("$type->[1] F: $from T: " .$pl->name); |
119 | $mail->name ("$type->[1] F: $from T: " .$pl->name); |
120 | $mail->name_plural ("$type->[1]s F: $from T: " .$pl->name); |
120 | $mail->name_pl ("$type->[1]s F: $from T: " .$pl->name); |
121 | $mail->message ($msg); |
121 | $mail->msg ($msg); |
122 | $mail->value (0); |
122 | $mail->value (0); |
123 | $mail->insert_in_ob ($box); |
123 | $mail->insert_in_ob ($box); |
124 | } |
124 | } |
125 | |
125 | |
126 | $cnt += @$mails; |
126 | $cnt += @$mails; |
127 | |
127 | |
… | |
… | |
143 | |
143 | |
144 | my %sent_targets; |
144 | my %sent_targets; |
145 | |
145 | |
146 | for ($box->inv) { |
146 | for ($box->inv) { |
147 | if ($_->name =~ m/^mail(scroll|warning) T: (\S+) F: (\S+)/) { |
147 | if ($_->name =~ m/^mail(scroll|warning) T: (\S+) F: (\S+)/) { |
148 | CFMail::send_mail ($1 eq 'scroll' ? 1 : 3, $2, $3, $_->message); |
148 | CFMail::send_mail ($1 eq 'scroll' ? 1 : 3, $2, $3, $_->msg); |
149 | $pl->message ("Sent mail$1 to $2 (from $3)."); |
149 | $pl->message ("Sent mail$1 to $2 (from $3)."); |
150 | $sent_targets{$2}++; |
150 | $sent_targets{$2}++; |
151 | push @mails, $_; |
151 | push @mails, $_; |
152 | |
152 | |
153 | } elsif ($_->name =~ m/^mail(scroll|warning) F: (\S+) T: (\S+)/) { |
153 | } elsif ($_->name =~ m/^mail(scroll|warning) F: (\S+) T: (\S+)/) { |
154 | # this is for mails that remain in the queue for the player |
154 | # this is for mails that remain in the queue for the player |
155 | CFMail::store_mail ($1 eq 'scroll' ? 1 : 3, $3, $2, $_->message); |
155 | CFMail::store_mail ($1 eq 'scroll' ? 1 : 3, $3, $2, $_->msg); |
156 | push @mails, $_; |
156 | push @mails, $_; |
157 | } |
157 | } |
158 | } |
158 | } |
159 | |
159 | |
160 | $_->remove for @mails; |
160 | $_->remove for @mails; |