It’s no secret that most Zombies maps in Call of Duty: Black Ops had support for hellhounds at some point in development; In fact, functioning spawn locations are present in nearly every map! In terms of script / map setup, there are only two things that prevented players from fighting hellhounds on every Zombies map (with the exception of Nacht Der Untoten), in Call of Duty: Black Ops: the scripts, the assets, and the entities.

The Scripts

For each Zombies map, in order for dogs to function correctly a number of script related tasks must be performed, fortunately most of this code is still present even in maps that had dog support removed for release.

Firstly, each level needs a dog spawn function set in order for _zombiemode_spawner.gsc code to properly handle spawning dogs, and a level field dogs_enabled must be set to true. This is done (in <level>.gsc) via the code below.

level.dog_spawn_func = maps\_zombiemode_ai_dogs::dog_spawn_factory_logic;
level.dogs_enabled = true;

Next each map requires that the dogs be added to the custom_ai_type table (in <level>.gsc), which can be seen in the code below.

level.custom_ai_type = [];
level.custom_ai_type = array_add( level.custom_ai_type, maps\_zombiemode_ai_dogs::init );
// Additional ai types...

Furthermore, unless the user is using custom spawner logic for the dogs, dog rounds must manually be enabled (just after calling _zombiemode::main() in <level>.gsc, as seen below.



Finally, <level>.csc must enable the dog start / stop monitor to allow for the fog fx, etc. to function correctly at the start / end of a dog round.

level thread clientscripts\_zombiemode_dogs::dog_start_monitor();
level thread clientscripts\_zombiemode_dogs::dog_stop_monitor();
level notify( "dog_stop" ); //DCS: will reset on restart.

The Assets

Even if the scripts, are modified to allow for dog rounds to function correctly, most maps don’t include the required dog assets and therefore dog aitypes, characters, etc. loaded with the map. In order to ensure that these assets are loaded, we need to include the following lines in our mod.csv.



The Entities

Each map has a string containing the list of entities that are present in that particular level, and although the dog spawn locations are still present in every map, the actual spawners aren’t. Unfortunately, it isn’t possible to generate spawners (or ai) at runtime, and therefore there has been no way to re-enable these dog spawners properly until now. Game_Mod v1.1.0 introduces (or rather, restores) support for using entity string patches at runtime, thus allowing for a dog spawner to be added to each map that didn’t originally have one.


  • Enables dog rounds for all maps that had them at some point during development