<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40617 >

2009/1/2 Yoav Luft:
> On the trunk, when giving the trireme "RiverNative" flag, the game
> forces us to change it's movement type to "Both" in order of it to
> work. But doing so cause a in advmilitary.c.
> The backtrace:
>> civserver: advmilitary.c:1183: kill_something_with: Assertion `SEA_MOVING == 
>> utype_move_type(boattype)' failed.

 Interesting. It seems like this has been broken always, and not only
since riverboats were introduced. IIRC AI should not even consider
using transports other than sea moving. (LAND_MOVING transports would
make no sense at all to ferryboat code).

> The AI exepcts the transport to be a boat, moving over seas. Is this
> check really neccesary? Should we check if the suggested unit can
> reach the target unit some other way,

 I'm afraid other parts of AI code couldn't handle such a generic case, so...

>  or at least check that the
> movement type is not "land"?

 ...this sounds like a most sensible solution. I think I have already
converted some other similar assertions to this form (hmm... maybe I
have caused this particular assertion by allowing "Both" moving units
to reach this point of code...)

 - ML

Freeciv-dev mailing list

Reply via email to