RJW Cumpilation & Menstruation Compatibility Patch
A compatibility mod for the RimWorld mods "Cumpilation" and "RJW
Menstruation", which are sub-mods of RimJobWorld. This patch aims to
ensure smooth interaction between these mods and considers compatibility
with the wider RJW ecosystem.
Features
- Resolves direct conflicts between Cumpilation and RJW Menstruation.
-
Integrates relevant mechanics where overlap occurs (e.g., fluid
interactions, mood effects).
-
Adjusts definitions and patches to ensure both mods function as
intended when loaded together.
Installation
-
Ensure you have the required mods installed:
- RimJobWorld (RJW)
- RJW Menstruation
- Cumpilation
-
Subscribe to this mod on the Steam Workshop OR download the release
and place it in your RimWorld
Mods
folder.
- Activate the mod in the RimWorld mod list.
-
Recommended Load Order:
- Core
- Royalty (if applicable)
- Ideology (if applicable)
- Biotech (if applicable)
- Anomaly (if applicable)
- RimJobWorld (RJW)
- RJW Menstruation
- Cumpilation
-
RJW Cumpilation & Menstruation Compatibility Patch
(This Mod)
- Other mods
Compatibility
-
Required: RimJobWorld, RJW Menstruation, Cumpilation.
-
Designed For: RimWorld versions 1.4, 1.5 (Specify
supported versions).
-
Known Incompatibilities: None currently known. Please
report any issues.
Design Ideas & Considerations
Configuration Options:
-
Implement Mod Settings for granular control. Allow toggling specific
integration features (e.g., fluid interactions, mood stacking) or
adjusting balance parameters (e.g., effect intensity, frequency).
-
Consider how patch settings interact with settings from the parent
mods (Cumpilation, Menstruation). Define precedence or linkage where
necessary.
Body Fluid Management & Integration:
-
Ensure Cumpilation's fluid generation, detection, and cleaning systems
correctly account for and interact with menstrual blood from RJW
Menstruation without duplication or conflict.
-
Explore potential cross-mod fluid effects (e.g., specific Cumpilation
fluids influencing cycles, menstrual blood affecting Cumpilation
mechanics), being mindful of balance and scope.
-
Verify visual consistency: ensure fluid decals/textures from both mods
render correctly together without overlap issues.
-
Establish a consistent framework for how *all* relevant body fluids
(from RJW core, Cumpilation, Menstruation) are handled when the patch
is active (generation, tracking, cleaning, effects).
Hediff & Mood Interactions:
-
Review and harmonize Hediffs (health conditions) and mood effects.
Ensure effects stack logically or implement specific interaction rules
to prevent unintended consequences (e.g., excessive mood
debuffs/buffs).
-
Consider if Hediffs from one mod should influence the triggers,
severity, or duration of effects from the other (e.g., sickness
affecting cycle, cycle stage affecting Cumpilation-related moodlets).
Event & Trigger Interactions:
-
Analyze how events or triggers from one mod (e.g.,
Cumpilation-specific events) should interact with the state determined
by the other (e.g., current menstrual cycle phase, related hediffs).
Ensure logical outcomes.
AI Behavior:
-
Evaluate if the combined state resulting from patched interactions
should influence pawn AI decisions (e.g., cleaning priorities based on
mixed fluid types, mood-driven behavior changes).
Hygiene & Cleaning Integration:
-
Verify that cleaning mechanics (from Cumpilation or other hygiene mods
like Dubs Bad Hygiene) properly handle fluids generated by both mods.
Potentially add specific patch support for popular hygiene mods if
needed.
Trait, Gene, & Race Compatibility:
-
Ensure compatibility with relevant traits, Biotech genes, or custom
races introduced or affected by either mod or the core RJW framework.
Address how combined genetic, trait, or racial effects should manifest
regarding menstruation and Cumpilation mechanics.
Mechanic Balancing:
-
Continuously evaluate the combined effects of patched mechanics.
Ensure they remain balanced within the core RimWorld gameplay and
RJW's systems, avoiding unintended buffs, nerfs, or exploits. Solicit
community feedback on balance.
Expanded RJW Ecosystem Compatibility:
-
Proactively investigate and address potential interactions or
conflicts with other popular RJW sub-mods (e.g., RJW Fertility, RJW
Sexperience, Licentia, various race support mods).
-
Define specific interactions: How should Cumpilation fluids and
menstrual cycle states influence fertility calculations (conception
chance, infertility factors) from RJW Fertility? How should combined
states affect Sexperience progression, memories, or trait
development?
-
Expand patch scope if significant overlaps or conflicts are found with
other ecosystem mods.
Patching Strategy & Maintenance:
-
Prioritize XML XPath patching for robustness and maintainability
against parent mod updates.
-
Utilize
PatchOperationFindMod
rigorously to ensure
patches only apply when necessary mods are active.
-
Employ conditional patching logic based not only on the presence of
mods but potentially on specific settings within those mods if
accessible via XML.
-
Define a strategy for handling updates to parent mods (RJW,
Cumpilation, Menstruation) to minimize breakage and update patch
compatibility promptly.
Performance:
-
Maintain focus on performance. Keep XML patches targeted and
efficient. Avoid overly broad XPath queries or frequent
DefsLoaded
patches if possible.
-
If C# becomes necessary for complex logic, profile carefully to
prevent performance degradation, especially during high-activity
events (e.g., large pawn counts, frequent fluid generation).
Error Handling & Logging:
-
Implement robust error checking within patches where feasible. Add
clear logging for patch application success/failure and potential
runtime integration issues to aid troubleshooting.
User Experience & Documentation:
-
Ensure patched interactions feel intuitive and seamless from the
user's perspective. Avoid confusion arising from merged mechanics.
-
Improve in-game tooltips or descriptions where mechanics are
integrated, clarifying the combined effects for the user.
-
Provide clear explanations in Mod Settings for configurable options,
including their impact on gameplay and interactions.
Testing Strategy:
-
Implement rigorous testing procedures covering various scenarios:
different combinations of settings, traits, genes, races, and
interactions with other common mods (especially within the RJW
ecosystem). Test edge cases thoroughly (e.g., non-standard body
plans, specific Hediffs).
Localization:
-
Structure any new text strings (e.g., for settings, descriptions,
tooltips) to support localization efforts from the outset.
Code Structure (If C# becomes necessary):
-
If C# code is required, adhere to best practices: maintain clear
separation of concerns, use Harmony patching effectively and safely
(e.g., transpilers over prefixes/postfixes where less intrusive, use
[HarmonyPatch]
attributes), and include comments
explaining complex logic or integration points. Ensure proper
null-checking and error handling.
Future Plans
- Address any reported compatibility issues promptly.
-
Investigate potential integrations with other relevant RJW add-ons
based on user feedback and observed interactions.
-
Refine existing patches for better balance, performance, or smoother
interaction.
-
Expand Mod Settings options based on user requests and feasibility.
Contributing
Contributions are welcome! Please feel free to fork the repository, make
changes, and submit a pull request. You can also report issues or
suggest features via the GitHub issue tracker.
License
[Specify License - e.g., MIT, Creative Commons]