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). Maintain a clear version compatibility matrix for required mods.
-
Known Incompatibilities: None currently known. Please
report any issues.
Design Ideas & Considerations
This section outlines the guiding principles and areas of focus for the patch's development and maintenance.
Core Philosophy & Scope
-
Strict Scope Definition: Focus solely on resolving conflicts and enabling sensible, intuitive interactions between Cumpilation and Menstruation. Avoid feature creep; new mechanics should belong in the parent mods.
-
Philosophical Alignment: Ensure integrations align with the design intent and "feel" of RJW, Cumpilation, and Menstruation, avoiding changes that contradict their core mechanics unless essential for compatibility.
Gameplay Integration & Mechanics
-
Body Fluid Management:
- Establish a unified framework for how relevant body fluids (RJW core, Cumpilation, Menstruation) are handled (generation, tracking, cleaning, effects) when the patch is active.
- Ensure Cumpilation's systems correctly account for menstrual blood without duplication or conflict.
- Explore balanced cross-mod fluid effects (e.g., Cumpilation fluids influencing cycles, menstrual blood affecting Cumpilation mechanics) within the defined scope.
- Verify visual consistency of fluid decals/textures, preventing overlap or glitches. Consider subtle visual cues for mixed fluids if feasible.
-
Hediff & Mood Interactions:
- Review and harmonize Hediffs and mood effects. Define clear interaction rules (stacking, modification, cancellation) to prevent unintended consequences (e.g., excessive mood swings, conflicting states).
- Consider if states/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 moodlets).
-
Event & Trigger Interactions:
- Analyze how events/triggers from one mod should logically interact with the state determined by the other (e.g., Cumpilation events considering menstrual phase).
-
AI Behavior:
- Evaluate if combined states should influence pawn AI decisions (e.g., cleaning priorities, mood-driven behavior, interaction seeking based on cycle/fluid state).
-
Hygiene & Cleaning:
- Verify that cleaning mechanics (from Cumpilation or popular hygiene mods like Dubs Bad Hygiene) properly handle fluids generated by both mods under the patch.
- Consider optional, explicit support for popular hygiene mods, ensuring graceful degradation if they aren't present.
-
Trait, Gene, & Race Compatibility:
- Ensure compatibility with relevant traits, Biotech genes, and common custom races. Address how combined effects manifest regarding menstruation and Cumpilation mechanics. Test with common race mods.
-
Mechanic Balancing:
- Continuously evaluate the combined effects on gameplay balance within RimWorld and RJW. Avoid creating exploits or unintended power shifts. Actively solicit and incorporate community feedback on balance.
Configuration & User Experience
-
Configuration Options:
- Implement Mod Settings for granular control over integration features (e.g., toggling fluid interactions, mood stacking) and balance parameters (e.g., effect intensity).
- Clearly define how patch settings interact with parent mod settings (precedence, linkage, detection of parent settings).
- Explore configuration profiles for easy sharing and setup.
-
User Experience & Documentation:
- Strive for seamless and intuitive integration; patched interactions should feel natural.
- Improve in-game tooltips/descriptions to clarify combined effects.
- Provide clear visual feedback for combined states where appropriate (e.g., distinct icons/overlays).
- Write clear explanations for Mod Settings options and their impact.
- Maintain a comprehensive CHANGELOG. Clearly state compatibility versions.
-
Localization:
- Structure all user-facing text (settings, tooltips, logs) using standard RimWorld localization keys for community translation efforts.
Technical Implementation & Maintenance
-
Patching Strategy:
- Prioritize XML XPath patching for robustness against updates. Use C# Harmony patching only when necessary for complex logic.
- Use
PatchOperationFindMod
rigorously. Define dependencies clearly using loadAfter
in About.xml
.
- Consider checks for specific dependency versions if breaking changes occur. Maintain the version compatibility matrix.
- Employ conditional patching based on mod presence and potentially their settings.
-
Modularity: Consider optional patch modules for complex integrations with specific third-party mods (e.g., deep hygiene integration, specific race support) to keep the core patch focused.
-
Performance: Maintain focus on performance. Use targeted XML patches and efficient C# (profiled with tools like Dubs Performance Analyzer) if required.
-
Error Handling & Logging: Implement robust error checking and clear, identifiable logging for patch application and runtime issues to aid troubleshooting.
-
Graceful Degradation: Ensure the patch handles missing dependencies (required or optional) cleanly, disabling relevant functions or logging informative errors rather than causing failures.
-
Update Strategy: Define a process for promptly updating the patch in response to updates in RimWorld or dependency mods.
-
Save Game Compatibility: Strive to maintain save compatibility between patch versions. Clearly document any unavoidable breaking changes.
-
Testing Strategy: Implement rigorous testing covering diverse scenarios (settings, traits, genes, races, other mods, edge cases). Consider simple automated checks (e.g., XML validation).
-
Code Structure (If C#): Adhere to C# best practices (namespaces, style guides, comments, error handling). Use Harmony safely and effectively.
Community & Feedback
-
Feedback Channels: Establish and monitor clear channels (e.g., GitHub Issues, Discord, Forums) for bug reports, suggestions, and balance feedback.
-
Contribution: Encourage community contributions via pull requests or issue reporting.
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.
-
Keep compatibility updated with new versions of RimWorld and required mods.
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. Consider joining any associated community Discord or forum for discussion.
License
[Specify License - e.g., MIT, Creative Commons]