Jump to content

[mod] Rubberdoll factory


Recommended Posts

Posted

Hello! Thank you for your work.

There is problem with image file, it's 0 bytes:

RDF_Creatures\Modules\Creatures\Base\Textures\Things\Pawn\Animal\RDF\Dollmare\Variants\Dollmare_Silver_Wet_MetallicSilver_north.png

Posted

Is there any way to disable feral pulse event, it slow down game very quickly, Also I notice that rimworld vanilla event expanded ui stop working in mod option.   

Posted

Unsure what is causing it but it seems that the mod makes it so that no steel (modded version of steal or vanilla) is accepted when trying to make vanilla mechs. 

Posted

Hi. I liked your mod, so I decided to write a few suggestions for new content and improvements to the current one. P.S. English is not my native language, so there may be errors or inaccuracies in the text.

1) Royalty Integration

Current items are not suitable for nobility, for example, the vacuum bed.
You can set the "Maximum satisfied title" property in the clothing properties or create separate luxury versions. Floors have the "Considered - Fine" property. Beds don't have such properties; I think the requirement for them is hardcoded into the bedroom requirements directly under the title.

2) Doll collars should remove unwavering loyalty, like the Brainwipe ritual. They literally brainwash.

3) A way to create xenoherms.

I see three options: a workbench that creates a xenoherm as an item, a Gene Assembler version with embedded genes, or (the most complex) a device (search for references using the query "containment tube hentai") in which a pawn is immersed and then transformed into a doll.

4) New furniture.

Rubber maiden: Like an iron maiden, only soft inside and with a dildo.
This can be based on the autochair fuck machine from RJW - Extention. If possible, give the player the ability to choose the program.
You can also make a version of the display combined with a cryptosleep sarcophagus for more permanent decorations.

The Ideology DLC has an item style system, which can be used to add variations to buildings and clothing.


5) New "clothing" elements

Chastity belt with plugs that can expand (like a gag) or vibrate, forcing orgasm.

Hollow plugs that fill orifices without interfering with sex.
A bra capable of stimulating the breasts.

A wearable milking machine for breasts and/or penises.
Penis attachments capable of simulating other types of penises.

Strapons for pawns without penises.

6) Living Latex (Symbiosis/Parasitism)

The idea is to grow parasites on pawns, turning them into tissue samples from which symbiotes can be created.


Facehuggers, Wigglers, and possibly a parasitic version of the living latex catsuit should be found in the wild.
These are needed to obtain the first samples and only carry negative consequences (hunger, as they literally suck nutrients from the host, possibly pain, speed penalties, and a mood debuff, but masochists and adherents of the ideology of symbiosis should appreciate this). You need to wait for them to grow and then remove them with surgery (hatched facehuggers must be hunted).

At Tier 1 Symbiosis technology, internal parasites will be available. They don't do anything useful other than stimulate the host, but they allow the player to effectively obtain tissue samples themselves.
At Tier 2 Symbiosis technology, existing suits will appear. I think it would be worth combining the catsuit and mask, without adding Layer - Headgear, so that the symbiote could be worn under armor.
You could also add "living latex" versions of the clothing described in point 5.
At Tier 3, latex organs will appear, analogous to the bionics and mutated body parts from the Twisted Obelisk.

At Tier 4, ultimate suits will appear, covering the entire body and being symbiotic analogues of Recon/Marine/Cataphract armor.


All "wearable" parasites should be blocked using a similar method with the RJW - Extention bondage. They can be removed either through surgery (which will yield a decent amount of tissue samples) or with a special injection (similar to a Holokey), which is instant and safe, but in this case, there will be fewer or no samples. It is possible to obtain various symbiotic structures, such as a tentacled pit (for relaxation).

Overall, this mod will allow the player to choose between a more "technological" latex (the main mod) or a more "organic" latex (the Symbiosis addon).


I hope I wrote at least something useful. Good luck with the development.

Posted

Once you lie on your vacuum bed, there will be an infinite loop bug. Here is the code below.

