Author Topic: Slave Training (ST) concept  (Read 51002 times)

0 Members and 1 Guest are viewing this topic.

Offline livingforever

  • Full Member
  • ***
  • Posts: 138
Re: Slave Training (ST) concept
« Reply #45 on: October 12, 2014, 06:23:28 PM »
Hi!
*We'll have resurrection mechanics. It's been discussed a lot already.

I don't know about suicides. We had suicides in the game for a very long time (since before the original Alpha release) and I don't think anyone actually pushed a girl into one (conditioning is pertty harsh and improving or at least normalizing the situation is easy and cheap), not even people how claimed to play for 30+ hours and fished out bugs even Jaeke (our former and quite excellent betatester) couldn't catch.
Those are honestly ridiculous excuses.
You're justifying the existence of a mechanic with the fact that it's almost never encountered and that it can be counteracted? Then why is it there in the first place?

Let's start with the resurrection: Essentially, any death mechanic aims to punish the player, but since you don't want perma death in the game (which is reasonable), you're making the player spend resources on resurrection - why don't you make him spend the resources on preventing the death instead?
It doesn't matter if the resource is time or money or something else, a reversable punishment like that is just annoying and has no gameplay value.

And if it is so rare that it never happens then why did you waste time implementing it?
Have fun!
« Last Edit: October 12, 2014, 06:43:02 PM by livingforever »

Offline Thewlis

  • Jr. Member
  • **
  • Posts: 74
  • Its hentai, quiaff?
Re: Slave Training (ST) concept
« Reply #46 on: October 12, 2014, 07:21:14 PM »
*Free girls should not be trainable per concept (law of the land).
Well the training system also covers Schooling, which the free girls can do. Considering that all the lessons can specify what type of girl can do them (free/slave, occupation) its entirely possible that a free girl can encounter a runaway state.

Quote
Occupation like "Trainer"? I think we wanted to have something like that. Maybe to modify effects even further, traits should also participate in teaching, maybe intelligence + character for extra mods. We can handle that when we (or Dark :D) balance out the system.
Something like that, yeah.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Slave Training (ST) concept
« Reply #47 on: October 13, 2014, 12:10:52 AM »
Hi!Those are honestly ridiculous excuses.
You're justifying the existence of a mechanic with the fact that it's almost never encountered and that it can be counteracted? Then why is it there in the first place?

And if it is so rare that it never happens then why did you waste time implementing it?

Wasn't aware there was a need to make any "excuses". It's there as a feature, it wasn't difficult to implement and I guess I cannot cannot really claim that noone has got it, just that it was never mentioned/reported.

Let's start with the resurrection: Essentially, any death mechanic aims to punish the player, but since you don't want perma death in the game (which is reasonable), you're making the player spend resources on resurrection - why don't you make him spend the resources on preventing the death instead?
It doesn't matter if the resource is time or money or something else, a reversable punishment like that is just annoying and has no gameplay value.

It is already possible to "spend resources to prevent death" as in buying equipment, making sure there is ample security, not take risks, etc. There is no reason why both can't be in the game.

Well the training system also covers Schooling, which the free girls can do. Considering that all the lessons can specify what type of girl can do them (free/slave, occupation) its entirely possible that a free girl can encounter a runaway state.

I see... well, free girl is assumed to have an options to quit. Running away sounds a bit harsh + we're supposed to make slaves reach "obedience" flag at some point when they stop trying to escape unless horrible mismanaged (whist a fresh slave might try to get away even while being treated well). That was the plan anyway, we change/improve stuff as we move forward :)

Edit:
Notes:

*Girls in PyTFall Educators shouldn't require trainers, you pay the school masters to train them.
*This girl has run away pop-up should be disabled when switching the next girl in profiles screen.
*There should be a way to have free girls looking for escapees. Maybe with penalties/bonuses depending on traits/disposition.
*Jail as it is on the dark map, I think those are locked gates leading to the Castle/Rich quarter.
« Last Edit: October 13, 2014, 01:08:11 AM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: Slave Training (ST) concept
« Reply #48 on: October 13, 2014, 02:10:40 AM »
To put it bluntly, every life is worth living, don't show emotionally unstable people the opposite, that's unbelievably bad taste.
Second, killing characters permanently seems like a bad idea to me. Losing and recapturing a slave is an interesting mechanic, but simply removing the character from the game sucks.
It's not like this is our own idea. Suicide exists in WM, where pessimist girls with low joy can commit it.
Personally, I think we just need multiple options to prevent it, ie keep joy high, use special equipment, guards, upgrades, maybe exotic things like mind control.
It makes sense it terms of life simulation too. Suicide exists irl and it's not that rare. I bet most people would commit it after some time while being slaves with min joy (meaning deep depression without any hope left). I don't remember if we have an effect for too low joy, if not, then we should add it, I guess.


