<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...)
Freeciv-dev mailing list