Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Crafting Quality

A RimWorld mod that gives you direct, per-tier control over which crafting/construction qualities a pawn can produce at a given skill level — inspired by Crafting Quality Rebalanced, built as a learning project for RimWorld modding with Harmony.

What it does

Vanilla RimWorld rolls an item's quality (Awful → Legendary) using a fixed curve based on the crafting pawn's skill level, with no way to tune it. This mod replaces that with seven independently configurable skill ranges, one per quality tier:

  • Each tier (Awful, Poor, Normal, Good, Excellent, Masterwork, Legendary) has its own min–max skill range (0–20).
  • Ranges are allowed to overlap on purpose. At crafting time, every tier whose range contains the pawn's current skill becomes "eligible" for that result.
  • Each tier also has an on/off checkbox. A disabled tier is removed from the eligible pool entirely — it can never be produced, no matter what range it's set to or what skill level the pawn has.
  • If vanilla's own roll already lands on an eligible tier, it's kept as-is. If not, the mod rerolls using vanilla's own weighted odds (not a flat/uniform pick) until it lands on an eligible tier, so higher-skill pawns still favor higher tiers within whatever pool you've configured — it doesn't just clamp or flatten the distribution.
  • This applies to anything RimWorld itself grants quality to via pawn skill: crafted weapons/apparel/art at a workbench, and constructed buildings/furniture.

Motivation

Crafting Quality Rebalanced is great, but its tiers are fixed, non-overlapping bands. The goal here was a version where the bands can overlap by design — e.g. a mediocre-skill pawn has a small chance at Excellent, and a high-skill pawn still has some chance at a merely Good result — and where every tier, including the ability to produce it at all, is something you configure yourself rather than something baked into the mod.

Installing (RimSort)

This mod has no external mod dependencies — Harmony is bundled directly into its own Assemblies folder, so you don't need to also install a separate "Harmony" mod for it to work.

  1. Download or clone this repository.
  2. Copy (or symlink) the whole project folder into your RimWorld Mods folder, so the folder containing About/About.xml sits directly under Mods\.
  3. Open RimSort, refresh your mod list, and find Simple Crafting Quality in the list.
  4. Enable it and save your mod list / launch the game. Load order relative to other mods generally doesn't matter for this mod specifically, since it only patches vanilla's own quality-generation method.

Configuring

In-game: Options → Mod Settings → Simple Crafting Quality.

  • Debug logging checkbox at the top: when enabled, every quality roll the mod handles is logged to RimWorld's debug log window (the log icon, or ~), showing the pawn, skill level, vanilla's original roll, the current eligible pool, and what the mod did about it (kept it, rerolled N times, or fell back to a random pick from the pool after 50 failed reroll attempts).
  • One row per quality tier: a checkbox to enable/disable that tier, and a two-handle slider below it to set its skill range (0–20). The slider stays editable even when a tier is disabled, so you don't lose your configured range if you turn it back on later — it's just dimmed to show it currently has no effect.

Known incompatibility

This mod patches the exact vanilla method used for quality generation (QualityUtility.GenerateQualityCreatedByPawn). Mods that replace the calls to that method rather than patching it directly (for example, EverythingHasQuality, which transpiles the calling methods to redirect quality generation through its own system) will bypass this mod's logic for the item types it takes over. This mod's own settings still apply normally to anything that still goes through vanilla's method.

Building from source

  • Requires the .NET SDK and the .NET Framework 4.7.2 targeting pack (RimWorld runs on Mono/Unity targeting net472).
  • From Source/, run:
    dotnet build
    
    The build output is written directly to Assemblies/.

Supports RimWorld 1.6.

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages