Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1862] Incorrect freight revenue when running multiple overlapping permanent freights. #5925

Open
mtsay opened this issue Jul 3, 2021 · 5 comments
Labels
1862 bug Prevents game from being played correctly

Comments

@mtsay
Copy link
Contributor

mtsay commented Jul 3, 2021

This is yet another edge case with freight revenue.

When a company owns multiple permanent freight trains, they are allowed to run each freight train on separate freight routes, which may overlap. My understanding of the rule is that each freight route is then considered a separate route so pays separately. Hence the starting hex and end hex only pays once because they overlap, but intervening hexes will pay out one more time.

I run into this issue in a hotseat game ( game data ).

Screen Shot 2021-07-03 at 6 35 40 AM

In the above screenshot, the revenue for the trains should be:

  • 7F: 200 (London) + 130 (Netherland) + 6 * 30 = 510
  • 6F: 30 (Bishop's Stortford) + 0 (Netherland because 7F already cover it) + 5 * 30 = 180

So the revenue for these runs should be $690 instead of $230.

It looks like the game is treating both freights as having concatenated into one (as in the case of non-permanent freights) and treated it as a single freight route from London to Bishop's Stortford.

@mtsay
Copy link
Contributor Author

mtsay commented Jul 3, 2021

Sorry to bring this up. As you can see, ECR is stuck in the southern part of the map with 5 permanent trains but only access to 2 off-boards and 2 ports, so the 3rd freight will have to re-use one of the ports.

@roseundy
Copy link
Collaborator

roseundy commented Jul 3, 2021

This is discussed in the wiki for 1862. Since it is legal to run permanent trains end-to-end, my code has no way of knowing what your intentions are.

@roseundy
Copy link
Collaborator

roseundy commented Jul 3, 2021

The workaround is to make sure the 6F doesn't share an endpoint with the 7F

@crericha
Copy link
Collaborator

crericha commented Jul 6, 2021

An idea: Calculate it both ways and give the company the higher revenue option for their total run. It's an edge case to not want to maximize your run, so make that the workaround.

@roseundy
Copy link
Collaborator

roseundy commented Jul 6, 2021

The problem is that the code that has to link trains together is already quite complicated and this will make it worse.

@scottredracecar scottredracecar added bug Prevents game from being played correctly 1862 and removed needs triage labels Feb 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1862 bug Prevents game from being played correctly
Projects
None yet
Development

No branches or pull requests

4 participants