Regarding the required variables:
‘if nicgetredwine == True and winemerlot == True and nicgetsexylingerie == True and persistent.achievement22 == True or nicdomrouteep5 == True:’
It seems to me that using ‘persistent.achievement22 == True’ will always block a player (in whichever approach, if they ever unlocked it) who would try to meet:
‘elif niclovebonusfactor >= 20 and nicdomrouteep5 == False:’
Because it will always be active, and the player has to satisfy ‘if nicgetredwine == True and winemerlot == True’ to get the option:
‘She is tired and drunk. Let her rest.’ - which gives, up to 5 ‘niclovebonusfactor’ points, without which it seems to me impossible to meet the condition ‘niclovebonusfactor >= 20’ (personally trying to get as many ‘niclovebonusfactor’ points as possible without this option, I got a score of 18)
In summary, even if we are not on the path where we enter her room and we have fulfilled ‘if nicgetredwine == True and winemerlot == True’, at the beginning of episode 6 we are teleported to her bed and everything happens as if we had done it.
Probably the cleanest solution to this problem would be not to lower the niclovebonusfactor points needed, but rather to get rid of ‘persistent.achievement22’ and use only ‘nicdomrouteep5’.