Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit)

In case anyone wants them or AricT wants to incorporate them, here're some tweaks I've been applying to my playthru's (no bugs I've found with these).  I tended to get bogged down with too many slaves and things to manage in general such that it took me a long time to get through my turns and kept taking advantage of some exploits so see below.

Edit: remember to fix the tabs/indenting or the code may not work

1) nerfed interactions in Mansion.gd:
if globals.player.send >= 2:
globals.state.sexactions = ceil(globals.player.send/3.0) #+ variables.basesexactions
globals.state.nonsexactions = ceil(globals.player.send/3.0) #+ variables.basenonsexactions
else:
globals.state.sexactions = 1 #+ variables.basesexactions
globals.state.nonsexactions = 1 #+ variables.basenonsexactions

2) reduced max allowable beds by tying to days played
globals.gd
var nopoplimit = true
upgradespanel.gd
if upgrade.code in ['mansioncommunal', 'mansionpersonal','jailcapacity'] && globals.state.nopoplimit == true:
limit = int(round(globals.resources.day/upgrade.levels)) + 5 - upgrade.pointscost
mansionupgrades.gd
jailcapacity = {
name = "Capacity",
code = 'jailcapacity',
description = "Adds additional cells to your jail, increasing the maximum number of prisoners it can hold at a time.", 
levels = 15,
cost = 299,
pointscost = 3,
valuename = "Jail Cells: ",
},

...

mansioncommunal = {
name = "Communal Room Beds",
code = 'mansioncommunal',
description = "Adds new beds to communal room, providing space for additional residents to sleep. ", 
levels = 6,
cost = 199,
pointscost = 1,
valuename = "Total beds: ",
},
mansionpersonal = {
name = "New Personal Room",
code = 'mansionpersonal',
description = "Set up one of the free rooms for living. Personal rooms provide sense of [color=yellow]Luxury[/color] to their hosts. ", 
levels = 15,
cost = 549,
pointscost = 3,
valuename = "Total rooms: ",
},

3) disallowed attribute points to upgrade points on new people (seemed like an exploit to me)
slave_tab.gd
func buyattributepoint():
#Ralpho edit - added && person.loyal >=50
if person.skillpoints >= variables.attributepointsperupgradepoint && person.loyal >=50:

4) decrease reputation more for sebastion/umbra sales
outside.gd
globals.state.reputation[globals.weightedrandom(reputationloss)] -= 18 #was 4

5) Add random traits 
to all births at low % chance including those for special characters (eg "Sturdy")
at dim crystal level 2  (Note: I haven't actually seen this work yet so I can't be sure it does, but I wanted to be less dependent on the main story characters to aquire their special traits in offspring)
[constructor.gd]
if rand_range(0,100) <= variables.babynewtraitchance:
if rand_range(0,100) <= 20: # 1 in 5 chance
person.add_trait(globals.origins.traits('unique').name)
else:
person.add_trait(globals.origins.traits('any').name)
[origins.gd]
elif tag == 'unique':
for i in traits:
if traits[i]['tags'].has('unique') == true && traits[i]['tags'].has('expansiontrait') != true:
###---Expansion End---###
rval.append(traits[i])
[traits.gd] added to some of the traits the following within "tags": [ 
    "tags": [
      "secondary",
      "unique",

6) Easier Fetish Talks, etc. (for less time clicking through consent/fetish menus on all the slaves)
statstab.gd
if mode == "stud":
person.dailytalk.append('consentstud')
if (person.loyal*.2) + (person.lewdness*.2) + (person.lust*.3) + person.instinct.reproduce >= 50+(person.metrics.birth*10):
...
if mode == "breeder":
person.dailytalk.append('consentbreeder')
if (person.loyal*.5) + (person.lewdness*.2) + (person.lust*.1) + person.instinct.reproduce >= 75+(person.metrics.birth*10):
...
#Resistance Check
if person.checkFetish(mode, 2) || person.loyal == 100:
person.gd
else:
clamper = alternatemod
if rand_range(0,100) <= 20 + ((opinionrank*10) * clamper) + stats.loyal_cur/10:

7) Quicker Breeder Start (otherwise I always ended up picking mage, so I wanted to make breeder more appealing)
[mainmenu.gd]
elif player.spec == 'Breeder':
globals.state.mansionupgrades.mansionnursery += 1
globals.state.mansionupgrades.dimensionalcrystal += 1

