In your defense, the majority of RenPy game code looks like hot garbage. Massive if-then chains, monolithic scopes, magic numbers; the works. RenPy is definitely enabling non-developers to dev but at a cost.
A friend of mine is developing a game in JavaScript, and after the third update, they started to realize just how awful not understanding programming architecture is. As projects grow they become more and more unmaintainable. Debugging can easily consume all of your time. Art and story are already crazy time consumers. Development can easily grow exponentially on that front.
Kudos though. I've tried starting games and I can't get past the engine phase. I always want to do things from the ground up and I eventually get bored and move on. Or demoralized by my awful "dev graphics." It doesn't matter how great your engine is, graphics are the ultimate seller. And my art skills are absolute trash.
On a final note, RenPy violates one of the core ideas of code, which is using a library and not writing within in a library. The whole dynamic parsing infrastructure they have is painful to look at. If possible I'd rip all of my code out of the rpy files and put it into py files so it can be properly digestible by intellisense. Even if I have to pass the vars in I'd rather bite that bullet than deal with a parser on top of a parser.
All that aside, I think I'll poke through your code and see if I can automate it a bit. Also look around and see if I can find an extension or something to help with RenPy. Either way, I liked your game. It was cute and fun. I enjoyed the "more on the realistic side of things" lol.