Hello, just asking if our Video needs an update.
Awesome catch, apparently they were listed for bestial and nature. That's fixed in v0.9.7, but if you need it fixed in the meantime you can do so by opening person.gd, searching for essence = 'bestialessenceing', and removing ,'Dryad' from the line above it. Make sure that you remove the comma so there's only one between Centaur and Beastkin
I am trying to install the mod and am not sure what I am doing wrong. After putting all of the files in the right places in appdata once i open the game to activate the mod it doesn't show in the menu.
I am trying to install it on a fresh download of the game and don't have a save file of the unmodded game I want to backup which is the only thing from FurturPlanets guide that I didn't do.
There are 3 reasons that come to mind why Aric's mod would not be listed in the mod menu.
The best way to fix Strive problems fast is the Strive Discord (/t/284398/discord).
1 I did restart it a few times
2 I will redo the installation and test that
3 The game did not do anything weird that I could see, and the console said nothing except that it remade the backup folder the video tells you to delete or rename
Edit: I redid the whole thing for the fourth time and it just started working, thanks for the help!
In your Strive folder in appdata (where the "mods" and "saves" folders are), there should be a path ".../Strive/mods/AricsExpansion/scripts/aricsexpansion/" but the error messages say that this path does not exist or does not contain the expected script files. Potential causes:
There may be other problems, but I can't really tell yet as this problem seems to be dominating the console.
Could anyone give me help with a quest and this mod? Everything seemed to be progressing very smoothly until you are asked for a female lactating Taurus. I've tried so many different sizes and she doesn't seem to accept any of them with the new breast sizes. How would I go about completing this quest? I modified nipple amount and breast sizes, and added a lactating potion to the person but nothing seems to work.
I'm also curious how breeding words in this mod too. Do you need to give them a job in a room after telling them to breed with other slaves or is it automatic?
The quest log entry for the quest should be "Bring Melissa a Taurus girl with huge lactating tits and at least three additional pairs of tits. Size and lactation can be altered with certain potions, while the laboratory lets you add and develop extra tits. ", which explains all the parts needed, but note that the wording here is very specific. It is likely that you had the right number of extra nipples, but the number of extra nipples is not necessarily the same as the number of extra tits. You will need to use the "Develop nipples" operation in the laboratory to change the extra nipples to extra tits.
I'm not that familiar with the mechanics of this mod, but I suspect that there is no method of having slaves impregnate each other outside of the sex interaction with the player character.
You're correct on the "Develop Nipples" operation. That's the confusing part for most people. The extra nipples need to be fully developed to meet the requirements.
You can actually have slaves interbreed without the Sex interaction if you use the Farm and set one as the Breeder and the other as the Stud. It will occur automatically at that point.
Hey guys was wondering if I somehow installed the mod wrong, I followed the video and made sure to change my backup to a different name and everything. Am i missing something or possible didnt do something right? As of current all the other functions work when starting a new game, except for the new added sizes and sexuality and more or less not being able to leave my own house.
SCRIPT ERROR: load_game: Invalid get index 'expansion' (on base: 'Node (globals.gd)').
At: res://files/globals.gd:1689
SCRIPT ERROR: zoneenter: Invalid set index 'location' (on base: 'Control (outside.gd)') with value of type 'String'.
At: res://files/scripts/exploration.gd:56
you need to tweak a bit more. Here's my files btw:
http://www.mediafire.com/file/8fm38qqnlq3frkg/Strive_newPositions.zip/file
I imagine you've already done a lot of debug on the hybrids already, but here goes. I'm having trouble getting taurus blood to result in the endurance stat boost it should produce. See pic of new offspring (father was taurus). It doesn't seem to matter if Taurus father is PC or NPC (I tried with other offspring and none got the stat boost). I can try with a Taurus mother too if that helps.

That is fascinating. The only race that you're seeing that issue with is Taurus? I checked the code and can't see anything obvious that would indicate why that bonus isn't applying. It appears the values for the combination of the other races are working fine for that person. Out of curiosity, can you add a point to endurance and see if that triggers it to update and show the +1?
Ok, I tested some more. Adding endurance didn't help jog things along; just maxed out with no bonus. It's not just taurus, see examples below.
I did monkey with this code (lost the tabs only just now in the copy/paste to below), could that have messed it up? I was trying to make it so sometimes mom or dad had more weighting in their offspring.
[constructor.gd]
func build_genealogy(person, mother, father):
var percent = 0
var parentgenechance = rand_range(0,100)
for race in genealogies:
if parentgenechance >= 75:
person.genealogy[race] = round((mother.genealogy[race] * .4) + (father.genealogy[race] * .6))
if parentgenechance <= 25:
person.genealogy[race] = round((mother.genealogy[race] * .6) + (father.genealogy[race] * .4))
else:
person.genealogy[race] = round((mother.genealogy[race] + father.genealogy[race]) * .5)
percent += person.genealogy[race]
I also played with the stat bonuses themselves but only subtle changes (eg. .6 instead of .4 on existing stat bonus magnitudes only). I'm doing all of this with pregnancy accelerated to 3 days btw.