Exception drawing RDF_VacuumBedDouble61912: System.NullReferenceException: Object reference not set to an instance of an object
[Ref 2912AB40] Duplicate stacktrace, see ref for original
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch3 (string)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.DynamicDrawManager.DrawDynamicThings_Patch1 (Verse.DynamicDrawManager)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Map.MapUpdate_Patch3 (Verse.Map)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.UpdatePlay_Patch1 (Verse.Game)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Root_Play.Update_Patch1 (Verse.Root_Play)

Posted
On 9/22/2026 at 3:08 PM, Nikten said:

Unsure what is causing it but it seems that the mod makes it so that no steel (modded version of steal or vanilla) is accepted when trying to make vanilla mechs. 

I only realized it recently but you have to go into the bill settings and deselect the rubber materials so you can use the steel. had this issues myself

 

Posted
On 2026/9/17 at PM3点51分, soleil343 said:

提醒一下,似乎有一个模块可能在生物科技的机械生物身上造成问题,导致他们无法识别钢铁作为资源,导致配方变成“50倍原料”,无法接受钢铁

I don't know English, so I used AI to help me relay this: Just delete or comment out the following in \RimWorld\Mods\RDF_Biomes\Modules\Biomes\Base\Patches\RDF_RubberiumAsSteel.xml:

xml
<li Class="PatchOperationAdd">
  <xpath>Defs/RecipeDef/fixedIngredientFilter/thingDefs[li="Steel"]</xpath>
  <value><li>RDF_Rubberium</li></value>
</li>

and:

xml
<li Class="PatchOperationAdd">
  <xpath>Defs/RecipeDef/ingredients/li/filter/thingDefs[li="Steel"]</xpath>
  <value><li>RDF_Rubberium</li></value>
</li>

I have a copy of the file with these already commented out. 

xml
<?xml version="1.0" encoding="utf-8"?>
<Patch>
  <Operation Class="PatchOperationSequence">
    <success>Always</success>
    <operations>
 
      <!-- Any refuelable building that explicitly consumes vanilla steel also accepts Rubberium.
           Vanilla examples include turret barrel replacement. -->
      <li Class="PatchOperationAdd">
        <xpath>Defs/ThingDef/comps/li[@Class="CompProperties_Refuelable"]/fuelFilter/thingDefs[li="Steel"]</xpath>
        <value><li>RDF_Rubberium</li></value>
      </li>
 
      <!-- Any recipe ingredient slot explicitly accepting Steel also accepts Rubberium. -->
      <!--<li Class="PatchOperationAdd">
        <xpath>Defs/RecipeDef/ingredients/li/filter/thingDefs[li="Steel"]</xpath>
        <value><li>RDF_Rubberium</li></value>
      </li>  -->
 
      <!-- Keep fixed recipe filters in sync so bills can actually select Rubberium. -->
      <!--<li Class="PatchOperationAdd">
        <xpath>Defs/RecipeDef/fixedIngredientFilter/thingDefs[li="Steel"]</xpath>
        <value><li>RDF_Rubberium</li></value>
      </li>-->
 
    </operations>
  </Operation>
</Patch>
Posted

I've encountered a bug related to RDF decorations. It seems to be an internal null‑reference exception within the joygiver for hanging‑decoration recreation jobs. This triggers errors in pawn thought trees. After mod troubleshooting, I've traced the issue to RDF. Here is my log:

Player.log

Posted
On 10/7/2026 at 7:45 AM, Davmar0119 said:

how do I create latex

Latex trees. Harvest them, a few should have spawned like normal trees. 

Posted
14 hours ago, Nikten said:

Latex trees. Harvest them, a few should have spawned like normal trees. 

In my first save I chose the latex biome so no latex trees spawned. lesson learned.

Posted
On 10/9/2026 at 1:16 AM, Davmar0119 said:

In my first save I chose the latex biome so no latex trees spawned. lesson learned.

Yeah, you can still make them by getting tree sowing and then making your own latex trees.

Posted (edited)

