I think there's enough here to start forming a coherent identity, though it does kinda feel like you put a lot of different experiments onto one character. If you really focused on what makes this Sonic "on fire," I bet he'd find a stronger identity.
Your code is a bit on the messy side. Using whitespace like tabs consistently can go a long way towards helping your code be readable. More importantly, you shouldn't really ever have more than one ThinkFrame hook, especially when you're looping through the player list like that. Not only does it make your code harder to keep track of, but it can even start to cause lag.
It's always cool to see people learning Lua. Welcome to Releases!