Currently, the "value" of trades in diplomacy is static, regardless of the situation. At least, to a large degree (I have noticed the value of declaring war is different against different neighbors; I'm guessing that's based on power level difference?).
For instance, I could have a massive army at my neighbor's doorstep. They would still create an economic treaty between our kingdoms for just a few gildar, and then I'd have a nice road to point the way to their capital.
Or, my favorite is to have the my rival pay me to attack their neighbor. Even if the rival knows I'm a powerful warmonger, and that I will use those 200-400 gildar to fuel my army, and that I'll turn on the rival after I'm done with the neighbor. Even if the rival loathes me, and we are opposite factions, and his neighbor is of the same faction. You can get everyone besides the last standing faction to pay you to defeat the other remaining factions.
A few ways to solve this:
- Based on the diplomacy friendliness score, certain options should be available or not available. For instance, there needs to be a very high level of trust to create economic treaties. Paying for someone to go to war should have a lower value, and only be available to very trusted neighbors and against very hated foes.
- Declaring war should cause a much higher negative diplomacy reaction. Warmongers cannot be trusted for long.
- There should be a difference in the buy and sell price of favors more than there is now. I'd pay a few hundred to have someone else declare war against my enemies, especially based on the power difference, but I'd only require a few dozen to declare war against my neighbors.
- The computer should only value materials that it can use or can use soon. It's easy to give them metal or crystals or favor points in exchange for big sums of gildar.
Better diplomacy trades will come through trades based on both the current situation and probable futures.