I think I know what to change to make the Usagi figure dependent on Tits size or other properties. I mostly learn my way around the MBMScripts by following what
guyverek did in ComplexBreeding. I really wonder how he figured out all the stuff necessary to make ComplexBreeding work.
Anyway here is an overview of methods relevant to unit creation:
New Unit in the Market:
? Not sure the exact start, but eventually Female.Initialize() is called:
-> Female.Initialize()
- Sets Unit Stats e.g. MaxHealth, Maintenance, Price, etc.
- Calls Female.InitializeAppearance() -> sets appearance trait like HairColor, TitsType, etc
- Calls Female.InitializeTrait() -> sets traits
- Patched by ComplexBreeding (Postprocessing)
So in this method or "Female.InitializeAppearance()" would be the right place to set the girl Usagi figure for units in the market based on TitsSize
New Unit by Birth:
-> Character.BeImpregnated(Character monster)
- Decides if conception happens (depends on conception rate)
- Decides how many children (depends on multiple pregnancy value)
- Calls playerData.NewFetus(this, monster) for each fetus
- Patched by ComplexBreeding (Completely replaced but the patch still calls playData.NewFetus)
-> PlayData.NewFetus(Character female, Character male)
- Creates a new unit e.g. "unit = new Dragonian(unitId)" or "unit = new Elf(unitId)"
- Calls unit.Initialize(female, male)
- Patched by ComplexBreeding (Postprocessing)
-> Female.Initialize(Character female, Character male)
- Sets Unit Stats e.g. MaxHealth, Maintenance, Price, etc.
- Sets Haircolor, Titstype, etc.
- Calls Female.InitializeTrait(Character, Character) -> sets traits
So in this initialize method you could add figure changed based on Tits size. Maybe like this:
View attachment 2613692
But I havent tested the code, so maybe its wrong. (By default Usagi figure is EFigure.Girl so no need for else-clause)
So for your mod to work alone, editing Female.Initialize() and Female.Initialize(Character, Character) methods should be enough, I think.
And then for ComplexBreeding to work, I can make the appropriate changes in CBwithTits.
By the way I am not very familiar with dnspy is there a way to properly search for methods? I keep finding myself in the situation of trying to find the caller of a method, but I dont know a good way to do it. :/