Follow-up Comment #2, bug #20761 (project freeciv):

A simple solution would seem to be to iterate over open treaties at the
beginning of players_iterate_alive{} in dai_diplomacy_actions() (near the "Try
to make peace..." comment), closing any that are unacceptable to the player on
whose behalf the function is running prior to determining if new clauses
should be proposed.  I'm presuming that when an AI player submits a proposal,
their evaluation loop is suspended whilst the respondant considers it, but I
haven't read enough of the AI diplomacy code to be sure of this: if this
assumption is invalid, so is this suggestion.

For AI<->AI diplomacy, this would provide a mechanism to avoid the described
problem.  For AI<->Human diplomacy, it would avoid Humans having unacceptable
treaty windows sit open for a long time (perhaps as a means of judging current
AI love, by whether a given pact happens to immediately be acceptable).


Reply to this item at:


  Message sent via/by Gna!

Freeciv-dev mailing list

Reply via email to