From Quake Wiki
Rotfish are slow to medium speed minor monsters that act as a nuisance in bodies of water, most notably in e2m3 and e4m4. They are not renowned as a meaningful threat and will simply consume a negligent amount of shells to dispose of. Rotfish are erroneously counted twice when assessing the monster population of a level, but only give credit for one kill, resulting in an imperfect Kill score at the level's end if they are present. In rare circumstances a Rotfish's head can be found incorrectly rendered.
If Rotfishes are even a concern, let them get moderately close and kill them with a shot from the Double-Barrelled Shotgun, that will take care of them most likely.
monster_fish is the entity for placing Rotfish in a level.
|targetname||The targetname of the Rotfish. When triggered, the Rotfish will wake up if inactive.|
|target||The targetname of the entity to be triggered when the Rotfish dies.|
|killtarget||The targetname of the entity to be removed when the Rotfish dies.|
The monster_fish entity supports the following spawnflags:
|1||Ambush||The Rotfish will not wake up from seeing other monsters wake up or hearing sounds.|
It also supports the standard spawnflags for difficulty and deathmatch presence.
|256||Not on Easy||The Rotfish will not spawn on Easy difficulty.|
|512||Not on Normal||The Rotfish will not spawn on Normal difficulty.|
|1024||Not on Hard||The Rotfish will not spawn on Hard difficulty.|
|2048||Not in Deathmatch||The Rotfish 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 24) model(":progs/enforcer.mdl") = monster_fish : "Rotfish" 
This is the definition format used for most old Quake editors, including the original QuakeEd.
/*QUAKED monster_fish (1 0 0) (-16 -16 -24) (16 16 24) Ambush */