Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Strive for Power

Fantasy Slave Management/RPG Erotic Game · By Strive4Power

How make my servants only straight ?

A topic by aur12 created Dec 14, 2021 Views: 563 Replies: 4
Viewing posts 1 to 3

Hello, I probably missed something, sorry for asking the question, but I can't find the answer myself.

However I play, as soon as there is a group scene (not even an orgy), my slaves suddenly become bisexual ...

If I let them lead, even putting me as the sole receiver, they still initiate homosexual actions. Usually I even end up being ignored because they are so busy with each other ... Of course I'm not in "only watch" mode but it just works like so. I wanted to create a sort of "inversed harem" but I'm left out. And if I turn off every option (so almost all) except straight ones, they wait and wait and wait ...

What am I missing? Is there a way (in-game or even in editing) to "force" my slaves to be interested only in women, other than to choose all the options myself?

Thank you very much for anyone who will help me!

(1 edit)

Make sure you don't have the "Only Watch" button selected, or the player character cannot be involved in slave chosen actions.

There is no option or trait to prevent homosexual actions, and while slaves without Bisexual or Homosexual traits will be significantly less likely to choose targets with the same sex this can be overridden by having more experience together. The AI is stupid and random with little control besides the influence of crude prior action counts.

That said, you are most likely after the Monogamous and Devoted traits. The first will cause slaves to ignore everyone but the player, and the second will cause them to strongly prefer the player. Though note that Monogamous cannot be gained through in-game actions and can be lost if the slave participates in group sex actions(more than 2 people penetrating in a single action).

Otherwise you would need to edit the function "func askslaveforaction(chosen):" in newsexsystem.gd.

Hello,

Thank you very much for your explanations.

I haven't figured out how to edit this in the script (every attempt would just broke sex scenes), just don't know enough about it..

On the other hand, I noticed that the "if isencountersamesex = true" came up often : wouldn't just changing the "true" to "false" be the easiest way to get the same result ? But I couldn't find where the phrase was, would you know it by any chance?

(1 edit)

The Debug mod will generally help if you  are editing files because it will provide error messages rather than crashing. It's best to edit script files with a decent text editor (like Notepad++ or Sublime Text 3) as Windows Notepad will cause errors if you add any new lines(it uses old windows newlines instead of universal or linux standards). The scripts are written in gdscript which is similar to Python so if you need to learn the programming basics then I recommend an online interactive Python tutorial. Gdscript uses whitespace formatting so using spaces instead of tabs or having the wrong number can easily crash a script.

I realize that your were just posting a quick example, but note that something like "if isencountersamesex = true" will cause errors because "=" means "assignment" and "==" means "equals".

The sex system 'AI' is already designed such that slaves have preferences for which sex they will choose as a partner. Slaves with "Homosexual" prefer the same sex, so males prefer males and female/futa prefer female/futa. Slaves with "Bisexual" have no preference in the sex of their partner. Slaves without either of those two traits are considered to be heterosexual and thus prefer male to female or the reverse. Changing any of those same sex conditions from "true" to "false" would result in a reversal of preferences, thus heterosexual slaves would act homosexual or homosexual would act heterosexual.

If you wanted to change how your slaves select by sex, then the line after the condition is the one you want to change.

if isencountersamesex([chosen], [i], chosen) && chosen.person.traits.has('Bisexual') == false && chosen.person.traits.has('Homosexual') == false:
    value = max(value/5,1)

For instance, changing the 5 to a 20 would basically cause heterosexual slaves to be 4 times less likely to select a same sex partner, or changing "max(value/5,1)" to 0.01 would mean that regardless of their past interactions a heterosexual slave is unlikely to pick a same sex partner unless there are no other options.

Otherwise you could add a condition to universally boost the likelihood that slaves choose the player as their partner, like this:

if i.person == globals.player:
    value *= 10

Note that code posted on this website automatically has the leading tabs converted to spaces so it will cause errors if you copy it into your script without changing them back.

(2 edits)

Thanks a lot for your help ! It worked perfectly, now everyone acts according to their preferences, as I hoped (and in addition I learned things about programming, thanks to your explanations).

I actually used Godot Engine for editing because it shows errors as well. So my previous tries were written correctly, I think, (unlike my example, sorry), but I totally messed up the data to edit ... I focused on the partners (next paragraph) and ended up with sex scenes with no participants every time. I had completely missed the line you pointed out to me.

So sincerely thank you for correcting me and giving me the solution that I could not find on my own ...

Have a good weekend!

(and sorry for possible mistakes,  not native English speaker)