=====================================================================================
Now, my thoughts about slave training.
- Running away. It should be quite rare event during actual training. It's much easier to run away at night than during training in front of everyone. So pure running events should mostly be a part of next day calculations.

- Fighting. Rather then running, slaves could attack MC and/or guards. Especially during training, when they don't want to do something. In case of high level, dangerous slaves we could use BE, otherwise simulated fight should be enough. If slave is strong enough to beat guards, she will run away indeed.

- Misc items, as far as I know, cannot just add trait. Your vibrator items require either to rewrite items code a bit or use a different slot.

- I don't remember where I've seen it, but in some game there were two types of punishments/ways to break, "good" and "bad". Bad is, well, beating/hurting stuff, and good one is basically a pleasure torture, like forced vibrator for example.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Slave Training (ST) concept
« Reply #49 on: October 13, 2014, 05:41:47 AM »
Now, my thoughts about slave training.
- Running away. It should be quite rare event during actual training. It's much easier to run away at night than during training in front of everyone. So pure running events should mostly be a part of next day calculations.

Since anyone can train anyone ==> Untrained Slave training an Untrained Salve == Super high chances of an escape for both?

I am still fuzzy on the whole training thing but it'll get better in time (just had 30 mins to test it).

- Fighting. Rather then running, slaves could attack MC and/or guards. Especially during training, when they don't want to do something. In case of high level, dangerous slaves we could use BE, otherwise simulated fight should be enough. If slave is strong enough to beat guards, she will run away indeed.

Be during personal training maybe... If she beats the guards, all untrained slaves should run away.

- Misc items, as far as I know, cannot just add trait. Your vibrator items require either to rewrite items code a bit or use a different slot.

I don't remember. System got a bit complicated due to amount of requests/wishes. Might not be a bad idea to rewrite the whole thing.

*Edit: Prolly true for the misc items due to their nature. Same trait could be applied on daily basis messing with my poor dicts.

- I don't remember where I've seen it, but in some game there were two types of punishments/ways to break, "good" and "bad". Bad is, well, beating/hurting stuff, and good one is basically a pleasure torture, like forced vibrator for example.

I dislike "pleasure torture" as a way of "breaking" someone. We need a better system without linear progression by unlocking the next logical step (petting-kissing-blowjob-sex for example). That way of training where a slave simply refuses the next logical step is bullsh!t created by people who didn't know/ or simply not willing to write better code. Thewlises system sounds like it will allow practically anything so it's a matter of stuffing it up with good content after it's ready (I didn't find training in labels when I tried it and there is other stuff that needs to be wrapped up).

===========
Some notes for the future:

- There should be a way to set a slave free or for a slave to "buy" their freedom if working off a small wage while doing a really good job.
- If they lack the funds themselves and you want to free them, you should pay for it (requirement by law) in form of setting up a small business or buying/giving them a peace of land. *Both should give (+50 disposition to every slave, -25 disposition to every free girl in employment, -10 out of employment)
- Possible other insensitive to work for you might be:
*Sending to work in nearby mines (which no slaves returned from in one piece)
*Promise of freedom after x years of good service (prolly not relevant to gameplay but should be there in conversations)
*There should be no visible identification to id a slave.

It's not like this is our own idea. Suicide exists in WM, where pessimist girls with low joy can commit it.
Personally, I think we just need multiple options to prevent it, ie keep joy high, use special equipment, guards, upgrades, maybe exotic things like mind control.
It makes sense it terms of life simulation too. Suicide exists irl and it's not that rare. I bet most people would commit it after some time while being slaves with min joy (meaning deep depression without any hope left). I don't remember if we have an effect for too low joy, if not, then we should add it, I guess.

We already have all (most) of those options.

First thing first, training system which is coming along nicely needs to be wrapped up and receive some content. We'll figure out the rest as we go, I often find it strange when players raise issues on subject matter in a game that deals with prostitution, slavery, dangerous exploration and etc. I often find that suicide fits in really well in games where it's "appropriate" (for lack of a better word) like in Elder Scrolls for example. Halo even has "suicide bombers"...

