I have no idea how deep I'm going with this.

I might say fuck it and do it with MOVETYPE_CUSTOM and reimplement shit
from the ground up.