Rename the shared code namespace Contraband -> Institution; add license
The suite's classes all lived in namespace Contraband -- a historical artifact from the original Contraband monolith, which read oddly for a class in Corrections or Policing. Renamed to namespace Institution across every layer (46 .cs, the XML Class= refs, RootNamespace, the aggregate shim). The Contraband MODULE, its Contraband.dll assembly, and the Contraband-named classes (CompContraband, MapComponent_Contraband, ContrabandUtility, ...) are unchanged. Harness-verified 45/0. Also adds a CC-BY-NC-SA 4.0 LICENSE file. Aggregate: the settings shim now writes Institution.InstitutionSettings; Assemblies re-vendored with the renamed DLLs; ROADMAP status refreshed to the six-layer suite at 0.1.0.
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,24 @@
|
||||
Institution
|
||||
Copyright (c) 2026 flan
|
||||
|
||||
This work is licensed under the Creative Commons
|
||||
Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0).
|
||||
|
||||
To view a copy of this license, visit:
|
||||
https://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
Full legal text:
|
||||
https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
|
||||
|
||||
You are free to:
|
||||
- Share — copy and redistribute the material in any medium or format
|
||||
- Adapt — remix, transform, and build upon the material
|
||||
|
||||
Under the following terms:
|
||||
- Attribution — You must give appropriate credit, provide a link to the
|
||||
license, and indicate if changes were made.
|
||||
- NonCommercial — You may not use the material for commercial purposes.
|
||||
- ShareAlike — If you remix, transform, or build upon the material, you
|
||||
must distribute your contributions under the same license as the original.
|
||||
|
||||
No warranties are given. The license may not give you all of the permissions
|
||||
necessary for your intended use (e.g. other rights such as publicity or privacy).
|
||||
+16
-13
@@ -4,20 +4,23 @@ A set of RimWorld mods about **what an institution does to the people inside it*
|
||||
policing, and justice that put them there. Each mod is a separate install on a shared **Core**;
|
||||
together they form one system.
|
||||
|
||||
> **Status (2026-07-15): shipped as a five-layer suite behind one install.** The monolith split into
|
||||
> **Core** (propensity, criminal record, secured context, the shared treatment engine), **Contraband**
|
||||
> (the physical smuggling loop), **Justice** (classification, deterrence, discipline, parole, regime,
|
||||
> and **policing** — colony crime → a weighed arrest), **Gangs** (contraband economies), and **Ward**
|
||||
> (psychiatric care), folded in from a former standalone sister mod. All five bundle into the single
|
||||
> **Institution** mod with a toggle each while staying separate repos; **Foul Play** stands alone and
|
||||
> bridges in. See the [README](README.md) for the current mod table.
|
||||
> **Status (2026-07-16): a six-layer suite behind one install, at 0.1.0.** Along the separation of
|
||||
> powers the suite is: **Core** (propensity, criminal record, secured context, the shared treatment
|
||||
> engine, the deterrence seam), **Contraband** (the physical smuggling loop), **Policing** (colony
|
||||
> crime → investigation → a weighed arrest → the deterrence feedback loop → riots), **Corrections**
|
||||
> (classification, discipline & reform, parole, regime), **Gangs** (contraband economies), and **Ward**
|
||||
> (psychiatric care). The former **Justice** module was split into **Policing** + **Corrections** and is
|
||||
> deprecated/archived. All six bundle into the single **Institution** mod with a toggle each while
|
||||
> staying separate repos; **Foul Play** stands alone and bridges in. See the [README](README.md) for the
|
||||
> current mod table.
|
||||
>
|
||||
> The pre-arrest loop (crime → witnesses → investigate → weighed arrest) and the post-arrest
|
||||
> corrections arc (rehabilitate → parole, discipline-as-order, classification enforcement, on the
|
||||
> shared treatment engine) are **wired and harness-verified**. What remains is **Regime depth**
|
||||
> (schedule / needs / visitation), **ideology-flavoured** release, and — above all — real
|
||||
> **playtesting** to tune the numbers, none of which are play-tested yet. The design sections below
|
||||
> predate the split in how they *group* modules, but the mechanics and north star are unchanged.
|
||||
> The full loop — crime → witnesses → investigate → weighed arrest → contraband/gangs → rehabilitate →
|
||||
> parole, on the shared treatment engine — is **wired and harness-verified (45/0)**, and two audit→zero
|
||||
> passes plus a headless tuning run are behind it. The shared code namespace is now `Institution` (was
|
||||
> `Contraband`). A future **Judiciary** layer (a court: charge → trial → sentence) is reserved as a Core
|
||||
> `sentence` seam — no dead code added. What remains before a real release is, above all, **playtesting**
|
||||
> to tune the numbers (they are still first guesses) and the Steam Workshop upload. The design sections
|
||||
> below predate the split in how they *group* modules, but the mechanics and north star are unchanged.
|
||||
|
||||
## North star
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace InstitutionSuite
|
||||
/// The single player-facing mod. It bundles the Institution feature layers -- Contraband,
|
||||
/// Justice, Gangs, Ward -- into one install with a checkbox per layer, and it owns NO gameplay code of
|
||||
/// its own. All it does is read the player's choices and write them into Core's shared
|
||||
/// <see cref="Contraband.InstitutionSettings"/>, which the feature assemblies (shipped alongside
|
||||
/// <see cref="Institution.InstitutionSettings"/>, which the feature assemblies (shipped alongside
|
||||
/// in this same mod) read at their entry points.
|
||||
///
|
||||
/// This is the whole "merge": a thin settings shim on top of the unchanged, still-separate feature
|
||||
@@ -66,11 +66,11 @@ namespace InstitutionSuite
|
||||
/// <summary>Mirror the choices into Core's shared flags that every feature reads.</summary>
|
||||
public void Apply()
|
||||
{
|
||||
Contraband.InstitutionSettings.contraband = contraband;
|
||||
Contraband.InstitutionSettings.corrections = corrections;
|
||||
Contraband.InstitutionSettings.gangs = gangs;
|
||||
Contraband.InstitutionSettings.policing = policing;
|
||||
Contraband.InstitutionSettings.ward = ward;
|
||||
Institution.InstitutionSettings.contraband = contraband;
|
||||
Institution.InstitutionSettings.corrections = corrections;
|
||||
Institution.InstitutionSettings.gangs = gangs;
|
||||
Institution.InstitutionSettings.policing = policing;
|
||||
Institution.InstitutionSettings.ward = ward;
|
||||
}
|
||||
|
||||
public override void ExposeData()
|
||||
|
||||
Reference in New Issue
Block a user