Edit:
(Just caught an escaped slave, freaking awesome!)
I found punishments/rewards in labels training but can't yet tell how to distinguish it from tasks for the next day.
« Last Edit: October 13, 2014, 07:15:47 AM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: Slave Training (ST) concept
« Reply #50 on: October 13, 2014, 07:55:24 AM »
Since anyone can train anyone ==> Untrained Slave training an Untrained Salve == Super high chances of an escape for both?
Fair enough. We need checks then. In case of adequate trainer smart slave (intelligence check) wound wait for night.
I just find it strange when unhappy slaves try to run away in many games only when you do something with them, usually starting with attacking MC. Escape preparations and implementation at some dark night could work too, after all.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Slave Training (ST) concept
« Reply #51 on: October 13, 2014, 08:14:16 AM »
I just find it strange when unhappy slaves try to run away in many games only when you do something with them, usually starting with attacking MC. Escape preparations and implementation at some dark night could work too, after all.

Yeah, that's what I was talking about. I hope that we'll settle this gradually by improving checks, logic and exceptions.
Like what we're doing?

Offline Thewlis

  • Jr. Member
  • **
  • Posts: 74
  • Its hentai, quiaff?
Re: Slave Training (ST) concept
« Reply #52 on: October 13, 2014, 12:21:14 PM »
1) I can add have an action for warriors to search for girls easily enough. I can use it as a modifier for the chances for look_around events. Maybe add an option to allow them to auto-buy jailed slaves?

2) I just placed the jail locations where ever was convenient. Do you have any suggestion of where I should move it?

3) Currently the runaway chance is just a dice role based on the dungeons security rating and upgrades with the results of failed and successful attempt. I could change it so at high security ratings a successful attempt also requires a successful combat result.

Probably would use BE for personal training and a simulation for others. Can we call up the BE during the next day logic? 'Cause if we can't we'd probably need to use simulations for personal training training that aren't one-off-events.

4) I'll probably move the vibrators to a different slot, rewriting the items is probably not a good idea mid-ST. Might make them take up the trouser slot and make them reverse-chastity panties.

5) Currently the training only really has "bad breaking". It would be entirely possible to have "good break" training as well. Maybe have good break take longer but have less disposition changes and other such things?

6) The Obedience training has a lesson called "Break" that assigns the "Broken" trait that's only available once the girl has a certain level of character.

As I'm using the character stat currently as a sort of reverse-obedience I can tie in chances to escape to that. Easy enough to include a check for Broken trait as well to stop all runaway events.

Currently the Obedience training has the success states of:
OBEY = disposition > 750
DISOBEY = disposition < 250
RUNAWAY = disobey_flag > 5 and not "Broken"

7) Haven't got many ideas for slaves freeing themselves. Probably best to put into a sub-module along with enslaving free girls for now.

8) Now that the RunawayManager is in I can add checks for other jobs as to whether a slave can escape. Might shift the code that checks for runaway success into the RunawayManager itself for easier use.

9) Currently slaves only respond to bad trainers in the "She's broken/a slave and I don't want to be near here" sense. I add a check for competence to add a modifier to runaway chance easily enough. Maybe adapt the teaching skill stat to a dice roll.

10) Currently as all next_day training use up the entirety of the girls AP they specify a duration directly under the lesson image. The one-off-event training, having technically a duration of 0) show how much AP it will cost the girl instead in orange text. I thought about giving the one-off-event lessons a different border colour to show them off easily but put it aside for later.

The available one-off-event lessons are all the reward and punishment options. Everything else are next_day training.

11) As we want trainers to be able to train multiple girls, each lesson has a "heroAP" property that holds how much AP it costs the trainer to teach the lesson. This cost is applied once regardless of how many times the girl is 'taught'. If a trainer is assigned more lesson then they can teach then any attempt to train a girl if they don't have the AP for it automatically fails. While this does mean that there is a disconnect between the AP costs for girls and trainers it seemed like a good balance.

Offline Thewlis

  • Jr. Member
  • **
  • Posts: 74
  • Its hentai, quiaff?
Re: Slave Training (ST) concept
« Reply #53 on: October 13, 2014, 02:49:39 PM »
I fixed some of the bugs you mentioned.

