[freeciv-ai] Questions on advdiplomacy
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
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.
- [freeciv-ai] Questions on advdiplomacy,
Jordi Negrevernis i Font <=
|
|