About This File
Welcome to join the discussion on Discord:(166) Discord | "[1.6] RJW - Condom Expansion" | Rimjob World
# RJW-Condom Expansion
**Author:** Saden · **RimWorld 1.6** · Requires **RimJobWorld** + **Harmony**
---
## Overview (English)
RJW-Condom Expansion replaces RimJobWorld's simple "grab a condom from the room" logic with a **three-tier rule engine** so you decide exactly when condoms are used. Every sex act in your colony is judged by your rules first, then the mod decides whether to use a condom.
The three tiers, checked top to bottom (the first definite result wins):
1. **Individual Rules** — per-pawn overrides, always highest priority, cannot be deleted/moved.
2. **Mid-Tier Rules** — 15 category rules (All Humans, Colonists, Prisoners, Slaves, Allies, Visitors, Rapist, Rape Victim, All Animals, Colony/Non-Colony Animals, Venerated/Non-Venerated Animals, Pen/Non-Pen Animals). Each rule has its own editor, condition groups, AND/OR logic and priority.
3. **Global Rule** — the catch-all fallback with a locked "Anytime → Don't Use" group, so by default condoms are never used until you opt in.
Rules are built from **25 match dimensions** (sex type, partner relationship, faction/identity, animal attributes, exact pawn whitelist) and **AND/OR condition groups**. Groups can be collapsed, renamed, reordered, and carry their own priority.
### Animation-level condom control *(new)*
With **Rimworld Animations 2.0** installed, each sex-type / animation gets its own condom toggle in a **three-column editor**:
- **Left — Sex-type master switch:** a tri-state (all-on / all-off / custom) that sets every species' sex type at once and links with the per-species rows.
- **Middle — Human tree:** sex type → animation.
- **Right — Animal tree:** species (localised name) → sex type → animation.
Animations are auto-classified into **Human** and **Animal (by species)** using RJW's interaction tags and the animation mod's race tests. Values are bucketed by **sex type × species × animation**, so the same animation can be toggled independently for each species. Each tier also carries a **unified animation override** (above its condition groups), resolved by priority:
`individual group → individual unified → middle group → middle unified → global group → global unified → fallback (all animations use)`
You can **Copy / Paste** an override to another pawn or rule. The animation UI only appears when the animation mod is loaded; without it the mod behaves exactly as before.
### Other features
- **Smart carry & restock:** tell colonists/colony animals how many condoms to carry; they auto-pick-up and drop excess at your chosen interval.
- **Sperm labelling:** used condoms show the male participant's name, in all supported languages.
- **Unified decision:** every sex path (vanilla lovin, rape, bestiality, necrophilia, masturbation) is judged by the same engine.
- **Room-pickup disabled:** condoms must actually be carried.
- **Sane notifications:** the "no condom / no penis" message only appears when a rule genuinely wanted to use one.
### Languages
English, 简体中文, 繁體中文, 日本語, 한국어, Русский
### Installation
1. Install Harmony and RimJobWorld first.
2. Put RJW-Condom Expansion into `RimWorld/Mods/`.
3. Enable it in the mod menu. **Load order: after RJW and Harmony** (the mod lists themselves as dependencies).
---
## 简介(中文)
RJW-Condom Expansion 用一套**三层规则引擎**替换了 RimJobWorld 默认的"从房间抓个避孕套"逻辑,让你完全掌控殖民地里避孕套的使用时机。每一次性行为都会先经过你设定的规则裁决,再决定用不用套。
三层(从上到下,第一个给出确定结果的层级生效):
1. **个体规则** —— 针对单个角色的最高优先级覆盖,不可删除/移动。
2. **中间规则** —— 15 种类型规则(所有人类、殖民者、囚犯、奴隶、友军、访客、施暴方、受害方、所有动物、殖民地/非殖民地动物、圣兽/非圣兽、畜栏/非畜栏动物)。每种规则有独立编辑器、条件组、与或逻辑和优先级。
3. **全局规则** —— 兜底,自带锁定"任何时候 → 不使用"条件组,默认一次都不会用套,直到你主动开启。
规则由 **25 个匹配维度**(性行为类型、对象关系、派系/身份、动物属性、精确白名单)和 **与/或条件组** 构成。条件组可折叠、重命名、调序,并带各自优先级。
### 动画级避孕套控制 *(新增)*
装了 **Rimworld Animations 2.0** 后,每个性行为类型/动画都有独立的戴套开关,呈**三列编辑器**:
- **左 —— 性行为类型主控:** 三态(全开/全关/自定义),一键设置所有物种的该类型,并与各物种行联动。
- **中 —— 人类树:** 性行为类型 → 动画。
- **右 —— 动物树:** 物种(本地化名)→ 性行为类型 → 动画。
动画会自动归入**人类**与**动物(按物种)**,依据 RJW 交互标签和动画模组的种族测试。值按 **性行为类型 × 物种 × 动画** 分桶,同一动画可针对每个物种独立设置。每个层级上方还有**统一动画覆盖**,按优先级裁决:
`个人条件组 → 个人统一 → 中间条件组 → 中间统一 → 全局条件组 → 全局统一 → 兜底(全部使用)`
支持**复制/粘贴**到其他人或规则。动画界面仅在加载动画模组时出现,否则本模组行为与之前完全一致。
### 其他特性
- **智能携带与补货:** 设定殖民者/殖民地动物的携带数,缺了自动去拿、多了自动放下,补货间隔可调。
- **精液标注:** 用过的避孕套显示男性参与者名字,支持全部语言。
- **判定统一:** 原版做爱、强奸、兽交、奸尸、自慰等所有性行为路径都走同一套引擎。
- **禁用"从房间取套":** 必须真的带在身上。
- **提示更合理:** 只有规则确实想用、却用不上时才提示"无套/无阴茎"。
### 支持语言
English、简体中文、繁體中文、日本語、한국어、Русский
### 安装
1. 先装 Harmony 和 RimJobWorld。
2. 把 RJW-Condom Expansion 放进 `RimWorld/Mods/`。
3. 在模组菜单启用。**加载顺序:在 RJW 与 Harmony 之后**(已在依赖中声明)。
Edited by phoenight
What's New in Version 1.1.0
Released
# RJW-Condom Expansion — Changelog
---
## v1.1.0 (2026-09-01)
### Added
- **Animation-level condom control (Rimworld Animations 2.0):** Each sex-type / animation now has its own condom toggle. The mod auto-detects the installed animation mod (via reflection, no hard dependency) and builds a tree grouped by **Sex Type → Animation**, then **Human vs Animal (by species)**.
- **Three-column editor:** Sex-type master switch (left), Human tree (middle), Animal tree (right).
- **Sex-type master switch:** A tri-state (all-on / all-off / custom) that sets every species' sex type at once and links with the per-species rows.
- **Species-level independence:** The same animation can be toggled independently for each animal species (values are bucketed by sex type × species × animation).
- **Copy / Paste:** Copy another pawn/rule's animation override and paste it elsewhere.
- **Automatic classification:** Animations are auto-grouped into Human / Animal(species), using RJW's interaction tags and the animation mod's race tests (localised species names).
### Changed
- **Condom decision is unified:** every sex path (incl. vanilla lovin, rape family, bestiality, necrophilia) is evaluated by the same rule engine.
- **Feasibility checks (no penis / no condom) now run only AFTER the rules decide "use",** so a "don't use" decision never triggers a spurious "no condom" message.
- **Penetrative / object checks** no longer fall back to gender; they strictly inspect RJW genital hediffs.
---
## v1.0.5 (2026-08-29)
### Added
- **Masturbation condom support:** Condoms now work during masturbation. A new `AfterMasturbation` Postfix evaluates rules, consumes condoms, spawns used condoms with sperm labels, and updates stats/mood — all in one clean patch. Removed the failed Transpiler approach.
### Fixed
- **HasPenis check no longer falls back to Gender.Male:** If a pawn's penis is removed (but gender is still male), they no longer trigger condom logic. The check now strictly looks for penis hediffs — futanari are supported, penis-removed pawns are correctly skipped.
- **Condom skip notifications during masturbation:** Missing or no-penis alerts now display consistently for both solo and partnered sex.
### Changed
- **UI — custom group name format:** Renamed groups now show as `"My Rule #3"` instead of `"Group #3 My Rule"`. The group number is always preserved.
- **UI — duplicate name removed:** Collapsed group summary no longer repeats the custom name (already visible in the title bar).
- **UI — carry override position:** "Override carry settings" checkbox moved above "Default carry count".
- **UI — OR/AND color differentiation:** "Any Match" (OR) now shown in green, "All Must Match" (AND) in orange.
---
## v1.0.4 (2026-08-27)
### Fixed
- **Chinese localization:** Fixed ChineseSimplified language file where 26 translation keys (dimensions, condition values, combination modes, carry/drop labels, etc.) had been renamed in code but the language file was not updated. This caused most UI text in Chinese to show raw key names instead of proper translations. The ChineseSimplified file has been rewritten with all keys matching the current code.
---
## v1.0.3 (2026-08-27)
### Added
- **Preview image:** Added a custom cover image (`About/Preview.png`), displayed in the in-game mod browser.
---
## v1.0.2 (2026-08-25)
### Added
- **Sperm label toggle:** Added a mod settings option "Label used condoms with sperm owner name". Players can turn the sperm owner label on or off via **Options > Mod Settings > RJW-Condom Expansion**. When turned off, used condoms display only their base name.
### Fixed
- **Localization bug:** Fixed broken XML tags in 5 language files (English, Japanese, Traditional Chinese, Korean, Russian) where `TabMiddleRules` and `SelectMiddleRule` translation keys used HTML-escaped `<`/`>` instead of standard XML brackets. This caused the "Middle Rules" tab label and select prompt to show raw key names instead of translated text in non-Chinese languages.
---
## v1.0.1 (2026-08-25)
### Fixed
- **New mod compatibility:** The rule engine now detects sex jobs using `JobDriver_SexBaseInitiator` (the parent class) instead of `JobDriver_Sex`. All custom sex job drivers from other mods are now fully compatible.
- **Duplicate used condoms:** Fixed an issue where sex with a condom would spawn two used condoms. RJW now handles spawning as normal, and this mod writes the sperm label afterward.
---
## v1.0.0 (2026-08-24)
### Initial Release
- Three-tier rule engine: Individual > Mid-Tier Rules (15 types) > Global
- 25 match dimensions (sex type, partner identity, faction, animal attributes, exact whitelist)
- AND/OR condition groups with priority ordering, collapse/expand, custom naming
- Specified partner whitelist with two-level category > pawn picker
- Smart carry & drop system with configurable auto-restock intervals
- Sperm labeling on used condoms (custom ThingComp via XML patching)
- Hard pre-checks: no male > skip, no condoms > skip
- Room condom pickup disabled via Harmony patch
- Three-column UI with grouped pawn list, ESC to close
- 6 language support: English, Simplified Chinese, Traditional Chinese, Japanese, Korean, Russian
---
# RJW-Condom Expansion — 更新日志
---
## v1.1.0 (2026-09-01)
### 新增
- **动画级避孕套控制(Rimworld Animations 2.0):** 每个性行为类型/动画都有独立的戴套开关。模组反射检测已安装的动画模组(无硬依赖),并构建"性行为类型 → 动画"以及"人类 / 动物(按物种)"的分类树。
- **三列编辑器:** 性行为类型主控(左)、人类树(中)、动物树(右)。
- **性行为类型主控开关:** 三态(全开/全关/自定义),可一键设置所有物种的该类型,并与各物种行联动。
- **物种级独立:** 同一动画可针对每个动物物种单独设置(值按 性行为类型 × 物种 × 动画 分桶)。
- **复制 / 粘贴:** 复制某人的动画设置并粘到其他人/规则。
- **自动分类:** 依据 RJW 交互标签与动画模组的种族测试,把动画自动归入"人类 / 动物(物种)"(物种名本地化)。
### 变更
- **判定统一:** 所有性行为路径(含原版做爱、强奸家族、兽交、奸尸)都走同一套规则引擎。
- **可用性检查(无阴茎/无套)改为在规则判定"要用"之后才执行**,"不用"的判定不再误报"无套"。
- **阴茎/物检不再回退到性别**,严格依据 RJW 生殖部位 hediff。
---
## v1.0.5 (2026-08-29)
### 新增
- **自慰避孕套支持:** 避孕套现在在自慰时正常生效。新增 `AfterMasturbation` Postfix,一步完成规则评估、消耗避孕套、生成带精液标签的已使用套套、更新统计和心情。移除了之前失败的 Transpiler 方案。
### 修复
- **HasPenis 检查不再回退到 Gender.Male:** 删除阴茎后(性别仍为男)的角色不再触发避孕套逻辑。检查严格基于阴茎 hediff——扶她正常支持,删了阴茎的角色正确跳过。
- **自慰时缺少的跳过提示:** 无阴茎/无避孕套的左上角弹窗现在在自慰和双人性行为中一致显示。
### 变更
- **UI — 自定义条件组名格式:** 重命名后的条件组现在显示为「我的规则 #3」而非「Group #3 我的规则」。组序号始终保留。
- **UI — 去除重复名称:** 折叠缩略中不再重复显示自定义名(标题栏已显示)。
- **UI — 覆盖携带设置位置上移:** 「覆盖携带设置」复选框移到「默认携带」上方。
- **UI — OR/AND 颜色区分:** 「满足任一」(OR) 显示为绿色,「全部满足」(AND) 显示为橙色。
---
## v1.0.4 (2026-08-27)
### 修复
- **中文本地化:** 修复了简体中文语言文件中 26 个翻译键(维度名、条件值、组合模式、携带/放下标签等)与代码不匹配的问题。代码重构时统一了键名规范,但简体中文文件遗漏了更新,导致中文环境下大部分 UI 文字退回到显示原始键名。现已重写简体中文键名,与代码完全对齐。
---
## v1.0.3 (2026-08-27)
### 新增
- **封面图:** 为模组添加了自定义封面图片 (`About/Preview.png`),将在游戏中模组浏览器显示。
---
## v1.0.2 (2026-08-25)
### 新增
- **精液标签开关:** 新增模组设置项「为已使用避孕套标注精液所属人」。玩家可通过选项 > 模组设置 > RJW-Condom Expansion 开关精液所属人标签。关闭后,已使用避孕套仅显示基础名称。
### 修复
- **本地化 BUG:** 修复了 5 个语言文件(英语、日语、繁体中文、韩语、俄语)中的 XML 标签错误。`TabMiddleRules` 和 `SelectMiddleRule` 翻译键使用了 HTML 转义符而非标准 XML 尖括号,导致「中间规则」标签页和选择提示在非中文环境下显示原始键名而非翻译文本。
---
## v1.0.1 (2026-08-25)
### 修复
- **新 MOD 兼容性:** 规则引擎现在使用 `JobDriver_SexBaseInitiator`(父类)代替 `JobDriver_Sex` 来检测性行为驱动。其他 MOD 新增的自定义性工作现在完全兼容。
- **重复生成的已使用避孕套:** 修复了戴套性行为后有时会生成两个已使用避孕套的问题。现在 RJW 正常负责生成,本模组只在其后写入精液标签。
---
## v1.0.0 (2026-08-24)
### 首次发布
- 三层规则引擎:个体 > 中间规则(15 种类型)> 全局
- 25 个匹配维度(性类型、对象身份、派系、动物属性、精确白名单)
- AND/OR 条件组,支持优先级排序、折叠展开、自定义命名
- 指定角色白名单,两级选择器(分类 > 具体角色)
- 智能携带 & 放下系统,可配置自动补货间隔
- 已使用避孕套精液标签(通过 XML Patch 注入自定义 ThingComp)
- 前置硬检查:无男性 > 跳过,无套 > 跳过
- 禁用「从房间取用避孕套」行为
- 三列 UI + 分组角色列表,ESC 关闭窗口
- 6 种语言支持:English, 简体中文, 繁體中文, 日本語, 한국어, Русский