Xela, ignore everything that goes after my interactive sex scene, I mean those single old sex options. I noticed that you fixed some things there, but I will rewrite them too, so it's not a good idea to make them work now 
I changed some crap there as well... I don't remember what so I'll leave that as it is.
Do we need separate labels for interactions and gm sex options? Seems absurd, redundant and very hard to maintain

I fixed Gm code a bit, gonna test it and if everything is ok, push.
VERY IMPORTANT NOTE(s):
I will rename some of the gm methods!
gm.generate_img()Should be used
once upon entering new location where it is sensible to change the image! This will write to cache so we know what image to fall back to when the interaction ends and we go back to whereever we came from!
gm.set_img()This just sets old image to a new one!
===
Try to always put a space in python oneliners (for code readability).
===
$ chr.set_flag("forced", value="false")
This line is not useful, in Python any string except for empty string will return True! So it should be: $ chr.set_flag("forced", value=False). Also consider using better flags like "interactions_sex_forced" because if someone calls all flags in the console, he's have no idea what this refers to.
You can also use 1 and 0, I even think it would be a few nanoseconds faster

===
Same thing counts for label names. You're using very plain label names for specific purposes, it's a horrible practice.
===
If you are commenting things out please try to do it with:
# codeline
and not:
# codeline
My editor hates that and it makes my life miserable

I strongly suggest checking out JEdit, it's quire good.
===
Maybe also add some comments/spaces between logical codebits. It's not a requirement but would be nice to have.
*I fixed just the sex interactions (partly), flags and maybe some other stuff is still off. Going to push that and the gm fixes.