One other observed bug in my playthru was an occasional offspring sex mismatch in naming (wrong sex name) and See Relatives description vs Inspect description / popup description on offspring. The inspect screen / popup descriptions were aligned with behavior in sex/meet interactions. I'm suspicious that the mismatch occurs as some character traits are set for the offspring during pregnancy and others at birth, but I haven't looked through the code to find out if I'm right.


Here are some other issues that may have been fixed/tweaked already. If any of this isn't specific enough, I can copy/paste code. I have been making some changes here and there to tweak the game, but straight forward changes, nothing I think could have resulted in the below.
Thanks for the heads up. I may have to have the game store the altered variables differently if it isn't saving. Regarding preg durations, going under the semen lifespan will definitely risk that. I have that fixed so childbirth clears all remaining semen from the womb to avoid that issue in v0.9.7. Thanks for reporting it!
Also, two more things - don't forget that I didn't just add new items, I re-balanced the weight of existing items to make sense. (default vales are a joke)
Also, I tweaked post-battle sex for more variation and more slave actions. Trying to add more fetish-specific actions. If I can figure out how to add options, I can expand it even more. Will forward my changes after more testing.
ATM, slaves will try to preserve their virginties, but if no virgin, they might ride futa/male enemies and get pregnant.
The cause of the issue is most likely that your mod system is not the correct version for applying the mod. Part of the installation is to patch the files for the correct mod system with the files found in "Put in Strive Game Files". Then the "backup" folder is to be deleted and then the game can be started.
As a side note, combatdata.gd should be included with the patch files and not with the mod files, as that version of the mod system is not capable of modding that file. Note, changing this may alleviate this specific error message, but it will not fix the core problem behind the error message so something else will take its place.
This error is stating that there was a parse error in the sex system file, which causes the entire file to be declared invalid. The problems in your other posts are the obvious results and add nothing further. The cause of this issue is most likely that you applied the mod files as patch files, thus corrupting your install. The files inside ".../AricsExpansion/scripts/" are to be left in the mod folder and not copied into the game folder. You will need to start over with a fresh install of Strive and carefully follow the instructions. If you still have trouble, I recommend the Strive Discord(/t/284398/discord) as a faster way to communicate and walk you through the install steps.
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
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?
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).
/t/975848/strive-v525-arics-expansion-v097-pre-merged
Download this, run the game from this instead, activate the mod, restart, and you'll be good to go
First off, thanks for all the work you put into this -- been following the mod for ages and it's a ton of fun.
I noticed two things:
1) fresh install of game and mod and a rush to try dog impregnation on a halfkin resulted in an error on globals line 2133. Looking back, it seems that line 2097,
if father_id != null && father_id != '-1' :
doesn't actually catch unique fathers. In my save file the semen deposits (all from random dogs) all have ids not equal to -1, and are only set to -1 in the ELSE side of the above if statement. I made a dummy statement to pass into the "else", loaded the save file, and fertilization went through with no issues at all.
2) I then got the following:
SCRIPT ERROR: dailyPregnancy: Invalid get index 'back' (on base: 'Array'). Did you mean '.back()' or funcref(obj, "back") ? At: user://mods/AricsExpansion/scripts/aricsexpansion/expansion.gd:1771
I made the suggested change from back to back() in the file and it ran fine. Progressed time for a few weeks after these changes and everything else seems to be working.
Looking forward to messing with the rest of the update.
/t/975848/strive-v525-arics-expansion-v097-pre-merged
Download this, run the game from this instead, activate the mod, restart, and you'll be good to go
I just discovered S4P and this mod a few weeks ago and they're both awesome. Thanks for the hard work! I've run across a few bugs though:
Lastly, what's your take on someone modding your mod? I've been making some changes in the mod for my own playthrough and I was thinking of maybe putting together my own mod based on yours. Maybe rework how the sex descriptions work, change how fetishes are learned and influenced and maybe some other stuff as well. I haven't delved too deep into it yet and I don't really know if it would be necessary but I suspect it would make stuff much easier for users and avoid compatibility issues, if I could distribute my mod together with yours(with all due credit of course). Would that be ok?
About #1, the coin flip was the vanilla method of implementing the Dark Elf racial bonus. Though there are more reliable ways of implementing it, as you pointed out it should generally work well enough, so that part was never changed. The ['bandaged','sedated'] part was my addition, because I noticed that those effect durations were functionally cooldowns unlike the other effects. Though I have no idea what I was thinking when I wrote that logic, since it's pretty obviously wrong. Though your explanation is wrong, your condition logic is better than mine. The cause was the "!" and the "&&" instead of "||", not the array check.
I've already done a bit of fixing to the sex system and overhauled sexdescriptions.gd. The results were released in a bugfix patch on the Strive Discord(/t/284398/discord) and already included in the 1.0a release of Strive. Aric will probably try to update his mod to include them but it may take a few weeks.
The Discord is often a better place to share ideas, but either way is fine. I mainly do bug fixes for Strive and Aric is more likely to adopt new ideas. I wish I had known about the Dark Elf problem earlier so it could have been included, but once enough fixes are needed I'll put together a new patch.
Great catches. I'll look into applying those fixes.
In general, I'm cool with anyone making a mod off of mine or modding mine. It may be easier to set your mod to use AricsExpansion as the base (ie: have AricsExpansion loaded first then yours below it to have your mod files change Arics) instead of just patching and re-releasing the whole AricsExpansion with your changes as that will involve reworking your mod every time AricsExpansion is patched/updated, but I'm cool with either. Have at it and I look forward to seeing what ya come up with!
Edit: Fixes applied to v0.9.8. Love the notes on the bugs and you made it exceptionally easy for me to grab and apply those quickly. I appreciate the help!
Hey! I found another bug. The Dog Kennel sleeping option does not show up in the Slave Spreadsheet(the one unlocked by the headgirl). Opening the Slave Spreadsheet will also throw an error in the console and leave the sleeping text cell empty for any slave sleeping in the Dog Kennel. Here's my fix for it:
button.add_item(globals.sleepdict['kennel'].name)
if globals.state.mansionupgrades.mansionkennels == 0:
button.set_item_disabled(button.get_item_count()-1, true)
if person.sleep == 'kennel':
button.set_item_disabled(button.get_item_count()-1, true)
button.select(button.get_item_count()-1)
Sorry about the butchered code formatting. Itch does not seem to have code formatting tools for their forums. Also, the mansion main screen does not properly update after changing sleeping spots within the Slave Spreadsheet, but that's a vanilla issue so I just ignored that. Ideally there should be a rebuild function call within func sleepselect and a rebuild function defined for the mansion main screen but there isn't.
Found and tracked down another bug. Milking gets applied multiple times during group sex. Every milking action milking is applied to every lactating character milked times the number of lactating characters getting milked. So if 3 lactating characters get milked during group sex, they each get milked 3 times for a total of 9 milkings. This is not dependent on the number of people doing the milking, just the people getting milked. Anyway, too much milking and too much text spam. Milking can also currently give weird negative values. The fix is to move the milking logic outside the for loop it's in. I moved it to before the for loop. I also made various changes that made sense to me and fix some aberrant behavior. The code is too long and complex to paste it here without formatting so I put it on pastebin together with lines at the start and end of it which indicate where I placed it in newsexsystem.gd and my comments: https://pastebin.com/VpdqGgJ6
The old milking code and my comments should also be removed before applying this fix. Just in case someone wants to apply my fixes themselves.
Edit: I'm also getting some errors with jobs. Seems like something connected to the guardian job? I'm running a 9.5 save on a fresh 9.7 install based on 5.25. I'll see if I can track it down but my console log is this(ignore the kennel error that is the mod overwriting one of my fixes from before :P):