8) Increase spell costs and code change below (makes you play more careful with your mana instead of spamming invigorate and sedate)
[spells.gd]
func spellcost(spell):
var cost = spell.manacost
if globals.state.spec != 'Mage':
cost = cost*2

9) Nerf Fear spell rebelliousness reduction (seemed like an exploit)
[spells.gd]
if person.effects.has('captured') == true:
text += "\n[color=green]$name becomes less rebellious towards you.[/color]"
person.effects.captured.duration -= 1+globals.player.smaf/3

10) Tweaked Tentacle Spell (otherwise I never really used it)
[spells.gd]
person.obed += 75
person.fear += 90
person.lewdness += 5

11) Make food harder to produce with forage/hunting; make cooking more needed (otherwise I never had enough drive to farm; next playthru I'll make food more expensive too b/c it was still too easy to just buy food when hunting/forage didn't cut it)
[jobs&specs.gd] 
#forage nerf
###---Added by Expansion---### Ank Bugfix v4
food = min(food, max(person.sstr+person.send, -1)*2+5)
###---End Expansion---###
if person.spec == 'ranger':
food *= 1.5
food = round(food)
text += '$He brought back [color=aqua]'+ str(food) + '[/color] units of food.\n'
person.xp += food/2
...

#hunt nerf
var food = person.awareness(true)*rand_range(1,4) + max(0,person.send*rand_range(3,8))
if person.cour < 60 && rand_range(0,100) + person.cour/4 < 45:
food = food*rand_range(0.25, 0.50)
text +=  "Due to [color=yellow]lack of courage[/color], $he obtained less food than $he could. \n"
###---Added by Expansion---### Hybrid Support
if person.race.find('Arachna') >= 0:
food = food*1.4
###---End Expansion---###
if person.spec in ['ranger','trapper']:
food *= 1.5
###---Added by Expansion---### Ank Bugfix v4
food = round(min(food, max(person.sstr+person.send, -1)*3+5))
###---End Expansion---###
globals.itemdict.supply.amount += round(food/12)
person.xp += food/3

You need to have quite a few foragers/hunters, I don't see it as OP at all.

(1 edit)

You're right, OP isn't the right description I guess.  Getting the farm going takes a lot of effort, so I'm trying to make food difficult and farming the solution in order to guide my play in that direction.   

Edit: Also I like to struggle a bit when I'm playing.  Maybe I'm just sick that way.  :]

I appreciate the recommendation. I am not likely to apply those changes myself as I never want to limit playstyle options, which is one of the strong points I think Strive has going for it, but I have been considering adding in "Play Modes" as a character creation option and those tweaks could definitely be a viable "difficulty mode" tweak. Especially the mana change. Whew!

Play modes would be cool, but I don't mind tweaking.  I get a little more familiar with gdscript each time by playing with it and experimenting.  Truth be told, I didn't stop with that mana tweak, I increased spell costs by several times for invigorate, sedate, fear, and dominate too (~30 mana each, 15 if I'm a mage).   It makes me stingy with my mana if one long expedition uses up the fruits of a couple days of copulating (considering the interactions/endurance nerf I use) - after all a sorcerer with a more subdued sex life would need to be at a severe disadvantage in the world of S4P, right?

That’s good to hear! But be careful mate, that’s how I started. 😋

If you feel up to it, you could always compile just the files you’ve modified to make a mod that tweaks Arics with your difficulty changes. I’m sure people wanting a harder playstyle would like that

I might just do that, but probably after I get a little better at it and amass a more comprehensive set.  I'll ping the discord channel when I'm having trouble getting something to work the way I think it should.  The set so far is just the really simple low-hanging fruit sort of tweaks I could do without any complexity, spread out code, or new global variables (the node extension and overall structure still escape me).