Follow-up Comment #5, bug #18816 (project freeciv): OK, here's what I guess is going on here. (Sorry if you'd worked this out; I finally got there.) * You had a bunch of cities building Caravans. * You got The Corporation. You won't be able to direct new cities to build Caravans, but the existing ones are left as they are; there's no check on productions at this point. * You tried to get Genetic Engineering, but fumbled it. You never had it. ** However, as I noted in comment #1, forget_tech_transfered() is called. This calls player_tech_lost(). *** That loops around all governments, unit activities, and city productions, and aborts any that you wouldn't be able to start in your current situation. This is done without reference to the specific tech you "lost". In the case of city productions, it chooses a replacement project with choose_build_target(). *** So that includes the Caravan productions, even though (a) they're nothing to do with Genetic Engineering, (b) the server would have upgraded them to Freight the next turn.
Two things to fix: * Trying to "remove" a tech the player never had. That just looks dangerous. * However, that's not sufficient; had you been the donor of Genetic Engineering you could genuinely have lost it and triggered this. Therefore, the checks in player_tech_lost() need to be reviewed and unified somehow with other server behaviour, particularly the end-turn production upgrade behaviour. ** We don't want to just upgrade here and now; if we were doing that, we should do it when we gained the tech. We just want to leave the existing production alone. ** (I don't think anything other than production is actually affected, as I suspect nothing other than actually losing techs can cause activities or governments to become unavailable.) _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?18816> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freecivemail@example.com https://mail.gna.org/listinfo/freeciv-dev