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

Attachment: pgpnJHg8Sya36.pgp
Description: OpenPGP digital signature

------------------------------------------------------------------------------
_______________________________________________
Freecol-developers mailing list
Freecol-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freecol-developers

Reply via email to