Jump to content

Milkable Colonists updated for 1.1


Recommended Posts

Just want to say Thank you for your work for fixing it.

Slight questions though, I had been trying to understand how the drugs work in the mod, but it seem Lact X (as well as the max and hyper. As well as the the lactine from the other mods) it doesn't seem to affact some of the races. (Mincho does have slime breasts? does that affect it? Or is it just race support mod overriding somethings? Not sure.) Of course this issue has existed i think even in back in 1.3. Of course it probably not this mod issue, rather the race's hediff affecting the this mod instead. 

Link to comment

Different races may not classify as human and so don't end up getting the "I can make milk" setup. The drugs won't do anything for those races.

 

I posted this not to long ago, and it might help for your custom race:

 

A note for people using HAR pawns that might not know this. Included in the MC mod, in the folder:

rjw-mc-biotech\1.4\Patches

Is a file named MilkPatch.xml.bak

If you delete the .bak from that filename, this should patch a good portion of your HAR pawns to allow them to produce milk.

 

This file existed before I started making changes to the mod and it still works for the races listed.

 

Link to comment

Caught another bug that stunts pawns.

When a pawn has 100% milk when lactating and is unconscious, or can not do anything (lying in a hospital bed) another pawn tries to milk this pawn and catches an error and tries again to create a task for milking and thereby obtains a loop of errors.

Most likely there is no additional check on the state of the pawn.

Strange that you can't milk an unconscious pawn. The initiator is essentially another pawn, and the action is performed by the object of the action. 

 

I'll tell you right away that the problem exists in any race. My race has a patch for compatibility with this mod and even has its own custom milk.

 

Spoiler

Sly started 10 jobs in one tick. newJob=BreastfeedAdult (Job_3582) A=Thing_Alien_Mucus4824 jobGiver=RimWorld.JobGiver_Work jobList=(BreastfeedAdult (Job_3562) A=Thing_Alien_Mucus4824) (BreastfeedAdult (Job_3564) A=Thing_Alien_Mucus4824) (BreastfeedAdult (Job_3566) A=Thing_Alien_Mucus4824) (BreastfeedAdult (Job_3568) A=Thing_Alien_Mucus4824) (BreastfeedAdult (Job_3570) A=Thing_Alien_Mucus4824) (BreastfeedAdult (Job_3572) A=Thing_Alien_Mucus4824) (BreastfeedAdult (Job_3574) A=Thing_Alien_Mucus4824) (BreastfeedAdult (Job_3576) A=Thing_Alien_Mucus4824) (BreastfeedAdult (Job_3578) A=Thing_Alien_Mucus4824) (BreastfeedAdult (Job_3580) A=Thing_Alien_Mucus4824) (BreastfeedAdult (Job_3582) A=Thing_Alien_Mucus4824) 
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch3 (string)
Verse.AI.JobUtility:TryStartErrorRecoverJob (Verse.Pawn,string,System.Exception,Verse.AI.JobDriver)
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch4 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch4 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch4 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch4 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch4 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch4 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch4 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch4 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch4 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch4 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch4 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.JobTrackerTick_Patch0 (Verse.AI.Pawn_JobTracker)
(wrapper dynamic-method) Verse.Pawn:Verse.Pawn.Tick_Patch3 (Verse.Pawn)
Verse.TickList:Tick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch3 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch2 (Verse.Game)
Verse.Root_Play:Update ()

 

It looks like

pawn.health.Downed

or

partner.health.Downed

is not checked, but I could be wrong.

Edited by Akiya82
Link to comment

@kilkid One of the previous issues was if you had an older version of Coffee's Rimworld Ideology Addons  (CRIA) it would cause problems with the dev menu.

 

Make sure you have the newer version listed on the download page alongside the download of the Milkable colonists mod. Link to post with the downloads

 

It it also possible that there might be other mods that aren't compatible, but you'll need to provide more information such as the error message you're getting from the log.

