Re-separated the type 4 removal logic from the assignment logic (as it cannot work that way in all cases without knowing the skill ID, which is impractical). Removed a lot of the redundant removal logic (and shifted both methods into the more accessible CMagicProcess class, given they don't need to tie to the user) + fixed a handful of bugs.