Pascal wrote: 15 Jan 2020 11:57
Code: Select all
Add setting for alternative transfer payment mode.
It's not completely clear to me how this new system works. I'm looking into setting up a server with a few people with the highest daylength, and to work with infrasharing. Ideally, every trip would be paid fully for that trip, like it would be in real life. After all, the bus company asks me the same amount of money no matter how long I've been waiting in the train and how far I've traveled before that time. Is the new behaviour like this, or not? If not, is it possible such a payment behaviour could be added as an option in the future?
ino wrote: 15 Jan 2020 12:39
The default game payment is that the cargo get paid depend on the distance between origin and destination station and the time taken (not counting transfer time), no matter the route it takes.
This creates problem in feeder system and multileg passenger system, because only the final vehicle got the payment, so other vehicle in the chain got negative balance.
That's where the transfer system come in. If the vehicle is ordered to transfer, that vehicle get credited for the cargo payment calculate using the origin and destination of that vehicle, multiply by the transfer percent (default 75%). Note the word credited. No money is actually being paid, it just get credited to the vehicle so the vehicle balance would look better (i.e. not negative). The credit is attached to the cargo, and when the final payment is made when the cargo arrive at the destination, the actual payment minus the transfer credit is added to that vehicle profit.
This can easily make the final vehicle seems to be in deep debt, especially if it's bus or truck. So the "alternative payment" is will calculate the transfer credit using cargo origin instead of that leg origin. It helps somewhat, but not all.
What you are asking for might be possible, but I believe that would create overblown profit interaction in feeder system or in ICE passenger where passenger transfer between high speed and local train. Not to mention easily exploit.
I am not sure how cross company transfer work in infrastructure sharing.
At least, this is my understanding of how the profit is calculated in the game. Correct me if I am wrong.
The alternative transfer payment mode setting is to control how exactly the transfer setting is calculated. The new algorithm, when enabled, (in my observations and opinion) tends to produce better results than the original algorithm in that the distribution of income between vehicles is better and the final vehicles does not tend to unfairly receive large negative payments. I did recently submit it upstream as a PR, where the feedback so far is that if it is better it should be on all the time, and not have a setting, which in retrospect is probably the way to go.
The transfer credit system already works with infrastructure sharing. This is not controlled by a setting and so is "on" all the time.
When a transfer payment is made to a vehicle, the value of that payment is added to a record associated to the cargo itself, on a per owner company and per vehicle type basis. (In the code this is the cargo packet deferred payments map).
When the cargo reaches its destination, "actual money" is generated as income for the delivery of cargo. In trunk this is paid to the company which owns the final vehicle with the income category of the final vehicle (i.e. which line in the company finance window).
In this patchpack, payments are made to the companies and vehicle type income categories previously recorded when the transfers took place, and the remainder is paid to the company which owns the final vehicle with the income category of the final vehicle.
No actual money is paid to transfer companies until the cargo reaches its destination and is paid for, and it is not possible to receive more money in total than the final delivery income of the cargo, this avoids all the simple exploits.
If cargo is lost before reaching its destination for whatever reason the associated deferred payments are also lost, and no payment is made to any company.
It is however possible for a company owning a transfer vehicle to receive a negative real payment when the cargo reaches its final destination. I suppose this is in theory exploitable by use of throwaway companies but you'd have a hard time in practice.
If a company owning a transfer vehicle is bought out or goes bankrupt, the deferred payments are reallocated to the buyer company or the final vehicle respectively.
To clarify: the alternative transfer payment mode setting and the feeder share percentage setting do affect the distribution of actual money between companies in the infrastructure sharing case of multi-company transfers.