Link to comment

@Akiya82 Do you have the latest version of the mod?  With version 10 I redid the jobs to work better with downed pawns. I no longer check partner.health.downed for valid job targeting.

 

I tested it just now overdosing a pawn and then running both the milk breasts and breastfeed job from the downed pawn and it worked fine.  Both on the ground and in a bed.

 

Maybe it's something specific to how your pawn is downed?

Link to comment
5 hours ago, onslort said:

@Akiya82 Do you have the latest version of the mod?  With version 10 I redid the jobs to work better with downed pawns. I no longer check partner.health.downed for valid job targeting.

 

I tested it just now overdosing a pawn and then running both the milk breasts and breastfeed job from the downed pawn and it worked fine.  Both on the ground and in a bed.

 

Maybe it's something specific to how your pawn is downed?

as soon as I check, I will give feedback.

Link to comment

It seems that if pawns are kept lactating trough Lact-x with the drug policy, but you don't allow breastfeeding, they will stop lactating after 10 days (guess this is a Biotech DLC specific thing?) because nobody directly did breastfeeding. Would make sense for natural lactation, but for drug induced ones?

Link to comment

Update Ver 010b

A small update as Steam sales are on and I'm playing less Rimworld currently.

 

After helping Akiya82 with a bug I realized I was assuming 'milk' when breastfeeding. This may apply to very few people, but this version will now check the item set in the CompProperties gives nutrition and then take the nutrition value from it for breastfeeding. It will fall back to 0.01 if it can't find a nutritional value on the item but the item is still flagged as gives nutrition.  There is more math behind the scenes, but if you know what I'm talking about here you can look it up yourself in the source.

 

Also added some more Russian translations provided by Akaluto.

Link to comment

Hey onslort, just noticed an issue in regards to breast growth.

I'm using Licentia labs with this mod and using the dev tool to show the hediff.tooltips, I can see chest size halting at 2.0, which is what I've set it to. But with breast growth set to either on or off in MC settings, the value keeps shrinking back to 2.0 when any attempt is made to go beyond that value. Even though the setting description states that sizes beyond the slider can be achieved through drugs etc.

 

I'm no modder, but as a work around I've tried editing the MilkSettings.CS file on line 38 and 63 to give a higher top limit to select on the mod settings, though this doesn't seem to have an effect on the top limit selectable on the mod settings in game. Can anyone give some guidance on how to get this workaround to work?

Link to comment

@Thermite123

I've just done some quick tests and both with and without Licentia labs I can get the severity to go past 2. I'm using OTYOTY's Sized apparel, (and I'm not using rimnude) and the art seems to stop around 2. Making the number bigger won't make the art look any bigger.

image.png.d6e3323e01bb1c65e8bf109d6f975f75.png

 

I added a max size slider in MC that you might need to adjust. This will hard cap what value/size the breast hediff severity can become. If this is already set beyond 2 then MC won't be capping the breast size.

image.png.cfa52dbbd7829554d2d1c9908fd831e2.png

 

Maybe there's another mod involved that is capping the severity?

Link to comment

If you wanted the slider to go further, you could adjust that in the settings.cs. Existing lines:

            breastGrowthMaxSize = Mathf.Clamp(breastGrowthMaxSize, 0.2f, 5.0f);

            breastGrowthMaxSize = (float)listingStandard.Slider(breastGrowthMaxSize, 0.2f, 5f);

 

Change the 5.0f to 10.0f, or whatever other higher number you want.

 

If you want the mod to ignore the size cap slider completely, in the file milk_drugs.cs comment out these two lines:

                    if (breasts.Severity > maxBreastSize)
                        breasts.Severity = maxBreastSize;

 

You'll have to do the same in the file HumanCompHasGatherableBodyResource.cs

Comment out these lines near the bottom:

                        if (breasts.Severity > maxBreastSize)
                            breasts.Severity = maxBreastSize;

 

