<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40261 >
Marko Lindqvist wrote:
> <URL: http://bugs.freeciv.org/Ticket/Display.html?id=40261 >
> 2008/6/8 Marko Lindqvist:
>> unithand.c:362: real_unit_change_homecity: Assertion `!unit_alive ||
>> unit_owner(punit) == city_owner(new_pcity)' failed.
>> I have not yet managed to reproduce.
>> I remember tracking similar assert() last fall, and it turned out to
>> be impossible to fix without major rewrites.
> I think it's always a bug that passenger may conquer cities. Consider
> ruleset where some unit can act both as transporter and unit occupying
> enemy cities. If such unit is carrying allied unit and tries to occupy
> enemy city, city will end under ally's control.
> Fixing that so that passengers never occupy cities also avoids above
> crash (which is caused by enemy unit on board conquering city when
> transport arrives and then city is no longer owned by transport owner.
> Enemy unit on board is not a bug during civil war)
Good explanation but how does that cause the assertion?
Freeciv-dev mailing list