From Quake Wiki
Zombies are truly unique. They rip pieces of flesh off themselves and throw them at you for their attack. To kill them, you must gib them. If you do not, they will simply fall over and get up later. You will need to bring their health to zero in a single take, meaning you need to do 60 damage at least, this is most easily done with explosives as demonstrated in the stock demo1.dem, but can also be achieved via Quad Damage attacks with other weapons.
monster_zombie is the entity for placing Zombies in a level.
|targetname||The targetname of the Zombie. When triggered, the Zombie will wake up if inactive.|
|target||The targetname of the entity to be triggered when the Zombie dies.|
|killtarget||The targetname of the entity to be removed when the Zombie dies.|
The monster_zombie entity supports the following spawnflags:
|1||Ambush||The Zombie will not wake up from seeing other monsters wake up or hearing sounds.|
|2||Crucified||The Zombie will become a writhing cruified Zombie prop that can be used as level decoration and is not treated as a monster in game.|
It also supports the standard spawnflags for difficulty and deathmatch presence.
|256||Not on Easy||The Zombie will not spawn on Easy difficulty.|
|512||Not on Normal||The Zombie will not spawn on Normal difficulty.|
|1024||Not on Hard||The Zombie will not spawn on Hard difficulty.|
|2048||Not in Deathmatch||The Zombie will not spawn in Deathmatch mode.|
This is the format used by TrenchBroom and Worldcraft. Note that the model(...) parameter is not supported by Worldcraft. This does not include the Monster base class definition, which is also required.
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) model(":progs/zombie.mdl") = monster_zombie : "Zombie"  [ spawnflags(Flags) = [ 1 : "Crucified" : 0 2 : "Ambush" : 0 ] ]
This is the definition format used for most old Quake editors, including the original QuakeEd.
/*QUAKED monster_zombie (1 0 0) (-16 -16 -24) (16 16 40) Crucified Ambush */