On Wed, 4 Nov 2015 21:37:50 +0100 win...@genial.ms wrote: > I slightly misremembered, it increases the request priority for up to 6 > experts, but I found no check which could stop requesting more when all work > locations in buildings or tiles are filled.
OK, that makes sense. I think its 5 experts though (multipleMax). You are right though that there should be a brake on this to stop requesting when there are plenty of experts, and it should also be suppressed when the bonus would be reduced. In practice though, colonies change their production priorities moderately often, so many wishes (should:-) get dropped. > Together with what I wrote above I assume a single colony could suck up all > experts of one type leaving none for other colonies. > I think it should prioritize based on higherlevel buildings standing in the > colony, and as a tie breaker on input material production. IMHO the expert should go where it can have most effect. When the big AIColony rewrite was done, that was very hard to work out. The production code has since been improved, and it should be easier. > > > how workerwishes never get deleted, > > > > WishRealizatioMission calls completeWish which deletes wishes. Is this not > > happening? > > Sorry, when writing this I did not think of distinguishing deletion of > outdated wishes which for some reason the colony does not need anymore > (for example the forests got cut down and no more trappers or woodcutters > needed or higher level materials stopped being produced there for some > reason), > which I was writing about, from cleaning up fulfilled wishes. > updateGoodsWishes deletes outdated wishes, updateWorkerWishes does not Goods do not have missions (although a bunch of code would be nicer if they did), so they need special handling in updateGoodsWishes. WishRealizationMission cleans up completed worker wishes because it is in control when the wish is completed. Anyway, my reservations aside, there is certainly enough substance here that this area could do with a revisit. I have got as far as grabbing and reading your aicleanup patch, and expect to start merging it soon. BTW, why in an abstract class like AIPlayer do you want to have methods with empty implementations (i.e. "{}"). Surely declaring them abstract is clearer? Cheers, Mike Pope
pgpnJHg8Sya36.pgp
Description: OpenPGP digital signature
------------------------------------------------------------------------------
_______________________________________________ Freecol-developers mailing list Freecol-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freecol-developers