


This solves both thread locking and performance issues. WorkshopAttackScript: Prevent a settlement from calling its workshop reset while it is under attack.WorkshopObjectScript: Initial workshop setup is called twice but does not need to be since it will reset when the player visits for the first time anyway.WorkshopParentScript, WorkshopScript: The current workshop tracking variable should now be updated properly when visited, and when the player leaves.This also required minor modifications to WorkshopScript and WorkshopObjectScript. This greatly helps in reducing the number of threads that are alive on WorkshopParentScript at the same time and makes script lag issues that could still occur after the reset had finished running less likely. The resource assignment procedures however, which run in regular intervals while the player stays at a workshop and also are called every time a resource object is built are more than 90% faster now. Workshop resets are now 25% faster, on average, which is significant but admittedly only a minor improvement for overly large workshops. WorkshopParentScript: To improve performance, the ResetWorkshop() function and the "core functions" that handle actor and object assignment have been completely rewritten. This thing, which managed to reduce the lag significantly for settlement builders, including modded processes:.

Fixing massive spam from DLCs, when game attempted to load resources from them, before they were initialized.
