bvschaik / julius

An open source re-implementation of Caesar III
GNU Affero General Public License v3.0
2.83k stars 316 forks source link

(C3 Map Editor) Meat icon replaced by Fish icon on Empire Map #661

Closed Ouaz closed 1 year ago

Ouaz commented 1 year ago

Hello, I don't know if this has been already reported:

In the C3 Map Editor, Meat icon is not displayed when checking goods available in any city (our city or any trading city) on the Empire Map, and is replaced by Fish icon.

For example, Mediolanum in Empire State 4:

Meat icon there. mediolanum4_vanilla

Fish icon displayed instead of meat. mediolanum4

Thank you for reading.

bvschaik commented 1 year ago

Good catch! I had a look at the code and compared with how the original editor behaves.

Background: under the hood in the game, meat and fish are the same resource type; only the presence/absence of wharves determines whether the fish or meat icon is shown.

For the game: all icons, including those on the empire map are subject to the same logic:

if (scenario allows fishing wharves) {
    icon = fish
} else {
    icon = meat
}

For the editor, Julius (and Augustus) use the same logic as the game: if you disable fishing wharves in the allowed buildings setting, the icon on the empire map changes back to meat. In the original editor, the meat icon is shown everywhere. It could be that this is intentional, it could also very well be that they simply forgot about it and it's a "bug" in the original editor.

Now, there are a few places where this meat/fish icon is used in the editor:

For the first three, I think it's best if we keep the fish icon if fishing is enabled. What do you think?

For the empire map: I see a few options:

What do you think would be more logical?

Ouaz commented 1 year ago

Hello! Thanks for the detailed answer.

In the original editor, the meat icon is shown everywhere. It could be that this is intentional, it could also very well be that they simply forgot about it and it's a "bug" in the original editor.

Oh yes, Meat icon is shown everywhere (and always). My mistake, it's likely a bug in C3 vanilla, due to the fact that either Meat or Fish icon can be displayed in the editor (because of how it works in the campaign), and they probably forgot that only Meat icon is shown in the vanilla editor. (I also understand now why devs used the "Fishing OK / No Fishing" description rather than using the Fish icon as an available good in your own city.^^)

It works when your own city can produce Meat, but this causes a "visual discrepancy" with trading cities buying/selling Meat (Miletus Empire state 27 or Mediolanum III Empire state 29) whereas your own city is allowed to fish (no meat can be produced/bought).

However, as you said, in Julius/Augustus, Fish or Meat icon is displayed everywhere on the empire map (and in the editor panels) depending if Wharves are enabled or not (something you fixed from Vanilla then?).

This discrepancy can not be totally fixed, but at least lessened with the second option you suggested:

For the empire map: I see a few options: Change to meat only for your own city but keep trade routes on meat or fish depending on settings

This way, if an Empire State with No Fishing is selected, the Meat icon will be at least displayed for your own city by default (and only for these Empire States, as Fish icon can't be displayed in your own cities when Fishing is OK). The player must then set Wharves accordingly to have the correct icon on Trade Routes too.

I think this is the best solution to make things less confusing when cycling through Empire States (if I did not make a mistake this time). ^^

EDIT:

Price changes ; Requests ; Demand changes For the first three, I think it's best if we keep the fish icon if fishing is enabled. What do you think?

I tested this, and actually, it works correctly both in Julius (almost) and Augustus:

Screenshot

So no changes needed here. ^^

bvschaik commented 1 year ago

Fish or Meat icon is displayed everywhere on the empire map (and in the editor panels) depending if Wharves are enabled or not (something you fixed from Vanilla then?).

Apparently 😉 I simply copied the logic from the game and never noticed that the editor worked differently.

Only difference is that Augustus lists Fish or Meat depending on the setting

For Julius that wasn't done because the original game doesn't have a string for "Fish", only "Meat".

I also think that the option to fix it only for your own city is the most logical choice: I'll make that change.