- Feature/building rework 0.1 (#5939)
This is the first part of the building rework.
This creates a building module list as well as some interfaces and abstract classes for building-modules. It's a first attempt to modularize buildings.
Each building has the module list and might have several modules. Modules depend on the hutblock and are queried from it. Buildings switching to the modularized version will become "DefaultBuildingInstances" where only the modules define the behaviour.
Modules do not need a registry for now since they are queried on building creation and then serialized/deserialized. This also allows us to maintain backwards dependency.
We might extend this to a registry in the future if we deem it necessary. I would like to avoid it during the transition period though (afterwards the building registry could be re-used for this sake for example).
This is also the first step where only the Tavern and HomeBuilding is modularized. In the following step I will modularize the views and allow drawing one page per module (optional). After that I will start modularizing the other building types.
I have broken this apart into multiple pull-requests to avoid too many merge conflicts and to allow to review the base mechanics decently. * Fix Builders and Guards beeing interrupted by async requests beeing delivered (#6076)
Fix Builders and Guards beeing interrupted by async requests beeing delivered Fix a case where citizen potentially get stuck forever looking for requests while having none. Fix old, bad visitor data which is displaced to spawn not beeing removed Add tiny chance for recruitment to make the visitor runoff with the goods