@Recursive
Can you pls explain Netherlands behavior ? In some games he is buying luxes for good prices, like 10gpt or sometimes even more. In other games he pays only 4 gpt even if Friendly to me all game long. I think offering better prices is the correct behavior as it benefits him so much.
He probably pays less if he already has/is nowhere close to monopoly, AND already has that lux imported.
To be fair, he should outright value it at 0 for the "already monopoly and imported" case, to avoid exploit. Not sure if he already does that.
Not sure how it's calculated, but often for resources he already has a copy of they are valued at a very low value. Not zero, but close to it (5 gold in cases I've seen). Which seems as intended, to me.
He pays 5 gold, note it's not gpt, when he doesn't need it. In my case it's like 4-5gpt and generally comparable to other civs. Which means I don't have the incentive to sell to him and to him only, except for a diplo bonus (if I need it at all). Actually when it happens, there are multiple civs who pay much more (6gpt is very common).
It looks like some games he wants to push the UA to the max, and other games he forgots he has it at all.
Could it be because of Goddess of Festivals ?
I edited the code a while back so that they would value duplicate luxury resources that don't give them a monopoly at 5 Gold rather than 0 for humans (and IMPOSSIBLE for other AIs, just to prevent any exploits).
Netherlands does have code to handle duplicate resources that do give them monopoly bonuses.
Can't comment further as I'm unable to read the code on my phone (which is all I have for this vacation), but it's in CvDealAI.cpp if anyone wants to check.