Hi. So, I've been investigating the mystery of the missing Alam after mc has sex with her while she's pregnant. It seems like after Alam gets pregnant, she never gives birth.
What I got from reading the code is this:
- alamPregoSexCondition is set to True when the game evaluates act2/revisits
- alamPregoSexCondition being set to true tells the game to give us the option to do "Alam - growing up"
- playing through "Alam - growing up" will set alamPreggoSexPlayed = True
- The check for whether or not Alam is in the palace is checked by
if alamInPalace == True and alamPreggoSexPlayed == False:
Since Alam's file has no more content past the act2/revisits, I'm guessing this is on purpose for future content. Is that correct? If not, I'd like to recommend the condition for Alam showing up in the palace as
./game/wenches/wenches.rpy, line 224
Code:
if alamInPalace == True and (alamPreggoSexPlayed == False or alamPregoSexCondition == True):
With that said, I've thoroughly enjoyed the game. It's also MUCH better programmed than most ren'py games I've played. Files are pretty clean and pretty well maintained. I can see some refactoring that's currently in progress due to the old separation of wenches vs harlots among other things. But it is rather impressive.
I should also say:
Code:
./map.rpy:752: call evaluateAngiliaAct2 from _call_evaluateAngiliaAct2 #todo: put these in Wench class and call them as experssions, dumbass
No, you're not a dumbass. It's a pretty simple mistake which, if you're not a seasoned programmer that actually took data structures and OOP, it wouldn't come to you naturally/at the beginning of game development. Especially if it started off as a hobby/side project. You're doing well
And if I can suggest:
For this bit of code
Code:
label evaluateAlamRevisit:
if alamInPalace == True and alamImpregnationTurn and alamImpregnationTurn + 20 <= turnCount and alamPreggoSexPlayed == False:
$ alamPregoSexCondition = True
return
Unless there's Alam being pregnant management that will happen later on, you can remove the check for alamPreggoSexPlayed == False since the only thing afterwards is setting alamPregoSexCondition to True. This is because alamPreggoSexPlayed can only be set to true
if and only if alamPregoSexCondition is True.
In other words, regardless of the state of alamPreggoSexPlayed, you should always have access to the scene to set alamPreggoSexPlayed to be true or not if all the rest of the if condition is true. And the access to said scene is determined by alamPregoSexCondition.
Please note, this is only true if all evaluateAlamRevisit does, and will ever do, is set alamPregoSexCondition to True. If evaluateAlamRevisit is to be expanded later on or if you want the potential for evaluateAlamRevisit to be expanded later on, all this is null and void.