Merged some more magic system logic (note: player logic's getting a little awkward, need to go back over all this once done and clean it all up).