Infixo/Civ6-Real-Fixes

Sankore has wrong description or modifiers

Closed this issue · 3 comments

Summary:

  • Other Civilizations' Trade Routes to this city provide +1 Science and +1 Gold for them. ➡️ ok, TO_OTHERS, domestic not set
  • +2 Science for every Trade Route to this city. ➡️ not ok, only from international TRs
  • Domestic [] Trade Routes give an additional +1 [] Faith to this city. ➡️ not ok 1) it is a sending city that gains 2) also +2 science

There are 5 modifiers and 3 lines of description.
"TO_OTHERS" give gold and science to senders - this is ok
"2 science from others & not domestic" - ok
"2 science to others & domestic" - not ok (?) - it gives others, not us (?) ➡️ should be "from others"
faith is "to others & domestic" - also not ok, it gives others not us (?) ➡️ should be "from others"

From Firaxi's tweet revealing the University:

  • Domestic TRs yield bonus science and faith.
  • TRs from other Civs provide extra science and gold.

With Tokugawa: [...] getting a + 8 science from trade routes to my capital from each of my cities [...]

Also other civs rarely send routes: https://www.reddit.com/r/civ/comments/10edmhv/why_wont_other_civs_send_me_trade_routes_is/

How it actually works:
SANKORE_TRADE_OFFER_SCIENCE & GOLD - city that sends a TR to Sankore gains 1g1s
SANKORE_TRADE_GAIN_SCIENCE - city with Sankore gains 2 science from international TRs
SANKORE_TRADE_DOMESTIC_SCIENCE & FAITH - city that sends a TR to Sankore gains 2s1f

FROM_OTHERS effect (GAIN_SCIENCE) always work with international TRs. TO_OTHERS can be used also for domestic ones.

What is the expected behavior?

  1. TRs from other Civs provide extra science and gold. ➡️ this is ok, but one small detail that yields go to the sender, but this detail is covered in the Wonder actual description Other Civilizations' Trade Routes to this city provide +1 Science and +1 Gold for them. Probably also partially +2 Science for every Trade Route to this city.
  2. Domestic TRs yield bonus science and faith. This combined with the description that says +2 Science for every Trade Route to this city and Domestic Trade Routes give an additional +1 Faith to this city leads to the conclusion that the city where the University is built is supposed to be the one receiving those yields.

In other words, international TRs give 1g1s to sender and 2s to Sankore and domestic TRs provide 2s1f only to the wrong city. This is also how modifiers are constructed - OFFER & GAIN for international TRs and DOMESTIC for domestic ones.

Now, there is a problem with FROM_OTHERS effect - it ignored domestic parameter. It means it is not possible to implement the situation where Sankore city gains the yields. Maybe Firaxis found it out and eventually changed the modifier type from FROM_OTHERS to TO_OTHERS. Because if there were no bug then Sankore city would be getting yields as expected and as the description says.

Solution. Since the correct implementation is not possible then the only thing left is to update the description.

Tried to use effect EFFECT_ADJUST_TRADE_ROUTE_YIELD_CHANGE that has AffectDestination and AffectOrigin params. Not working.

[1007903.645] [Turn: 73] Applying effect from <486:SANKORE_TRADE_DOMESTIC_SCIENCE> to <District: 589832, Owner: 0, SubType: 1, SubValue: 173534414, City: 65536>.
[1007903.645] [Turn: 73] Warning: Object <District: 589832, Owner: 0, SubType: 1, SubValue: 173534414, City: 65536> does not support interface <{80A83C2A-9B7F-4AC8-A7AA-80E1E357352A}>.
[1007903.645] [Turn: 73] Failed to apply effect from <486:SANKORE_TRADE_DOMESTIC_SCIENCE> to <District: 589832, Owner: 0, SubType: 1, SubValue: 173534414, City: 65536>.