[1.1] Prison Labor

Started by Avius, July 16, 2017, 09:17:10 PM

Previous topic - Next topic

Avius

Quote from: Nightinggale on October 17, 2017, 05:12:18 PM
I had a problem where I had an ideal colonist to watch the prisoners. However due "will never do social", I added a guard WorkType and then changed watch prisoners job to use the guard category. At first glance, it worked well, but it uncovered a number of problems and I don't think I caused them all with my tiny patchmod.

1: "chat and recruit" recruits with colonists set to chat with prisoners (warden)
2: "work and recruit" recruits with colonists set to watching prisoners
3: I observed a prisoner set (by default) to warden, which tried to recruit another prisoner
4: chat and recruit recruited a prisoner, which when my mod is active turned the prisoner hostile rather than colonist

#1 seems ok. #2 should be watched by people set to watch while recruited by colonists set to chat. #3 should never happen. #4 seems odd that the vanilla recruit code could not recruit because I moved the non-vanilla job to another category.

#4 is "fixed" by not loading my mod, but it really does nothing other than what I wrote. It's extremely small.


Another thing I wondered about was Toolmetrics. It would be interesting to have a guard giving motivation faster if he is holding a whip. However it seems that Prison Labor lacks keywords to hook on to for adding motivation modifiers in xml.


At one time raiders blew up my wall and I had prisoners on the other side. Not the prison bedroom, but a prison grow zone. What happened is not a mass escape, but rather the prisoners ran out of the hole and picked up stuff from the dead raiders and carried it back to the stockpile. Figuring I had uncovered a bug, I didn't rush to repair the wall and just used the prisoners to carry everything back. However eventually prisoners did figure out to escape, but they waited until my colonists were all asleep and even if I drafted them at that time, they would not be able to do anything at all due to being too far away. I don't know if it was by chance or if the escape code is clever, but that was brilliant prisoner AI work/timing  :o

Quote from: Kori on October 17, 2017, 03:40:02 PMThanks, I've already read your message in the Cleaning Area thread, followed these instructions and it works. UI is no longer broken. :)
I figured it might as well be put in both threads.
1. I've already scheduled transferring supervising prisoners to another work type (especially for "not social" pawns).
link to GitHub
2. Good point with xml. I will make one, and I've created Issue.
link to GitHub
3. Prisoners will run after some time. It's for working outside purposes. I've found this myself more immersive than vanilla mechanics.

lude

#31
Hey I wonder if someone knows, in my current game all harvesting/cut plant jobs done by prisoners result in the items being forbidden despite being in the home area, is there a config option that i didn't understand or is this some kind of stray bug or feature?
Great mod anyway!

also using HardcoreSK with added animal logic, expanded roofing, crusty textiles, robots plus plus, stack merger, stack xxl, path avoid, idle fix, the japanese rice culture one with all patches, idle fix and madskills

Kori

Quote from: lude on November 02, 2017, 02:26:55 PM
Hey I wonder if someone knows, in my current game all harvesting/cut plant jobs done by prisoners result in the items being forbidden despite being in the home area, is there a config option that i didn't understand or is this some kind of stray bug or feature?
Great mod anyway!

also using HardcoreSK with added animal logic, expanded roofing, crusty textiles, robots plus plus, stack merger, stack xxl, path avoid, idle fix, the japanese rice culture one with all patches, idle fix and madskills

Do you use the latest version 0.8.8? Forbidden harvested items was a bug in 0.7 that has been fixed already.
Avius doesn't announce new versions in this forum thread, so you have to check for new versions on github yourself from time to time.

lude

Thanks! Indeed my error is using an outdated version, I just wonder why i never noticed this particular bug before, will update and hope nothing breaks. Back to slave colony  now :>

Kori

Quote from: lude on November 03, 2017, 07:24:32 AM
Thanks! Indeed my error is using an outdated version, I just wonder why i never noticed this particular bug before, will update and hope nothing breaks. Back to slave colony  now :>

Upgrading from 0.7 to 0.8.8 not only fixes this bug, there are many very good new features as well! :)

kixiye

I really love this mod, saves a lot of colonists for the more passive work such as research, stonecutting and art. Can easily get four guys worth of work using a brain damage colonist who does everything but stand still at 40% of normal speed.

The only real issue I've noted is with another mod, Hospitality. I had set one of my prisoners to "Negotiate" as a test, and one of our visitors got stuck in place after having talked to the prisoner. He refused to move and was eventually downed due to starvation. It was not much of a problem however, we rescued him and he promptly left after he recovered, improving our relation to his faction by 15.

Thank you very much for your work, this has greatly improved my Rimworld experience.

Nightinggale

