Complete.Org: Mailing Lists: Archives: freeciv-ai: September 2002:
[freeciv-ai] Re: How do AI units board a ship?

[freeciv-ai] Re: How do AI units board a ship?

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: "Per I. Mathisen" <per@xxxxxxxxxxx>
Cc: Gregory Berkolaiko <Gregory.Berkolaiko@xxxxxxxxxxxx>, Freeciv AI development <freeciv-ai@xxxxxxxxxxx>
Subject: [freeciv-ai] Re: How do AI units board a ship?
From: "Ross W. Wetmore" <rwetmore@xxxxxxxxxxxx>
Date: Sun, 15 Sep 2002 12:48:37 -0400

At 09:23 PM 02/09/14 +0000, Per I. Mathisen wrote:
>On Sat, 14 Sep 2002, Gregory Berkolaiko wrote:
>> Do they walk to it from a great distance and then jump on board, or get
>> picket up from a city or walk to the shore and then moved on board?
>See my post on ferry code earlier this month for a more thorough
>explanation of what the AI does.
>In short: It walks up to a certain threshold distance to jump aboard a
>ship which is idling in a city.

To my best level of understanding, the "in a city" part above is totally
irrelevant, and certainly should be.

>> In other words, if we remove this idiotic
>>      if (ground_unit_transporter_capacity(x1, y1, pplayer) > 0)
>> check from the warmap, will AI really suffer.
>I have no idea. Loooks like a bad way to do it, but what's new when it
>comes to the ferry code... it may be that it uses this assumption
>somewhere in the ferry code for all I know.

The check above is typical to determine is you have a transport type
so you know if you need to check for passengers in the current location.

Because of the somewhat brain-damaged IDLE code, units onboard a ship
may be idled at any time. They either need to resentry themselves, or
the ship may notice it is going to strand non-swimmers in the middle of 
the ocean, and will do it for them.

So, you need to be careful about when passengers think they are cruising.

I don't know exactly where you found this, but it may be used to deal
with cases where units are separated into transport types and non-transport
types for various other reasons as well.

For example if you found an IGTER in the OCEAN it would not move at IGTER
speeds, but at the speed of its transport (i.e. SINGLE_MOVE).



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