Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Before getting into bug reports I wanted to say I love the mod. Adds a lot more depth to the game. 

I have found some issues with the farm,  specifically with snail breeding. I've been correcting them in my game as I come across them and wanted to make you aware.

1) In mansion.gd you are comparing an INT to a STRING when checking the consent. The call is made when you click the "Breed Snails" button on the cattle's panel. Below is the section of code:

func _on_snailbreeding_pressed():
    if selectedfarmslave.farmexpanded.breeding.status != 'none':
        selectedfarmslave.farmexpanded.breeding.status = 'none'
    if selectedfarmslave.farmexpanded.breeding.partner != '-1':
        selectedfarmslave.unassignPartner()
    selectedfarmslave.farmexpanded.breeding.snails = get_node("MainScreen/mansion/farmpanel/slavefarminsepct/snailbreeding").is_pressed()
    farminspect(selectedfarmslave)

I corrected the fourth line to be a STRING.

2) It looks like you are not handling NIL values. This occurred when evaluating a person's fetishes, specifically eggs. The error popped up after setting cattle to be breed by snails. I resolved this by talking to them until they gave an answer on their preference of for the fetish.

3) The cook snails code overwrites the current value in globals.resources.food to the number of snail eggs cooked. In expansionfarm.gd (line 1267) changing the following corrected it:

globals.resources.food = snailresults CHANGED INTO globals.resources.food = globals.resources.food + snailresults

4) In expansionfarm.gd line 875 there is a variable which is not defined in globals. Removing the entire line corrects the issue.

var overstuffedmod = globals.expansion.settings.snailegglaboroverstuffedmod

5) When setting eggs to auto hatch the following error occurs on next day. Looks to be an issue with the incubators global variable being looped over. Since it would require knowing how the variable was initialized I was not able to resolve this one (just not wanting to dig that deep into the code).


I may have missed a few that I corrected last night but I think this is all of the errors I came across.

The forum is not showing the screenshot I posted for #5.

The error :

SCRIPT ERROR: dailyFarm: Invalid get index 'level' (on base 'String').

          At: user://mods/AricsExpansion/scripts/aricsexpansion/expansionfarm.gd:1249

SCRIPT ERROR: _on_end_pressed: Invalid operands 'String' and 'Nil' in operator '+'.

          At: res://files/scripts/Mansion.gd:1282

Looks like this is where incubators comes from, it's in globals.gd

yeah all of the resources tracked by the game (food, gold, etc.) are in resources in the globals file.

i noticed today if i bought an incubator then tried to use it i got a similar issue. however, buying the incubator, saving the game and then restarting seemed to fix it. again it seems like the object is not initialized (at least that is what i would guess with other languages I have worked with). gdscript is not the best language and the lack of error handling (along with other short comings) really makes proper code design impossible

Yeah, you're probably right, I've never used Godot myself so gdscript isn't something I know a lot about. At least restarting helps with the incubators. Was it just auto-hatch that was throwing errors? I'll try it myself once I get a snail and make sure it gives the same thing lol

no it was  anytime an egg was assigned to be hatched

Remembered one more. In epansionfarm.gd (line 437 I believe) one of the the function calls 'checkFetish' is 'checkfetish'. Simply correcting the case resolves the issue.

I added in and/or fixed the errors reported in v0.9.4. Thanks so much for your feedback, help, and tracking down/fixing those errors as well. It is greatly appreciated.

The only one I was iffy on was where the 2nd reported issue was. Is there an error code with it? Or was that related to the checkfetish (as that was what was checking oviposition)?

I'm sorry but I don't remember where that one came from. It appeared to be caused by the oviposition fetish variable  in the person object being NIL (error basically said it was comparing a STRING to a NIL in an IF statement) . But looking at person.gd I see you are defining that variable as "none" when it is created. So unless the code overwrites the "none" value with NIL at some point I'm not sure what the root cause might be. Is the value reset to NIL when you ask them about the fetish and they refuse to talk about it (the whole "Eww I can't talk about that")?


I also have to compliment you on how responsive you are to bugs. I'm a software developer and I'm not always this responsive to my users LOL. Anyways, great job.

I really appreciate that! It’s nice to be noticed when you put in effort!

Regarding the Nil, the only thing I can think is either the person didn’t pull correctly OR it was regarding the checkfetish instead of checkFetish