Thanks for playing! I don't know that game, nor the soundtrack of Ultima VI, but Kevin's music never disappoints haha.
Code looks clean if I'm being honest, I tried to keep everything as modular as possible to avoid hardcoding stuff (already had many bad experiences with that), although it started to become a bit more spaghetti towards the end because of time lol. I'm satisfied with the event structure I came up with, which is all stored in a json file and is very easy to add more events, flags, modifiers and such. I doubt I would have been able to add so many events if I hadn't made that decision early on. It was a real pain to get it to work though, but the experience was worth it :D