Bone heat Weighting Failed while Rigging
In your file I founded 30.000 doubles and I applied the decimate modifier. The existing problem of bone heat weighting failed still exist, and is probably due to the overlapping geometry, which automatic weighting doesn't like.

I think you will have to split the character into various spare parts (in edit mode select one vertex, Ctrl L to select linked, P to separate).

This is a good practice also to optimize the animation performances: objects like skulls or some parts of the armor should not deform, they should only solidly follow a bone instead. Parenting an object to a bone (bone option after Ctrl P) is also lighter to calculate for Blender, so you will have less lag during animation process. I think you will have also to retopologize the sections that actually need to deform in the classical way, because the geometry is very bad and it will lead to ugly deformations. It's a long run, good luck (or start with a simpler character :)).