ok, this took a lot more effort than I expected! Technology exchanges are actually the first diplomatic option that involves a counter-offer, so a bit of refining and work went into the diplomacy interface code to get that working.
So, here’s how it works. If you know that another race has technologies that you do not have, and you are not at war with that race, then you can ask to exchange technologies.
You are then presented with a list of up to 5 technologies to ask for. If that race knows more than 5 techs, you will only get a list of the 5 technologies that race values the least (but maybe you might value it more…)
When you request select a technology to trade for, the other race looks at YOUR technologies that it does not have. If there are none, or none considered worth the tech you are asking for (that check is TBD), then the AI says “sorry, not interested in your worthless technologies” or something like that.
If there ARE, then you are presented with a list of techs, any one of which the AI will accept for the tech you requested (guaranteed deal at this point). Of course, you can walk away if his asking price is too high. He will be asking for your more highly-valued technologies, of course. Here are some example screenshots:
Yes, I realize the dialogue font needs work. I like the overall style but will need to crack open the font editor and clean it up a bit.
Now I will start working on the AI changes needed for it to initiate diplomatic actions with the player. Hopefully that will be a lot simpler now that the main guts of the code is in place and working.
I’ve deferred the work on monetary tributes for now since that will be different than from MOO1 and I want to give it more thought before implementing.