I changed the vibrators to body slots and updated their descriptions to compensate. They'll need new images though.

I moved the jail in the dark map.

I've added a new style for one-off-event training. It should be easy to see the difference between them now, what do you think?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Slave Training (ST) concept
« Reply #54 on: October 13, 2014, 03:25:43 PM »
1) I can add have an action for warriors to search for girls easily enough. I can use it as a modifier for the chances for look_around events. Maybe add an option to allow them to auto-buy jailed slaves?

Sounds like a plan. Maybe also a simple way to alert the authorities (in jail) and just have a random chance of the girl being caught during next day calculations. We can complicate it a bit in later development by allowing to set a bail to influence the chances.

2) I just placed the jail locations where ever was convenient. Do you have any suggestion of where I should move it?

Please don't do that. We'll change it if we decide to go with dark map and change it then. We either do a poll with the next release between the two cities we have now or switch to the map Gismo is trying to create (if he succeeds, he never made a map like that before). He's even trying to make it with a grid :) We can have a couple of quest to build stuff if that'll be the case :)

*Wrote this too late it would seem :(

3) Currently the runaway chance is just a dice role based on the dungeons security rating and upgrades with the results of failed and successful attempt. I could change it so at high security ratings a successful attempt also requires a successful combat result.

Probably would use BE for personal training and a simulation for others. Can we call up the BE during the next day logic? 'Cause if we can't we'd probably need to use simulations for personal training training that aren't one-off-events.

Even if we manage it technically, it makes little sense to do so. BE feels like it should be avoided during ND.

5) Currently the training only really has "bad breaking". It would be entirely possible to have "good break" training as well. Maybe have good break take longer but have less disposition changes and other such things?

"Good Breaking" should be available through simple conversations in interactions I think. I hate the "obedience for a candy approach", slavery is supposed to be normal and accepted so a promise of freedom or a really small wage/percentage of profits to allow her to "buy herself" are far more realistic and honest approaches. Especially if we allow player to build good reputation as a slave owner in time.

6) The Obedience training has a lesson called "Break" that assigns the "Broken" trait that's only available once the girl has a certain level of character.

As I'm using the character stat currently as a sort of reverse-obedience I can tie in chances to escape to that. Easy enough to include a check for Broken trait as well to stop all runaway events.

Currently the Obedience training has the success states of:
OBEY = disposition > 750
DISOBEY = disposition < 250
RUNAWAY = disobey_flag > 5 and not "Broken"

Yeah, we'll balance this out if needed but this approach is really good.

7) Haven't got many ideas for slaves freeing themselves. Probably best to put into a sub-module along with enslaving free girls for now.

Yeah, might run in girls nd method or through a separate module.


9) Currently slaves only respond to bad trainers in the "She's broken/a slave and I don't want to be near here" sense. I add a check for competence to add a modifier to runaway chance easily enough. Maybe adapt the teaching skill stat to a dice roll.

10) Currently as all next_day training use up the entirety of the girls AP they specify a duration directly under the lesson image. The one-off-event training, having technically a duration of 0) show how much AP it will cost the girl instead in orange text. I thought about giving the one-off-event lessons a different border colour to show them off easily but put it aside for later.

The available one-off-event lessons are all the reward and punishment options. Everything else are next_day training.

**I am thinking we should try to give the whole slave training and maybe the gameplay itself different approach. In ancient times, values of skilled slaves was insane (skilled medical practitioner 50 - 70 times unskilled slaves, skilled artists/musicians x25 value the unskilled slaves, scribes x10 value of the unskilled slaves and etc.)

It might not be a bad idea to build the whole game around something like that (full training could take up to 1000 days and require a professional trainer (who can in turn train several slaves at the same time)).

Break first (Simpler/quicker process, good or bad) and teach later. Or break (somewhat higher value and sell at base price). Our exp system that doesn't allow stat to soar without control and that can be controlled through exp_adjust method could be of great help in balancing this as well.

In any case, this is a big decision so I'll leave this to a discussion for now.


11) As we want trainers to be able to train multiple girls, each lesson has a "heroAP" property that holds how much AP it costs the trainer to teach the lesson. This cost is applied once regardless of how many times the girl is 'taught'. If a trainer is assigned more lesson then they can teach then any attempt to train a girl if they don't have the AP for it automatically fails. While this does mean that there is a disconnect between the AP costs for girls and trainers it seemed like a good balance.

