Complete.Org: Mailing Lists: Archives: freeciv-ai: March 2005:
[freeciv-ai] Questions on advdiplomacy
Home

[freeciv-ai] Questions on advdiplomacy

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-ai@xxxxxxxxxxx
Subject: [freeciv-ai] Questions on advdiplomacy
From: Jordi Negrevernis i Font <jorneg@xxxxxxxxxxx>
Date: Wed, 02 Mar 2005 18:42:41 +0100

I was looking at advdiplomacy.c /Freeciv 2.0.0 Beta 8) and found 3 issues:

* When we evaluate an exchange of a city, we check for the capital city to deny a request.
 Why we don't check to see if it's the last city?

*
   /* If this lucky fella got a ceasefire with da boss, then
    * let him live. */
   if (pplayer_get_diplstate(aplayer, ai->diplomacy.alliance_leader)->type
       == DS_CEASEFIRE && pclause->type == CLAUSE_CEASEFIRE) {
notify(aplayer, _("*%s (AI)* %s recommended that I give you a ceasefire."
              " This is your lucky day."), pplayer->name,
              ai->diplomacy.alliance_leader->name);

Why we do not accept a peace state with the boss to give a cease-fire to an enemy?


*
   /* Remember: pplayers_allied() returns true when aplayer == eplayer */
   if (!cancel_excuse && pplayers_allied(aplayer, eplayer)) {
     if (ds == DS_CEASEFIRE) {
       kill_desire -= kill_desire / 10; /* 10% off */
     } else if (ds == DS_NEUTRAL) {
       kill_desire -= kill_desire / 7; /* 15% off */
     } else if (ds == DS_PEACE) {
       kill_desire -= kill_desire / 5; /* 20% off */
     } else if (ds == DS_ALLIANCE) {
       kill_desire -= kill_desire / 3; /* 33% off here, more later */
     }
   }
 } players_iterate_end;

In computing the desire for war, i think that the first check should exchange DS_NEUTRAL and DS_CEASEFIRE because you get a higher penalty for breaking a cease-fire instead of a neutral treaty.




[Prev in Thread] Current Thread [Next in Thread]