Like CSO-NST . Because the anim always send after fire(Fire anim is processd at client-side,so you can't hook it).So you must overwrite fire anim after every fire.Because of the delay or other circumstance. It may has some bugs.The best way is do this at client-side.