Synthetic kelp has an invalid <maxMeshCount> - it must be a perfect square (see https://www.rimworldwiki.com/wiki/Modding_Tutorials/Plant_Rendering). As such if any appears it will cause a red error. I tried replacing the current <maxMeshCount>7</maxMeshCount> in RDF_ExpandedFlora with <maxMeshCount>9</maxMeshCount>. This fixes the red error and looks fine.

 

The spacer factions don't generate leaders because apparently Rimworld requires the leader pawnkind to be in at least one combat pawnGroupMaker. Adding <RDF_Spacer_Leader>1</RDF_Spacer_Leader> is one way to fix this. Here's a version of RDF_Factions.xml (renamed to .txt because .xml is not an accepted file type for attachments for some reason) that fixes this bug:

RDF_Factions.txt

 

Edit:

Also, RDF_Storytellers has duplicate assemblies. This causes a second mod menu with glitched text to appear as well as likely some other issues. Keeping only "RDF.Storytellers.PRE_RDF106_FIX_20260916_051336.dll" seems to fix it.

Edit2: 

The correct fix for users is to install "No Pseudo Translate" and delete "RDF.Storytellers.PRE_RDF106_FIX_20260916_051336.dll". For the dev, the fix is using version control instead of making a mess with old files. Learning git on https://learngitbranching.js.org will take less time than dealing with the issues created by mixing new and old files. 

Edit3: RDF_Furniture also has duplicate assemblies and a bad build script that copies the old assembly to "RDFFurniture.PRE_VACUUMBED_RENDER_FIX.dll", but deleting this old assembly somehow causes an immediate crash on launch. 

Edited by ChungusNo1Fan
Posted (edited)
On 10/5/2026 at 2:12 PM, IRONHHRZ said:

hey guys Why did I wear dollcollar to my guys The game was very slow and stuck 

Player.log 107.62 kB · 0 downloads

I cross-referenced the stack traces in your red errors with some I started getting and checked the first common Harmony Postfix appearing in the logs, "POSTFIX rdf.rubberdollfactory.anomaly.metallicsinkhole.onahole.v04b0j2c: Void RDF.Anomaly.Onahole.Patch_PawnRenderer_RenderPawnAt_MetallicSinkhole:Postfix(PawnRenderer __instance)"

 

When I dove into the source code I found that it calls MetallicSinkholeUtility.TrapForCurrentOccupant, which in turn calls MetallicCoatingUtility.Has(pawn).

Well, let's take a look at this class and the first method in it, where the call of Has will eventually land:

    internal static class MetallicCoatingUtility
    {
        public const int MaxStages = 15;

        // Metallic coating is queried from several render/AI/sinkhole hooks in one tick.
        // Keep one Hediff resolution per pawn/tick; Dirty() invalidates same-tick changes.
        private static readonly Dictionary<Pawn, Hediff> coatingCache = new Dictionary<Pawn, Hediff>();
        private static int coatingCacheTick = int.MinValue;
  
        private static void PrepareCoatingCache()
        {
            int tick = Find.TickManager != null ? Find.TickManager.TicksGame : int.MinValue;
            if (tick != coatingCacheTick)
            {
                coatingCacheTick = tick;
                coatingCache.Clear();
            }
        }

oh no

OH NO

See, ever since 1.6 Rimworld is multithreaded. As such, multiple threads can end up in this method in parallel, processing it instruction by instruction, and this if does NOT implement mutual exclusion.

Let's consider a situation where we're on a new tick and two threads happen to get to the if at the same time. They will both enter because coatingCacheTick = tick; has yet to execute, then proceed to call Clear() on coatingCache. Why is this a big deal? Because coatingCache is a Dictionary and not a ConcurrentDictionary. As such, when one thread calls Clear while another is already doing Clear, we get an exception. On top of possibly messing up the Dictionary, this causes a massive slowdown because throwing exceptions is computationally expensive. However, I'm not saying simply replacing this with a ConcurrentDictionary would be the correct solution - changes to stages should probably be a hediffComp, and fetching the hediff shouldn't be cached because synchronising threads would actually take massively more time than going through the rather small list of hediffs a pawn has.

Edited by ChungusNo1Fan
post too big

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...