I currently program in primarily C++ and C# (with JavaScript splashed in when C# is kicking my ass regarding a specific portion of functionality), and model utilizing Blender (cause it’s free and stuff), and although I have lately been spoiled by Unity’s UI and Mono Developer, from what I understand it seems like you’d need to dabble a little in both worlds to achieve what you’re attempting to do. First and foremost, you would need access to the actual script, as TextFAMGUY1 mentioned, to do things like adjust how much ammo is consumed during each fire. Changing the animation would do just that–change the animation. You could replace the shotgun model with a dancing banana, but that right click is still going to consume 2 ammo. As for customizing the animations, you would need to import the model assets into a 3D software tool like Blender (free) or 3DS Max (not so much) and recreate the animations; or create your own models and animations from scratch–then these animations could be called later via the script.
If you were able to completely de-compile the script, most of the things you are suggesting could be done with a bit of patience and creativity. However, unless you know most of the ins and outs of the programming language you’re using (in this case, C++), as well as the (hopefully) consistent methodology employed by the team, you might end up creating a mess of the rest of the game–calling variables and the sort without fully understanding what you’re doing (or, shudder, copy+pasting code willy-nilly) could mangle other portions of code, cause program flow issues, and generally create a bug-laden experience.
That said, there are some fantastic resources out there if you have the patience to teach yourself C++ (Old Faithful) or another, similar language. I’ve found Unity to be very accommodating in terms of the easy-to-use modeling and object-oriented interface and the option to use C#, JavaScript or Boo (P.S. My personal suggestion is to go with C# if you plan on doing this for a while). Just keep in mind that a UI like Unity will, eventually, make you lazy–calling and manipulating objects through the UI is great, but you’re not getting the scripting practice. Also, don’t get too bogged down with learning one language–programming is a bit like art, and it’s more a mindset than an actual rote implementation of variables and functions. In fact, we could know the exact same language, but my script might differ significantly from yours–yet the compiled scripts perform the same function. It’s just that yours might be 4 lines, tightly-written and majestic, while mine is a great galumphing beast of wasted space.
Anyhow, just my $.02.