JonathanSafer / screeps

Screeps AI
MIT License
25 stars 8 forks source link

Factory Manager will "never" decide to make organism #44

Closed JonathanSafer closed 4 years ago

JonathanSafer commented 4 years ago

This may be the case with some other products as well. For 1 batch of organism, 930 cells are needed. Normally, this is not necessarily a problem since high tier resources have dibs over low tier. However, in this case, one batch of phlegm only needs ~520 cells. This means that if we have more than 520 cells but less than 930 (odds that we jump from below 520 to above 930 in one 400 tick period are near 0), the commodity manager will decide to start another batch of phlegm. This phlegm will in turn be processed up the line until it eventually stays sitting as organoid(T4). This problem also occurs with tissue for the same commodity line, where the CM will once again prefer to make organoids over organisms.

JonathanSafer commented 4 years ago

probable solution: when looping through materials for product, find highest tier resource. If we have enough high tier resource but are otherwise no go (not enough of a lower tier resource), still subtract the amount of low tier that we would've needed from the empireStore so that another city won't use from the lower tier stash. This will result in negative numbers, but should still work.