This looks broken because the destination height is never set anywhere.
InputPacket::fvel
InputPacket::svel