Heres my idea but it doesn't work. Maybe this could be made to work? Can make bones face different Z offsets. The head & chest works though! Well the chest worked until I converted it into custom text. Then I looked up the bone names in a model editor. EDIT: These bones are from the footman.
function Trig_left_Actions takes nothing returns nothing
call SetUnitLookAt( gg_unit_hfoo_0000, "bone_head", gg_unit_hfoo_0000, 0, 0, 180.00 )
call SetUnitLookAt( gg_unit_hfoo_0000, "bone_chest", gg_unit_hfoo_0000, 0, 0, 180.00 )
call SetUnitLookAt( gg_unit_hfoo_0000, "bone_leg1_L", gg_unit_hfoo_0000, 0, 0, 180.00 )
call SetUnitLookAt( gg_unit_hfoo_0000, "bone_leg1_R", gg_unit_hfoo_0000, 0, 0, 180.00 )
call SetUnitLookAt( gg_unit_hfoo_0000, "bone_Pelvis", gg_unit_hfoo_0000, 0, 0, 180.00 )
call SetUnitLookAt( gg_unit_hfoo_0000, "bone_arm1_L", gg_unit_hfoo_0000, 0, 0, 180.00 )
call SetUnitLookAt( gg_unit_hfoo_0000, "bone_arm1_R", gg_unit_hfoo_0000, 0, 0, 180.00 )
endfunction
//===========================================================================
function InitTrig_Trigger takes nothing returns nothing
set gg_trg_Trigger = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Trigger, 0.10 )
call TriggerAddAction( gg_trg_Trigger, function Trig_left_Actions )
endfunction