Ancient Warfare 2

Ancient Warfare 2

6M Downloads

Worker's still leaving home in rain to work. Further to issue #54.

Dulciphi opened this issue ยท 3 comments

commented

Workers are now correctly going home when it rains, however, when a worksite has work, this seems to override their command to stay indoors. This was easily replicable by placing some bonemeal in the bottom slot of the wheat farm worksite block. Curiously, the bonemeal was used instantly, though the worker was still inside. Perhaps he's within range to do work from inside the house? Regardless, he came outside to harvest in the rain.

commented

That's actually a win-win with the work buffer then. I'm happy with it. I'll look into finally learning how to re-open a ticket, too. Cheers.

commented

Hmm... Will investigate further. Possibly need to rework the 'work ai' a bit.

You -can- re-open old tickets if needed, e.g. if the issue isn't fixed properly :)

The 'instant' bonemeal use is a side-effect of the internal power-buffer that worksites maintain. They store 2-3 work ticks worth of power internally and use that for processing work. The workers merely refill this buffer (that is how they know if a site 'has work' or not...the buffer will be less-than-full).

It does have a side-effect of allowing 1-2 blocks worth of 'work' to be done instantly if there was previously no work. It also (and more importantly) has a side-effect of making for a very efficient (CPU wise) update method for the worksites and query method for the NPCs. Previously if NPCs wanted to know if a site 'had work', the site had to query its blocks / block lists....a fairly slow process. Now they just check if the worksite is < full power.

Basically allowed me to move querying of the blocks/work states into a more controlled method in the worksite itself, rather than triggered from work requests or 'has work' requests.

No, this behavior is not ideal...but it is pretty dang close considering the benefits it brings :)

commented

Closed by 9eafaa1