Greetings! I loved your project it was super fun and worked really well.
I have two suggestions for readability and design that could be used to refactor this project if desired.
Switch Statement: This functions perfectly fine but may minimize the code if you relied on the array indexes in the special_array instead of their value. It may take some design rework but you could randomly generate a new array of stats. So you could rely on their indexes and just randomly pick an index to increase. It would eliminate the use of the very tall switch case into just a while loop until you have spent as many increases as desired.
Helper Functions: Math.floor(Math.random() * some_number) is used many times. Perhaps it would make it more readable to take some of these out and make them into very small functions. So you could get these random numbers with a specialRand() call instead.
Great project! Super fun!