I finally managed to get a user interface up and running for the diplomacy. There are only a few clauses working for now, namely peace and money transfer.
I coded an evaluation of peace so the ai decides whether or not it's worthwhile. We'll see if it's any good, but in the Carthago Delenda est scenario, Hannibal would refuse peace whereas Scipio would accept (considering that Scipio sees Hannibal has a bigger army whereas Hannibal sees no opponent, but both see Hannibal can seize enemy land).
I will add evaluation of money transfer (should be straightforward), and of money over X turns.
I do not plan to give different personalities to the ai right now. It's pretty easy to see how an ai would be cautious or reckless, vindicative or not, but that will come much later, as refinements.
I now have to find out why an ai would want to go to war. This will require a new scenario, since currently all scenarios start with war already declared.