Some work, some don't. Here is what I have found so far...
trade - Trade Rights
Works.
alliance
Works.
If you need to script an alliance between two AI factions then that can be done directly instead. What diplomacy_mission does provide is a way to make the AI ask the player for an alliance, letting the player decide. That could be a nice touch instead of a scripted auto-alliance.
info - Map Info
Doesn't work. The log reports "err: invalid mission_type".
gift
Doesn't work. The log reports "err: invalid mission_type".
It appears that this is the "Gift" button, in which case small wonder it does not work. If there is a type for "Give Region" and the give-money options then I have not found them.
bribe
Doesn't work. The log reports "err: invalid mission_type".
threat - Accept or we will attack
Doesn't work. The log reports "err: invalid mission_type".
I don't see what use it would be on its own anyway. In conjunction with another demand, sure.
attack - Attack another faction
Doesn't seem to do anything. No log error but the diplomat simply walked off. Might need more testing. I only tried with "slave" as the mission_target.
access - Military Access
Works! Partly: so far I have only been able to demand access, not offer it.
mission_target is the access-to faction. This...
Code:
console_command diplomacy_mission france milan access milan
...makes france demand Military Access on milan's regions.
NOTE: the factions must be allied at the time of calling this script. Allying them after does not work, even if france has not had its turn yet (the turn in which they will make this demand).
This does not work:
Code:
console_command diplomacy_mission france milan alliance
console_command diplomacy_mission france milan access milan
One might expect that it would ask for an alliance and demand military access in the same diplomacy request. Not so: it asks for alliance only. (I don't know if multiple diplomacy_mission's can be used together like this at all. I haven't found any combination that works together so far.)
Also, this does not work:
Code:
console_command diplomacy_mission france milan access france
By rights it should be making an
offer of military access to milan: giving milan M.A. on france's regions. No log error but the diplomat, despite performing his diplomacy animation, does not bring up the diplomacy scroll. This might need more testing: it is the only one so far that fails but looks like he's
trying to do it ... maybe there's something else at play here.
nullify_alliance - Cancel Alliance
Untested.
ceasefire
Doesn't work. The log reports "err: invalid mission_type".
protectorate - Become a vassal
Works! The diplomat will demand that the target faction becomes a vassal.
NOTE: the two factions must be at war. They do not need to be at war prior to this script being called (unlike the "access" type), just prior to the diplomat's turn.
Whether or not his likelihood of asking depends on cost and standings (descr_diplomacy.xml) I don't know. I did not alter those values at all, simply tried it on two factions at the start of a campaign who were neutral (I used script to put them at war just before making that diplomacy_mission call).
Getting an AI faction to agree takes an extra step but I'll come back to that later.