I tested this and also tested with static values rather then random values by changing this line in ShootableWeapon
EventHandler.ExecuteEvent(m_Character, "OnAddSecondaryForce", m_Item.SlotID, m_PositionRecoil.RandomValue, new Vector3(-80,0,0), !m_LocalizeRecoilForce);
But same issue