How to make a new monster without new code:
Step 1: Set up your monster's model
You want a grunt with a pistol right? Find a grunt model (or make one) with a pistol and put it in your model directory, or wherever. Now make a monster_barney and set his model to the grunt model. You can resize him to be bigger or smaller, but keep in mind that the hitboxes will stay the same. So I would recoomend resizing the model itself. That was the hitboxes stay where they should. Example: If you used the entity to resize Barney half way, if you shot where a normal sized barney's head would be, the smaller Barney's head would be shot. But if you rezised the model itself, when you shoot him, he will be shot where you shoot.
Step 2: Health
Simple enough, change his health, if you want to, in the "health" field.
Step 3: Weapons
Spirit lets you make Barneys with either a glock or a 357, more choice, happy day. Not much to say here, just pick a gun.
Step 4: Behavior
With spirit you can set not only monster's health and model, but their reaction to Gordon as well. from memory I know you can set them to :"
-Alien-hostile towards Gordon and miltary
-Grunt-hostile towards alien and Gordon
-Bullsquid-hostile towards other bullsquids and, headcrabs, military, and Gordon
-Headcrab-runs away from bullsquids, hostile towards Gordon and military
-Friendly unless provoked(barney style)
-Friendly
-Scientist(I don't know what this does, but maybe it lets you have the monster follow you?)
-Hostile towards Human
Thats it. Now if you really want to have some fun, make a pyro
by giving a garg a grunt model. Though you would still only be able to hurt it with explodives and egons...
The only drawback to not using new code is that I'm sure if you can change their voices. It might be possible, but I've never looked into it.