Thanks to @-still-dreaming- for 100% the code and 2% of art, and Swpa435 for 98% of the art.
I'm going to start crying after I changed a little bit of the code...