Hello,
I made a little mod called Changeable Body Sliders , for the purpose of allowing you to change your character's weight and build. My next step is to have a campaign behavior that sets every Hero's body properties (that is, build and weight) to some calculated value based on their skills and attributes upon every DailyTick. I'm doing it like this, as opposed to only once when the campaign is fully loaded, because there's a DynamicBodyCampaignBehavior (in namespace TaleWorlds.CampaignSystem.SandBox.CampaignBehaviors, for the curious DLL trawler) that implements similar behavior on every daily tick. It gets loaded in Campaign.cs, so it is active in any campaign (as of 1.4.3). However, as I'm sure you are all aware, this behavior seems to not be working correctly and it tends to turn people into skeletons, like the Horseman of Famine.
I'd like to ask you guys a few questions:
I made a little mod called Changeable Body Sliders , for the purpose of allowing you to change your character's weight and build. My next step is to have a campaign behavior that sets every Hero's body properties (that is, build and weight) to some calculated value based on their skills and attributes upon every DailyTick. I'm doing it like this, as opposed to only once when the campaign is fully loaded, because there's a DynamicBodyCampaignBehavior (in namespace TaleWorlds.CampaignSystem.SandBox.CampaignBehaviors, for the curious DLL trawler) that implements similar behavior on every daily tick. It gets loaded in Campaign.cs, so it is active in any campaign (as of 1.4.3). However, as I'm sure you are all aware, this behavior seems to not be working correctly and it tends to turn people into skeletons, like the Horseman of Famine.
I'd like to ask you guys a few questions:
- It seems as though it's possible to remove a behavior via the RemoveBehavior<T>() function in CampaignManager, but is it advisable to use this function to get rid of the DynamicBodyCampaignBehavior? I feel as though that could break things pretty severely if misused.
- If I can't remove a behavior safely (which would bring into question why such a method exists), is there any way to ensure that my DailyTick() event override fires after another DailyTick, so that any bad tick effects can be overridden by mine? The broader question: Is the order of event firing both deterministic and knowable?
- Sort of unrelated, but there's a crash bug in my mod that happens when changing your gender after your maturity level is changed via the age slider (that is, you go from adult to tween,teen, etc.). This happens reproducibly, and it's too easy to make happen. So, is there a way to limit how far the age slider can go? I couldn't find anything in the FaceGenBody.xml file (I think that's what it's called, unsure). Ideally, I want to stop it from reaching the point at which the body's maturity type changes, wherever it happens to be. I know that Detailed Character Creation let you change yourself to a kid, but I'm not sure if it also had this bug and whether the underlying crash bug is in pre-1.4.2 builds of Bannerlord.