Noted. It should be possible to train several girls at the same time...

I've added a new style for one-off-event training. It should be easy to see the difference between them now, what do you think?

I'll try to take a look. If we go with the system above it will only make sense to personally train a slave on auto (during ND at fixed AP price (this should be withdrawn from MC on daily basis just like it is with current MC training by NPCs)) and if MC is really good at some stuff himself.

We'll still have "actions" that can be done with a slave, most players are expecting these I think, not the "You've trained her to walk outside" cr@p.

===============
***Just a thought, everyone in all (*most?) similar games assumes that all characters are somehow literate? That shouldn't really be the case... maybe literacy training should be a part of ST/School training...
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Slave Training (ST) concept
« Reply #55 on: October 13, 2014, 03:38:37 PM »
I moved the jail in the dark map.

I've added a new style for one-off-event training. It should be easy to see the difference between them now, what do you think?

- That's a great location for a jail.

- Perfect!
Like what we're doing?

Offline Thewlis

  • Jr. Member
  • **
  • Posts: 74
  • Its hentai, quiaff?
Re: Slave Training (ST) concept
« Reply #56 on: October 14, 2014, 11:29:17 AM »
I'm working on abstracting the code I used to calculate the runaway chance so it can easily be used in other jobs/locations through a simple function call, and I had an idea.

Currently training has obey/disobey flags and if we're extending running away to other jobs it would make sense to add obedience to them as well.

Obey/disobey work on a simple 0-10 scale, with the reward/punishment training unlocking "higher" lessons the more points they have.

If we extend the system I think adding another layer to this in terms of "dissatisfaction" and "bravery". Basically say the girl is disobeys during the whore job (by not doing it/doing badly). She'd gain a disobey point and everything will carry on as normal. However if she isn't punished within X number of days she gains a "bravery" point which increases the chance of her disobeying, unless she has the Broken trait (or the trait just lowers the increased chance). Same for obey points but with "dissatisfaction", which would decrease the chance of them obeying.

Would make broken slaves easier to manage and adds to the realism. Might end up as a huge AP sink though if the player has to spend all the time rewarding/punishing slaves.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Slave Training (ST) concept
« Reply #57 on: October 14, 2014, 11:35:44 AM »
I wanted to handle it differently by simply not allowing untrained slaves to do normal jobs. Would simplify the matter...

Your way will work as well, but will require more checks and balances.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Slave Training (ST) concept
« Reply #58 on: October 14, 2014, 03:50:51 PM »
Would make broken slaves easier to manage and adds to the realism. Might end up as a huge AP sink though if the player has to spend all the time rewarding/punishing slaves.

If you assign trainer to do the breaking routine, shouldn't trainer handle punishment? Yours could be extra I supopose.
Like what we're doing?

Offline Thewlis

  • Jr. Member
  • **
  • Posts: 74
  • Its hentai, quiaff?
Re: Slave Training (ST) concept
« Reply #59 on: October 17, 2014, 04:36:06 PM »
Right I've updated the runaway code (and a lot of other things). Not going to push it yet as I still need to test most of it and I could have very well broken a lot of stuff.

Jobs
  • All the constructors now use "girl", "girls" and "loc" arguments instead of job-specific names.
  • The "brothel" property was removed in favour of the Job super-classes "loc" property. "brothelmod" was also renamed "locmod".
  • All the job classes now use the proper super() calls for inheritance.
  • Job now accepts a new argument "event_type" which sets the event type string passed to the Event instance created in create_event. Prevents needing to override create_event for trivial reasons.
  • Removed all redundant definitions of "flag_red" and other such properties from child classes (like every class defined these when Job did so anyway).
  • The line that removed the Job's girl from the girls list was placed into finish_job(). Some instances of the line still hover about where finish_job wasn't really applicable to the situation. I might just remove this line entirely and place it into the next_day loops like it should have been from the very beginning.
  • All the jobs that poll for building upgrades now use the proper interfaces in UpgradableBuilding.
  • The guard_event and bar_brawl_event functions in WhoreJob and ServiceJob have been gutted. A new function called solve_job_guard_event was created as both functions were huge and (apart from the initial condition to trigger it) practically identical. Other jobs can now include fights with clients (or maybe a mass slave uprising) easily.
  • The multiple sex act functions from WhoreJob (sex_act, anal_act, etc) were removed and replaced with just "act". The only difference between them were the text lines used, the sex skill checked and the images for act variants.
    A new class was created to handle this that the act function pulls from to prevent duplication of code. Makes adding new acts and their variants really easy as a new PytWhoring instances needs to be created instead of a whole function duplicated.
       
  • SchoolGaurdJob, TrainerJob and TrainingJob were moved into the "classes - jobs.rpy" file.