I'll add an option to toggle ignoring the max size slider for my next release.

Edited by onslort
Link to comment

Is there a way to flip the script in the settings so that rather than having hungry pawns seek out pawns with milk to feed, instead have full pawns seek out pawns to feed? Maybe with a way to designate certain pawns as "to be fed" and others not? It would be nice to have the meals deliver themselves. It would also be nice to be able to tag pawns to be fed whether they are hungry or not.

Link to comment
18 hours ago, onslort said:

If you wanted the slider to go further, you could adjust that in the settings.cs. Existing lines:

            breastGrowthMaxSize = Mathf.Clamp(breastGrowthMaxSize, 0.2f, 5.0f);

            breastGrowthMaxSize = (float)listingStandard.Slider(breastGrowthMaxSize, 0.2f, 5f);

 

Change the 5.0f to 10.0f, or whatever other higher number you want.

 

If you want the mod to ignore the size cap slider completely, in the file milk_drugs.cs comment out these two lines:

                    if (breasts.Severity > maxBreastSize)
                        breasts.Severity = maxBreastSize;

 

You'll have to do the same in the file HumanCompHasGatherableBodyResource.cs

Comment out these lines near the bottom:

                        if (breasts.Severity > maxBreastSize)
                            breasts.Severity = maxBreastSize;

 

I'll add an option to toggle ignoring the max size slider for my next release.

Ah thank you! In regards to the 2.0 size I mentioned, that was just an arbitrary number I used for the sake of example. So saying how if I set the value to 2 in MC's mod settings, the severity couldn't be made higher than that by using items from other mods. Whereas I figure MC's mod settings would set the maximum severity that could be reached through MC interactions.

 

Thank you for adding the option in the next release!

Link to comment

Something seems to be fucking up with RocketMan.
RimPy Log Analyzer shows that the error is between Milk and RocketMan. I have the latest version of CoffeeRIA, so its not that.
 

Spoiler

Exception filling window for Verse.ImmediateWindow: System.TypeLoadException: Could not resolve type with token 01000030 (from typeref, class/assembly Milk.CompHyperMilkableHuman, Milk, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)

at (wrapper managed-to-native) System.Reflection.MonoMethodInfo.get_method_info(intptr,System.Reflection.MonoMethodInfo&)

at System.Reflection.MonoMethodInfo.GetMethodInfo (System.IntPtr handle) [0x00000] in <eae584ce26bc40229c1b1aa476bfa589>:0

at System.Reflection.MonoMethod.GetPseudoCustomAttributes () [0x00002] in <eae584ce26bc40229c1b1aa476bfa589>:0

at System.MonoCustomAttrs.GetPseudoCustomAttributes (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType) [0x0000a] in <eae584ce26bc40229c1b1aa476bfa589>:0

at System.MonoCustomAttrs.GetCustomAttributesBase (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inheritedOnly) [0x0001f] in <eae584ce26bc40229c1b1aa476bfa589>:0

at System.MonoCustomAttrs.GetCustomAttributes (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inherit) [0x00037] in <eae584ce26bc40229c1b1aa476bfa589>:0

at System.Reflection.MonoMethod.GetCustomAttributes (System.Type attributeType, System.Boolean inherit) [0x00000] in <eae584ce26bc40229c1b1aa476bfa589>:0

at Verse.GenAttribute.TryGetAttribute[T] (System.Reflection.MemberInfo memberInfo, T& customAttribute) [0x00000] in <3126aca1aad041dcbdeda807cfe004bf>:0

at Verse.DebugTabMenu_Actions.InitActions (Verse.DebugActionNode absRoot) [0x00080] in <3126aca1aad041dcbdeda807cfe004bf>:0

at Verse.Dialog_Debug.TrySetupNodeGraph () [0x00040] in <3126aca1aad041dcbdeda807cfe004bf>:0