Okay, I've found the reason for that elusive error I posted about before. It has nothing actually to do with the save. I checked and the job exp and all that stuff was already present on the save. I already had saved it in 9.7. The real reason is that the random events for guardian and slave catcher jobs use the global.evaluate function which relies on the global.currentslave variable. gloabl.currentslave however is only set when the slave tab is opened(the slave which tab it is) or in sexuals.gd on a few occasions. This means that the slave data used in those random job events is the data for the slave which had it's slave tab opened or had sex most recently. This is bad enough as the wrong slave's data is used, but when the game is started freshly and a save is loaded where a slave is assigned to either guardian or slave catcher jobs then the day is passed without doing anything else the game will generate errors in the console as the global.currentslave is nil/null and no end of day report is displayed.
I uploaded the needed changes to jobs&specs.gd to pastebin again: https://pastebin.com/DnjJvAnG
I don't know if anyone has brought this up yet, but is there anyway to keep the farms girls status(don't know what to call it) the same when you put her back in the farm. Every time I take one of the girls off the farm, its just a slog to reset all of the preferences. At this point I just leave them at the farm until they die, Its easier to get new ones to replace the old stock. Anyone know a good work around?
On a side note, cant wait to try the new version.
Do you mean keep any pumps/canisters/studs/etc assigned to her? There is not currently a way to keep those items on her as the game checks the number of slaves currently equipped with those items before showing them up as a valid/invalid selection (similar to how the game calculates beds).
The best workaround would be to create a temp farm storage in person.gd mirroring their originalwhich would assign all of the farm’s factors to before unassigning the slave from the farm, then have it attempt to check/add each of those factors back when reassigned or failing to default if it’s not available. It should work if that’s what you’re talking about, it just may be cumbersome.
Welp, that's a shame.
It occurs to me that I'm literary running a slave farm. A farm that drives its residents mad, near death, constantly mutating, oddly horny, leaking out of every hole, and full of snail eggs . . .
This is a really odd and fun game, your mod has defiantly added more playthroughs than I originally would have played through. Keep up the good work.