forked from mirror/OpenTTD
(svn r16694) -Fix [FS#2995] (rgradual loading, rnewindustries): only pay for whatever has been actually unloaded and perform the payment when unloading has finished. This fixes, amongst others:
* cheating by starting to unload and after getting paid rushing to the depot to get sold (or unloading, loading and getting paid again for the remainder) * cargo being dropped onto a station at the moment a stockpiling industry doesn't accept it anymore * industries getting cargo that has not been unloaded yet and subsequently dumping it back on the station in one go Note: you will now get paid after the unloading has finished, so you'll have to wait a bit longer for 'your' money.
This commit is contained in:
@@ -111,7 +111,7 @@ static void TransferCargo(Vehicle *old_veh, Vehicle *new_head, bool part_of_chai
|
||||
uint amount = min(src->cargo.Count(), dest->cargo_cap - dest->cargo.Count());
|
||||
if (amount <= 0) continue;
|
||||
|
||||
src->cargo.MoveTo(&dest->cargo, amount);
|
||||
src->cargo.MoveTo(&dest->cargo, amount, CargoList::MTA_UNLOAD, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user