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.
135 lines
4.6 KiB
XML
135 lines
4.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Defs>
|
|
|
|
<!--
|
|
The "locked cabinet of sedatives" in the treatment station's description, made real. Sedation is
|
|
the other lever a ward has: not therapy, but a way to buy calm through a crisis. It costs a dose
|
|
and a groggy, useless day from the patient — it settles a breakdown, it does not treat what
|
|
causes them. A warden administers one to a patient at the edge of a break.
|
|
-->
|
|
<ThingDef ParentName="ResourceBase">
|
|
<defName>Ward_Sedative</defName>
|
|
<label>sedative</label>
|
|
<description>A measured dose of fast-acting sedative. A warden can administer one to a patient on the edge of a breakdown to buy calm — at the cost of a groggy, near-useless day. It settles a crisis; it does not treat one.</description>
|
|
<graphicData>
|
|
<!-- Placeholder: reuse vanilla industrial medicine's art until Ward ships its own. -->
|
|
<texPath>Things/Item/Resource/Medicine/MedicineIndustrial</texPath>
|
|
<graphicClass>Graphic_StackCount</graphicClass>
|
|
</graphicData>
|
|
<stackLimit>25</stackLimit>
|
|
<healthAffectsPrice>false</healthAffectsPrice>
|
|
<statBases>
|
|
<MarketValue>14</MarketValue>
|
|
<Mass>0.05</Mass>
|
|
<Flammability>0.7</Flammability>
|
|
<DeteriorationRate>2</DeteriorationRate>
|
|
</statBases>
|
|
<thingCategories>
|
|
<li>Medicine</li>
|
|
</thingCategories>
|
|
<tradeTags>
|
|
<li>Medicine</li>
|
|
</tradeTags>
|
|
</ThingDef>
|
|
|
|
<RecipeDef>
|
|
<defName>Ward_MakeSedative</defName>
|
|
<label>make sedatives</label>
|
|
<description>Synthesize a batch of sedatives from neutroamine.</description>
|
|
<jobString>Making sedatives.</jobString>
|
|
<workAmount>800</workAmount>
|
|
<workSpeedStat>DrugSynthesisSpeed</workSpeedStat>
|
|
<effectWorking>Cook</effectWorking>
|
|
<soundWorking>Recipe_Drug</soundWorking>
|
|
<workSkill>Intellectual</workSkill>
|
|
<ingredients>
|
|
<li>
|
|
<filter>
|
|
<thingDefs>
|
|
<li>Neutroamine</li>
|
|
</thingDefs>
|
|
</filter>
|
|
<count>1</count>
|
|
</li>
|
|
</ingredients>
|
|
<fixedIngredientFilter>
|
|
<thingDefs>
|
|
<li>Neutroamine</li>
|
|
</thingDefs>
|
|
</fixedIngredientFilter>
|
|
<products>
|
|
<Ward_Sedative>4</Ward_Sedative>
|
|
</products>
|
|
<recipeUsers>
|
|
<li>DrugLab</li>
|
|
</recipeUsers>
|
|
<researchPrerequisite>DrugProduction</researchPrerequisite>
|
|
</RecipeDef>
|
|
|
|
<!--
|
|
The sedated state: very calm (a large negative break-threshold offset = breaks far less), but
|
|
groggy and barely productive, and gone in about a day. Deliberately a bad hediff — it is a crutch
|
|
with a cost, not free stability.
|
|
-->
|
|
<HediffDef>
|
|
<defName>Ward_Sedated</defName>
|
|
<label>sedated</label>
|
|
<description>Dosed with a sedative. Very unlikely to break — and too groggy to do much of anything.</description>
|
|
<hediffClass>HediffWithComps</hediffClass>
|
|
<defaultLabelColor>(0.6, 0.6, 0.9)</defaultLabelColor>
|
|
<scenarioCanAdd>false</scenarioCanAdd>
|
|
<isBad>true</isBad>
|
|
<maxSeverity>1.0</maxSeverity>
|
|
<comps>
|
|
<!-- About one in-game day from a full dose to nothing. -->
|
|
<li Class="HediffCompProperties_SeverityPerDay">
|
|
<severityPerDay>-1.0</severityPerDay>
|
|
</li>
|
|
</comps>
|
|
<stages>
|
|
<li>
|
|
<statOffsets>
|
|
<!-- Negative = breaks at a much lower mood = breaks far less. -->
|
|
<MentalBreakThreshold>-0.40</MentalBreakThreshold>
|
|
</statOffsets>
|
|
<capMods>
|
|
<li>
|
|
<capacity>Consciousness</capacity>
|
|
<offset>-0.25</offset>
|
|
</li>
|
|
<li>
|
|
<capacity>Moving</capacity>
|
|
<offset>-0.15</offset>
|
|
</li>
|
|
</capMods>
|
|
</li>
|
|
</stages>
|
|
</HediffDef>
|
|
|
|
<!--
|
|
A NEW warden work-giver, above treatment in priority: a crisis pre-empts a counselling session.
|
|
Like the treatment giver it inherits WorkGiver_Warden.ShouldSkip, so it respects prison-commons
|
|
areas for free.
|
|
-->
|
|
<WorkGiverDef>
|
|
<defName>Ward_WardenAdministerSedative</defName>
|
|
<label>administer sedative</label>
|
|
<giverClass>Ward.WorkGiver_Warden_Sedate</giverClass>
|
|
<workType>Warden</workType>
|
|
<verb>sedate</verb>
|
|
<gerund>sedating</gerund>
|
|
<priorityInType>90</priorityInType>
|
|
<requiredCapacities>
|
|
<li>Manipulation</li>
|
|
</requiredCapacities>
|
|
</WorkGiverDef>
|
|
|
|
<JobDef>
|
|
<defName>Ward_AdministerSedative</defName>
|
|
<driverClass>Ward.JobDriver_AdministerSedative</driverClass>
|
|
<reportString>administering a sedative to TargetA.</reportString>
|
|
<casualInterruptible>false</casualInterruptible>
|
|
</JobDef>
|
|
|
|
</Defs>
|