References to fake singletons (PlayerData.Instance, HeroController.Instance etc) in ModHooks are removed.
The prepatcher is updated to patch methods on nested types - this is most important with IEnumerator methods but there are some patched methods which it seems are generated from inline delegates.
HeroController, GameManager and PlayerData have patched methods changed to correctly use GetBool rather than field accesses. (I'm not sure if all of these methods are supposed to behave like this, but if any are not then I think it would be nice to explicitly exclude them in the PrePatcher even if it would be redundant.)
Summary of changes: