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.73%. Filling it with tier 3 legendaries will boost the yield to 5.4%.
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 result that utilize shared probability instead of independent probability:
- Rigor modules will also decrease the probabilities of the other products.
- The rigor effect is scaled by the net probability of the recipe producing any result.
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
- I've done my best to make this mod as robust and easily compatible as possible.
- This mod should be able to handle everything automatically; there's also an API for customization.
- Adding additional tiers of rigor modules should work automatically.
- For recipes with multiple probabilistic products, you can specify which product should be affected by rigor.
- You can exclude recipes and recipe categories from using rigor modules.
- See
prototypes/mod-data.luafor details on how to configure and customize compatibility. - New RecipePrototype field: rigor_sensitivity(float); scales the effective rigor for that recipe.
- 'Rigor' is not an actual module effect, as it relies on runtime scripting to work; rigor modules therefore cannot work in beacons, mining drills, or any other non-crafting-machine entity type. Even if you enable rigor modules for other entity types like beacons or mining drills, the 'rigor' effect will do nothing.
Contributors
Code
- MeteorSwarm:
rigor_sensitivityfield, many optimizations.
Localization
- 한국어 by BEOBMA