Ok after looking at the images you posted of your material network again I’ve figured out what the problem is and recreated it:
Then I fixed it:
I didn’t have any of the Emissive, Specular or Sky related stuff in my material and that’s what was causing the problem. Basically you were performing the CelShading, then adding the lighting from Emissive/Specular and Emissive Sky to that, so they weren’t being used as part of the CelShading but instead adding an element of smooth shading to the final composite. Instead you should have been adding them to the calculated lighting value before it samples the Cel texture. Basically you were doing this:
But you should have been doing something like this:
With that the lighting from Emissive/Specular and Emissive Sky will contribute to the Cel Bands instead of adding a gradient to the shading, then if you want a subtle gradient like in the new Zelda you can have full control over it using the Cel Texture. The only issue is that it won’t retain the colour of the Emissive Specular and Emissive Sky, so what you may want to do is hook up a sequence of nodes to extract the Hue & Saturation from them and then reapply it after the CelShading is done.
EDIT: Then again after doing some tests I haven’t noticed much particular effect from the Emissive/Specular and Emissive Sky sections. The engine currently only fakes dynamic emissive lighting with bloom, which is applied after the Cel Shading material is run anyway.