I apply the orientation and position directly to the weapon objects in all cases except for one. Every character has two hands, so I do this two times for every one screen object per loop. Here's the original code...
wx#=limb position x(char(i).weaponCube,0)
wy#=limb position y(char(i).weaponCube,0)
wz#=limb position z(char(i).weaponCube,0)
wxRot#=limb direction x(char(i).weaponCube,0)
wyRot#=limb direction y(char(i).weaponCube,0)
wzRot#=limb direction z(char(i).weaponCube,0)
position object char(i).weaponObject,wx#,wy#,wz#
rotate object char(i).weaponObject,wxRot#,wyRot#,wzRot#
wx#=limb position x(char(i).weaponCube2,0)
wy#=limb position y(char(i).weaponCube2,0)
wz#=limb position z(char(i).weaponCube2,0)
wxRot#=limb direction x(char(i).weaponCube2,0)
wyRot#=limb direction y(char(i).weaponCube2,0)
wzRot#=limb direction z(char(i).weaponCube2,0)
position object char(i).weaponObject2,wx#,wy#,wz#
rotate object char(i).weaponObject2,wxRot#,wyRot#,wzRot#
So basically, if you made a command that oriented an object to another object's limb 0 orientation and position, it would be absolutely perfect
I'm doing this because a glued object can't have collision, which is the foundation of my combat system. The weaponcube is glued and I just stick the weapon right onto it.
The other situation where I record the position is for the player character when you cast a spell. That's just a one time thing though whenever that happens. The weapons happen every single loop.
[Edit]
I tested the new commands properly now. The positioning looks great, but the limb directions cause the object to spin around crazily. The commands are labeled with 'angle', is it returning the angle or the direction?
Come see the WIP!