[A17/B18] Simple Slavery v0.5k (updated 2018/1/29)

Started by Thirite, June 15, 2017, 11:07:32 AM

Previous topic - Next topic

FoxXeL

Quote from: Katarumi on July 10, 2017, 01:12:12 PM
Nice mod! Going to try it out. It would be nice to have a 'Willpower' bar for more obvious handling, but it works as is.

As much as I have seen, the mood works as a willpower bar. Firstly he has -15 mood from the Enslaved debuff. Each time the slave tries to escape and is caught, the "Enlaved" debuff is closer to 0 by 5. It means that the third time he is caught, the willpower will be 0. I know you know this, but new people looking for this mod might find this reply useful.

Thirite

#76
Well, almost. Slaves have a willpower percentage which is affected by three main things: failed escape attempts, days spent enslaved, and damage taken from colonists (yay beatings). There are a few other things which damage willpower but those are the main ones. How much willpower a pawn loses is weighted by their traits- an Iron Willed pawn will lose little willpower, but a Very Neurotic Wimp for example will break incredibly quickly. This percentage is then used to determine what the mood hit should be.
ie:
75% or greater = -15
50% or greater = -10
25% or greater = -5
1% or greater = 0
0 will = Stockholm Syndrome + 5 (only applies to pawns without Steadfast/IronWilled traits)

Katarumi

#77
Oh, neat! It's really cool that it ties into traits like that.

Katarumi

#78
Something odd may happen when you have a slave from a faction that then becomes friendly to you. When it happened to me, my slave stopped registering as mine or a slave and instead acted like she was imprisoned, but the wardens couldn't interact with her. I had to knock her down and re-enslave her (which pissed her faction off again).

I'll see if I can reproduce the issue.

Edit: Reproduced the issue. The issue is with Dubs Central Heating and Hygiene - when a slave goes to take a bath, she 'technically' takes off her collar, causing her to unenslave. That disrupts the bathing job, causing her to put it back on, but she doesn't re-enslave properly. Totally fine if you don't want to mess with it since it's a weird cross-mod interaction, but I thought I should report it anyway.

Thirite

Hm, I'll have to change the way slaves are freed (simply on collar removal is silly anyways). An action in the pop-up context menu for ordering a pawn to "emancipate slave" would be a better solution. Thanks for the report.

Undeadbanana

Quote from: Katarumi on July 13, 2017, 01:16:11 PM
Something odd may happen when you have a slave from a faction that then becomes friendly to you. When it happened to me, my slave stopped registering as mine or a slave and instead acted like she was imprisoned, but the wardens couldn't interact with her. I had to knock her down and re-enslave her (which pissed her faction off again).

I'll see if I can reproduce the issue.

Edit: Reproduced the issue. The issue is with Dubs Central Heating and Hygiene - when a slave goes to take a bath, she 'technically' takes off her collar, causing her to unenslave. That disrupts the bathing job, causing her to put it back on, but she doesn't re-enslave properly. Totally fine if you don't want to mess with it since it's a weird cross-mod interaction, but I thought I should report it anyway.

No wonder why my slave kept getting trapped in bathrooms.. Thought she had PTSD or something.

stigma

I like the idea, but it strikes me as being a little superfluous in terms of mechanics.
I mean, in gameplay terms what you are essentially doing is trading the recruitment downside the escape attempt downside.
I suppose it could be useful on those 99% difficulty captures if you are impatient - but it feels like it doesn't really change enough.

What if slaves were severely limited in work-tasks (haul, clean, sow/plantcut, mine - no fighting) and worked at half or even less speeds - but they didn't count towards your storyteller's population cap. Probably also need a second restriction that you can't have more slaves than free colonists (too great a chance of a slave uprising and all that).

I think that would make for more interesting choices - and something "useful" to do with those raiders you capture who have too bad skills and traits to justify recruiting. Arguably slavery sounds less bad when the alternatives are organ harvesting and cannibalism O_o

-Stigma

dodger0788

Would it be possible to add a explosive slave collar? So if they are preforming an escape attempt and they leave the colony's home zone the collar will explode which results in the slaves head being destoryed. Also if a slave has the explosive collar they would be less likely to attempt escape because they know that attempting escape results in instant death.

Dragoon

Quote from: stigma on July 14, 2017, 11:15:50 AM

What if slaves were severely limited in work-tasks (haul, clean, sow/plantcut, mine - no fighting) and worked at half or even less speeds - but they didn't count towards your storyteller's population cap. Probably also need a second restriction that you can't have more slaves than free colonists (too great a chance of a slave uprising and all that).

-Stigma
I have to disagree with you here.

For the first big no for me. Is "Probably also need a second restriction that you can't have more slaves than free colonists (too great a chance of a slave uprising and all that)." That defeats the purpose of slaves. You are supposed to have many slaves if they rebel that adds another level of balance and danger. It makes your guards have to be stronger and well equipped. It makes no logical sense to have that restriction. Especially if they can already escape and what not.

As for the second. Slaves would only work slowly if they felt there were no repercussions. They would have worked fast or at a standard rate in fear of being beaten or killed right? So only those with high willpower would work slowly. If they were dumb that is. If they were smart they would work at the same pace so as not to draw suspicion for when they can break free. Either way, there is no reason for them to work slowly other than through natural reason like bodily damage, or through their own stupidity.
Quote from: faltonico
I truly can't understand that sense of balancing a LOT of modders have, pouring more resources on something doesn't make it more difficult, but more annoying. It is not engaging, even if i'm swimming in silver at late game ¿why to bother?, why all the effort to get there?.

