Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2002:
[Freeciv-Dev] Re: [RFC] Behaviour of units in eXplore mode near cities
Home

[Freeciv-Dev] Re: [RFC] Behaviour of units in eXplore mode near cities

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Gregory Berkolaiko <gberkolaiko@xxxxxxxxxxx>
Cc: Petr Baudis <pasky@xxxxxxxxxxx>, freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: [RFC] Behaviour of units in eXplore mode near cities
From: Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 17 Feb 2002 21:28:08 +0100
Reply-to: rf13@xxxxxxxxxxxxxxxxxxxxxx

On Sun, Feb 17, 2002 at 07:10:08PM +0000, Gregory Berkolaiko wrote:
>  --- Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx> wrote: 
> > On Sat, Feb 16, 2002 at 08:24:49PM +0100, Petr Baudis wrote:
> > > Hi,
> > > 
> > >   There's one problem I discovered while cleaning up
> > ai_manage_explorer(), but
> > > its solution would require possible behaviour change, so I left it in
> > that time
> > > just with one FIXME dropped. The code piece is:
> > > 
> > >         /* We won't travel into cities, unless we are able to do so -
> > diplomats
> > >          * and caravans can. */
> > >         /* FIXME/TODO: special flag for this? --pasky */
> > >         /* FIXME: either comment or code is wrong here :-) --pasky */
> > >         if (map_get_city(x1, y1) && (unit_flag(punit, F_DIPLOMAT) ||
> > >                                      unit_flag(punit, F_CARAVAN)))
> > >           continue;
> > > 
> > >   As obvious, the comment and the actual code differs, they even
> > contradict.
> > > And I wonder which behaviour makes more sense and is more correct -
> > to NOT
> > > EVADE enter cities when we are diplomat or caravan, or to EVADE
> > cities. The
> > > "not evade" behaviour appeared as obvious to me so I wrote that
> > comment, but
> > > then when I rewrote the if and sliced the ifs, negating the
> > conditions...
> > 
> > I would suggest changing the comment to something like:
> >  Traveling into cities is special for diplomats and caravans. So skip
> > them.
> 
> Eh?
> I didn't quite understand what Petr said but I think the code is wrong.
> There should be ! before testing for flags...

Test it. If you disable the if altogether or invert it thing you will
get popup at the client side that a diplomat or caravan have entered
the city. IMHO the if is there to prevent this. And yes the comment
has to be updated. And yes this may lead to sub-optimal paths for
diplomats and caravans.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "Despite all the medical advances of the 20th century, the mortality 
  rate remains unchanged at 1 death per person."


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