@i_mazlov sorry I thought I deleted this post as I solved the issue.
Anyway to anyone who stumbles upon this question here's how I solved it:
for i,pt in enumerate(points_list[::-1]):
off = c4d.Vector(distance * i,0,0 )
mg = pt.GetMg()
mg.off = off
print(rotation.x)
rm = c4d.utils.HPBToMatrix(rotation)
pt.SetMg(mg * rm)
So basically if the objects are inserted in the hierarchy and you start from the last one with the transformations this will work just like in the OM.