Maybe this will help with path finding if you haven’t implemented it already.
It seems like some paths are stored but removing ladders really screws stuff up.
Also, it seems weird that hearthlings are always searching instead of building a map of known space and agents updating the map as they make changes. when a goblin enters known space it changes should update the map as well. then write a data structure that stores paths and when a new a player sets a new action, the engine links a path from that object or set of objects to an existing path. Obviously, this requires a cache of paths. Road never expire from the cache but walked paths do. Things like hunting grounds would be special cases… there would need to be some sort of fall through objects with bounding that determine given two points how to path to them. This sweeping thing just seems really slow.