[1.0] Simple Slavery

Started by Ziehn, January 26, 2019, 12:00:21 PM

Previous topic - Next topic

JT

@Ziehn: https://github.com/Aviuz/PrisonLabor/pull/144

If that pull request goes through, it should be possible to support Prison Labor motivation mechanics out of the box!

Simple Slavery's own support is almost as simple.  You'd have to build against PrisonLabor.dll, though, but it is a soft requirement.  The alternative would be to use Reflection, but Reflection is inefficient and obnoxious.

Hediffs.cs
// Freedom!!!
public void TryToEscape()
{
isMovingToEscape = false; // We've moved into place to escape already
hoursSinceLastEscapeAttempt = 0; // Reset time tracker
SaveMemory (); // Save our work priorities and willpower to the external hediff
Messages.Message ("MessageSlaveEscaping".Translate(pawn.Name.ToStringShort), pawn, MessageTypeDefOf.ThreatBig); //Z- NameStringShort -> Name.ToStringShort
//Z- Added Letter to escaping slaves event
string text = "LetterIncidentSlaveEscaping".Translate(pawn.Name.ToString());
Find.LetterStack.ReceiveLetter("LetterLabelSlaveEscaping".Translate(), text, LetterDefOf.NegativeEvent, null);
pawn.SetFaction (actualFaction); // Revert to real faction
pawn.guest.SetGuestStatus (slaverFaction, true);
pawn.guest.Released = false; // Ensure the slave is not set to released mode
pawn.guest.interactionMode = PrisonerInteractionModeDefOf.NoInteraction; // Ensure the interaction mode is not "release"
pawn.guilt.Notify_Guilty();

#if PRISONLABOR
//Prison Labor support
Need escape = pawn.needs.TryGetNeed(DefDatabase<NeedDef>.GetNamed("PrisonLabor_Motivation"));
if(escape != null) {
PrisonLabor.Need_Motivation need = (PrisonLabor.Need_Motivation)escape;
need.Inspired = false;
need.CurLevel = 0f;
need.CanEscape = true;
need.ReadyToRun = true;
}
#endif
}

SheiFoxy

I really love this mod. I'm using it instead of Prison Labor since that mod won't play with Dub's Hygiene. I like this a lot. I feel like it's kinda a pain to have slaves. They are slow and try to escape a lot, and you spend a lot of time just tending them.

But you get free labor.
Ultimately, how is this better than just recruiting them? Well it's mostly not.
Except it's easier, I guess.

I was wondering if you could make it so instead of just enslaving, there's an option for indenture. They can work until they earn the right to join the colony. Escape attempts reset it, etc.

Just my thoughts on the matter. Thanks for the mod. :)
SheiFoxy's Mods on Steam Workshop
SF Grim Reality ⚝ SF Materials Rebalanced ⚝ SF Traits Expansion ⚝ SF Cave Life

Emagmo

Nice mod. It's simple, but useful. But really, the only reason to have slaves (except for role-playing some kind of pirate colony) is that it's easier to enslave than to recruit someone.
I have.... I mean my friend have suggestion, that you should be able to assign a slave to a double bed with normal colonist and it should give the colonist mood boost, similar to sleep with spouse.
Hope this idea won't offend anyone, it would just make slaves more useful, and a bit more realistic if we consider their "role" in past times.

mrbekirr

HEllo, nice mod! but there is a problem i found. i make one of them my slave. He/she acts like my colonist. and he/she's portre shows up up of of the screen as my other colonist. When he/she try to escape they no more shop up up on the screen and when i beat the hell out of them, they goes to prison room. But when i click on them, there is no prisoner menu. And i cant control them like mine colonist. What should i do? They look like prisoners but they are not. they stuck between. (sorry for bad england)

vic131

Quote from: mrbekirr on August 23, 2019, 02:15:18 PM
HEllo, nice mod! but there is a problem i found. i make one of them my slave. He/she acts like my colonist. and he/she's portre shows up up of of the screen as my other colonist. When he/she try to escape they no more shop up up on the screen and when i beat the hell out of them, they goes to prison room. But when i click on them, there is no prisoner menu. And i cant control them like mine colonist. What should i do? They look like prisoners but they are not. they stuck between. (sorry for bad england)

Are you sure the slave is alredy healed enough to walk arround  ? When i capture  escaping slaves and put them on the bed, their become like a new prisioner, except i havent the menu to  recruit/slave them again. But once they  wake up, all back to normal and i can control them.

vic131

I have a doubt : to break the slaves willpower, so they cant escape again, how exactly it works ? 

What i think i understand : The only way to prevent very stressed slaves from escaping is by leting them escape and capturing them, that will reduce the enslaved debuff. When this debuff reachs 0, the stressed slave will behave like any stressed colonist, and wont try to escape anymore. Is that correct ? If so, then how many times i must re-capture a slave untill the willpower is broken ? And there is number somewere for me to track if its working ? The enslaved debuff number will really be reduced in the menu ?

Suggestion1 : Maybe you could add a weapon/feature with increased chances to capture whitout killing, but that work only in slaves, so the rest of the game dont becomes unbalanced. Like a net you can trhow, and only works if the target velocity is reduced, or if the target arent using sharp weapon. Since slaves has a speed debuff, it would work.

Suggestion 2 : For the same propouse of make slaves easier to be re-captured, and to make the game more realistic,  the possibility for the slave surrender in some situations could be added. Not just slaves, actually, but i wont be greedy. Like if the slaves combat stats and weapon is a lot  worse then the stats and weapon of the  colonist fighting,  it might surrender. Like when raiders runway after seeing their partner down.

sawcisson

Do you think we could have a compatibility with Psychology mod so slaves can't become mayors ?

Nomalastor

#82
Does anybody have plans to update this mod to 1.1? What a royalty without slaves?

UPD. There is an unofficial patch: https://steamcommunity.com/sharedfiles/filedetails/?id=2009091149

Could someone please ask the author to upload it non-Steam? Unfortunately, I cannot do it right now.

Simstu

Hi, still playing 1.0 but can't emancipate slaves after enslavement. They just ,,joined'' as another colonist. Can someone help me?