This is astounding. This is an amazing thing. I have no idea how you did half of this stuff but my brain is exploding.
Thanks! If you're curious, there's a comment further down where I explain some hacks. Other than that it's just a loooooooot of variables and really long dialog trees.