Katarumi

#84
Another minor report. One of my slaves was downed and left there for awhile. This came up when she was rescued and then stood up:

DEBUG: Marjot has returned to being a slave.
Used SetFaction to change Marjot to same faction Alturas
[SimpleSlavery]: Failed to find SlaveMemory hediff for pawn Marjot.
DEBUG: Slave Marjot Willpower = 54.60001

I've not noticed any negative side effects from this yet.

Stack traces:

DEBUG: Marjot has returned to being a slave.
Verse.Log:Message(String)
SimpleSlavery.Hediff_Enslaved:Tick()
Verse.Pawn_HealthTracker:HealthTick()
Verse.Pawn:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

Used SetFaction to change Marjot to same faction Alturas
Verse.Log:Warning(String)
Verse.Pawn:SetFaction_Patch1(Object, Faction, Pawn)
SimpleSlavery.Hediff_Enslaved:SlaveAgain()
SimpleSlavery.Hediff_Enslaved:Tick()
Verse.Pawn_HealthTracker:HealthTick()
Verse.Pawn:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

[SimpleSlavery]: Failed to find SlaveMemory hediff for pawn Marjot.
Verse.Log:Error(String)
SimpleSlavery.Hediff_Enslaved:LoadMemory()
SimpleSlavery.Hediff_Enslaved:SlaveAgain()
SimpleSlavery.Hediff_Enslaved:Tick()
Verse.Pawn_HealthTracker:HealthTick()
Verse.Pawn:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

DEBUG: Slave Marjot Willpower = 54.60001
Verse.Log:Message(String)
SimpleSlavery.Hediff_Enslaved:TakeWillpowerHit(Single)
SimpleSlavery.Hediff_Enslaved:SlaveAgain()
SimpleSlavery.Hediff_Enslaved:Tick()
Verse.Pawn_HealthTracker:HealthTick()
Verse.Pawn:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()


I'm also noticing that when a slave escapes and is captured without a fight, that they show up as prisoners until they're knocked down and stand back up again.

As for the discussion of balance, I will say that my current scenario is that I have a single, extremely advanced warden with some bionic parts and full weapons / armor controlling a colony of practically unarmed slaves. It seems like a valid play choice, and putting arbitrary hard limits on play style tends to be a bad idea. Soft limits (i.e. high colonist:slave ratios get to be hard to control) tend to work better and let players find interesting new routes of play.

Thirite

Hum, I wasn't expecting that error message to actually trigger; I suppose it's good I put it in just in case. I'm have to look into it.

As for this:
Quote...it strikes me as being a little superfluous in terms of mechanics.
That's absolutely a fair point. I want to give the player freedom to control their slaves how they desire, but if slavery is just another recruit mechanic it isn't very interesting. On one hand, I would very much like to keep the mod's mechanics simple enough (hence the name), but it would also be nice to have slaves operate differently. I actually like the idea of decreased move speed- they're supposed to be shackled, right? And when they make an escape attempt, they strangely suddenly become shackled ( to slow down their movement so your warden actually has a chance to catch them). But I think it would make more sense both from a mechanical and realistic perspective if they were always treated as shackled.

Dragoon

I am fine with the movement speed being nerfed with shackles on, but for the rest of it just doesn't make sense to me. Why would they work slower? And why would there be a limit?
Quote from: faltonico
I truly can't understand that sense of balancing a LOT of modders have, pouring more resources on something doesn't make it more difficult, but more annoying. It is not engaging, even if i'm swimming in silver at late game ¿why to bother?, why all the effort to get there?.

Katarumi

Okay, I might have another issue.

A slave runs. My warden captures the slave. They give up without a fight. When the slave is put into prison, they list as 'Slave of X' where X is their original faction. They have to be stripped and re-enslaved, going through the rigmarole of trying to enslave them. Is this intentional?

Thirite

@Dragoon
Yeah, the other things I don't really see the point of.

@Katarumi
Ah crap. I'll have to look into it.

stigma

Quote from: Dragoon on July 15, 2017, 08:52:47 AM
Quote from: stigma on July 14, 2017, 11:15:50 AM

What if slaves were severely limited in work-tasks (haul, clean, sow/plantcut, mine - no fighting) and worked at half or even less speeds - but they didn't count towards your storyteller's population cap. Probably also need a second restriction that you can't have more slaves than free colonists (too great a chance of a slave uprising and all that).

-Stigma
I have to disagree with you here.

For the first big no for me. Is "Probably also need a second restriction that you can't have more slaves than free colonists (too great a chance of a slave uprising and all that)." That defeats the purpose of slaves. You are supposed to have many slaves if they rebel that adds another level of balance and danger. It makes your guards have to be stronger and well equipped. It makes no logical sense to have that restriction. Especially if they can already escape and what not.

As for the second. Slaves would only work slowly if they felt there were no repercussions. They would have worked fast or at a standard rate in fear of being beaten or killed right? So only those with high willpower would work slowly. If they were dumb that is. If they were smart they would work at the same pace so as not to draw suspicion for when they can break free. Either way, there is no reason for them to work slowly other than through natural reason like bodily damage, or through their own stupidity.

I'm not talking about how it would work in terms of real-world logic here - but more about game balance. Lots of extra high-efficiency labor is very powerful.

-Stigma