Quote from: kixiye on November 05, 2017, 04:19:44 PMThe only real issue I've noted is with another mod, Hospitality. I had set one of my prisoners to "Negotiate" as a test, and one of our visitors got stuck in place after having talked to the prisoner. He refused to move and was eventually downed due to starvation. It was not much of a problem however, we rescued him and he promptly left after he recovered, improving our relation to his faction by 15.
Kind of related to the issue I reported where a prisoner tried to recruit another prisoner. I tried setting prisoners to watching prisoners, but it would appear that they at least ignored that job. They should ideally ignore the entire negotiate job category.
ModCheck - boost your patch loading times and include patchmods in your main mod.

Bo0g1eMaN

So ive figured out a bug i think idk if they are supposed to try to escape (i would assume so) but in my colony they never try to escape even when a warden is nowhere to be seen and its kinda hard to just have some prisoners be able to leave and others not so maybe have a key or something that you can give to a prisoner to let them into certain doors just a idea hope at least something like that gets added

Shauano

Can you update this to B18?

OwenQuillion

So I've noticed that while using this in conjunction with Hospitality, visitors will *sometimes* have prisoner's chains. This has lead to a couple of unfortunate instances of comatose geriatrics and entire groups downed during heat waves.

I haven't seen anyone else talk about it, and I'm wondering if it's a known issue and if there are any workarounds? Thus far all I've come up with is editing the prisoner's chains hediff, which of course applies globally.

Thanks in advance!

Diarat

Hello, i want to say, what a prisoner not don't wear clothes.
Before, they can wear clothes, but one prisoner wearing pants from the corpse, and new
plants(trousers) i do after instalation mod, and he don't want wear clothes.
Russian version
Может быть кто-то переведёт это лучше чем я, вообщем.
  Привет! Я хочу сказать, что после установки мода мои заключённые перестали надевать
  одежду.
  До этого он надел штаны с трупа(с трупа его напарника=) ) и был дебаф, но я нашёл этот
  мод(он очень крутой) и после установки я сделал новые штаны(сам этот чувак и сделал), но
  надевать он их не хочет.
Bye

Harry_Dicks

#41
Could not resolve cross-reference to RimWorld.StuffCategoryDef named Plastic
Verse.Log:Error(String)
Verse.DirectXmlCrossRefLoader:TryResolveDef(String, FailMode)
Verse.WantedRefForList`1:TryResolve(FailMode)
Verse.DirectXmlCrossRefLoader:ResolveAllWantedCrossReferences(FailMode)
Verse.DirectXmlLoader:ItemFromXmlFile(String, Boolean)
PrisonLabor.PrisonLaborPrefs:Init()
PrisonLabor.Initialization:.cctor()
System.Runtime.CompilerServices.RuntimeHelpers:RunClassConstructor(IntPtr)
System.Runtime.CompilerServices.RuntimeHelpers:RunClassConstructor(RuntimeTypeHandle)
Verse.StaticConstructorOnStartupUtility:CallAll()
Verse.PlayDataLoader:<DoPlayLoad>m__2()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update_Patch1(Object)
Verse.Root_Entry:Update()


Is this from your mod? What is that plastic about?

EDIT: I suppose it isn't, because when I remove your mod, this is the error now:

Could not resolve cross-reference to RimWorld.StuffCategoryDef named Plastic
Verse.Log:Error(String)
Verse.DirectXmlCrossRefLoader:TryResolveDef(String, FailMode)
Verse.WantedRefForList`1:TryResolve(FailMode)
Verse.DirectXmlCrossRefLoader:ResolveAllWantedCrossReferences(FailMode)
Verse.DirectXmlLoader:ItemFromXmlFile(String, Boolean)
Verse.KeyPrefs:Init()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()

minakurafto

since prisoner can go out if it the door is unlocked ,it seems take prisoner to bed job is not always available.
but sometime i open the door and the prisoner going out and working on far away hauling job, but i cant take prisoner to bed since so i'm forced to arrest then it will berserk and causing  unnnecesary damage.
is there any workaround to relocate prisoner easily ? (other than set the work time table to sleep because it too slow for chained pawn to walk)

Kori

On github you've added a note that you require the source code for Cleaning Area compatibility. Does that mean that it's not going to happen?
Sorry if that question is a bit stupid..  ;D

Nightinggale

Quote from: Kori on January 31, 2018, 02:49:09 AM
On github you've added a note that you require the source code for Cleaning Area compatibility. Does that mean that it's not going to happen?
Sorry if that question is a bit stupid..  ;D
Considering that ILSpy can read not only vanilla assemblies, but also mod assemblies, lack of access to a mod source code shouldn't be an issue. Sure it will be easier to get the pre-compiled files (with comments!), but the mod dll file alone should be enough to fix incompatibility issues if that is what you got to work with.
ModCheck - boost your patch loading times and include patchmods in your main mod.