ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/maps/perl/reseller.ext
(Generate patch)

Comparing deliantra/maps/perl/reseller.ext (file contents):
Revision 1.15 by root, Fri Oct 27 23:06:36 2006 UTC vs.
Revision 1.16 by elmex, Sat Nov 18 23:18:51 2006 UTC

92 return cf::override; 92 return cf::override;
93 } 93 }
94 94
95 my $sells = cf::from_json $obs[0]->get_ob_key_value ('ext_reseller_sales'); 95 my $sells = cf::from_json $obs[0]->get_ob_key_value ('ext_reseller_sales');
96 96
97 my $unpaid_items = {};
98
97 for my $item (find_unpaid ($who)) { 99 for my $item (find_unpaid ($who)) {
98 if ($item->get_ob_key_value ('ext_reseller_seller') eq $who->name) { 100 if ($item->get_ob_key_value ('ext_reseller_seller') eq $who->name) {
99 $item->flag (cf::FLAG_UNPAID, 0); 101 $item->flag (cf::FLAG_UNPAID, 0);
100 $item->remove; 102 $item->remove;
101 $item->insert_ob_in_ob ($who); 103 $item->insert_ob_in_ob ($who);
106 108
107 warn "Object " . $item->name . " bought by " . $who->name . " on map " 109 warn "Object " . $item->name . " bought by " . $who->name . " on map "
108 . $who->map->path . " for $value silver has no seller set\n" 110 . $who->map->path . " for $value silver has no seller set\n"
109 if $item->get_ob_key_value ('ext_reseller_seller') eq ''; 111 if $item->get_ob_key_value ('ext_reseller_seller') eq '';
110 112
111 $sells->{$item->get_ob_key_value ('ext_reseller_seller')}->{$item->name} += $value; 113 $unpaid_items->{$item->uuid} = $value;
112 } 114 }
113 115
114 $self->apply_shop_mat ($who); 116 $self->apply_shop_mat ($who);
115 117
116 for my $item (find_traded ($who)) { 118 for my $item (find_traded ($who)) {
117 next if $item->flag (cf::FLAG_UNPAID); 119 next if $item->flag (cf::FLAG_UNPAID);
120 if (my $value = $unpaid_items->{$item->uuid}) {
121 $sells->{$item->get_ob_key_value ('ext_reseller_seller')}->{$item->name} += $value;
122 }
123
118 $item->value ($item->get_ob_key_value ('ext_reseller_orig_value')); 124 $item->value ($item->get_ob_key_value ('ext_reseller_orig_value'));
119 $item->set_ob_key_value (ext_reseller_seller => ''); 125 $item->set_ob_key_value (ext_reseller_seller => '');
120 } 126 }
121 127
122 $obs[0]->set_ob_key_value (ext_reseller_sales => cf::to_json $sells); 128 $obs[0]->set_ob_key_value (ext_reseller_sales => cf::to_json $sells);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines