16 Commits
Author SHA1 Message Date
flan 3fc4ef7a1d 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.
2026-07-16 01:45:34 +00:00
flan 8007f4e4e2 Re-aggregate wiki + repackage for the split
sync-wiki.sh mirrors policing + corrections instead of justice; the aggregate Wiki index and the
per-layer folders reflect the six-layer suite (Core - Contraband - Policing - Corrections - Gangs -
Ward) and the reserved Judiciary seam. Assemblies re-vendored with the fresh module DLLs.
2026-07-16 01:07:06 +00:00
flan 7ce9c045c3 Repackage the aggregate onto the Policing + Corrections split
package.sh builds and vendors InstitutionPolicing + InstitutionCorrections (Policing first) instead
of InstitutionJustice, and merges both modules' Defs. The settings shim's 'Justice' checkbox becomes
'Corrections'; deterrence and riots move under the Policing toggle.
2026-07-16 00:45:41 +00:00
flan d44b7887d9 Repackage aggregate onto the smuggling-route build; add TUNING.md
Vendors the Contraband build that wires Corruption.Smuggle (visitors and bent
wardens deliver contraband). TUNING.md records the measured per-day rates from
the full-stack harness against their pre-registered target bands -- all in band:
ordinary colonists ~never offend, a mistreated psychopath ~1 crime/day, reform is
a 0.7-2 day investment. No constant was changed; the run validated the pacing.
2026-07-15 23:21:55 +00:00
flan 3d4f1b0052 Re-package with the security marker + texture bundled; ROADMAP: feature list complete, only playtesting remains 2026-07-15 22:30:03 +00:00
flan fe8971c1db Re-package with visitation + Yard/Lockup bundled; ROADMAP: these ship now 2026-07-15 22:05:59 +00:00
flan 26205b9206 Re-package with the enforcement layer; refresh the stale ROADMAP; sync wiki 2026-07-15 21:40:35 +00:00
flan 18a983b7cc Re-package with the corrections layer bundled; sync the wiki (Rehabilitation page, loop update) 2026-07-15 21:01:28 +00:00
flan 25eb3a77db Fix: bundle Ward's Patches into the aggregate (Rim Disorders integration)
The re-package vendored Ward's Defs and Textures but not its Patches/ dir,
so the disorder-treatable marking never applied -- psychiatric treatment
silently did nothing to the illness a patient was committed for. package.sh
now vendors Ward's Patches too. The folded-suite compat harness confirms it:
integration.disorderMarkedTreatable now passes with Ward bundled in the
aggregate.

Add the suite-overview wiki (Wiki/Home.md).
2026-07-15 20:27:57 +00:00
flan 2d46fef192 Re-package the aggregate: bundle Ward + ship the policing layer
Fold Ward into the single Institution install as its psychiatric-care
layer. package.sh now builds Ward clean and vendors Ward.dll plus its
defs and textures alongside the other layers, and the settings shim
gains a Ward (psychiatric care) checkbox that writes the shared
InstitutionSettings.ward flag.

Re-assembling also carries in Justice's now-shipping policing defs (the
constable work type and crime thoughts), so the aggregate finally
bundles colony crime and the weighed arrest as well. README updated to
five layers over one Core with policing shipped and Ward folded in;
adds the changelog, the Workshop preview, and the preview generator.
2026-07-15 20:10:56 +00:00
flan bd96c2c516 Add the Policing settings toggle; re-vendor Core + Justice DLLs
A fourth checkbox (Policing, default on) drives colony crime independently, and
the re-vendored drop-in carries the flipped-on Core flag, the enrichments, and
prison riots.
2026-07-15 18:37:17 +00:00
flan 703317b507 Re-vendor the Justice DLL with the resistible arrest into the drop-in 2026-07-15 18:09:26 +00:00
flan 0a26804626 Re-vendor the Justice DLL with the weighed arrest into the drop-in 2026-07-15 17:50:12 +00:00
flan 6fd3c3eb9b Vendor Justice's crime ThoughtDefs + updated DLL into the drop-in
package.sh now merges Justice's Defs (the crime relationship thoughts) into the
aggregate's Defs tree alongside Contraband's, so the shipped one-mod Institution
carries them. Re-vendors the Justice DLL with the consequences/relationship code.
2026-07-15 17:06:54 +00:00
flan 7fd3d32eb2 Re-vendor the Justice DLL with the cops investigation loop 2026-07-15 16:47:32 +00:00
flan 18fc44c728 Consolidate the suite into one installable Institution mod with toggles
This repo is now the single player-facing mod. It bundles the whole engine and
all three feature layers into one folder -- Core, Contraband, Justice, and Gangs
DLLs plus Contraband's Defs -- with one About.xml and a settings shim that turns
each layer on or off from a checkbox (all on by default). A player installs one
mod (this) and Harmony; no separate Core dependency.

- Source/Institution: the only new code, a settings shim (InstitutionMod +
  InstitutionModSettings) that writes the player's choices into Core's shared
  InstitutionSettings. It owns no gameplay.
- Tools/package.sh: rebuilds the sibling DLLs clean and vendors them + Contraband's
  content in here, so the repo stays a complete drop-in.
- Assemblies/, Defs/, Textures/, Languages/: the vendored, assembled mod.

Still fully modular and splittable: the feature code stays in its own repos and
DLLs (their About.xml files remain), so breaking this back into separate mods is
just shipping them individually -- no code change.
2026-07-15 16:11:56 +00:00