Rigor Module
Rigor
Rigor is a new module effect, provided by rigor modules. Rigor increases the odds a recipe will produce its most valuable output. Rigor can only affect a product with a probabilistic output; for example, rigor increases the odds of getting uranium-235 from uranium processing, and holmium ore from scrap recycling.
Rigor modules scale from +30% rigor for common-quality tier 1 modules, to +200% rigor for legendary-quality tier 3 modules. Filling a recycler with tier 1 commons will boost holmium ore yield from 1% to 1.6%. Filling it with tier 3 legendaries will boost the yield to 4.68%.
Compatibility Mode
You can enable "compatibility mode" in Rigor Module's mod settings to help with mod compatibility and clutter, especially with many mods installed. Compatibility mode disables rigor modules and the rigor effect for all recipes unless explicitly whitelisted by another mod.
At present, compatibility-mode-whitelisted recipes come from:
- Vanilla Factorio: Space Age (configurable in Rigor Module's mod settings).
- Planet Crucible.
- Planet Muluna.
Notes
- Rigor only affects a single output per recipe.
- Rigor cannot be used for recycling recipes except for scrap recycling (some additional recycling recipes added by other mods, such as spaceship scrap recycling from Secretas&Frozeta, can also use rigor modules).
- Rigor increases the odds of a recipe producing the given output. To convert to probability: for probability
p, odds =p/(1-p); for probabilitypand rigorr, probability is scaled using the formula:rp/(rp - p + 1). - I designed rigor modules for my modded planet, Crucible, and Crucible's recipes are designed to utilize rigor. However, it also works as a standalone mod.
- For recipe results that utilize shared probability instead of independent probability, rigor modules will also decrease the probabilities of the other products.
Compatibility
If you encounter compatibility issues with other mods, you can try enabling compatibility mode in the mod settings (also, please let me know).
Rigor modules should generally integrate smoothly with other mods; however, that does not mean they are balanced!
Tested compatible and balanced mods:
- Planet Crucible: Mod is designed explicitly for rigor modules.
- Planet Muluna: Entities and recipes are balanced for rigor.
- Krastorio 2 and Krastorio 2: Spaced Out: Rigor modules fully are integrated.
Mods with compatibility/adjustments:
- Secretas&Frozeta: Adds a tier 4 rigor module.
- Crushing Industry: Rigor modules always increase the probability that the ingredient will be returned, where applicable.
- Voidcraft: Void recipes do not accept rigor modules.
- Scrappy Industry and Scrappy Chemistry: Scrap byproducts are excluded from consideration for the rigor effect.
Ongoing Development and Known Issues
Now that Rigor Module has been released with version 1.0, new major features are not planned. I will continue to fix bugs, optimize performance, and improve compatibility.
In Progress or Planned:
- More flexible compatibility.
- Different strategies for recipe results utilizing shared probability.
Not Feasible or Not Planned:
- Due to how rigor modules are implemented, a crafting machine's total rigor has to be effectively rounded to the nearest 25%.
- Due to how rigor modules are implemented, if an assembling machine is using rigor modules, it's not possible to set its recipe with a circuit condition.
- The mod can behave inconsistently while the game is paused in the map editor.
For Other Modders
See API.md for detailed documentation!
I've done my best to make this mod as robust and easily compatible as possible. Rigor Module fully handles the following:
- Enabling rigor for valid recipes.
- Disabling rigor for recycling recipes.
- Enabling/disabling rigor for crafting machines based on whether they can craft any valid rigor recipes.
The following should also just work, without any additional compatibility code required:
- Additional tiers of rigor modules will have their rigor values set automatically.
- Rigor modules' rigor values will automatically scale with modded qualities.
With the API it is possible to:
- Adjust the parameters used for rigor calculations.
- Include recipes and recipe categories in compatibility mode.
- Disable rigor modules for specific recipes and recipe categories.
- Enable rigor modules for individual recipes within disabled recipe categories (e.g. recycling).
- Specify which of a recipe's products should be affected by rigor.
- Specify a recipe's rigor sensitivity and whether it is inverted.
- Specify a base rigor value for an assembling machine.
- Enable rigor modules for recipes with no valid products, and entities with no valid recipes.
Some things are not possible:
- Enabling rigor modules for beacons, mining drills, or any other non-crafting-machine entity type. Even if you enable rigor modules for other entity types, because 'rigor' is not a true module effect and instead relies on runtime scripting to work, the 'rigor' effect will do nothing.
Contributors
Code
- MeteorSwarm:
rigor_sensitivityfield, many optimizations.
Localization
- 한국어 by BEOBMA.
- Русский by Eugene Rymarev.
- Deutsch by stef77stef.