Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

First and foremost, my sincerest thanks for taking the time and effort to create this incredible expansion for the game AricTriton!

While dabbling around with the version 0.9.4 I came across a problem with the snail pit Management panel, which boils down to two bugs.

The first one is that when assigning available eggs to sell, the number in between the buttons doesn't in- or decrease, while the text in the box above changes as is intended. Instead the number of 'Unassigned' (Far left of the panel) in- or decreased from or to zero in accordance to how often the sell-buttons are clicked. Actually trying to sell the eggs resulted in the following error message once the day end button is clicked:

SCRIPT ERROR: dailyFarm: Invalid get index 'goldper' (on base: 'Dictionary').
   At: user://mods/AricsExpansion/scripts/aricsexpansion/expansionfarm.gd:1291.
SCRIPT ERROR: _on_end_pressed: Invalid operands 'String' and 'Nil' in operator '+'.
   At: res://files/scripts/Mansion.gd:1318.

Removing any remaining eggs from the sell option that remained after an attempted sale resolves the error and the game continues normally.

The second error pertains to the 'assign to Hatch' option which, whether an incubator is a available or not, assigns all eggs to cooking for all intents and purposes. No errors occur, since the cooking option works as intended.

While I'm at the topic of snails, is it intended that you have to build the Hatchery for the encounter with the snails to be available? Because no matter what I did at the farm, without the vanilla Hatchery I could not find any.


I also encountered a third problem. After building the Beauty Parlor, I was unable to decorate the nether regions of my female servants, as all options for that area didn't show up. Looking though the slave_tab.gd, I found a simple solution to that particular problem can be implemented in the line 784 (line number according to an Unmoded vanilla script):

if ii.requirement == null || ( person.consent == true && ii.requirement == 'lewdness') || (person.penis != 'none' && person.consent == true && ii.id == 10) || (person.vagina == 'normal' && person.consent == true && (ii.id == 8 || ii.id == 9)):

by simply replacing person.vagina == 'normal' with person.vagina != 'none'

I guess this is due to how the mod classifies vaginas?

Anyway, that's all I could find. Thanks again to everyone that has help bring the mod as far as it is

The vanilla game specifies that players can only encounter snails after they have built a hatchery. It is controlled by a condition in explorationregions.gd, you should be able to search for "snail" if you wish to change it.

Thanks for the reply. I will look into this and see if I can change it to the farm unlocking.

I appreciate the feedback and will look into getting these changes added for v0.9.5!

(1 edit)

Fixed issues in hatchery. 

Getting this error when trying to post screenshots: body: expected text between 1 and 20480 characters

Got around the issue #2 reported by blacky by autoassigning to the incubators.  Seems to work and I get snails.


Fix 1:

snails.goldper => snails.goldperegg in expansionfarm.gd.

Fix 2:

Three instances of  division by "/ cattle.send" during a bad egg birthing event, which crashes if the cattle's endurance is 0. Lazily changed the pain reduction modifier to  (1+cattle.send) since I'm not sure about the game balance.

https://mega.nz/file/uzglFLrT#6y1y5no3LU9edcrIhon_oTTSKMxO5z6ujL9thQFuwDQ

Perfect and appreciated. You've learned my trick to avoid division by 0, I see. Lol. Thanks for all of the work on the bugfixes and it'll be resolved in v0.9.5

(3 edits)

Sweet! Thanks for all of your hard work on this.

I put in a bit of logic around the fetish.  All tagged with:  #added oviposition fetish

https://mega.nz/file/z2ISWArK#u34gGSxxMH5keS6thKBsvsTQsfN0zLXfN2PSUVPSZ6o

Math scales (un)enjoyment significantly/non-linearly so that the farther from neutral someone is they react significantly stronger, and will tend to get stuck at either fetish end. 

How do you set up the IDE/debugger?  There's some odd behavior going on.

Recommend adding a getFetish() function that doesn't affect the fetish value you're pulling.   

