400
« on: November 27, 2009, 03:38:53 am »
The issue with masons is that they don't do a pathfinding search to find the nearest rock; they go for the closest rock, geographically, in all three axes, and have an algorithm within that for when several are equidistant. I don't know if that'll change until pathfinding gets an overhaul... having the game lurch to a halt every time a worker goes material-hunting could get old in a hurry. (Maybe if this gets cached a little more aggressively? I don't know; I'm not a programmer.)
I do think that this would be partly alleviated by different mining tasks - one to {d}ig, which concentrates on speed pretty much as it runs now, but is always unlikely to yield stone, and one to {q}uarry, which is always pretty slow, but increases likelihood of spitting out a rock much as digging does now. Each of them would have the "offhand" portion of the task SLIGHTLY increased by skill, but quarrying would still slow for a legendary miner, and digging would still be far more likely to not yield a rock. Combine it with some sensible auto-orders(like being able to auto-quarry any valuable stone, probably toggled for each in the Stones screen; digging through marble could get tedious otherwise, but you also don't want your miners to automatically plow through that diamond cluster; soil is always {d}ug through) would make mining much more sensible.
That said, I do agree that some looser tolerance on full square vs not would be welcome. If, for instance, dwarves could install furniture on a cluttered tile, so long as that furniture did not affect pathing in any way, it'd be very nice indeed. This would also be nice for, say, installing the furniture in a dining room - if I don't take the time to dump it first, tasks may get interrupted by rock being shifted around at unexpected moments, and if I don't wait until the dumping is done, any given rock might have a dump task and be otherwise immobile when someone wants to put a chair in its place, ALSO suspending the task.