Hide resources that cannot be traded in empire screen #768
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The empire screen show the trade information based on the empire objects, but everything else in the game uses the city objects data, e.g. to determine if a resource can be traded or if it should be shown in the trade advisor. In almost all cases, this is perfectly fine as the city objects data is initialized from the empire objects data.
In Damascus though (and potentially other cases), there is an inconsistency between the two: the empire screen shows that Tarsus could export marble even though it actually can't because the city data says the opposite.
This change is a proposal to actually use the city data instead of the empire data in the empire screen. IMHO given that the empire data is only used to initialize the city data, it makes little to no sense to continue showing the empire data the whole game when the city data is available. This should ensure that the data shown by the empire screen is actually relevant to the player.
Before:


After:


As far as I can tell, this does not affect the gameplay but this is a change from the original Caesar 3 anyway so feel free to close it if does not fit into the scope of Julius.