In checkFetish,  changing "clamper = clamp(opinionrank-2, 0.5, 3)" to "clamper = abs(opinionrank-3)"  would give consistent behavior whether the fetish is loved or hated.  -3 makes uncertain =0.

Would you be open to contributions? I ended up working the fetish into the hatchery code.  I could flush out some of the birthing weights and maybe add a mechanic where energy is required to birth, and running out leaves them in until the next day.

If the oviposition fetish is set at night to 0, it comes back the next day at 1.  Do you know where or why this happens?

Thanks!  

Do you get a text log in the end of the day report? There is a dailyFetish inside of expansion.gd that has a chance of increasing a fetish daily but it should trigger a “$name feels like fetish is now {opinion}”

Yes, that's it, but it doesn't seem to output anything in 9.4.

  • if person.dailyevents.count([i]) + rand_range(0,2) >= globals.fetishopinion.find(person.fetish[i])*2: 
  • if person.fetish[i] != globals.fetishopinion.back(): 
  • person.fetish[i] = globals.fetishopinion[globals.fetishopinion.find(person.fetish[i])+1]

If a topic is taboo, any fetish check will make it dirty the next day which isn't wanted in this case.  This isn't handled yet as I didn't want to put in too many workarounds for things you may modify in the future anyway.

Code already includes some workarounds for the checkfetish function because we want to use fetish to modify the experience, without necessary modifying their fetish.  It's called a lot during the snail experience, and the built-in increase chance made things weird.  You'd fail the fetish check, have an awful time, then be more ok with the fetish.  Makes sense to have a check function that doesn't add to daily events.

For daily events, some of this is down to personal taste. I would put in chances to increase a fetish for each successful check, and maybe chances to decrease it for each failed check, both weighted by the check difficulty. (e.g. succeeding a very difficult fetish check would have a high chance for increase).  

(2 edits)

Nope, that's not it??

Anyway, the latest most cleaned version is available here:

https://mega.nz/file/23ZVzCKb#-xx8M94Ku2UDAfxH8CwUkkVF3YOuWnAo2TidZsyfxWU

I tried erasing any references to oviposition in the dailyevents log from any checkfetish call at the end of the snail event with:

while cattle.dailyevents.find('oviposition') > -1: cattle.dailyevents.erase('oviposition') 

but the reduction still happened.  I don't see anywhere else in the code that could drive this.  Even confirmed absence of oviposition in dailyevent right before the game calls dailyfetish().  It looks like the farm events in my game are from the prior day - dailyevent processes before the farm script.

I'm giving up for now.  No idea how that value is going back.  Maybe my save is somehow broken.

I reworked the egg laying substantially.  Hope you like it.

https://mega.nz/file/avgBzSpJ#xMTPFGpAYmEK7N8f3F0bZXHZjW9eQerYLxuxzFvvLGk

Adds cattle.farmexpanded.breeding['eggsleft'], otherwise no impact to other files.

It would still need a bit more logic to handle unbirthed eggs - right now you can take someone out of a farm with them and there's no easy way to get them all out.

Sorry for not seeing the other posts, I’m always welcome to more contributions! I’ll check it out. Are you alright with any modifications being merged into the main code (with credit)?

(1 edit)

That would be awesome, credit not required.  

From working on this a bit I now have an even greater appreciation of how difficult and time consuming it is!  The more you build the more can be tweaked and customized, and then it takes a ton of play testing to catch all the bugs because some are hit very rarely.

You must be learning a lot about coding as you go through this!  Do you have it under source control?

Updated the script so that if someone is still in the farm but deselected for egg laying, they will try to lay eggs they didn't manage to push out the prior day.  Old eggs increase potential discomfort (or enjoyment with fetish check pass), as well as chance for permanent stretching if overstuffed.  A new egg layer sleeping on dirt with poor endurance will quickly find themselves gaping, and (usually) stressed and hating it, while better sleeping conditions and endurance will increase the chance of expelling all eggs.

Looks like globals.expansion.settings.futasexualityshift is undefined, and futas cause shift towards preferring males by default (which is a bit weird for a default response to futas tbh).