Quality Promotion


Makes Quality work like Productivity. Once the respective progress bar reaches 100%, the next craft will be of higher quality.

Tweaks
a month ago
2.0 - 2.1
320
Factorio: Space Age Icon Space Age Mod
Manufacturing
Owner:
LizardOfOz
Source:
https://github.com/Lizard-Of-Oz/quali...
Homepage:
N/A
License:
MIT
Created:
a month ago
Latest Version:
1.1.1 (a month ago)
Factorio version:
2.0 - 2.1
Downloaded by:
320 users

Quality Promotion

No more Quality RNG! Each craft now advances the progress towards each Quality craft according to what its random chance used to be. Once the respective bar reaches 100%, the next craft will be of that Quality and the progress will be consumed.

  • Supports all machines based on Assembler (e.g. Foundry, Chemical Plant) and Furnace (namely, Recycler).
  • The Promotion panel can be put on the side or at the bottom.
  • Can be added to and removed from existing saves. The mod does not alter the modules themselves - it manipulates the crafting result.
  • Compatible with Inverted Quality.
  • Supports modded Modules and modded Qualities.

Unsupported interactions with other mods:

  • Beacons broadcasting Quality.
  • Things spoiling into Quality Modules inside module slots (Quality Modules getting spoiled into something else IS supported).
  • Anything related to ItemIngredientPrototype::quality_min, quality_max, quality_change.
  • Anything related to ItemProductPrototype::quality_min, quality_max, quality_change, affected_by_quality.

Extra notes:

  • Mining Drills are not affected by this mod and remain chance-based.
  • Changing the recipe resets the Quality progress, which is most relevant with Recyclers (scrap recycling is considered 1 recipe). This might change in future updates.
  • Code was optimized for performance at the expense of readability.
  • Was primarily developed for and tested on Factorio 2.1; the 2.0 version is a backport.
  • Inverted Quality or surface-wide Quality means every crafting machine has to be processed by this mod, which might affect UPS.
  • For modders: the mod creates a remote call interface for marking a machine as potentially crafting with Quality: remote.call("quality_promotion", "mark_quality_machine", luaentity), although the mod also listens for script_raised_built event.

Known bugs:

  • If a machine crafts too fast (less than 2 ticks per craft) Promotion doesn't work on that machine correctly.

You can support me at: https://boosty.to/lizardofoz