Skip to content

Commit

Permalink
release 1.5.0 (#269)
Browse files Browse the repository at this point in the history
  • Loading branch information
Hazzer authored Apr 21, 2024
1 parent 1a5e92d commit b84e040
Show file tree
Hide file tree
Showing 75 changed files with 1,364 additions and 650 deletions.
Binary file added 1.5/Assemblies/0MultiplayerAPI.dll
Binary file not shown.
Binary file added 1.5/Assemblies/PrisonLabor.dll
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
48 changes: 48 additions & 0 deletions 1.5/Defs/ConceptDef.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<ConceptDef>
<defName>PrisonLabor_Indroduction</defName>
<label>Prison labor</label>
<priority>45</priority>
<needsOpportunity>True</needsOpportunity>
<highlightTags>
<li>ITab-Prisoner-Closed</li>
</highlightTags>
<helpText>You can force your prisoners to do labor.\n\nTo do so you must select "Force to work" option from "Prisoner" pane\n\nPrisoners will work on orders and bills that are in allowed area. Make sure prisoners can reach their work.\n\nThey can only cook, mine, cut plants, haul, clean, or grow plants, that do not require special skills.\n\nPrisoner sometimes refuses to work. Reasons can be different. He can be injured, hungry, tired, or not motivated enough.\n\nHINT: You can assign work types in "Work" pane.\n\nHINT: If you put a stove in a prison cell make sure they can reach raw food.\n\nHINT: You can let prioners moving through doors by leaving them open.</helpText>
</ConceptDef>
<ConceptDef>
<defName>PrisonLabor_Motivation</defName>
<label>Motivating prisoners</label>
<priority>100</priority>
<needsOpportunity>True</needsOpportunity>
<helpText>One of yours prisoners stopped working.\nHe won't work any longer, unless he gets motivated.\n\nYou can check status of motivation in "Needs" tab.\n\nMake sure you have enough wardens (check "Work" tab), or draft one of your colonist and order him to stand around your prisoners.\n\nLow motivation of prisoners can lead to revolts.</helpText>
</ConceptDef>
<ConceptDef>
<defName>PrisonLabor_Growing</defName>
<label>Growing by prisoners</label>
<priority>100</priority>
<needsOpportunity>True</needsOpportunity>
<helpText>Prisoners can only grow plants that don't require any special skills like potato or cotton. They can however gather any plant that is ordered to harvest.</helpText>
</ConceptDef>
<ConceptDef>
<defName>PrisonLabor_Management</defName>
<label>Prison labor management</label>
<priority>100</priority>
<needsOpportunity>True</needsOpportunity>
<helpText>You can manage your prison labor in several ways.\n\nYou can assign work types to prisoners by accessing "Work" tab.\n\nYou can restrict when prisoners should work, rest, or sleep by accessing "Restrict" tab.\n\nYou can restrict work to "Prisoners only". For work orders that covers area you can choose "Labor area" tool from "Architect"->"Orders" panel.\nFor bills there is an option "Prisoners only".</helpText>
</ConceptDef>
<ConceptDef>
<defName>PrisonLabor_Timetable</defName>
<label>Prisoners time restrictions</label>
<priority>100</priority>
<needsOpportunity>True</needsOpportunity>
<helpText>You can make time restrictions for prisoners.\n\n"Work" time will force them to work even when they're hungry or tired.\n\n"Joy" time will let them rest from job and get motivation bonus.\n\n"Sleep" time will force them to stay in prison cell.\n\n"Anything" is default setting.</helpText>
</ConceptDef>
<ConceptDef>
<defName>PrisonLabor_Treatment</defName>
<label>Treatment system</label>
<priority>50</priority>
<needsOpportunity>True</needsOpportunity>
<helpText>In prison labor you need to take care for prisoners. Good treatment can prevent revolts, and can provoke recruit proposition (without recruting process!).\n\nTo maintain good treatment status you need to feed prisoners regularly and set some free time so they can regenerate their strength\n\nTreatment will go lower if you beat prisoners, starve them, or exploit in terms of labor.\nGood treatment will result in:\n - Random offers with request to join colony\n - Preventing revolts\n - Preventing suicide</helpText>
</ConceptDef>
</Defs>
91 changes: 91 additions & 0 deletions 1.5/Defs/Hediffs.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<HediffDef>
<defName>PrisonLabor_PrisonerChains</defName>
<description>This pawn has prisoners chains. Note: it is default Vanilla mechanics, but in hediff state</description>
<label>prisoners chains</label>
<isBad>false</isBad>
<stages>
<li>
<label>not active</label>
<becomeVisible>false</becomeVisible>
</li>
<li>
<label>unchained totaly</label>
<becomeVisible>false</becomeVisible>
<minSeverity>0.01</minSeverity>
</li>
<li>
<label>unchained legs</label>
<becomeVisible>false</becomeVisible>
<minSeverity>0.60</minSeverity>
<capMods>
<li>
<capacity>Manipulation</capacity>
<offset>-0.3</offset>
</li>
</capMods>
</li>
<li>
<label>unchained hands</label>
<becomeVisible>false</becomeVisible>
<minSeverity>0.80</minSeverity>
<capMods>
<li>
<capacity>Moving</capacity>
<postFactor>0.5</postFactor>
</li>
</capMods>
</li>
<li>
<label>active</label>
<becomeVisible>false</becomeVisible>
<minSeverity>0.90</minSeverity>
<capMods>
<li>
<capacity>Manipulation</capacity>
<offset>-0.3</offset>
</li>
<li>
<capacity>Moving</capacity>
<postFactor>0.5</postFactor>
</li>
</capMods>
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>PrisonLabor_RemovedHandscuffs</defName>
<description>Prisoner has removed handscuffs</description>
<label>Removed Handscuff</label>
<isBad>false</isBad>
<stages>
<li>
<label>not active</label>
<becomeVisible>false</becomeVisible>
</li>
<li>
<label>active</label>
<becomeVisible>true</becomeVisible>
<minSeverity>0.01</minSeverity>
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>PrisonLabor_RemovedLegscuffs</defName>
<description>Prisoner has removed legscuffs</description>
<label>Removed legscuffs</label>
<isBad>false</isBad>
<stages>
<li>
<label>not active</label>
<becomeVisible>false</becomeVisible>
</li>
<li>
<label>active</label>
<becomeVisible>true</becomeVisible>
<minSeverity>0.01</minSeverity>
</li>
</stages>
</HediffDef>
</Defs>
49 changes: 49 additions & 0 deletions 1.5/Defs/Incidents.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<Defs>
<IncidentDef>
<defName>PrisonLabor_Revolt</defName>
<label>revolt</label>
<targetTags>
<li>Map_PlayerHome</li>
</targetTags>
<workerClass>PrisonLabor.Core.Incidents.IncidentWorker_Revolt</workerClass>
<letterLabel>Revolt</letterLabel>
<letterText>Revolt has been started by {0}. The prisoners united under faction {1}, and began uprising with self-made weapons</letterText>
<letterDef>ThreatBig</letterDef>
<baseChance>5.4</baseChance>
<minRefireDays>20</minRefireDays>
<category>ThreatBig</category>
<pointsScaleable>true</pointsScaleable>
<minThreatPoints>200</minThreatPoints>
</IncidentDef>

<IncidentDef>
<defName>PrisonLabor_ResocializationOffer</defName>
<label>resocialization offer</label>
<category>Misc</category>
<targetTags>
<li>Map_PlayerHome</li>
</targetTags>
<workerClass>PrisonLabor.Core.Incidents.IncidentWorker_ResocializationOffer</workerClass>
<letterLabel>Resocialization offer</letterLabel>
<letterText>Offer by {0}.</letterText>
<letterDef>PositiveEvent</letterDef>
<baseChance>10</baseChance>
<populationEffect>IncreaseEasy</populationEffect>
</IncidentDef>

<IncidentDef>
<defName>PrisonLabor_Suicide</defName>
<label>prisoner suicide</label>
<category>Misc</category>
<targetTags>
<li>Map_PlayerHome</li>
</targetTags>
<workerClass>PrisonLabor.Core.Incidents.IncidentWorker_Suicide</workerClass>
<letterLabel>Prisoner suicide</letterLabel>
<letterText>{0} has commited suicide, because of bad treatment.</letterText>
<letterDef>NegativeEvent</letterDef>
<baseChance>2</baseChance>
<minThreatPoints>500</minThreatPoints>
<pointsScaleable>false</pointsScaleable>
</IncidentDef>
</Defs>
15 changes: 15 additions & 0 deletions 1.5/Defs/Interrogation/InterrogationDefs.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<PrisonLabor.Core.Interrogation.InterrogationQuestGenDef>
<defName>PL_GenQuest</defName>
<questScriptDefs>
<li>OpportunitySite_ItemStash</li>
<li MayRequire="Ludeon.RimWorld.Ideology">OpportunitySite_WorkSite</li>
</questScriptDefs>
</PrisonLabor.Core.Interrogation.InterrogationQuestGenDef>
<RoomRoleDef>
<defName>PL_InterrogationRoom</defName>
<label>interrogation room</label>
<workerClass>PrisonLabor.Core.Interrogation.RoomRoleWorker_InterrogationRoom</workerClass>
</RoomRoleDef>
</Defs>
36 changes: 36 additions & 0 deletions 1.5/Defs/Interrogation/InterrogationInteractionsDefs.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<InteractionDef>
<defName>PL_InterrogateInteraction</defName>
<label>interrogate</label>
<workerClass>InteractionWorker</workerClass>
<ignoreTimeSinceLastInteraction>True</ignoreTimeSinceLastInteraction>
<symbol>UI/Icons/Rituals/Trial</symbol>
<logRulesInitiator>
<rulesStrings>
<li>r_logentry->[INITIATOR_nameDef] asked [RECIPIENT_nameDef] [askPart].</li>
<li>r_logentry->[INITIATOR_nameDef] ordered [RECIPIENT_nameDef] to told about [askPart].</li>
<li>askPart->where is the loot</li>
<li>askPart->why is Gamora</li>
<li>askPart->when finally starts talking</li>
<li>askPart->where is their base</li>
</rulesStrings>
</logRulesInitiator>
</InteractionDef>
<InteractionDef>
<defName>PL_BeIntrrogatedInteraction</defName>
<label>being interrogated</label>
<workerClass>InteractionWorker</workerClass>
<ignoreTimeSinceLastInteraction>True</ignoreTimeSinceLastInteraction>
<symbol>UI/Icons/Rituals/TrialDefend</symbol>
<logRulesInitiator>
<rulesStrings>
<li>r_logentry->[INITIATOR_nameDef] called for mercy.</li>
<li>r_logentry->[INITIATOR_nameDef] begged to spare the face.</li>
<li>r_logentry->[INITIATOR_nameDef] kept silence.</li>
<li>r_logentry->[INITIATOR_nameDef] has no idea.</li>
<li>r_logentry->[INITIATOR_nameDef] told everything.</li>
</rulesStrings>
</logRulesInitiator>
</InteractionDef>
</Defs>
Loading

0 comments on commit b84e040

Please sign in to comment.