bugFreeciv - Bugs: bug #20761, Illegal treaty lives forever

Show feedback again

bug #20761: Illegal treaty lives forever

Submitted by:  Marko Lindqvist <cazfi>
Submitted on:  Tue 23 Apr 2013 09:17:42 AM UTC  
Category: aiSeverity: 3 - Normal
Priority: 5 - NormalStatus: None
Assigned to: NoneOpen/Closed: Open
Release: Operating System: None
Planned Release: 

Add a New Comment (Rich MarkupRich Markup):

You are not logged in

Please log in, so followups can be emailed to you.


Tue 23 Apr 2013 11:43:01 AM UTC, comment #2:

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).

Emmet Hikory <persia>
Project Member
Tue 23 Apr 2013 10:39:38 AM UTC, comment #1:

> it's probably bug that they end in such a situation even if tech
> loss is involved

That's probably caused by more general "Unaccepted treaty lives forever" -issue. As far as I can see treaty between AI players is never rejected or cancelled. It's either accepted or waits acceptance forever, even if it turns to illegal one over time.

Main problem in such active treaties is that they block all future diplomacy between the players (players cannot even enter ceasefire once there has been proposal the other party didn't want to accept sometime in the past)

Marko Lindqvist <cazfi>
Project Administrator
Tue 23 Apr 2013 09:17:42 AM UTC, original submission:

I got treaty between two AI players that they are unable to accept due to one of them not having the tech he is supposed to give away (it's probably bug that they end in such a situation even if tech losss is involved). As handle_diplomacy_accept_treaty_req() aborts early, treaty is never removed. Each turn the AIs try to enter ceasefire, but new clauses are just added to the illegal treaty they cannot accept.

Marko Lindqvist <cazfi>
Project Administrator


(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by persia (Posted a comment)
  • -unavailable- added by cazfi (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    No Changes Have Been Made to This Item
    Show feedback again

    Back to the top

    Powered by Savane 3.1-cleanup