Buildings
  • get_girls function now accepts the argument "occupation" that searches the location for girls of a specific occupation instead of action.
  • Created FamousBuilding and DirtyBuilding classes that contain the fame/reputation and dirt/cleaning properties and functions.
    All the buildings now extend the appropriate classes for their use.
    • class Brothel(UpgradableBuilding, DirtyBuilding, FamousBuilding)
    • class FigherGuild(DirtyBuilding)
    • class CityJail(Building)
  • TrainingDungeon and School were moved into the "classes - locations.rpy" file.
  • Updated any code that used dirt/fame into checking if the building extends the appropriate class first.
Misc
  • The copy function in the module copy has been imported as shallowcopy.
  • The function s_conflict_resolver has been rewritten. As 2 of its 3 original uses (in guard_event and bar_brawl_event) had other "victory" conditions outside of the function that seemed useful to my purposes (dubbed "overwhelming victory" and "decisive victory") they were included in the new code.
    To allow the FG_Exploration job to retain its use of the function without a rewrite (as I want to avoid for FG for now) these new results are only returned if the argument new_results=True is passed to the function.
    The function now returns ("OV"/"DV"/"V"/"LV"/"D"/"OD", exp) for the new results. The old results remain as ("victory", exp), "defeat" and "OD".
  • The CityJail now has a proper interface to 'bail' prisoners out of. The add_prisoner function adds them to this interface. The add_special function adds them to the interface, but when bailed they don't get added to the players girls list. Use this for event/quest/story purposes.
Now for the actual training changes.

Bad Trainers

Girls now consider their trainers bad if their skill and knowledge (*0.8) exceed that of their trainers. This, along with the previous "I'm not trainer under a slave" condition will result in either a STOP or RUNAWAY state if the girl is free or a slave. As such other references to the BAD_TRAINER state have been removed. Lessons can contain custom text for BAD_TRAINING states still that will be displayed instead of normal RUNAWAY or STOP text.

Running Away
  • A new event store has been added to Girl.guard_relay called "escape_event". This is used to track escape events for School/Dungeon guards.
    A new class called PytRelayProxy has been created to allow for easier access to the relay properties.
  • A new action called "Search" was added to the TrainingDungeon. Currently any girl can have this job.
  • In the TrainingDugeon management screen the maintenance panel is now available and contains the option to allow the searching guards to auto-bail slaves in the jail that they find.
  • A new EscapeeSearchJob class has been created. It happens after all Training and Brothel jobs. The next_day logic searches through all buildings the player owns, collects all girls with the action "Search" and solves the job for them. Other buildings can have the action added easily without requiring code to be added to next_day.
  • These girls have the chance to capture escaped girls or bail them out of jail based on their "runaway status".
  • The code to check for runaway success was moved from TrainingJob into the RunawayManager as a function called "can_escape". This function:
    • Calculates the runaway chance of the girl in the location (based on the buildings security rating, restrained trait, girl stats, etc).
    • If the girls stats are advantageous, starts a combat simulation.
    • If the location contains the player a BE fight is started (if "simulation=False" is passed to the function), else s_conflict_resolver if called.
    • If the conflict is successful a tuple of (success, result) is returned.
      success = True (the girl escaped) / False (the girl was caught).
      result = "ESCAPED" (the girl escaped without fighting) / "FOUGHT" (the girl escaped while fighting) / "DEFEATED" (the girl was caught while fighting) / "CAUGHT" (the girl was caught without fighting).
  • This function can be called anywhere to check if a girl can escape. It is even used in EscapeeSearchJob to check if the guard can capture the girl they've found.
Notes
Currently while the RunawayManager can handle escape attempts from other locations, none of the checks are added in. What Jobs do we want these checks in, and what state do we want the girls in before they try and escape?

Currently girls who are searching don't count as guards in escape attempts. Do we want them included?

I'll probably have more notes/questions as I remember them.

PS: I despise this damn post editor.
« Last Edit: October 17, 2014, 04:42:42 PM by Thewlis »