… | |
… | |
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); |