[Freeciv-Dev] Re: patch: make ai understand peace and alliances 2 (PR#12
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
--- Gregory Berkolaiko <gberkolaiko@xxxxxxxxxxx> wrote:
> --- Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
> > On Mon, Feb 25, 2002 at 02:07:00AM -0800, Per I. Mathisen wrote:
> >
> > So we have now active diplomacy and passive diplomacy. The question
> > is: is it worth implementing passive diplomacy because you have to
> > reaudit the code when active diplomacy is implemented?
>
That is a big if. Unless you know someone else is working on a diplomacy
patch, better the current patches go through.
> Raimar,
>
> I am fully supportive of what Per is doing. My reasons:
> 1. Passive diplomacy is useful, fx for scenarios
> 2. "Reaudit" is a strong word. To add active diplomacy on top of passive,
> you wouldn't need to touch most of the existing code. It would probably
> amount to
> profit estimation and hysteretic decision making.
Hysteretic decision making. Sounds cool, but conveys no meaning to me.
>To substitute every
> is_enemy call in AI with is_enemy_or_worth_breaking_treaty_with is wasteful
> and not at all clever.
> 3. What Per is doing is a first step towards full diplomacy, it has to be
> done, and we want have to redo a significant portion of this.
>
> Per,
>
> I haven't yet looked at your patch but I will. Raimar's list would probably
> be a great help. There is also place in savegame.c where state of war is
> brutally
> forced upon AI. If you switch it off (as I proposed some time ago), you can
> actually have a savegame with allied AI and load it and AI stay allied, which
> is a good testing ground for you! But you have probably know it by now
> anyway.
>
> Best of luck,
> G.
>
>
> >
> > Nevertheless you have to deal with the remaining cases:
> > ./ai/advmilitary.c:693: if (acity && acity->owner == pplayer->player_no) {
> > ./ai/aicity.c:1026: if(acity && acity!=pcity &&
> > acity->owner==pcity->owner) {
> > ./ai/aihand.c:449: if (DEBUG_AMG_RATING &&
> > prev_rating[pplayer->player_no][i] != rating && (rating > 0 || rating >
> > prev_rating[pplayer->player_no][i]))
> > ./ai/aiunit.c:1283: (acity && acity->owner == punit->owner &&
> > acity->ai.urgency &&
> > ./ai/aiunit.c:1645: pcity->owner != punit->owner && pcity->ai.invasion
> > == 2 &&
> > ./ai/aiunit.c:2353: if ((dist == 1) && (pplayer->player_no !=
> > ctarget->owner)) {
> > ./ai/aiunit.c:516: if (pcity->owner != punit->owner) return FALSE;
> > ./ai/aiunit.c:612: if (pcity && pcity->owner != punit->owner)
> > ./ai/aiunit.c:647: if (aunit == punit || aunit->owner != punit->owner)
> > continue;
> > ./ai/aiunit.c:665: if (aunit == punit || aunit->owner != punit->owner)
> > ./ai/aiunit.c:690: if (aunit == punit || aunit->owner != punit->owner)
> > ./ai/aiunit.c:714: if (aunit == punit || aunit->owner != punit->owner)
> > ./ai/aiunit.c:871: if (pcity && pcity->owner != pplayer->player_no
> > ./ai/aiunit.c:914: if (aunit && aunit->owner == punit->owner) { x =
> > aunit->x; y = aunit->y; }
> > ./ai/aiunit.c:915: else if (acity && acity->owner == punit->owner) { x =
> > acity->x; y = acity->y; }
> > ./client/packhand.c:341: if (pcity && (pcity->owner != packet->owner)) {
> > ./client/packhand.c:574: if (pcity && (pcity->owner != packet->owner)) {
> > ./common/city.c:1929: && punit->owner == pcity->owner)
> > ./common/city.c:838: || (pc1->owner == pc2->owner
> > ./common/city.c:875: if (pc1->owner==pc2->owner)
> > ./common/combat.c:231: if (pcity && (city_owner(pcity) != owner)
> > ./common/game.c:312: if (owner != no_owner) {
> > ./common/player.c:240: if (punit->owner==pplayer->player_no)
> > ./common/player.c:247: if (punit2->owner == pplayer->player_no)
> > ./common/player.c:252: if (pcity && pcity->owner ==
> pplayer->player_no)
> > ./common/player.c:270: if(pcity && (pcity->owner==pplayer->player_no)) {
> > ./common/player.c:286: if(punit && (punit->owner==pplayer->player_no)) {
> > ./common/player.c:301: if (pcity && (pcity->owner ==
> pplayer->player_no))
> > ./common/player.c:56: return (pcity->owner==pplayer->player_no);
> > ./common/unit.c:109: if(pcity->owner!=pdiplomat->owner &&
> > ./common/unit.c:169: if(city1->owner != pcity->owner)
> > ./common/unit.c:189: && punit->owner==pcity->owner
> > ./common/unit.c:452: if (pcity->owner != punit->owner)
> > ./common/unit.c:471: return pcity && pcity->owner==punit->owner;
> > ./server/cityhand.c:416: if (!pcity || pcity->owner != pplayer->player_no)
> > return;
> > ./server/diplhand.c:160: if (pcity->owner != pplayer->player_no) {
> > ./server/diplhand.c:236: if (pcity->owner != other->player_no) {
> > ./server/plrhand.c:116: if
> > (pplayer->player_no==find_city_wonder(B_GREAT)->owner) {
> > ./server/settlers.c:414: if (punit->owner!=pplayer->player_no)
> > ./server/srv_main.c:943: if (other_player->player_no !=
> > pplayer->player_no
> > ./server/unithand.c:1437: if (!punit || punit->owner !=
> pplayer->player_no)
> > ./server/unithand.c:176: if (punit->type == packet->type && pcity &&
> > pcity->owner == pplayer->player_no) {
> > ./server/unithand.c:208: if (pcity->owner != pplayer->player_no) return;
> /*
> > Allied city! */
> > ./server/unithand.c:363: if (new_pcity && new_pcity->owner ==
> > punit->owner) {
> > ./server/unithand.c:922: && pcity->owner != punit->owner
> > ./server/unittools.c:1363: if (pcity && pcity->owner == punit->owner)
> > ./server/unittools.c:1415: if (pcity->owner == punit->owner){
> > ./server/unittools.c:1525: if (is_ground_unit(wunit) && wunit->owner ==
> > vunit->owner) {
> > ./server/unittools.c:250: if (punit2->owner == punit->owner) {
> > ./server/unittools.c:2808: if (tocity->owner == punit->owner) {
> > ./server/unittools.c:2827: if (fromcity != homecity && fromcity->owner
> > == punit->owner) {
> >
> > Raimar
> >
> > --
> > email: rf13@xxxxxxxxxxxxxxxxx
> > Windows: From the people who brought you edlin...
> >
>
> __________________________________________________
> Do You Yahoo!?
> Everything you'll ever need on one web page
> from News and Sport to Email and Music Charts
> http://uk.my.yahoo.com
>
__________________________________________________
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com
[Freeciv-Dev] Re: patch: make ai understand peace and alliances 2 (PR#1277), Petr Baudis, 2002/02/25
|
|