at Verse.Dialog_Debug.SwitchTab (Verse.DebugTabMenuDef def) [0x00000] in <3126aca1aad041dcbdeda807cfe004bf>:0

at Verse.Dialog_Debug..ctor (Verse.DebugTabMenuDef def) [0x0002d] in <3126aca1aad041dcbdeda807cfe004bf>:0

at Verse.DebugWindowsOpener.ToggleDebugActionsMenu () [0x00013] in <3126aca1aad041dcbdeda807cfe004bf>:0

at (wrapper dynamic-method) Verse.DebugWindowsOpener.Verse.DebugWindowsOpener.DrawButtons_Patch0(Verse.DebugWindowsOpener)

at RocketMan.DebugWindowsOpener_Patch+<>c__DisplayClass3_0. <Postfix>b__0 () [0x00000] in <3df1e26c6bf04c758021dd0f8364937c>:0

at Verse.ImmediateWindow.DoWindowContents (UnityEngine.Rect inRect) [0x00000] in <3126aca1aad041dcbdeda807cfe004bf>:0

at Verse.Window.InnerWindowOnGUI (System.Int32 x) [0x001d3] in <3126aca1aad041dcbdeda807cfe004bf>:0

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)


Followed by
 

Spoiler

Exception filling window for Verse.ImmediateWindow: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.

at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in <eae584ce26bc40229c1b1aa476bfa589>:0

at Verse.Dialog_Debug.SwitchTab (Verse.DebugTabMenuDef def) [0x0004c] in <3126aca1aad041dcbdeda807cfe004bf>:0

at Verse.Dialog_Debug..ctor (Verse.DebugTabMenuDef def) [0x0002d] in <3126aca1aad041dcbdeda807cfe004bf>:0

at Verse.DebugWindowsOpener.ToggleDebugActionsMenu () [0x00013] in <3126aca1aad041dcbdeda807cfe004bf>:0

at (wrapper dynamic-method) Verse.DebugWindowsOpener.Verse.DebugWindowsOpener.DrawButtons_Patch0(Verse.DebugWindowsOpener)

at RocketMan.DebugWindowsOpener_Patch+<>c__DisplayClass3_0. <Postfix>b__0 () [0x00000] in <3df1e26c6bf04c758021dd0f8364937c>:0

at Verse.ImmediateWindow.DoWindowContents (UnityEngine.Rect inRect) [0x00000] in <3126aca1aad041dcbdeda807cfe004bf>:0

at Verse.Window.InnerWindowOnGUI (System.Int32 x) [0x001d3] in <3126aca1aad041dcbdeda807cfe004bf>:0

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)


Will provide full log if need be.

Link to comment

@alt12

 

I also use rocketman on my full 280 mod game. There are a few errors from various mods loading up but everything runs fine when the game is going.

 

As a test I also started a quick run with not much but RJW, Milkable colonists and C0ffeeRIA, added rocketman, and I'm not seeing that happen.

 

If you are seeing that spammed over and over I would guess there is another (possibly out of date) mod causing the issue. If it happens once at startup it's probably safe to ignore.

Link to comment

Here is a basic idea, by someone who just started learning (experimenting) how to mod, for a simple draft of a milking machine. Make a bed that automatically milk the pawn using it, or make the pawns automatically milk themselves when using the "milking" bed.  Also possibly use VE pipe network to have the milk spawn into a milk storage or something. Like whenever the bed "milks" a pawn the bed gains 1 bottle worth of milk, but the pawn loses 1 milk bottle of their milk fullness.

Link to comment

And a little question

Why separate human and humanoid milk when use humanoid milk anyway?

Wouldn't it be better to make the combination of milk into large bottles and the division into small ones only one option, which would simply use both options.
As meat dishes, the same thing is obtained from any meat.
Same here.

Large bottles can be made from any of the two milks, but small ones can be made from only one type, what reason is there to separate them in principle?

Or just leave breast milk, they are absolutely identical, their difference is not used anywhere

Edited by Akaluto
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use