Rigor Module


New type of module: Rigor modules. Rigor modules increase the probability of a recipe returning its most valuable product.

Content
6 days ago
2.0
9.85K
Manufacturing
Owner:
thremtopod
Source:
https://gitlab.com/jfletcher94/factorio-mods
Homepage:
https://discord.gg/y7N623WuCP
License:
GNU LGPLv3
Created:
4 months ago
Latest Version:
0.7.0 (6 days ago)
Factorio version:
2.0
Downloaded by:
9.85K users

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 2.22%. Filling it with tier 3 legendaries will boost the yield to 8.33%.

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.

Notes

  • Rigor only affects a single output per recipe.
  • By default, rigor cannot be used on asteroid crushing or recycling recipes (except for scrap-recycling).
    • There is a mod setting to allow rigor for crushing recipes; if enabled, the affected procuct will become ignored by productivity to prevent positive feedback loops.
    • Some additional recycling recipes added by other mods (e.g. spacehsip 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 probability p and rigor r, 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.

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:

Mods with compatibility/adjustments:

Known Issues

For version 0.7.0 I spun off two of the mod's components into separate utility mods (here and here), to improve performance and compatibility. Please let me know if any new issues appear after upgrading.

Fix in Progress or Planned:

  • More flexible compatibility: There are mod settings API improvements planned for Factorio 2.1 that will make it easier to implement more flexible compatibility with other mods.

Fix 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%.
  • 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.lua for details on how to configure and customize compatibility.
  • '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

Localization