MODSon[line.com] Wiki - Beta 1.0

World at War: SP Nazi Zombies/Asylum Style

From MODSonline Wiki

Jump to: navigation, search

(work in progress - this will be a complete source for Zombie ASylum related gametype mapping, including what the individual components are made of)

Contents

[edit] Player Setup for same side spawning

For standard player spawning where all 4 cooperative players spawn together in the same area, you will need:

1 x info_player_start

4 x script_struct (4 or more means random spawning?)

Script_struct Keys and Values:

targetname initial_spawn_points
Image:Note.pngNote: You will respawn near any alive players in the playable area

[edit] Player Setup for spawning separately

For the new unique player spawning where players are divided into teams of 2, you will need:

1 x info_player_start (this will be where the player spawns when playing in SP mode)

2 x script_struct

With kvps:

script_noteworthy north_spawn

2 x script_struct

With kvps:

script_noteworthy south_spawn

To stop the players spawning randomly and to pair them up you will need to add the below 'flag' to your levels script:

flag_set( "spawn_point_override" );

And then call the thread "spawn_point_override" like this:

level thread spawn_point_override();

Example script: raw/maps/nazi_zombie_yourmapname.gsc

#include common_scripts\utility; 
#include maps\_utility;
#include maps\_zombiemode_utility;

#using_animtree("generic_human");

main()
{
	maps\_zombiemode::main();
        Snippet
	flag_set( "spawn_point_override" );
	level thread spawn_point_override();
}

spawn_point_override()
{
	flag_wait( "all_players_connected" );
	
	players = get_players(); 

	//spawn points are split, so grab them both seperately
	north_structs = getstructarray("north_spawn","script_noteworthy");
	south_structs = getstructarray("south_spawn","script_noteworthy");

	side1 = north_structs;
	side2 = south_structs;
	if(randomint(100)>50)
	{
		side1 = south_structs;
		side2 = north_structs;
	}
		
	//spawn players on a specific side, but randomize it up a bit
	for( i = 0; i < players.size; i++ )
	{
		
		//track zombies for sounds
		players[i] thread player_zombie_awareness();
		players[i] thread player_killstreak_timer();

			
		if(i<2)
		{
			players[i] setorigin( side1[i].origin ); 
			players[i] setplayerangles( side1[i].angles );
			players[i].respawn_point = side1[i];
			players[i].spawn_side = side1[i].script_noteworthy;
		}
		else
		{
			players[i] setorigin( side2[i].origin);
			players[i] setplayerangles( side2[i].angles);
			players[i].respawn_point = side2[i];
			players[i].spawn_side = side2[i].script_noteworthy;
		}	
	}	
}


[edit] Prefabs

Here are custom prefabs to help you, follow the readme.txt contained inside the .zip file for installation instructions.

Zombie Asylum Prefabs


References will be made on this page to the above download.

[edit] Treasure Chest (Random box}

Prefab: CODWAW/Map_source/_prefabs/zombiemode/

magicbox_start.map magicbox_2.map magicbox_3.map magicbox_4.map

You can drop the 4 different box prefabs where desired in your level, after a few uses of each box it will then disappear and reappear in one of the other chosen locations.

Magicbox Creation (included angles to keep everything uniform, you can rotate the entire box as a prefab)

The magicbox is a script_model with kvps:

targetname boxorigin
classname script_model
angles 0 180 0
model zombie_treasure_box

A script_origin, placed inside the box at it's center, with kvps:

target boxorigin
targetname boxlid
angles 0 270 0
classname script_origin

The box lid is a scipt_model that is placed in the 'closed' position on top of the box (the entity origin -blue square in radiant- should be at the rear of the box, this will be the hinge), with kvps:

target boxlid
targetname lid_trig
classname script_model
model zombie_treasure_box_lid
angles 0 180 0

The trigger that players use ("Press F to open magic box") is a trigger_use which is placed to the front of the box and large enough for players to see and use it without difficulty (no lower than 40 units or standing players may not see it) and has kvps:

script_noteworthy start_chest
targetname treasure_chest_use
target lid_trig
zombie_cost 950
hintstring Press use - 950pts for random weapon
classname trigger_use
Image:Note.pngNote: script_noteworthy should be changed form start_chest to chest_2, chest_3 and chest_4 on the other boxes
Image:Note.pngNote: Tested, you can double the random boxes by simply copying the the prefabs in your map multiple times although they will occasionally spawn inside each other

The rubble that the magic box sits in is a script_model with kvps:

script_noteworthy chest_start_rubble
classname script_model
angles 0 270 0
model zombie_treasure_box_rubble
Image:Note.pngNote: script_noteworthy changes from chest_start_rubble to chest_2_rubble up to 4

[edit] Weapons Cabinet

Prefab: map_source/_prefabs/zombiemode/weapon_cabinet.map

Use only one of these.

[edit] Buyable Weapons

Prefabs: CODWAW/map_source/_prefabs/zombiemode/Buyable Weapons/

buy_m1a1.map
buy_gewehr43.map

buy_thompson.map
buy_mp40.map

buy_bar.map

buy_flamer.map

buy_30cal_bipod.map
buy_mg42_bipod.map

buy_kar98.map
buy_springfield.map

buy_sawedoff.map
buy_shotgun.map

These are just a few weapons, all weapons can be made into buyable weapons:

Weapon Decal

There are decals for most weapons under:

textures>usage>signs textures>locale>decals

Weapon Model The weapon model that appears once a player buys the gun:

script_model

(do not include quotes) kvps:

classname   script_model
model       weapon_usa_flamethrower_wet (any weapon)
targetname  flamer (anything, must match the triggers target)

This model should be placed infront of the decal slightly, where it's placed will be where it appears after it has been bought.

Buy Trigger A Trigger_use most be covering the weapon so the player gets the hint to buy it when they are near the decal.

zombie_weapon_upgrade  m2_flamethrower_zombie
targetname             weapon_upgrade
target                 flamer
classname              trigger_use

[edit] Power Generator additions and Perks

Power Switch You will need 1 power switch in your level:

CodWAW\map_source\_prefabs\zombiemode\zappermain_switch.map

Place this at a point in your map where you want players to turn on the power, players will not be able to use Perkacola machines until the power is on. (make it highly visible)

Perkacola You will need the 4 perk-acola machines:

CodWAW\map_source\_prefabs\zombiemode\vending_juggernaut.map

CodWAW\map_source\_prefabs\zombiemode\vending_revive.map

CodWAW\map_source\_prefabs\zombiemode\vending_doubletap.map

CodWAW\map_source\_prefabs\zombiemode\vending_sleight.map

Image:Note.pngNote: Each may only be used once

Toilet

CodWAW\map_source\_prefabs\zombiemode\zombie_toilet.map

Place this where ever you want, it's simply an easter egg that plays a sound.

Dentist Chair

CodWAW\map_source\_prefabs\zombiemode\dentist_chair.map

Place this where ever you want, it's simply an easter egg that plays a sound.

PA System

CodWAW\map_source\_prefabs\zombiemode\pa_system.map

Place 1 of these in your map in its centre and high up. (testing this)

Power Generator

CodWAW\map_source\_prefabs\zombiemode\generator.map

This is just something to make it look like the power is coming form somewhere, it's static at the moment but does play a sound, hopefully we'll update this with effects and movement.

Zappers

Image:Note.pngNote: There are no FX for these at the moment, but some are being made

There are 2 zapper prefabs, adjust them and place them around your level.

codWAW\map_source\_prefabs\zombiemode\zapper_1.map

codWAW\map_source\_prefabs\zombiemode\zapper_2.map

[edit] Zombie Script

Zombie Scripts for normal spawning:

raw/maps/nazi_zombie_yourmapname.gsc

#include common_scripts\utility; 
#include maps\_utility;
#include maps\_zombiemode_utility;
#include maps\_music;

#using_animtree("generic_human");

main()
{
	maps\_destructible_opel_blitz::init();
	precacheshellshock("electrocution");
	
	maps\_zombiemode_weapons::add_zombie_weapon( "mine_bouncing_betty",&"ZOMBIE_WEAPON_SATCHEL_2000", 2000 );
	
	precachemodel("tag_origin");
	precachemodel("zombie_zapper_power_box");
	precachemodel("zombie_zapper_power_box_on");
	precachemodel("zombie_zapper_cagelight_red");
	precachemodel("zombie_zapper_cagelight_green");
	
	level.valve_hint_north = (&"ZOMBIE_BUTTON_NORTH_FLAMES");
	level.valve_hint_south = (&"ZOMBIE_BUTTON_NORTH_FLAMES");
	
	precachestring(level.valve_hint_north);
	precachestring(level.valve_hint_south);	
	precachestring(&"ZOMBIE_BETTY_ALREADY_PURCHASED");
	precachestring(&"ZOMBIE_BETTY_HOWTO");
	precachestring(&"ZOMBIE_FLAMES_UNAVAILABLE");
	precachestring(&"ZOMBIE_USE_AUTO_TURRET");
	precachestring(&"ZOMBIE_ELECTRIC_SWITCH");
	precachestring(&"MYLEVEL_TITLE");
	precachestring(&"MYLEVEL_PLACE");
	precachestring(&"MYLEVEL_DATE");
	
	include_weapons();
	include_powerups();	
	maps\nazi_zombie_yourmapname_fx::main();
	maps\createart\nazi_zombie_yourmapname_art::main();
	
	//init the perk machines
	maps\_zombiemode_perks::init();
	maps\_zombiemode::main();		
	level.burning_zombies = [];
	level.electrocuted_zombies = [];
	
	init_sounds();
	
	//the electric switch in the control room
	level thread master_electric_switch();
	
	//keeps track of the buyable doors surroundong the control room
	level thread watch_magic_doors();
	
	//special spawn point logic for the map
	level thread spawn_point_override();
	
	//zombie asylum custom stuff
	init_nazi_zombie_yourmapname();	
	
	level thread intro_screen();
	level thread toilet_useage();
	level thread chair_useage();
	//level thread magic_box_light();
}

player_zombie_awareness()
{
	self endon("disconnect");
	self endon("death");
	
	while(1)
	{
		wait(1);
		
		zombie = get_closest_ai(self.origin,"axis");
		
		if(!isDefined(zombie))
		{
			continue;
		}
		
		dist = 200;
		
		switch(zombie.zombie_move_speed)
		{
			case "walk": dist = 200;break;
			case "run": dist = 250; break;
			case "sprint": dist = 275;break;
		}
		
		if(distance2d(zombie.origin,self.origin) < dist)
		{				
			yaw = self animscripts\utility::GetYawToSpot(zombie.origin );
			
			//check to see if he's actually behind the player
			if(yaw < -95 || yaw > 95)
			{
				zombie playsound ("behind_vocals");
			}			
		}		
	}	
}

intro_screen()
{
	flag_wait( "all_players_connected" );
	wait(2);
	level.intro_hud = [];
	for(i = 0;  i < 3; i++)
	{
		level.intro_hud[i] = newHudElem();
		level.intro_hud[i].x = 0;
		level.intro_hud[i].y = 0;
		level.intro_hud[i].alignX = "left";
		level.intro_hud[i].alignY = "bottom";
		level.intro_hud[i].horzAlign = "left";
		level.intro_hud[i].vertAlign = "bottom";
		level.intro_hud[i].foreground = true;
		
		if ( level.splitscreen && !level.hidef )
		{
			level.intro_hud[i].fontScale = 2.75;
		}
		else
		{
			level.intro_hud[i].fontScale = 1.75;
		}
		level.intro_hud[i].alpha = 0.0;
		level.intro_hud[i].color = (1, 1, 1);
		level.intro_hud[i].inuse = false;
	}
	
	level.intro_hud[0].y = -110;
	level.intro_hud[1].y = -90;
	level.intro_hud[2].y = -70;
	
	level.intro_hud[0] settext(&"MYLEVEL_PLACE");
	level.intro_hud[1] settext(&"MYLEVEL_TITLE");
	level.intro_hud[2] settext(&"MYLEVEL_DATE");
	
	for(i = 0 ; i < 3; i++)
	{
		level.intro_hud[i] FadeOverTime( 1.5 ); 
		level.intro_hud[i].alpha = 1;
		wait(1.5);
	}
	
	wait(1.5);
	
	for(i = 0 ; i < 3; i++)
	{
		level.intro_hud[i] FadeOverTime( 1.5 ); 
		level.intro_hud[i].alpha = 0;
		wait(1.5);
	}	

	for(i = 0 ; i < 3; i++)
	{
		level.intro_hud[i] destroy();
	}
	
	//level thread magic_box_limit_location_init();
}

/* Moved sound to the loudspeaker */
play_pa_system()
{
	//level notify("");
	clientnotify("switch_flipped_generator");
	speakerA = getstruct("loudspeaker", "targetname");
	playsoundatposition("alarm", speakerA.origin);

	level thread play_comp_sounds();
	
	generator_arc = getent("generator_arc", "targetname");
	generator_arc playloopsound("gen_arc_loop");
	
	wait(4.0);
	generator = getent("generator_origin", "targetname");
	generator playloopsound("generator_loop");

	
	wait(8.0);	
	playsoundatposition ("amb_pa_system", speakerA.origin);

}
play_comp_sounds()
{
	computer = getent("comp", "targetname");
	computer playsound ("comp_start");
	wait(6);
	computer playloopsound("comp_loop");
}

/*------------------------------------
Zombie yourmapname special sauce
------------------------------------*/
init_nazi_zombie_yourmapname()
{
	level.magic_box_uses = 1;
	
	//flags
	flag_init("both_doors_opened");			//keeps track of the players opening the 'magic box' room doors
	flag_init("electric_switch_used");	//when the players use the electric switch in the control room
	
	flag_set("spawn_point_override");
	
	//bouncing betties
	level thread purchase_bouncing_betties();
	
	//electric traps
	level thread init_elec_trap_trigs();
	
	//activate goals when doors are opened
	level thread activate_goals_when_door_opened("north1_lower_door","script_noteworthy","zombie_door");
	level thread activate_goals_when_door_opened("north2_lower_door","script_noteworthy","zombie_door");
	level thread activate_goals_when_door_opened("north3_lower_door","script_noteworthy","zombie_door");
	level thread activate_goals_when_door_opened("north4_lower_door","script_noteworthy","zombie_door");
	level thread activate_goals_when_door_opened("north5_lower_door","script_noteworthy","zombie_door");
		
	//managed zones are areas in the map that have associated spawners/goals that are turned on/off 
	//depending on where the players are in the map
	getent("mynorth_upstairs_volume","targetname") thread manage_zone();
	getent("mysouth_upstairs_volume","targetname") thread manage_zone();	

	//bouncing betties!!
	level thread give_betties_after_rounds();
	
	//water sheeting triggers
	water_trigs = getentarray("waterfall","targetname");
	array_thread(water_trigs,::watersheet_on_trigger);
}

/*------------------------------------
grab the attached spawners and make sure they are locked
------------------------------------*/
lock_zombie_spawners(door_name)
{
	door = getentarray(door_name,"targetname");
	if(door.size > 0 && isDefined(door[0].target))
	{
		spawners = getentarray(door[0].target,"targetname");
		for(i=0;i<spawners.size;i++)
		{
			spawners[i].locked_spawner = true;
			level.enemy_spawns = array_remove_nokeys(level.enemy_spawns,spawners[i]);
		}
	}	
}


/*------------------------------------
activate any access points that are associated with a door
types: zombie_door, zombie_debris
------------------------------------*/
activate_goals_when_door_opened(door,key,type)
{	

	//grab the door purchase triggers
	trigs = getentarray(door,key);
	purchase_trigs = [];

	for(i=0;i<trigs.size;i++)
	{
		if ( isDefined(trigs[i].targetname ) && trigs[i].targetname == type )
		{
			purchase_trigs[purchase_trigs.size] = trigs[i];
		}
	}		
	//lock any zombie spawners until they are activated by the door
	lock_zombie_spawners(purchase_trigs[0].target);

	//deactivate the goals until door is opened
	entry_points = getstructarray(door,key);
	for(i=0;i<entry_points.size;i++)
	{
		if ( entry_points[i].script_noteworthy == door)
		{
			entry_points[i].is_active = undefined;
			entry_points[i] trigger_off();
		}
	}

	//double check that we have set the flags	and wait for the door to be used
	if( !IsDefined( level.flag[purchase_trigs[0].script_flag] ) )
	{
		flag_init( purchase_trigs[0].script_flag); 
	}

	flag_wait(purchase_trigs[0].script_flag);
	
	//activate any zombie entrypoints now that the door/debris has been removed
	entry_points = getstructarray(door,key);
	for(i=0;i<entry_points.size;i++)
	{
		if ( entry_points[i].script_noteworthy == door )
		{
			entry_points[i].is_active = 1;
			entry_points[i] trigger_on();
		}
	}
}

/*------------------------------------
have a info_volume target spawners
to turn them on/off - probably the best way to handle this

TODO: switch over the previous script_string stuff in the other function
------------------------------------*/
manage_zone()
{	
	spawners = undefined;
	dog_spawners = [];
	
	if(isDefined(self.target))
	{
		spawners = getentarray(self.target,"targetname");
		
		for (i = 0; i < spawners.size; i++)
		{
			if ( issubstr(spawners[i].classname, "dog") )
			{
				dog_spawners 	= array_add( dog_spawners, spawners[i] );
				spawners 		= array_remove( spawners, spawners[i] );
			}
		}
	}
	
	goals = getstructarray("exterior_goal","targetname");
	check_ent = undefined;
	while(getdvarint("noclip") == 0 ||getdvarint("notarget") != 0	)
	{
		//test to see if any players are in the volume
		zone_active = false;
		players = get_players();
		
		for(i=0;i<players.size;i++)
		{
			if(isDefined(check_ent))
			{
				if(players[i] istouching(self) || players[i] istouching(check_ent))
				{
					zone_active = true;
				}
			}
			else
			{
			if(players[i] istouching(self))
			{
				zone_active = true;
			}
		}
		}
	//players are in the volume, activate any associated spawners
		if(zone_active )
		{
			if(isDefined(spawners))
			{
				for(x=0;x<spawners.size;x++)
				{
					//make sure that there are no duplicate spawners 
					no_dupes = array_check_for_dupes( level.enemy_spawns, spawners[x] );
					if(no_dupes)
					{
						if( (!isDefined(spawners[x].locked_spawner)) || ( isDefined(spawners[x].locked_spawner && !spawners[x].locked_spawner)) )
						{
							level.enemy_spawns = add_to_array(level.enemy_spawns,spawners[x]);
						}
					}
				}				
			}
				
			//activate the associated goals
			for(x=0;x<goals.size;x++)
			{
				if(isDefined(goals[x].is_active) )
				{
					if( isDefined(goals[x].script_string) && (goals[x].script_string == self.targetname + "_goal"))
					{
						goals[x] thread trigger_on();
					}
					if(isDefined(check_ent))
					{
						if( isDefined(goals[x].script_string) && isDefined(check_ent.script_noteworthy) && goals[x].script_string == check_ent.script_noteworthy + "_goal")
						{
							goals[x] thread trigger_on();
						}
					}
				}
			}
		}
							
	//players are not in the volume, so disable the spawners
		else
		{	
			if(isDefined(spawners))
			{
				for(x=0;x<spawners.size;x++)
				{
					if(isDefined(spawners[x].script_string) && spawners[x].script_string == self.targetname)
					{
						level.enemy_spawns = array_remove_nokeys(level.enemy_spawns, spawners[x]);
					}
				}
			}
			
			//disable the associated goals
			for(x=0;x<goals.size;x++)
			{
				if(isDefined(goals[x].is_active) )
				{
					if ( isDefined(goals[x].script_string) && (goals[x].script_string == self.targetname + "_goal") )
					{
						goals[x] thread trigger_off();
					}
					if(isDefined(check_ent))
					{
						if( (isDefined(goals[x].script_string)) && (isDefined(check_ent.script_noteworthy)) && (goals[x].script_string == check_ent.script_noteworthy + "_goal"))
						{
							goals[x] thread trigger_off();
						}
					}				
				}
			}	
		}
	
	//wait a second before another check
	wait(1);			
	}
}

init_sounds()
{
	maps\_zombiemode_utility::add_sound( "break_stone", "break_stone" );
	maps\_zombiemode_utility::add_sound( "couch_slam", "couch_slam" );
	
}

// Include the weapons that are only inr your level so that the cost/hints are accurate
// Also adds these weapons to the random treasure chest.
include_weapons()
{
	// Pistols
	//include_weapon( "colt" );
	//include_weapon( "colt_dirty_harry" );
	//include_weapon( "walther" );
	include_weapon( "sw_357" );
	
	// Semi Auto
	include_weapon( "m1carbine" );
	include_weapon( "m1garand" );
	include_weapon( "gewehr43" );

	// Full Auto
	include_weapon( "stg44" );
	include_weapon( "thompson" );
	include_weapon( "mp40" );
	include_weapon("ppsh");

	
	// Bolt Action
	include_weapon( "kar98k" );
	include_weapon( "springfield" );

	// Scoped
	include_weapon( "ptrs41_zombie" );
	//include_weapon( "kar98k_scoped_zombie" );
		
	// Grenade
	include_weapon( "molotov" );
	// JESSE: lets go all german grenades for consistency and to reduce annoyance factor
	//	include_weapon( "fraggrenade" );
	include_weapon( "stielhandgranate" );

	// Grenade Launcher
	include_weapon( "m1garand_gl_zombie" );
	include_weapon( "m7_launcher_zombie" );
	
	// Flamethrower
	include_weapon( "m2_flamethrower_zombie" );
	
	// Shotgun
	include_weapon( "doublebarrel" );
	include_weapon( "doublebarrel_sawed_grip" );
	include_weapon( "shotgun" );
	
	// Bipod
	include_weapon( "fg42_bipod" );
	include_weapon( "mg42_bipod" );
	include_weapon( "30cal_bipod" );

	// Heavy MG
	include_weapon( "bar" );
	include_weapon( "bar_bipod");

	// Rocket Launcher
	include_weapon( "panzerschrek_zombie" );

	// Special
	include_weapon( "ray_gun" );
	
	//bouncing betties
	include_weapon("mine_bouncing_betty");
	
}

include_powerups()
{
	include_powerup( "nuke" );
	include_powerup( "insta_kill" );
	include_powerup( "double_points" );
	include_powerup( "full_ammo" );
}

include_weapon( weapon_name )
{
	maps\_zombiemode_weapons::include_zombie_weapon( weapon_name );
}

include_powerup( powerup_name )
{
	maps\_zombiemode_powerups::include_zombie_powerup( powerup_name );
}


/*------------------------------------
BOUNCING BETTY STUFFS - 
a rough prototype for now, needs a bit more polish

------------------------------------*/
purchase_bouncing_betties()
{
	trigs = getentarray("betty_purchase","targetname");
	array_thread(trigs,::buy_bouncing_betties);
}

buy_bouncing_betties()
{
	self.zombie_cost = 1000;
	
	betty_model = getent(self.target, "targetname");
	betty_model hide();
	self sethintstring( &"ZOMBIE_BETTY_PURCHASE" );

	level thread set_betty_visible();
	while(1)
	{
		self waittill("trigger",who);
		if( who in_revive_trigger() )
		{
			continue;
		}
						
		if( is_player_valid( who ) )
		{
			
			if( who.score >= self.zombie_cost )
			{				
				if(!isDefined(who.has_betties))
				{
					who.has_betties = 1;
					play_sound_at_pos( "purchase", self.origin );
					betty_model show();
					//set the score
					who maps\_zombiemode_score::minus_to_player_score( self.zombie_cost ); 
					who thread bouncing_betty_setup();
					//who thread show_betty_hint("betty_purchased");

					trigs = getentarray("betty_purchase","targetname");
					for(i = 0; i < trigs.size; i++)
					{
						trigs[i] SetInvisibleToPlayer(who);
					}
				}
				
			}
		}
	}
}

set_betty_visible()
{
	players = getplayers();	
	trigs = getentarray("betty_purchase","targetname");

	while(1)
	{
	for(j = 0; j < players.size; j++)
	{
		if( !isdefined(players[j].has_betties))
		{						
			for(i = 0; i < trigs.size; i++)
			{
				trigs[i] SetInvisibleToPlayer(players[j], false);
			}
		}
	}
	
	wait(1);
	}
}

bouncing_betty_watch()
{

	while(1)
	{
		self waittill("grenade_fire",betty,weapname);
		if(weapname == "mine_bouncing_betty")
		{
			betty.owner = self;
			betty thread betty_think();
			self thread betty_death_think();
		}
	}
}

betty_death_think()
{
	self waittill("death");
	
	if(isDefined(self.trigger))
	{
		self.trigger delete();
	}
	
	self delete();
	
}

bouncing_betty_setup()
{	
	self thread bouncing_betty_watch();
	
	self giveweapon("mine_bouncing_betty");
	self setactionslot(4,"weapon","mine_bouncing_betty");
	self setweaponammostock("mine_bouncing_betty",5);
}

betty_loadout()
{
	flag_wait("all_players_connected");
	//players = get_players();
	//array_thread(players,::bouncing_betty_setup);
}

betty_think()
{
	wait(2);
	trigger = spawn("trigger_radius",self.origin,9,80,64);
	trigger waittill( "trigger" );
	trigger = trigger;
	self playsound("betty_activated");
	wait(.1);	
	fake_model = spawn("script_model",self.origin);
	fake_model setmodel(self.model);
	self hide();
	tag_origin = spawn("script_model",self.origin);
	tag_origin setmodel("tag_origin");
	tag_origin linkto(fake_model);
	temp_origin = self.origin;
	playfxontag(level._effect["betty_trail"],tag_origin,"tag_origin");
	fake_model moveto (self.origin + (0,0,32),.2);
	fake_model waittill("movedone");
	playfx(level._effect["betty_explode"],fake_model.origin);
	earthquake(1,.4, temp_origin, 512);
	
	//CHris_P - betties do no damage to the players
	zombs = getaiarray("axis");
	for(i=0;i<zombs.size;i++)
	{
		if(DistanceSquared(zombs[i].origin, temp_origin) < 200 * 200)
		{
			zombs[i] thread maps\_zombiemode_spawner::zombie_damage( "MOD_EXPLOSIVE", "none", zombs[i].origin, self.owner );
		}
	}
	//radiusdamage(self.origin,128,1000,75,self.owner);
	
	trigger delete();
	fake_model delete();
	tag_origin delete();

	if(isdefined(self))
	{
		self delete();
	}
}

betty_smoke_trail()
{
	self.tag_origin = spawn("script_model",self.origin);
	self.tag_origin setmodel("tag_origin");
	playfxontag(level._effect["betty_trail"],self.tag_origin,"tag_origin");
	self.tag_origin moveto(self.tag_origin.origin + (0,0,100),.15);
}

give_betties_after_rounds()
{
	while(1)
	{
		level waittill( "between_round_over" );
		{
			players = get_players();
			for(i=0;i<players.size;i++)
			{
				if(isDefined(players[i].has_betties))
				{
					players[i] giveweapon("mine_bouncing_betty");
					players[i]  setactionslot(4,"weapon","mine_bouncing_betty");
					players[i]  setweaponammoclip("mine_bouncing_betty",2);
				}
			}
		}
	}
}

/*------------------------------------
	FIRE TRAPS 

- players can activate
	gas valves that enable a wall of fire for a few seconds
	
	NOT!
	it's been changed to electricity
	
	need to update the relevant function names/variables and such to reflect the change
------------------------------------*/
init_elec_trap_trigs()
{
	trap_trigs = getentarray("gas_access","targetname");
	array_thread (trap_trigs,::electric_trap_think);
	array_thread (trap_trigs,::electric_trap_dialog);
}
toilet_useage()
{

	toilet_counter = 0;
	toilet_trig = getent("toilet", "targetname");
	toilet_trig SetCursorHint( "HINT_NOICON" );
	toilet_trig UseTriggerRequireLookAt();

	players = getplayers();
	if (!IsDefined (level.eggs))
	{
		level.eggs = 0;
	}
	while (1)
	{
		wait(0.5);
		for(i=0;i<players.size;i++)
		{			
			toilet_trig waittill( "trigger", players);
			toilet_trig playsound ("toilet_flush", "sound_done");				
			toilet_trig waittill ("sound_done");				
			toilet_counter ++;
			if(toilet_counter == 3)
			{
				playsoundatposition ("cha_ching", toilet_trig.origin);
				level.eggs = 1;
				setmusicstate("eggs");
				wait(245);	
				setmusicstate("WAVE_1");
				level.eggs = 0;
				
			}
				
		}
	}
	
}
chair_useage()
{

	chair_counter = 0;
	chair_trig = getent("dentist_chair", "targetname");
	chair_trig SetCursorHint( "HINT_NOICON" );
	chair_trig UseTriggerRequireLookAt();

	players = getplayers();
	while (1)
	{
		wait(0.05);
		for(i=0;i<players.size;i++)
		{			
			chair_trig waittill( "trigger", players);
			chair_counter ++;
			if(chair_counter == 3)
			{
				playsoundatposition ("chair", chair_trig.origin);
				chair_counter = 0;
			}
				
		}
	}
	
}
electric_trap_dialog()
{

	self endon ("warning_dialog");
	level endon("switch_flipped");
	timer =0;
	while(1)
	{
		wait(0.5);
		players = get_players();
		for(i = 0; i < players.size; i++)
		{		
			dist = distancesquared(players[i].origin, self.origin );
			if(dist > 70*70)
			{
				timer = 0;
				continue;
			}
			if(dist < 70*70 && timer < 3)
			{
				wait(0.5);
				timer ++;
			}
			if(dist < 70*70 && timer == 3)
			{
				
				players[i] thread do_player_vo("vox_start", 5);	
				wait(3);				
				self notify ("warning_dialog");
				//iprintlnbold("warning_given");
			}
		}
	}
}


/*------------------------------------
self = use trigger associated with the gas valve
------------------------------------*/
electric_trap_think()
{	
	self sethintstring(&"ZOMBIE_FLAMES_UNAVAILABLE");
	self.is_available = undefined;
	self.zombie_cost = 1000;
	self.in_use = 0;
	
	while(1)
	{
		valve_trigs = getentarray(self.script_noteworthy ,"script_noteworthy");		
	
		//wait until someone uses the valve
		self waittill("trigger",who);
		if( who in_revive_trigger() )
		{
			continue;
		}
		
		if(!isDefined(self.is_available))
		{			
			continue;			
		}
				
		if( is_player_valid( who ) )
		{
			if( who.score >= self.zombie_cost )
			{				
				if(!self.in_use)
				{
					self.in_use = 1;
					play_sound_at_pos( "purchase", who.origin );
					self thread electric_trap_move_switch(self);
					//need to play a 'woosh' sound here, like a gas furnace starting up
					self waittill("switch_activated");
					//set the score
					who maps\_zombiemode_score::minus_to_player_score( self.zombie_cost );

					//turn off the valve triggers associated with this valve until the gas is available again
					array_thread (valve_trigs,::trigger_off);
					
					//this trigger detects zombies walking thru the flames
					self.zombie_dmg_trig = getent(self.target,"targetname");
					self.zombie_dmg_trig trigger_on();
					
					//play the flame FX and do the actual damage
					self thread activate_electric_trap();					
					
					//wait until done and then re-enable the valve for purchase again
					self waittill("elec_done");
					
					clientnotify(self.script_string +"off");
										
					//delete any FX ents
					if(isDefined(self.fx_org))
					{
						self.fx_org delete();
					}
					if(isDefined(self.zapper_fx_org))
					{
						self.zapper_fx_org delete();
					}
					if(isDefined(self.zapper_fx_switch_org))
					{
						self.zapper_fx_switch_org delete();
					}
										
					
					//turn the damage detection trigger off until the flames are used again
			 		self.zombie_dmg_trig trigger_off();
					wait(25);
					array_thread (valve_trigs,::trigger_on);
				
					//Play the 'alarm' sound to alert players that the traps are available again (playing on a temp ent in case the PA is already in use.
					speakerA = getstruct("loudspeaker", "targetname");
					playsoundatposition("warning", speakera.origin);
					self notify("available");

					self.in_use = 0;					
				}
			}
		}
	}
}

//this used to be a gas valve, now it's a throw switch
electric_trap_move_switch(parent)
{
	tswitch = getent(parent.script_linkto,"script_linkname");
	if(tswitch.script_linkname == "4")
	{
		//turn the light above the door red
		north_zapper_light_red();
		//machine = getent("zap_machine_north","targetname");		

		tswitch rotatepitch(-180,.5);
		tswitch playsound("amb_sparks_l_b");
		tswitch waittill("rotatedone");
		self notify("switch_activated");
		self waittill("available");
		tswitch rotatepitch(180,.5);
		
		//turn the light back green once the trap is available again
		north_zapper_light_green();
	}
	else
	{
		south_zapper_light_red();	
		
		tswitch rotatepitch(180,.5);
		tswitch playsound("amb_sparks_l_b");
		tswitch waittill("rotatedone");
		self notify("switch_activated");
		self waittill("available");
		tswitch rotatepitch(-180,.5);
		
		south_zapper_light_green();
		

	}

}

activate_electric_trap()
{
	//the trap on the north side is kinda busted, so it has a sparky wire. 
	if(isDefined(self.script_string) && self.script_string == "north")
	{
		
		machine = getent("zap_machine_north","targetname");
		machine setmodel("zombie_zapper_power_box_on");
		clientnotify("north");
	}
	else
	{
		
		machine = getent("zap_machine_south","targetname");
		machine setmodel("zombie_zapper_power_box_on");
		clientnotify("south");
	}	
		
	clientnotify(self.target);
	
	fire_points = getstructarray(self.target,"targetname");
	
	for(i=0;i<fire_points.size;i++)
	{
		wait_network_frame();
		fire_points[i] thread electric_trap_fx(self);		
	}
	
	//do the damage
	self.zombie_dmg_trig thread elec_barrier_damage();
	
	// reset the zapper model
	level waittill("arc_done");
	machine setmodel("zombie_zapper_power_box");
}


electric_trap_fx(notify_ent)
{
	self.tag_origin = spawn("script_model",self.origin);
	//self.tag_origin setmodel("tag_origin");

	//playfxontag(level._effect["zapper"],self.tag_origin,"tag_origin");

	if(isDefined(self.script_sound))
	{
		self.tag_origin playsound("elec_start");
		self.tag_origin playloopsound("elec_loop");
		self thread play_electrical_sound();
	} 
	wait(25);
		
	if(isDefined(self.script_sound))
	{
		self.tag_origin stoploopsound();
	}
	self.tag_origin delete(); 
	notify_ent notify("elec_done");
	level notify ("arc_done");
	
}
play_electrical_sound()
{
	level endon ("arc_done");
	while(1)
	{	
		wait(randomfloatrange(0.1, 0.5));
		playsoundatposition("elec_arc", self.origin);
	}
	

}
elec_barrier_damage()
{	
	while(1)
	{
		self waittill("trigger",ent);
		
		//player is standing flames, dumbass
		if(isplayer(ent) )
		{
			ent thread player_elec_damage();
		}
		else
		{
		
			if(!isDefined(ent.marked_for_death))
			{
				ent.marked_for_death = true;
				ent thread zombie_elec_death( randomint(100) );
			}
		}
	}
}
play_elec_vocals()
{
	if(IsDefined (self)) 
	{
		org = self.origin;
		wait(0.15);
		playsoundatposition("elec_vocals", org);
		playsoundatposition("zombie_arc", org);
		playsoundatposition("exp_jib_zombie", org);
	}
}
player_elec_damage()
{	
	self endon("death");
	self endon("disconnect");
	
	if(!IsDefined (level.elec_loop))
	{
		level.elec_loop = 0;
	}	
	
	if( !isDefined(self.is_burning) && !self maps\_laststand::player_is_in_laststand() )
	{
		self.is_burning = 1;		
		self setelectrified(1.25);	
		shocktime = 2.5;			
		//Changed Shellshock to Electrocution so we can have different bus volumes.
		self shellshock("electrocution", shocktime);
		
		if(level.elec_loop == 0)
		{	
			elec_loop = 1;
			//self playloopsound ("electrocution");
			self playsound("zombie_arc");
		}
		if(!self hasperk("specialty_armorvest") || self.health - 100 < 1)
		{
			
			radiusdamage(self.origin,10,self.health + 100,self.health + 100);
			self.is_burning = undefined;

		}
		else
		{
			self dodamage(50, self.origin);
			wait(.1);
			//self playsound("zombie_arc");
			self.is_burning = undefined;
		}


	}

}

zombie_elec_death(flame_chance)
{
	self endon("death");
	
	//10% chance the zombie will burn, a max of 6 burning zombs can be goign at once
	//otherwise the zombie just gibs and dies
	if(flame_chance > 90 && level.burning_zombies.size < 6)
	{
		level.burning_zombies[level.burning_zombies.size] = self;
		self thread zombie_flame_watch();
		self playsound("ignite");
		self thread animscripts\death::flame_death_fx();
		wait(randomfloat(1.25));		
	}
	else
	{
		
		refs[0] = "guts";
		refs[1] = "right_arm"; 
		refs[2] = "left_arm"; 
		refs[3] = "right_leg"; 
		refs[4] = "left_leg"; 
		refs[5] = "no_legs";
		refs[6] = "head";
		self.a.gib_ref = refs[randomint(refs.size)];

		playsoundatposition("zombie_arc", self.origin);
		if(randomint(100) > 50 )
		{
			self thread electroctute_death_fx();
			self thread play_elec_vocals();
		}
		wait(randomfloat(1.25));
		self playsound("zombie_arc");
	}

	self dodamage(self.health + 666, self.origin);
}

zombie_flame_watch()
{
	self waittill("death");
	self stoploopsound();
	level.burning_zombies = array_remove_nokeys(level.burning_zombies,self);
}


/*------------------------------------
	SPAWN POINT OVERRIDE
	
- special yourmapname spawning hotness
------------------------------------*/
spawn_point_override()
{
	flag_wait( "all_players_connected" );
	
	players = get_players(); 

	//spawn points are split, so grab them both seperately
	north_structs = getstructarray("north_spawn","script_noteworthy");
	south_structs = getstructarray("south_spawn","script_noteworthy");

	side1 = north_structs;
	side2 = south_structs;
	if(randomint(100)>50)
	{
		side1 = south_structs;
		side2 = north_structs;
	}
		
	//spawn players on a specific side, but randomize it up a bit
	for( i = 0; i < players.size; i++ )
	{
		
		//track zombies for sounds
		players[i] thread player_zombie_awareness();
		players[i] thread player_killstreak_timer();

			
		if(i<2)
		{
			players[i] setorigin( side1[i].origin ); 
			players[i] setplayerangles( side1[i].angles );
			players[i].respawn_point = side1[i];
			players[i].spawn_side = side1[i].script_noteworthy;
		}
		else
		{
			players[i] setorigin( side2[i].origin);
			players[i] setplayerangles( side2[i].angles);
			players[i].respawn_point = side2[i];
			players[i].spawn_side = side2[i].script_noteworthy;
		}	
	}	
}

//betty hint stuff
init_hint_hudelem(x, y, alignX, alignY, fontscale, alpha)
{
	self.x = x;
	self.y = y;
	self.alignX = alignX;
	self.alignY = alignY;
	self.fontScale = fontScale;
	self.alpha = alpha;
	self.sort = 20;
	//self.font = "objective";
}

setup_client_hintelem()
{
	self endon("death");
	self endon("disconnect");
	
	if(!isDefined(self.hintelem))
	{
		self.hintelem = newclienthudelem(self);
	}
	self.hintelem init_hint_hudelem(320, 220, "center", "bottom", 1.6, 1.0);
}


show_betty_hint(string)
{
	self endon("death");
	self endon("disconnect");
	
	if(string == "betty_purchased")
		text = &"ZOMBIE_BETTY_HOWTO";
	else
		text = &"ZOMBIE_BETTY_ALREADY_PURCHASED";
	
	self setup_client_hintelem();
	self.hintelem setText(text);
	wait(3.5);
	self.hintelem settext("");
}

/*------------------------------------
the electric switch in the control room
once this is used, it activates other objects in the map
and makes them available to use
------------------------------------*/
master_electric_switch()
{
	
	trig = getent("use_master_switch","targetname");
	master_switch = getent("master_switch","targetname");	
	master_switch notsolid();
	//master_switch rotatepitch(90,1);
	trig sethintstring(&"ZOMBIE_ELECTRIC_SWITCH");
	
	//turn off the buyable door triggers downstairs
	door_trigs = getentarray("electric_door","script_noteworthy");
	//door_trigs[0] sethintstring(&"ZOMBIE_FLAMES_UNAVAILABLE");
	//door_trigs[0] UseTriggerRequireLookAt();
	array_thread(door_trigs,::set_door_unusable);
	array_thread(door_trigs,::play_door_dialog);
	fx_org = spawn("script_model", (-674.922, -300.473, 284.125));
	fx_org setmodel("tag_origin");
	fx_org.angles = (0, 90, 0);
	playfxontag(level._effect["electric_power_gen_idle"], fx_org, "tag_origin");  
	
	
		
	cheat = false;

	if ( cheat != true )
	{
		trig waittill("trigger",user);
	}
	
	array_thread(door_trigs,::trigger_off);
	master_switch rotateroll(-90,.3);

	//TO DO (TUEY) - kick off a 'switch' on client script here that operates similiarly to Berlin2 subway.
	master_switch playsound("switch_flip");

	clientnotify("revive_on");
	clientnotify("middle_door_open");
	clientnotify("fast_reload_on");
	clientnotify("doubletap_on");
	clientnotify("jugger_on");
	level notify("switch_flipped");
	//maps\_audio::disable_bump_trigger("switch_door_trig");
	level thread play_the_numbers();
	left_org = getent("audio_swtch_left", "targetname");
	right_org = getent("audio_swtch_right", "targetname");
	left_org_b = getent("audio_swtch_b_left", "targetname");
	right_org_b = getent("audio_swtch_b_right", "targetname");

	if( isdefined (left_org)) 
	{
		left_org playsound("amb_sparks_l");
	}
	if( isdefined (left_org_b)) 
	{
		left_org playsound("amb_sparks_l_b");
	}
	if( isdefined (right_org)) 
	{
		right_org playsound("amb_sparks_r");
	}
	if( isdefined (right_org_b)) 
	{
		right_org playsound("amb_sparks_r_b");
	}
	// TUEY - Sets the "ON" state for all electrical systems via client scripts
	SetClientSysState("levelNotify","start_lights");
	level thread play_pa_system();	

	flag_set("electric_switch_used");
	trig delete();	
	
	//enable the electric traps
	traps = getentarray("gas_access","targetname");
	for(i=0;i<traps.size;i++)
	{
		traps[i] sethintstring(&"ZOMBIE_BUTTON_NORTH_FLAMES");
		traps[i].is_available = true;
	}
	
	master_switch waittill("rotatedone");
	playfx(level._effect["switch_sparks"] ,getstruct("switch_fx","targetname").origin);
	
	//activate perks-a-cola
	level notify( "master_switch_activated" );
	fx_org delete();
	
	fx_org = spawn("script_model", (-675.021, -300.906, 283.724));
	fx_org setmodel("tag_origin");
	fx_org.angles = (0, 90, 0);
	playfxontag(level._effect["electric_power_gen_on"], fx_org, "tag_origin");  
	fx_org playloopsound("elec_current_loop");


	//elec room fx on
	//playfx(level._effect["elec_room_on"], (-440, -208, 8));
	
	//turn on green lights above the zapper trap doors
	north_zapper_light_green();
	south_zapper_light_green();

	wait(6);
	fx_org stoploopsound();
	level notify ("sleight_on");
	level notify("revive_on");
	level notify ("electric_on_middle_door");
	level notify ("doubletap_on");
	level notify ("juggernog_on");



	//level waittill("electric_on_middle_door");
	doors = getentarray(door_trigs[0].target,"targetname");
	open_bottom_doors(doors);
	
	//exploder(101);
	//exploder(201);
	
	//This wait is to time out the SFX properly
	wait(8);
	playsoundatposition ("amb_sparks_l_end", left_org.origin);
	playsoundatposition ("amb_sparks_r_end", right_org.origin);
	
}
play_door_dialog()
{
	self endon ("warning_dialog");
	timer = 0;
	while(1)
	{
		wait(0.05);
		players = get_players();
		for(i = 0; i < players.size; i++)
		{		
			dist = distancesquared(players[i].origin, self.origin );
			if(dist > 70*70)
			{
				timer =0;
				continue;
			}
			while(dist < 70*70 && timer < 3)
			{
				wait(0.5);
				timer++;
			}
			if(dist > 70*70 && timer >= 3)
			{
				self playsound("door_deny");
				players[i] thread do_player_vo("vox_start", 5);	
				wait(3);				
				self notify ("warning_dialog");
				//iprintlnbold("warning_given");
			}
			
				
		}
	}
}
set_door_unusable()
{
	
	self sethintstring(&"ZOMBIE_FLAMES_UNAVAILABLE");
	self UseTriggerRequireLookAt();
	 
}

/*------------------------------------
this keeps track of when booth doorrs to the 'magic box' room are purchased
and then sets a flag ( used for spawning )
------------------------------------*/
watch_magic_doors()
{
	trigs = getentarray("magic_door","script_noteworthy");
	array_thread (trigs,::magic_door_monitor);	
	
	used = 0;
	while(1)
	{
		level waittill("magic_door_used");
		used++;
		if( used >1 )
		{
			break;
		}
	}
	flag_Set("both_doors_opened");
}


/*------------------------------------
waits for someone to buy a door
leading into the magic box/control room
------------------------------------*/
magic_door_monitor()
{
	self waittill("trigger");
	
	level notify("magic_door_used");	
}

/*------------------------------------
This opens the bottom 'divider' doors 
once the electric swtich is activated
------------------------------------*/
open_bottom_doors(doors)
{

	time = 1;
		
	for(i=0;i<doors.size;i++)
	{
		doors[i] NotSolid(); 
	
		time = 1; 
		if( IsDefined( doors[i].script_transition_time ) )
		{
			time = doors[i].script_transition_time; 
		}
		 
		doors[i] connectpaths();
		
		if(isDefined(doors[i].script_vector))
		{
			doors[i] MoveTo( doors[i].origin + doors[i].script_vector, time, time * 0.25, time * 0.25 ); 
			doors[i] playsound ("door_slide_open");			
		}
		wait(randomfloat(.15));
	}
}

/*------------------------------------
electrical current FX once the traps are activated on the north side
------------------------------------*/
electric_trap_wire_sparks(side)
{
	self endon("elec_done");
			
	while(1)
	{
		sparks = getstruct("trap_wire_sparks_"+ side,"targetname");
		self.fx_org = spawn("script_model",sparks.origin);
		self.fx_org setmodel("tag_origin");
		self.fx_org.angles = sparks.angles;
		playfxontag(level._effect["electric_current"],self.fx_org,"tag_origin");
		
		targ = getstruct(sparks.target,"targetname");
		while(isDefined(targ))
		{
			self.fx_org moveto(targ.origin,.15);
		
		
		// Kevin adding playloop on electrical fx
			self.fx_org playloopsound("elec_current_loop",.1);
			self.fx_org waittill("movedone");
			self.fx_org stoploopsound(.1);
		
			if(isDefined(targ.target))
			{
				targ = getstruct(targ.target,"targetname");
			}
			else
			{
				targ = undefined;
			}
		}
		playfxontag(level._effect["electric_short_oneshot"],self.fx_org,"tag_origin");
		wait(randomintrange(3,9));
		self.fx_org delete();	
	}
}

//electric current to open the middle door
electric_current_open_middle_door()
{

		sparks = getstruct("electric_middle_door","targetname");
		fx_org = spawn("script_model",sparks.origin);
		fx_org setmodel("tag_origin");
		fx_org.angles = sparks.angles;
		playfxontag(level._effect["electric_current"], fx_org,"tag_origin");
		
		targ = getstruct(sparks.target,"targetname");
		while(isDefined(targ))
		{
			fx_org moveto(targ.origin,.075);
			//Kevin adding playloop on electrical fx
			if(isdefined(targ.script_noteworthy) && (targ.script_noteworthy == "junction_boxs" || targ.script_noteworthy == "electric_end"))
			{
				playfxontag(level._effect["electric_short_oneshot"], fx_org,"tag_origin");
			}
			
			fx_org playloopsound("elec_current_loop",.1);
			fx_org waittill("movedone");
			fx_org stoploopsound(.1);
			if(isDefined(targ.target))
			{
				targ = getstruct(targ.target,"targetname");
			}
			else
			{
				targ = undefined;
			}
		}
		level notify ("electric_on_middle_door");
		playfxontag(level._effect["electric_short_oneshot"], fx_org,"tag_origin");
		wait(randomintrange(3,9));
		fx_org delete();	



}

electric_current_revive_machine()
{

		sparks = getstruct("revive_electric_wire","targetname");
		fx_org = spawn("script_model",sparks.origin);
		fx_org setmodel("tag_origin");
		fx_org.angles = sparks.angles;
		playfxontag(level._effect["electric_current"], fx_org,"tag_origin");
		
		targ = getstruct(sparks.target,"targetname");
		wait(0.2);
		while(isDefined(targ))
		{
			fx_org moveto(targ.origin,.075);
			//Kevin adding playloop on electrical fx
			if(isdefined(targ.script_noteworthy) && targ.script_noteworthy == "junction_revive")
			{
				playfxontag(level._effect["electric_short_oneshot"], fx_org,"tag_origin");
			}
			
			fx_org playloopsound("elec_current_loop",.1);
			fx_org waittill("movedone");
			fx_org stoploopsound(.1);
			if(isDefined(targ.target))
			{
				targ = getstruct(targ.target,"targetname");
			}
			else
			{
				targ = undefined;
			}
		}
		level notify("revive_on");
		playfxontag(level._effect["electric_short_oneshot"], fx_org,"tag_origin");
		wait(randomintrange(3,9));
		fx_org delete();	



}

electric_current_reload_machine()
{

		sparks = getstruct("electric_fast_reload","targetname");
		fx_org = spawn("script_model",sparks.origin);
		fx_org setmodel("tag_origin");
		fx_org.angles = sparks.angles;
		playfxontag(level._effect["electric_current"], fx_org,"tag_origin");
		
		targ = getstruct(sparks.target,"targetname");
		while(isDefined(targ))
		{
			fx_org moveto(targ.origin,.075);
			//Kevin adding playloop on electrical fx
			if(isdefined(targ.script_noteworthy) && targ.script_noteworthy == "reload_junction")
			{
				playfxontag(level._effect["electric_short_oneshot"], fx_org,"tag_origin");
			}
			
			fx_org playloopsound("elec_current_loop",.1);
			fx_org waittill("movedone");
			fx_org stoploopsound(.1);
			if(isDefined(targ.target))
			{
				targ = getstruct(targ.target,"targetname");
			}
			else
			{
				targ = undefined;
			}
		}
		level notify ("sleight_on");
		playfxontag(level._effect["electric_short_oneshot"], fx_org,"tag_origin");
		wait(randomintrange(3,9));
		fx_org delete();	



}
electric_current_doubletap_machine()
{

		sparks = getstruct("electric_double_tap","targetname");
		fx_org = spawn("script_model",sparks.origin);
		fx_org setmodel("tag_origin");
		fx_org.angles = sparks.angles;
		playfxontag(level._effect["electric_current"], fx_org,"tag_origin");
		
		targ = getstruct(sparks.target,"targetname");
		while(isDefined(targ))
		{
			fx_org moveto(targ.origin,.075);
			//Kevin adding playloop on electrical fx
			if(isdefined(targ.script_noteworthy) && targ.script_noteworthy == "double_tap_junction")
			{
				playfxontag(level._effect["electric_short_oneshot"], fx_org,"tag_origin");
			}
			
			fx_org playloopsound("elec_current_loop",.1);
			fx_org waittill("movedone");
			fx_org stoploopsound(.1);
			if(isDefined(targ.target))
			{
				targ = getstruct(targ.target,"targetname");
			}
			else
			{
				targ = undefined;
			}
		}
		level notify ("doubletap_on");
		playfxontag(level._effect["electric_short_oneshot"], fx_org,"tag_origin");
		wait(randomintrange(3,9));
		fx_org delete();	



}
electric_current_juggernog_machine()
{

		sparks = getstruct("electric_juggernog","targetname");
		fx_org = spawn("script_model",sparks.origin);
		fx_org setmodel("tag_origin");
		fx_org.angles = sparks.angles;
		playfxontag(level._effect["electric_current"], fx_org,"tag_origin");
		
		targ = getstruct(sparks.target,"targetname");
		while(isDefined(targ))
		{
			fx_org moveto(targ.origin,.075);
			//Kevin adding playloop on electrical fx
			
			fx_org playloopsound("elec_current_loop",.1);
			fx_org waittill("movedone");
			fx_org stoploopsound(.1);
			if(isDefined(targ.target))
			{
				targ = getstruct(targ.target,"targetname");
			}
			else
			{
				targ = undefined;
			}
		}
		level notify ("juggernog_on");
		playfxontag(level._effect["electric_short_oneshot"], fx_org,"tag_origin");
		wait(randomintrange(3,9));
		fx_org delete();	



}

north_zapper_light_red()
{
	zapper_lights = getentarray("zapper_light_north","targetname");
	for(i=0;i<zapper_lights.size;i++)
	{
		zapper_lights[i] setmodel("zombie_zapper_cagelight_red");	
	}
	
	if(isDefined(level.north_light))
	{
		level.north_light delete();
	}
	
	level.north_light = spawn("script_model",(366, 480 ,324));
	level.north_light setmodel("tag_origin");
	level.north_light.angles = (0,270,0);	
	playfxontag(level._effect["zapper_light_notready"],level.north_light,"tag_origin");
}

north_zapper_light_green()
{
	zapper_lights = getentarray("zapper_light_north","targetname");
	for(i=0;i<zapper_lights.size;i++)
	{
		zapper_lights[i] setmodel("zombie_zapper_cagelight_green");	
	}
	
	if(isDefined(level.north_light))
	{
		level.north_light delete();
	}
	
	level.north_light = spawn("script_model",(366, 480 ,324));
	level.north_light setmodel("tag_origin");	
	level.north_light.angles = (0,270,0);
	playfxontag(level._effect["zapper_light_ready"],level.north_light,"tag_origin");

}

south_zapper_light_red()
{
	zapper_lights = getentarray("zapper_light_south","targetname");
	for(i=0;i<zapper_lights.size;i++)
	{
		zapper_lights[i] setmodel("zombie_zapper_cagelight_red");	
	}	
	
	if(isDefined(level.north_light))
	{
		level.north_light delete();
	}
	level.north_light = spawn("script_model",(168, -407.5, 324));
	level.north_light setmodel("tag_origin");
	level.north_light.angles = (0,90,0);	
	playfxontag(level._effect["zapper_light_notready"],level.north_light,"tag_origin");
}

south_zapper_light_green()
{

	zapper_lights = getentarray("zapper_light_south","targetname");
	for(i=0;i<zapper_lights.size;i++)
	{
		zapper_lights[i] setmodel("zombie_zapper_cagelight_green");	
	}
	if(isDefined(level.north_light))
	{
		level.north_light delete();
	}
	
	level.north_light = spawn("script_model",(168, -407.5, 324));
	level.north_light setmodel("tag_origin");	
	level.north_light.angles = (0,270,0);
	playfxontag(level._effect["zapper_light_ready"],level.north_light,"tag_origin");

}



electroctute_death_fx()
{
	self endon( "death" );


	if (isdefined(self.is_electrocuted) && self.is_electrocuted )
	{
		return;
	}
	
	self.is_electrocuted = true;
	
	self thread electrocute_timeout();
		
	// JamesS - this will darken the burning body
	self StartTanning(); 

	if(self.team == "axis")
	{
		level.bcOnFireTime = gettime();
		level.bcOnFireOrg = self.origin;
	}
	
	
	PlayFxOnTag( level._effect["elec_torso"], self, "J_SpineLower" ); 
	self playsound ("elec_jib_zombie");
	wait 1;

	tagArray = []; 
	tagArray[0] = "J_Elbow_LE"; 
	tagArray[1] = "J_Elbow_RI"; 
	tagArray[2] = "J_Knee_RI"; 
	tagArray[3] = "J_Knee_LE"; 
	tagArray = array_randomize( tagArray ); 

	PlayFxOnTag( level._effect["elec_md"], self, tagArray[0] ); 
	self playsound ("elec_jib_zombie");

	wait 1;
	self playsound ("elec_jib_zombie");

	tagArray[0] = "J_Wrist_RI"; 
	tagArray[1] = "J_Wrist_LE"; 
	if( !IsDefined( self.a.gib_ref ) || self.a.gib_ref != "no_legs" )
	{
		tagArray[2] = "J_Ankle_RI"; 
		tagArray[3] = "J_Ankle_LE"; 
	}
	tagArray = array_randomize( tagArray ); 

	PlayFxOnTag( level._effect["elec_sm"], self, tagArray[0] ); 
	PlayFxOnTag( level._effect["elec_sm"], self, tagArray[1] );

}

electrocute_timeout()
{
	self endon ("death");
	self playloopsound("fire_manager_0");
	// about the length of the flame fx
	wait 12;
	self stoploopsound();
	if (isdefined(self) && isalive(self))
	{
		self.is_electrocuted = false;
		self notify ("stop_flame_damage");
	}
	
}
play_the_numbers()
{
	while(1)
	{
		wait(randomintrange(15,20));
		playsoundatposition("the_numbers", (-608, -336, 304));
		wait(randomintrange(15,20));

	}

}
magic_box_limit_location_init()
{

	level.open_chest_location = [];
	level.open_chest_location[0] = undefined;
	level.open_chest_location[1] = undefined;
	level.open_chest_location[2] = undefined;
	level.open_chest_location[3] = "opened_chest";
	level.open_chest_location[4] = "start_chest";


		level thread waitfor_flag_open_chest_location("magic_box_south");
		level thread waitfor_flag_open_chest_location("south_access_1");
		level thread waitfor_flag_open_chest_location("north_door1");
		level thread waitfor_flag_open_chest_location("north_upstairs_blocker");
		level thread waitfor_flag_open_chest_location("south_upstairs_blocker");
	


}

waitfor_flag_open_chest_location(which)
{

	wait(3);

	switch(which)
	{
	case "magic_box_south":
		flag_wait("magic_box_south");
		level.open_chest_location[0] = "magic_box_south";
		break;

	case "south_access_1":
		flag_wait("south_access_1");
		level.open_chest_location[0] = "magic_box_south";
		level.open_chest_location[1] = "magic_box_bathroom";
		break;

	case "north_door1":
		flag_wait("north_door1");
		level.open_chest_location[2] = "magic_box_hallway";
		break;

	case "north_upstairs_blocker":
		flag_wait("north_upstairs_blocker");
		level.open_chest_location[2] = "magic_box_hallway";
		break;
	
	case "south_upstairs_blocker":
		flag_wait("south_upstairs_blocker");
		level.open_chest_location[1] = "magic_box_bathroom";
		break;

	default:
		return;	

	}

}
magic_box_light()
{
	open_light = getent("opened_chest_light", "script_noteworthy");
	hallway_light = getent("magic_box_hallway_light", "script_noteworthy");
	
	open_light_model = getent("opened_chest_model", "script_noteworthy");
	hallway_light_model = getent("magic_box_hallway_model", "script_noteworthy");



	while(true)
	{
		level waittill("magic_box_light_switch");
		open_light setLightIntensity(0);
		hallway_light setLightIntensity(0);

		open_light_model setmodel("lights_tinhatlamp_off");
		hallway_light_model setmodel("lights_tinhatlamp_off");

		if(level.chests[level.chest_index].script_noteworthy == "opened_chest")
		{
				open_light setLightIntensity(1);
				open_light_model setmodel("lights_tinhatlamp_on");
		}
		else if(level.chests[level.chest_index].script_noteworthy == "magic_box_hallway")
		{
			hallway_light setLightIntensity(1);
			hallway_light_model setmodel("lights_tinhatlamp_on");
		}
		
	}

}


//water sheeting FX

// plays a water on the camera effect when you pass under a waterfall
watersheet_on_trigger( )
{

	while( 1 )
	{
		self waittill( "trigger", who );
		
		if( isDefined(who) && isplayer(who) && isAlive(who)  )
		{
			if( !who maps\_laststand::player_is_in_laststand() ) 
			{
				who setwatersheeting(true, 3);
				wait( 0.1 );
			}
		}
	}
}

raw/maps/nazi_zombie_yourmapname_fx.gsc

#include maps\_utility; 
#include common_scripts\utility;

main()
{
	precache_createfx_fx();
	scriptedFX();
	footsteps(); 	
}

footsteps()
{
	animscripts\utility::setFootstepEffect( "asphalt",    LoadFx( "bio/player/fx_footstep_dust" ) );
	animscripts\utility::setFootstepEffect( "brick",      LoadFx( "bio/player/fx_footstep_dust" ) );
	animscripts\utility::setFootstepEffect( "carpet",     LoadFx( "bio/player/fx_footstep_dust" ) );
	animscripts\utility::setFootstepEffect( "cloth",      LoadFx( "bio/player/fx_footstep_dust" ) );
	animscripts\utility::setFootstepEffect( "concrete",   LoadFx( "bio/player/fx_footstep_dust" ) );
	animscripts\utility::setFootstepEffect( "dirt",       LoadFx( "bio/player/fx_footstep_sand" ) );
	animscripts\utility::setFootstepEffect( "foliage",    LoadFx( "bio/player/fx_footstep_dust" ) );
	animscripts\utility::setFootstepEffect( "gravel",     LoadFx( "bio/player/fx_footstep_sand" ) );
	animscripts\utility::setFootstepEffect( "grass",      LoadFx( "bio/player/fx_footstep_sand" ) );
	animscripts\utility::setFootstepEffect( "ice",        LoadFx( "bio/player/fx_footstep_snow" ) );
	animscripts\utility::setFootstepEffect( "metal",      LoadFx( "bio/player/fx_footstep_dust" ) );
	animscripts\utility::setFootstepEffect( "mud",        LoadFx( "bio/player/fx_footstep_mud" ) );
	animscripts\utility::setFootstepEffect( "paper",      LoadFx( "bio/player/fx_footstep_dust" ) );
	animscripts\utility::setFootstepEffect( "plaster",    LoadFx( "bio/player/fx_footstep_dust" ) );
	animscripts\utility::setFootstepEffect( "rock",       LoadFx( "bio/player/fx_footstep_sand" ) );
	animscripts\utility::setFootstepEffect( "sand",       LoadFx( "bio/player/fx_footstep_sand" ) );
	animscripts\utility::setFootstepEffect( "snow",       LoadFx( "bio/player/fx_footstep_snow" ) );
	animscripts\utility::setFootstepEffect( "water",      LoadFx( "bio/player/fx_footstep_water" ) );
	animscripts\utility::setFootstepEffect( "wood",       LoadFx( "bio/player/fx_footstep_dust" ) );
}

// --- Ambient_Effects ---//

precache_createfx_fx()
{

	level._effect["ash_and_embers"]			= loadfx ("env/fire/fx_ash_embers_light");
	level._effect["smoke_window_out_small"]		= loadfx ("env/smoke/fx_smoke_door_top_exit_drk");
	level._effect["brush_smoke_smolder_sm"]		= loadfx ("env/smoke/fx_smoke_brush_smolder_md");
	level._effect["smoke_impact_smolder_w"]		= loadfx ("env/smoke/fx_smoke_crater_w");
	level._effect["fire_window"]			= loadfx ("env/fire/fx_fire_win_nsmk_0x35y50z");
	level._effect["fire_wall_100_150"]		= loadfx ("env/fire/fx_fire_wall_smk_0x100y155z");
 	level._effect["water_heavy_leak"]		= loadfx ("env/water/fx_water_drips_hvy");
	level._effect["water_heavy_leak_long"]		= loadfx ("env/water/fx_water_drips_hvy_long");
 	level._effect["wire_sparks"]			= loadfx ("env/electrical/fx_elec_wire_spark_burst");
	level._effect["wire_sparks_blue"]		= loadfx ("env/electrical/fx_elec_wire_spark_burst_blue");
	level._effect["fire_distant_150_600"]		= loadfx ("env/fire/fx_fire_150x600_tall_distant");
 	level._effect["water_pipe_leak_md"]		= loadfx ("env/water/fx_wtr_pipe_spill_md");
 	level._effect["water_pipe_leak_sm"]		= loadfx ("env/water/fx_wtr_pipe_spill_sm");
 	level._effect["water_spill_fall"]		= loadfx ("env/water/fx_wtr_spill_sm_thin"); 
 	level._effect["water_wake_md"]			= loadfx ("env/water/fx_water_wake_flow_md");
 	level._effect["water_leak_runner"]		= loadfx ("env/water/fx_water_leak_runner_100");
 	level._effect["water_wake_sm"]			= loadfx ("env/water/fx_water_wake_flow_sm");
 	level._effect["water_wake_mist"]		= loadfx ("env/water/fx_water_wake_flow_mist");
 	level._effect["water_splash_md"]		= loadfx ("env/water/fx_water_splash_leak_md");
  	level._effect["debris_dust_motes"]		= loadfx ("maps/ber2/fx_debris_dust_motes");  
	level._effect["fire_bookcase_wide"]		= loadfx ("env/fire/fx_fire_bookshelf_wide");
	level._effect["fire_column_creep_xsm"]		= loadfx ("env/fire/fx_fire_column_creep_xsm");
	level._effect["fire_column_creep_sm"]		= loadfx ("env/fire/fx_fire_column_creep_sm");
	level._effect["smoke_room_fill"]		= loadfx ("maps/ber2/fx_smoke_fill_indoor");
	level._effect["ash_and_embers_hall"]		= loadfx ("maps/ber2/fx_debris_hall_ash_embers");
	level._effect["fire_detail"]			= loadfx ("env/fire/fx_fire_debris_xsmall");
	level._effect["fire_ceiling_50_100"]		= loadfx ("env/fire/fx_fire_ceiling_50x100");
	level._effect["fire_ceiling_100_100"]		= loadfx ("env/fire/fx_fire_ceiling_100x100");
	level._effect["ash_and_embers_small"]		= loadfx ("maps/ber2/fx_debris_fire_motes");
	level._effect["god_rays_large"]			= loadfx("env/light/fx_light_god_rays_large");	
	level._effect["god_rays_medium"]		= loadfx("env/light/fx_light_god_rays_medium");	
	level._effect["god_rays_small"]			= loadfx("env/light/fx_light_god_ray_sm_single");
	level._effect["god_rays_small_short"]		= loadfx("env/light/fx_light_god_ray_sm_shrt_single");
	level._effect["god_rays_dust_motes"]		= loadfx("env/light/fx_light_god_rays_dust_motes");
	level._effect["fog_thick"]			= loadfx("env/smoke/fx_fog_rolling_thick_600x600");
  	level._effect["falling_lf_elm"]       		= loadfx("env/foliage/fx_leaves_fall_elm");
  	level._effect["light_ceiling_dspot"]		= loadfx ("env/light/fx_ray_ceiling_amber_dim_sm");
  	level._effect["dlight_fire_glow"]		= loadfx ("env/light/fx_dlight_fire_glow");
 	level._effect["fire_static_small"]		= loadfx ("env/fire/fx_static_fire_sm_ndlight");
	level._effect["fire_static_blk_smk"]		= loadfx ("env/fire/fx_static_fire_md_ndlight");
	level._effect["fire_barrel_med"]		= loadfx ("env/fire/fx_fire_barrel_med");
	level._effect["glow_light"]			= loadfx ("env/light/fx_glow_lampost_white_dim_static");
	level._effect["glow_light2"]			= loadfx ("env/light/fx_test");
	level._effect["flashlight"]			= loadfx ("misc/fx_flashlight_beam");
	level._effect["barrel_fire"]			= loadfx ("env/fire/fx_fire_barrel_small");
 	level._effect["electric_power_gen_on"]	 	= loadfx("misc/fx_zombie_elec_gen_on");
 	level._effect["electric_power_gen_idle"]	= loadfx("misc/fx_zombie_elec_gen_idle");

	level._effect["ash_and_embers"]			= loadfx("env/fire/fx_ash_embers_light");
	level._effect["smoke_room_fill"]		= loadfx("maps/ber2/fx_smoke_fill_indoor");
	level._effect["smoke_window_out_small"]		= loadfx("env/smoke/fx_smoke_door_top_exit_drk");
  	level._effect["smoke_plume_xlg_slow_blk"]	= loadfx("maps/ber2/fx_smk_plume_xlg_slow_blk_w");
	level._effect["smoke_hallway_faint_dark"]	= loadfx("env/smoke/fx_smoke_hallway_faint_dark");
	level._effect["brush_smoke_smolder_sm"]		= loadfx("env/smoke/fx_smoke_brush_smolder_md");
  	level._effect["smoke_fire_column_short"]    	= loadfx("maps/mp_maps/fx_mp_smoke_fire_column_short");
	level._effect["smoke_impact_smolder_w"]		= loadfx("env/smoke/fx_smoke_crater_w");
	level._effect["smoke_column_tall"]		= loadfx("maps/mp_maps/fx_mp_smoke_column_tall");
	level._effect["fog_thick"]			= loadfx("env/smoke/fx_fog_rolling_thick_zombie");
	level._effect["fog_low_floor"]		        = loadfx("env/smoke/fx_fog_low_floor_sm");
	level._effect["fog_low_thick"]			= loadfx("env/smoke/fx_fog_low_thick_sm");
	
	level._effect["wire_sparks"]			= loadfx("env/electrical/fx_elec_wire_spark_burst");
	level._effect["wire_sparks_blue"]		= loadfx("env/electrical/fx_elec_wire_spark_burst_blue");
  
  	level._effect["betty_explode"]			= loadfx("weapon/bouncing_betty/fx_explosion_betty_generic");
	level._effect["betty_trail"]			= loadfx("weapon/bouncing_betty/fx_betty_trail");
	level._effect["zapper"]				= loadfx("misc/fx_zombie_electric_trap");
	level._effect["switch_sparks"]			= loadfx("env/electrical/fx_elec_wire_spark_burst");
	level._effect["wire_sparks_oneshot"] 		= loadfx("env/electrical/fx_elec_wire_spark_dl_oneshot");
}

scriptedFX()
{
	level._effect["large_ceiling_dust"]		= LoadFx("env/dirt/fx_dust_ceiling_impact_lg_mdbrown");
	level._effect["poltergeist"]			= LoadFx("misc/fx_zombie_couch_effect");
	level._effect["electric_short_oneshot"] 	= loadfx("env/electrical/fx_elec_short_oneshot");

	// rise fx
	level._effect["rise_burst"]			= LoadFx("maps/mp_maps/fx_mp_zombie_hand_dirt_burst");
	level._effect["rise_billow"]			= LoadFx("maps/mp_maps/fx_mp_zombie_body_dirt_billowing");
	level._effect["rise_dust"]			= LoadFx("maps/mp_maps/fx_mp_zombie_body_dust_falling");
	
	//other stuff
	level._effect["electric_current"] 		= loadfx("misc/fx_zombie_elec_trail");
	level._effect["dog_eye_glow"] 			= loadfx("misc/fx_zombie_eye_dog");
	level._effect["zapper_fx"] 			= loadfx("misc/fx_zombie_zapper_powerbox_on");
	level._effect["dog_gib"] 			= loadfx("explosions/fx_flamethrower_char_explosion");
	level._effect["zapper_wall"] 			= loadfx("misc/fx_zombie_zapper_wall_control_on");
	level._effect["zapper_light_ready"] 		= loadfx("misc/fx_zombie_zapper_light_green");
	level._effect["zapper_light_notready"] 		= loadfx("misc/fx_zombie_zapper_light_red");
	level._effect["elec_room_on"]			= loadfx("fx_zombie_light_elec_room_on");
	
	//electrocute fx
	level._effect["elec_md"] 			= loadfx("env/electrical/fx_elec_player_md");
	level._effect["elec_sm"] 			= loadfx("env/electrical/fx_elec_player_sm");
	level._effect["elec_torso"] 			= loadfx("env/electrical/fx_elec_player_torso");

	level._effect["elec_trail_one_shot"] 		= loadfx("misc/fx_zombie_elec_trail_oneshot");
	
	
	
}

raw/maps/nazi_zombie_yourmapname_amb.gsc

//
// file: template_amb.csc
// description: clientside ambient script for template: setup ambient sounds, etc.
// scripter:
//

#include common_scripts\utility; 
#include maps\_utility;
#include maps\_ambientpackage;
#include maps\_music;
#include maps\_busing;

main()
{
	//************************************************************************************************
	//                                              Ambient Packages
	
//************************************************************************************************

	//declare an ambientpackage, and populate it with elements
	//mandatory parameters are <package name>, <alias name>, <spawnMin>, <spawnMax>
	//followed by optional parameters <distMin>, <distMax>, <angleMin>, <angleMax>
	
            declareAmbientPackage( "zombies" );
                addAmbientElement( "zombies", "amb_spooky_2d", 5, 8, 300, 2000 );

 		declareAmbientRoom( "zombies" );
 			//setAmbientRoomTone( "zombies", "bgt_base" );
 			setAmbientRoomReverb ("zombies","stoneroom", 1, 1);
	//************************************************************************************************
	//                                      ACTIVATE DEFAULT AMBIENT SETTINGS
	//************************************************************************************************

  activateAmbientPackage( 0, "zombies", 0 );
  activateAmbientRoom( 0, "zombies", 0 );



  declareMusicState("SPLASH_SCREEN"); //one shot dont transition until done
	musicAlias("mx_splash_screen", 12);	
	musicwaittilldone();
 

  declareMusicState("WAVE_1"); 
	musicAliasloop("mx_zombie_wave_1", 0, 4);	

	thread radio_init();

}


add_song(song)
{
	if(!isdefined(level.radio_songs))
 		level.radio_songs = [];
	level.radio_songs[level.radio_songs.size] = song;
}

fade(id, time)
{
	rate = 0;
	if(time != 0)
		rate = 1.0 / time;

	setSoundVolumeRate(id, rate);
	setSoundVolume(id, 0.0);

	while(SoundPlaying(id) && getSoundVolume(id) > .0001)
	{
		wait(.1);
	}

	stopSound(id);
}


radio_advance()
{
	for(;;)
	{
		while(SoundPlaying(level.radio_id) || level.radio_index == 0)
		{
			wait(1);
		}
		level notify("kzmb_next_song");
		wait(1);
	}
	
}


radio_thread()
{
	assert(isdefined(level.radio_id));
	assert(isdefined(level.radio_songs));
	assert(isdefined(level.radio_index));
	assert(level.radio_songs.size > 0);

	println("Starting radio at "+self.origin);

	for(;;)
	{
		level waittill("kzmb_next_song");

		println("client changing songs");

		playsound(0, "static", self.origin);

		if(SoundPlaying(level.radio_id))
		{
			fade(level.radio_id, 1);
		}
		else
		{
			wait(.5);
		}

		level.radio_id = playsound(0, level.radio_songs[level.radio_index], self.origin);
	
		level.radio_index += 1;
		
		if(level.radio_index >= level.radio_songs.size)
		{
			level.radio_index = 0;
		}

		wait(1);
	}
}


radio_init()
{

	level.radio_id = -1;
	level.radio_index = 0;
	add_song( "wtf" );
	add_song( "dog_fire" );
	add_song( "true_crime_4" );
	add_song( "all_mixed_up" );
	add_song( "dusk" );	
	add_song( "the_march" );
	add_song( "drum_no_bass" );
	add_song( "russian_theme" );
	add_song( "sand" );
	add_song( "stag_push" );
	add_song( "pby_old" );
	add_song( "wild_card" );
	add_song( "" ); //silence must be last

	// kzmb, for all the latest killer hits

	radios = getentarray(0, "kzmb","targetname");
	
	while (!isdefined(radios) || !radios.size)
	{
		wait(5); //make sure we wait around until targetname for this ent is sent over
		radios = getentarray(0, "kzmb","targetname");
	}

	println("client found "+radios.size+" radios");
	
	array_thread(radios, ::radio_thread );
	array_thread(radios, ::radio_advance );
}

raw/maps/nazi_zombie_yourmapname_anim.gsc

#include common_scripts\utility; 
#include maps\_utility; 
#include maps\_anim; 
#using_animtree( "generic_human" ); 
main()
{
	// Example Anim
	// level.scr_anim["intro_officer"]["intro"] = %ch_makinraid_intro_officer_a; 
}

raw/clientscripts/nazi_zombie_yourmapname.csc

#include clientscripts\_utility;
#include clientscripts\_music;

zombie_monitor(clientNum)
{
	self endon("disconnect");
	self endon("zombie_off");
	
	while(1)
	{
		if(isdefined(self.zombifyFX))
		{
			playfx(clientNum, level._effect["zombie_grain"], self.origin);
		}
		realwait(0.1);		
	}
}

zombifyHandler(clientNum, newState, oldState)
{
	player = getlocalplayers()[clientNum];
		
	if(newState == "1")
	{
		if(!isdefined(player.zombifyFX))	// We're not already in zombie mode.
		{
			player.zombifyFX = 1;
			player thread zombie_monitor(clientNum);	// thread a monitor on it.
			println("Zombie effect on");
		}
	}
	else if(newState == "0")
	{
		if(isdefined(player.zombifyFX))		// We're already in zombie mode.
		{
				player.zombifyFX = undefined;
				self notify("zombie_off");	// kill the monitor thread
				println("Zombie effect off");
		}
	}
}

main()
{

	// _load!
	clientscripts\_load::main();

	println("Registering zombify");
	clientscripts\_utility::registerSystem("zombify", ::zombifyHandler);

	clientscripts\nazi_zombie_yourmapname_fx::main();

//	thread clientscripts\_fx::fx_init(0);
	thread clientscripts\_audio::audio_init(0);

	thread clientscripts\nazi_zombie_yourmapname_amb::main();

	// This needs to be called after all systems have been registered.
	thread waitforclient(0);

	println("*** Client : zombie running...or is it chasing? Muhahahaha");
}

raw/clientscripts/nazi_zombie_yourmapname_fx.csc

#include clientscripts\_utility; 
main()
{
	clientscripts\createfx\nazi_zombie_yourmapname_fx::main();
	clientscripts\_fx::reportNumEffects();

	footsteps();
	precache_createfx_fx();
	
	disableFX = GetDvarInt( "disable_fx" );
	if( !IsDefined( disableFX ) || disableFX <= 0 )
	{
		precache_scripted_fx();
	}
}


precache_scripted_fx()
{
	level._effect["zombie_grain"]	= LoadFx( "misc/fx_zombie_grain_cloud" );
}

footsteps()
{
	clientscripts\_utility::setFootstepEffect( "asphalt",    LoadFx( "bio/player/fx_footstep_dust" ) );
	clientscripts\_utility::setFootstepEffect( "brick",      LoadFx( "bio/player/fx_footstep_dust" ) );
	clientscripts\_utility::setFootstepEffect( "carpet",     LoadFx( "bio/player/fx_footstep_dust" ) );
	clientscripts\_utility::setFootstepEffect( "cloth",      LoadFx( "bio/player/fx_footstep_dust" ) );
	clientscripts\_utility::setFootstepEffect( "concrete",   LoadFx( "bio/player/fx_footstep_dust" ) );
	clientscripts\_utility::setFootstepEffect( "dirt",       LoadFx( "bio/player/fx_footstep_sand" ) );
	clientscripts\_utility::setFootstepEffect( "foliage",    LoadFx( "bio/player/fx_footstep_dust" ) );
	clientscripts\_utility::setFootstepEffect( "gravel",     LoadFx( "bio/player/fx_footstep_sand" ) );
	clientscripts\_utility::setFootstepEffect( "grass",      LoadFx( "bio/player/fx_footstep_sand" ) );
	clientscripts\_utility::setFootstepEffect( "ice",        LoadFx( "bio/player/fx_footstep_snow" ) );
	clientscripts\_utility::setFootstepEffect( "metal",      LoadFx( "bio/player/fx_footstep_dust" ) );
	clientscripts\_utility::setFootstepEffect( "mud",        LoadFx( "bio/player/fx_footstep_mud" ) );
	clientscripts\_utility::setFootstepEffect( "paper",      LoadFx( "bio/player/fx_footstep_dust" ) );
	clientscripts\_utility::setFootstepEffect( "plaster",    LoadFx( "bio/player/fx_footstep_dust" ) );
	clientscripts\_utility::setFootstepEffect( "rock",       LoadFx( "bio/player/fx_footstep_sand" ) );
	clientscripts\_utility::setFootstepEffect( "sand",       LoadFx( "bio/player/fx_footstep_sand" ) );
	clientscripts\_utility::setFootstepEffect( "snow",       LoadFx( "bio/player/fx_footstep_snow" ) );
	clientscripts\_utility::setFootstepEffect( "water",      LoadFx( "bio/player/fx_footstep_water" ) );
	clientscripts\_utility::setFootstepEffect( "wood",       LoadFx( "bio/player/fx_footstep_dust" ) );
}

// --- Ambient_Effects ---//

precache_createfx_fx()
{
	level._effect["ash_and_embers"]			= loadfx ("env/fire/fx_ash_embers_light");
	level._effect["smoke_window_out_small"]		= loadfx ("env/smoke/fx_smoke_door_top_exit_drk");
	level._effect["brush_smoke_smolder_sm"]		= loadfx ("env/smoke/fx_smoke_brush_smolder_md");
	level._effect["smoke_impact_smolder_w"]		= loadfx ("env/smoke/fx_smoke_crater_w");
	level._effect["fire_window"]			= loadfx ("env/fire/fx_fire_win_nsmk_0x35y50z");
	level._effect["fire_wall_100_150"]		= loadfx ("env/fire/fx_fire_wall_smk_0x100y155z");
 	level._effect["water_heavy_leak"]		= loadfx ("env/water/fx_water_drips_hvy");
	level._effect["water_heavy_leak_long"]		= loadfx ("env/water/fx_water_drips_hvy_long");
 	level._effect["wire_sparks"]			= loadfx ("env/electrical/fx_elec_wire_spark_burst");
	level._effect["wire_sparks_blue"]		= loadfx ("env/electrical/fx_elec_wire_spark_burst_blue");
	level._effect["fire_distant_150_600"]		= loadfx ("env/fire/fx_fire_150x600_tall_distant");
 	level._effect["water_pipe_leak_md"]		= loadfx ("env/water/fx_wtr_pipe_spill_md");
 	level._effect["water_pipe_leak_sm"]		= loadfx ("env/water/fx_wtr_pipe_spill_sm");
 	level._effect["water_spill_fall"]		= loadfx ("env/water/fx_wtr_spill_sm_thin"); 
 	level._effect["water_wake_md"]			= loadfx ("env/water/fx_water_wake_flow_md");
 	level._effect["water_leak_runner"]		= loadfx ("env/water/fx_water_leak_runner_100");
 	level._effect["water_wake_sm"]			= loadfx ("env/water/fx_water_wake_flow_sm");
 	level._effect["water_wake_mist"]		= loadfx ("env/water/fx_water_wake_flow_mist");
 	level._effect["water_splash_md"]		= loadfx ("env/water/fx_water_splash_leak_md");
  	level._effect["debris_dust_motes"]		= loadfx ("maps/ber2/fx_debris_dust_motes");  
	level._effect["fire_bookcase_wide"]		= loadfx ("env/fire/fx_fire_bookshelf_wide");
	level._effect["fire_column_creep_xsm"]		= loadfx ("env/fire/fx_fire_column_creep_xsm");
	level._effect["fire_column_creep_sm"]		= loadfx ("env/fire/fx_fire_column_creep_sm");
	level._effect["smoke_room_fill"]		= loadfx ("maps/ber2/fx_smoke_fill_indoor");
	level._effect["ash_and_embers_hall"]		= loadfx ("maps/ber2/fx_debris_hall_ash_embers");
	level._effect["fire_detail"]			= loadfx ("env/fire/fx_fire_debris_xsmall");
	level._effect["fire_ceiling_50_100"]		= loadfx ("env/fire/fx_fire_ceiling_50x100");
	level._effect["fire_ceiling_100_100"]		= loadfx ("env/fire/fx_fire_ceiling_100x100");
	level._effect["ash_and_embers_small"]		= loadfx ("maps/ber2/fx_debris_fire_motes");
	level._effect["god_rays_large"]			= loadfx("env/light/fx_light_god_rays_large");	
	level._effect["god_rays_medium"]		= loadfx("env/light/fx_light_god_rays_medium");	
	level._effect["god_rays_small"]			= loadfx("env/light/fx_light_god_ray_sm_single");
	level._effect["god_rays_small_short"]		= loadfx("env/light/fx_light_god_ray_sm_shrt_single");
	level._effect["god_rays_dust_motes"]		= loadfx("env/light/fx_light_god_rays_dust_motes");
	level._effect["fog_thick"]			= loadfx("env/smoke/fx_fog_rolling_thick_600x600");
  	level._effect["falling_lf_elm"]       		= loadfx("env/foliage/fx_leaves_fall_elm");
  	level._effect["light_ceiling_dspot"]		= loadfx ("env/light/fx_ray_ceiling_amber_dim_sm");
  	level._effect["dlight_fire_glow"]		= loadfx ("env/light/fx_dlight_fire_glow");
 	level._effect["fire_static_small"]		= loadfx ("env/fire/fx_static_fire_sm_ndlight");
	level._effect["fire_static_blk_smk"]		= loadfx ("env/fire/fx_static_fire_md_ndlight");
	level._effect["fire_barrel_med"]		= loadfx ("env/fire/fx_fire_barrel_med");
	level._effect["glow_light"]			= loadfx ("env/light/fx_glow_lampost_white_dim_static");
	level._effect["glow_light2"]			= loadfx ("env/light/fx_test");
	level._effect["flashlight"]			= loadfx ("misc/fx_flashlight_beam");
	level._effect["barrel_fire"]			= loadfx ("env/fire/fx_fire_barrel_small");
 	level._effect["electric_power_gen_on"]	 	= loadfx("misc/fx_zombie_elec_gen_on");
 	level._effect["electric_power_gen_idle"]	= loadfx("misc/fx_zombie_elec_gen_idle");

	level._effect["ash_and_embers"]			= loadfx("env/fire/fx_ash_embers_light");
	level._effect["smoke_room_fill"]		= loadfx("maps/ber2/fx_smoke_fill_indoor");
	level._effect["smoke_window_out_small"]		= loadfx("env/smoke/fx_smoke_door_top_exit_drk");
  	level._effect["smoke_plume_xlg_slow_blk"]	= loadfx("maps/ber2/fx_smk_plume_xlg_slow_blk_w");
	level._effect["smoke_hallway_faint_dark"]	= loadfx("env/smoke/fx_smoke_hallway_faint_dark");
	level._effect["brush_smoke_smolder_sm"]		= loadfx("env/smoke/fx_smoke_brush_smolder_md");
  	level._effect["smoke_fire_column_short"]    	= loadfx("maps/mp_maps/fx_mp_smoke_fire_column_short");
	level._effect["smoke_impact_smolder_w"]		= loadfx("env/smoke/fx_smoke_crater_w");
	level._effect["smoke_column_tall"]		= loadfx("maps/mp_maps/fx_mp_smoke_column_tall");
	level._effect["fog_thick"]			= loadfx("env/smoke/fx_fog_rolling_thick_zombie");
	level._effect["fog_low_floor"]		        = loadfx("env/smoke/fx_fog_low_floor_sm");
	level._effect["fog_low_thick"]			= loadfx("env/smoke/fx_fog_low_thick_sm");
	
	level._effect["wire_sparks"]			= loadfx("env/electrical/fx_elec_wire_spark_burst");
	level._effect["wire_sparks_blue"]		= loadfx("env/electrical/fx_elec_wire_spark_burst_blue");
  
  	level._effect["betty_explode"]			= loadfx("weapon/bouncing_betty/fx_explosion_betty_generic");
	level._effect["betty_trail"]			= loadfx("weapon/bouncing_betty/fx_betty_trail");
	level._effect["zapper"]				= loadfx("misc/fx_zombie_electric_trap");
	level._effect["switch_sparks"]			= loadfx("env/electrical/fx_elec_wire_spark_burst");
	level._effect["wire_sparks_oneshot"] 		= loadfx("env/electrical/fx_elec_wire_spark_dl_oneshot");
}

raw/clientscripts/nazi_zombie_yourmapname_amb.csc

#include clientscripts\_utility; 
#include clientscripts\_ambientpackage;
#include clientscripts\_music;

main()
{
	//************************************************************************************************
	//                                              Ambient Packages
	
//************************************************************************************************

	//declare an ambientpackage, and populate it with elements
	//mandatory parameters are <package name>, <alias name>, <spawnMin>, <spawnMax>
	//followed by optional parameters <distMin>, <distMax>, <angleMin>, <angleMax>
	
            declareAmbientPackage( "zombies" );
                addAmbientElement( "zombies", "amb_spooky_2d", 5, 8, 300, 2000 );

 		declareAmbientRoom( "zombies" );
 			//setAmbientRoomTone( "zombies", "bgt_base" );
 			setAmbientRoomReverb ("zombies","stoneroom", 1, 1);
	//************************************************************************************************
	//                                      ACTIVATE DEFAULT AMBIENT SETTINGS
	//************************************************************************************************

  activateAmbientPackage( 0, "zombies", 0 );
  activateAmbientRoom( 0, "zombies", 0 );



  declareMusicState("SPLASH_SCREEN"); //one shot dont transition until done
	musicAlias("mx_splash_screen", 12);	
	musicwaittilldone();
 

  declareMusicState("WAVE_1"); 
	musicAliasloop("mx_zombie_wave_1", 0, 4);	

	thread radio_init();

}


add_song(song)
{
	if(!isdefined(level.radio_songs))
 		level.radio_songs = [];
	level.radio_songs[level.radio_songs.size] = song;
}

fade(id, time)
{
	rate = 0;
	if(time != 0)
		rate = 1.0 / time;

	setSoundVolumeRate(id, rate);
	setSoundVolume(id, 0.0);

	while(SoundPlaying(id) && getSoundVolume(id) > .0001)
	{
		wait(.1);
	}

	stopSound(id);
}


radio_advance()
{
	for(;;)
	{
		while(SoundPlaying(level.radio_id) || level.radio_index == 0)
		{
			wait(1);
		}
		level notify("kzmb_next_song");
		wait(1);
	}
	
}


radio_thread()
{
	assert(isdefined(level.radio_id));
	assert(isdefined(level.radio_songs));
	assert(isdefined(level.radio_index));
	assert(level.radio_songs.size > 0);

	println("Starting radio at "+self.origin);

	for(;;)
	{
		level waittill("kzmb_next_song");

		println("client changing songs");

		playsound(0, "static", self.origin);

		if(SoundPlaying(level.radio_id))
		{
			fade(level.radio_id, 1);
		}
		else
		{
			wait(.5);
		}

		level.radio_id = playsound(0, level.radio_songs[level.radio_index], self.origin);
	
		level.radio_index += 1;
		
		if(level.radio_index >= level.radio_songs.size)
		{
			level.radio_index = 0;
		}

		wait(1);
	}
}


radio_init()
{

	level.radio_id = -1;
	level.radio_index = 0;
	add_song( "wtf" );
	add_song( "dog_fire" );
	add_song( "true_crime_4" );
	add_song( "all_mixed_up" );
	add_song( "dusk" );	
	add_song( "the_march" );
	add_song( "drum_no_bass" );
	add_song( "russian_theme" );
	add_song( "sand" );
	add_song( "stag_push" );
	add_song( "pby_old" );
	add_song( "wild_card" );
	add_song( "" ); //silence must be last

	// kzmb, for all the latest killer hits

	radios = getentarray(0, "kzmb","targetname");
	
	while (!isdefined(radios) || !radios.size)
	{
		wait(5); //make sure we wait around until targetname for this ent is sent over
		radios = getentarray(0, "kzmb","targetname");
	}

	println("client found "+radios.size+" radios");
	
	array_thread(radios, ::radio_thread );
	array_thread(radios, ::radio_advance );
}

raw/clientscripts/createfx/nazi_zombie_yourmapname_fx.csc

The following is an example using fx we have already loaded using the yourmapname_fx.gsc and yourmapname_fx.csc files, "fog_thick". The origin is where the fx will play, find an area in your level where you want an fx and place a script_origin, deselct then reselect it, press "N" copy the origin and change the below origins x,y,z to match yours.

//_createfx generated. Do not touch!!
main()
{
     	ent = clientscripts\_fx::createOneshotEffect( "fog_thick" );
     	ent.v[ "origin" ] = ( -571.381, -1636.91, 82.8831 );
     	ent.v[ "angles" ] = ( 270, 0, 0 );
     	ent.v[ "fxid" ] = "fog_thick";
     	ent.v[ "delay" ] = -15;
}

Zombie Scripts for paired spawning:

Use the same as the above, but use this script in raw/maps/nazi_zombie_yourmapname.gsc instead:

raw/maps/nazi_zombie_yourmapname.gsc

(testing this)

[edit] Zombie Spawners

Radiant The actor in radiant:

(actor/axis/zombie_ger_ber_sshonor)

Key Values: (never include anything in brackets in the entity dialogue)

classname   actor_axis_zombie_ger_ber_sshonor
model       char_ger_wemcht_fullbody1

Making him a Zombie spawner:

add key values of:

script_forcespawn  1
targetname         zombie_spawner_init (so he spawns when the level starts)
count              9999 (number of times he can spawn)
script_noteworthy  zombie_spawner
spawnflags         3 (this ticks spawner and forcespawn for us)

Spawners are always placed out of the players line of sight (to increase realism) and are always placed above the ground by a few units.

Risers

To have this spawner rise out of the ground give him an extra kvp:

script_string riser

And add a script_struct at ground level so 50% of the struct is below the ground and 50% above it, best use these on FLAT ground.

targetname zombie_rise
Image:Note.pngNote: According to the Treyarch Wiki "Zombies will now have a 75% chance of teleporting and spawning from under the ground, or 25% of just walking in as normal"

[edit] End Cameras

This is the camera(intermission) style view you get when all players die. The camera can be static or can move from one position to the next. There can be many cameras, the game cycles through them randomly.

Radiant

1 script_struct with kvps:

targetname intermission
speed 10 (speed can be anything you want)

Target this first struct to a second one (no need to add more kvps to the 2nd) The camera will now travel from the 1st to the 2nd.

[edit] Zombie Radio

The prefab "zmb" from codwaw/map_source/_prefabs/ still works in Asylum gametype but you must go into your levels soundalias and uncomment (remove the "#") from the beginning of each sound line;

So this:

# Radio,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#static,SFX\Levels\sniper\sparks_##,,,0.8,1,500,5000,,,,,explosion,,curve3,,10000,,curve2,0.9,1.05,,3d,,,,,,,,,,,,0.5,,,,,,,,,,,50,95,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#wtf,SFX\Levels\zombie\radio\mx_wtf.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85

Would become;

# Radio,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
static,SFX\Levels\sniper\sparks_##,,,0.8,1,500,5000,,,,,explosion,,curve3,,10000,,curve2,0.9,1.05,,3d,,,,,,,,,,,,0.5,,,,,,,,,,,50,95,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
wtf,SFX\Levels\zombie\radio\mx_wtf.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85

This works in SP ONLY. In Co-op mode only player one would be able to hear the sounds, Treyarch removed the radio by commenting out the lines for the Asylum map, this is probably because of the use of the Easter Egg song in Asylum or because it was causing errors.

I left the radio in for Carentan which uses the Asylum scripts and have run into no problems so far, it does give an extra atmosphere to SP players which is worth it.

You will also need to edit the clientside ambient script "nazi_zombie_yourmapname_amb.csc" to call the thread:

thread radio_init();

Add that line to the main function and your done.

[edit] Zombie Blockers

Blockers are buyable obstructions in a level that move to one side in order to allow a player to move through the level/into the next room.

A blocker can be a script_brushmodel or a script_model.

Example

A buyable door would consist of:

A door made of a brush with KVPs:

classname script_brushmodel
targetname door1
script_linkto 15
Image:Note.pngNote: The next door would use script_linkto 16 and its move to location would have script_linkname 16
Image:Note.pngNote: If this is door1 then the next would be door2 and so on

To make the door move out of the way you need to define a location for it to move to using a script_struct:

classname script_struct
script_linkname 15

If this script_struct is rotated then the door will rotate as it moves, this could trap players so testing is a must.

A condition needs to be defined in order to trigger the blocker, for this a trigger_use is place in front of the door, if a player can access to door from both sides then there has to be two triggers with the same setup:

classname trigger_use
targetname zombie_debris
target door1
script_flag
zombie_cost 1000
Image:Note.pngNote: The Value for Script_flag is left blank, this prevents errors when loading the level in developer mode

Zombie_cost is how many points the player must spend to buy this blocker and trigger the door to move, it can be set to one of these default values:

100
200
250
500
750
1000
1250
1500
1750
2000
Image:Note.pngNote: This part is optional

To have this blocker spawn a zombie when bought:

Add these KVPs to the script_brushmodel or script_model that make up your buyable door/blocker:

target zombie_spawner_doorspawn

Then make a spawner:

script_noteworthy zombie_spawner
count 9999
script_forcespawn 1
targetname zombie_spawner_doorspawn
spawnflags 3

This will draw a line from the buyable door to the zombie spawner, and that zombie can only spawn once the blocker has been bought by a player.

[edit] Zombie barricades

Barricades are normally boarded up windows or entry ways that zombies break down and then climb through in order to gain entry to the playable space. Players can repair these barricades in order to earn points and help to slow down the zombie horde.

Barricades are made up of 4 pieces.

Image:Note.pngNote: Save a single barricade and load it into your map as a prefab in order to use it multiple times

Script_structs

Place 1 script_struct at a position above the ground and not touching anything where the zombies will approach from:

classname script_struct
targetname exterior_goal

Now place a second script_struct where you want your barricade to actually be and join the 1st one to this one. (deselect all "esc" and select the first one THEN select the second one and press "W")

Now edit the kvps on this second script_struct to include a radius:

height 64
radius 36
classname script_struct

This creates a radius which allows for when a player is touching it to see the "press f to build barrier" and for the zombies to know where to break down a barrier.

You can increase the radius if your having problems with zombies not knowing where the barricade is or the player not seeing the hint.

Barricade Pieces

Now make the pieces (bricks/wooden planks, whatever you want) that the zombies have to break through and make your creation a script_brushmodel (script_models work too!), you can have as few or as many pieces as you want, but bear in mind that how long the zombie takes to knock down a barrier will have a direct affect on gameplay, Treyach have used around 6 pieces per barricade.

You can now select your 1ST script struct and connect it the individual pieces of the barricade one by one.

All barricade pieces must have key:

"script_noteworthy"

value:

"window_south_1"

AI CLIP

Use a clip_ai (from textures>tools a red texture with "MON" on it) brush to cover your entrance way so that AI do not simply walk through the barrier. make it a script_brushmodel, and press N and make it a "Dynamic path". Connect the 1st script_struct to this clip brush.

[edit] Zombie Traverse And Navigation

Zombies move around the environment much like regular AI through the use of pathnodes.

node>pathnode

Pathnodes should never touch other nodes and should be placed 128 units apart maximum.

Place path nodes at 128 unit intervals (keeps the bsp size down) throughout the playable area of your level and create paths from the non_playable area which lead to barricades for the zombies to break though.

The wall_hop traverse works for zombies to allow them to climb over small (32 units high) obstacles. (misc/_prefab/traverse/wall_hop_zombie.map)

Image:Note.pngNote: Action nodes with 'dont_stand' (or crouch or prone) will not work for zombies as their stances are already handles in script

[edit] Vision Files and Fog

[edit] Moon and Sun Flare

[edit] Worldspawn and Skybox

World at War: Worldspawn and Skyboxes

[edit] Sound and the Soundalias

To include the zombie related sound in your map simply copy the below soundalias and create a new text file in codwaw/raw/soundaliases called nazi_zombie_yourmapname.csv.

Paste the soundalias into that new file.

name,file,platform,sequence,vol_min,vol_max,dist_min,dist_max,limit_count,limit_type,entity_limit_count,entity_limit_type,bus,volume_min_falloff_curve,volumefalloffcurve,reverb_send,dist_reverb_max,reverb_min_falloff_curve,reverb_falloff_curve,pitch_min,pitch_max,randomize_type,spatialized,type,probability,loop,masterslave,loadspec,subtitle,compression,secondaryaliasname,chainaliasname,startdelay,speakermap,lfe percentage,center percentage,envelop_min,envelop_max,envelop percentage,occlusion_level,occlusion_wet_dry,real_delay,distance_lpf,move_type,move_time,min_priority,max_priority,min_priority_threshold,max_priority_threshold,,isbig

# Footsteps,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Music,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
MX_intro_stg,Stream/Music/Mission/Ber2/mx_intro_stg.wav,,,1,1,,,,,,,music,,,,,,,,,,2d,streamed,,,,,,,,,,music_all,,,,,,0,,,,,,100,100,0.25,1,,
mx_zombie_wave_1,Stream\Music\Mission\zombie\mx_wave_1.wav,,,0.2,0.2,,,,,,,music,,,0,,,,,,,2d,streamed,,looping,,,,,,,,,,,,,,0,,,,,,100,100,0.25,1,,
mx_game_over,Stream\Music\Mission\zombie\mx_game_over2.wav,,,1,1,,,,,,,music,,,0,,,,,,,2d,streamed,,,,,,,,,,music_all,,,,,,0,,,,,,100,100,0.25,1,,

#bg_zombie_madness,Stream\Level\zombie\bgs\bg_zombie_madness.wav,,,0,0,,,1,reject,,,music,,,,,,,,,,2d,streamed,,,,,,,,,,wpn_all,,,,,,0,,,,,,100,100,0.25,1,,

mx_dog_wave,Stream\Music\Mission\zombie\mx_dog_wave_b.wav,,,0.3,0.3,,,,,,,music,,,0,,,,,,,2d,streamed,,looping,,,,,,,7000,music_all,,,,,,0,,,,,,100,100,0.25,1,,
mx_eggs,Stream\Music\Mission\zombie\mx_lullaby.wav,,,0.42,0.42,,,,,,,full_vol,,,0,,,,,,,2d,streamed,,,,,,,,,,music_all,,,,,,0,,,,,,100,100,0.25,1,,

mx_splash_screen,Stream\Music\Mission\zombie\mx_splash_screen.wav,,,1,1,,,,,,,music,,,0,,,,,,,2d,streamed,,,master,,,,,,,music_all,,,,,,,,,,,,90,90,0.25,1,,

mx_revive_jingle,SFX\Levels\zombie\perksacola\jingle\revive_jingle.wav,,,1,1,50,500,,,,,full_vol,,,0.8,1800,,curve0,1,1,,3d,,,,,,,,,,,,,,100,200,0.5,0.25,,,,,,90,90,0.25,1,,
mx_jugger_jingle,SFX\Levels\zombie\perksacola\jingle\jugga_jingle.wav,,,1,1,50,500,,,,,full_vol,,,0.8,1800,,curve0,1,1,,3d,,,,,,,,,,,,,,100,200,0.5,0.25,,,,,,90,90,0.25,1
mx_doubletap_jingle,SFX\Levels\zombie\perksacola\jingle\doubletap_jingle.wav,,,1,1,50,500,,,,,full_vol,,,0.8,1800,,curve0,1,1,,3d,,,,,,,,,,,,,,100,200,0.5,0.25,,,,,,90,90,0.25,1
mx_speed_jingle,SFX\Levels\zombie\perksacola\jingle\speed_jingle.wav,,,1,1,50,500,,,,,full_vol,,,0.8,1800,,curve0,1,1,,3d,,,,,,,,,,,,,,100,200,0.5,0.25,,,,,,90,90,0.25,1

mx_revive_sting,SFX\Levels\zombie\perksacola\jingle\revive_sting.wav,,,1,1,50,800,,,,,full_vol,,,0.8,1800,,curve0,1,1,,3d,,,,,,,,,,,,,,100,200,0.5,0.15,,,,,,90,90,0.25,1
mx_jugger_sting,SFX\Levels\zombie\perksacola\jingle\jugga_sting.wav,,,1,1,50,800,,,,,full_vol,,,0.8,1800,,curve0,1,1,,3d,,,,,,,,,,,,,,100,200,0.5,0.15,,,,,,90,90,0.25,1
mx_doubletap_sting,SFX\Levels\zombie\perksacola\jingle\double_sting.wav,,,1,1,50,800,,,,,full_vol,,,0.8,1800,,curve0,1,1,,3d,,,,,,,,,,,,,,100,200,0.5,0.15,,,,,,90,90,0.25,1
mx_speed_sting,SFX\Levels\zombie\perksacola\jingle\speed_sting.wav,,,1,1,50,800,,,,,full_vol,,,0.8,1800,,curve0,1,1,,3d,,,,,,,,,,,,,,100,200,0.5,0.15,,,,,,90,90,0.25,1

# ZOMBIES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

amb_zombies_left,SFX\Levels\zombie\maps\asylum\outside\lines\wind_left.wav,,,0.75,0.75,150,1000,2,priority,,,full_vol,,,,1250,,curve1,1,1,,3d,streamed,,looping,0.8,,,,,,,,,,,,,0.3,,,,,,35,55,0.25,1
amb_zombies_right,SFX\Levels\zombie\maps\asylum\outside\lines\wind_right.wav,,,0.75,0.75,150,1000,2,priority,,,full_vol,,,,1250,,curve1,1,1,,3d,streamed,,looping,0.8,,,,,,,,,,,,,0.3,,,,,,35,55,0.25,1
amb_spooky_2d,SFX\Levels\zombie\proto\amb_spooky_2d_##,,,0.25,0.35,,,8,reject,,,full_vol,,,,,,,0.94,1.04,,2d,,,,,,,,,,,music,,,,,,0,,,,,,100,100,0.25,1
amb_spooky,SFX\Levels\zombie\proto\amb_spooky_##,,,0.5,0.85,150,1500,8,reject,,,full_vol,,,,3300,,curve2,0.85,1.2,,3d,,0.8,,,,,,,,,,,,,,,0.1,,,,,,100,100,0.25,1
amb_wind_gust,SFX/Amb/Wind/leaves_##,,,0.5,0.75,150,1000,8,reject,,,full_vol,,,,1250,,curve2,0.85,1.2,,3d,,0.6,,,,,,,,,,,,,,,0.1,,,,,,100,100,0.25,1

fire_manager_0,SFX/Destruction/fires/dynamic/dyn_fire_00.wav,,,1,1,50,500,,,,,ambience,,,,850,,curve2,1,1,,3d,,,looping,,,,,,,,,,,,,,,,,,,,25,80,0.25,1
fire_manager_1,SFX/Destruction/fires/dynamic/dyn_fire_01.wav,,,1,1,50,500,,,,,ambience,,,,850,,curve2,1,1,,3d,,,looping,,,,,,,,,,,,,,,,,,,,25,80,0.25,1
fire_manager_2,SFX/Destruction/fires/dynamic/dyn_fire_02.wav,,,1,1,50,500,,,,,ambience,,,,850,,curve2,1,1,,3d,,,looping,,,,,,,,,,,,,,,,,,,,25,80,0.25,1
fire_manager_3,SFX/Destruction/fires/dynamic/dyn_fire_03.wav,,,1,1,50,500,,,,,ambience,,,,850,,curve2,1,1,,3d,,,looping,,,,,,,,,,,,,,,,,,,,25,80,0.25,1
# Dogs,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#dog_round_start,SFX\Levels\zombie\dog_round\dog_round_start,,1,1,1,50,1500,1,reject,1,reject,full_vol,,curve2,,,,,1,1,,2d,,,,master,,,,,,,music_all,,,,,,0.5,,,,,,10,25,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Bump Triggers,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
cage_rattle,SFX\Levels\zombie\bump\cage_##,,,0.75,1,100,800,2,priority,1,reject,full_vol,,curve3,0.8,,,,0.9,1.05,,3d,,,,,,,,,,,,,,,,,0.1,,,,,,10,25,0.25,1
perks_rattle,SFX\Levels\zombie\bump\vend_##,,,1,1,100,800,2,priority,1,reject,full_vol,,curve3,0.8,,,,0.9,1.05,,3d,,,,,,,,,,,,,,,,,0.1,,,,,,10,25,0.25,1
pots_rattle,SFX\Levels\zombie\bump\pots_##,,,0.75,1,100,800,2,priority,1,reject,full_vol,,curve3,0.8,,,,0.9,1.05,,3d,,,,,,,,,,,,,,,,,0.1,,,,,,10,25,0.25,1
shelf_rattle,SFX\Levels\zombie\bump\shelf_##,,,0.75,1,100,800,2,priority,1,reject,full_vol,,curve3,0.8,,,,0.9,1.05,,3d,,,,,,,,,,,,,,,,,0.1,,,,,,10,25,0.25,1
filecabinate_rattle,SFX\Levels\zombie\bump\file_cab_##,,,0.75,1,100,800,2,priority,1,reject,full_vol,,curve3,0.8,,,,0.9,1.05,,3d,,,,,,,,,,,,,,,,,0.1,,,,,,10,25,0.25,1
desk_rattle,SFX\Levels\zombie\bump\desk_##,,,0.75,1,100,800,2,priority,1,reject,full_vol,,curve3,0.8,,,,0.9,1.05,,3d,,,,,,,,,,,,,,,,,0.1,,,,,,10,25,0.25,1
bump_spooky,SFX\Levels\zombie\maps\asylum\morgue\vox_##,,,0.75,1,100,800,2,priority,1,reject,full_vol,,curve3,0.8,,,,0.9,1.05,,3d,,,,,,,,,,,,,,,,,0.1,,,,,,10,25,0.25,1
stretcher_rattle,SFX\Levels\zombie\bump\stretcher_##,,,0.75,1,100,800,2,priority,1,reject,full_vol,,curve3,0.8,,,,0.9,1.05,,3d,,,,,,,,,,,,,,,,,0.1,,,,,,10,25,0.25,1
cupboard_rattle,SFX\Levels\zombie\bump\cupboard_##,,,0.75,1,100,800,2,priority,1,reject,full_vol,,curve3,0.8,,,,0.9,1.05,,3d,,,,,,,,,,,,,,,,,0.1,,,,,,10,25,0.25,1

# Announcer,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
ann_vox_laugh_l,SFX\Levels\zombie\new_zombie_vox\laugh\vox_laugh_left.wav,,,1,1,350,2250,8,reject,1,reject,voice,,curve3,,,,,1,1,,3d,,,,master,,,,ann_vox_laugh_r,,800,,,,,,,0,,,,left_player,8,100,100,0.25,1
ann_vox_laugh_r,SFX\Levels\zombie\new_zombie_vox\laugh\vox_laugh_right.wav,,,1,1,350,2250,8,reject,1,reject,voice,,curve3,,,,,1,1,,3d,,,,master,,,,,,1000,,,,,,,0,,,,right_player,8,100,100,0.25,1

#ZOMBIE SFX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
amb_vocals,SFX\Levels\zombie\new_zombie_vox\ambient_##,,,0.5,0.7,50,2500,4,priority,1,reject,voice,,curve3,0.8,3500,,curve1,1,1.1,,3d,,,,0.7,,,,,,,,,,,,,0.5,,,,,,10,25,0.25,1
board_vocals,SFX\Levels\zombie\new_zombie_vox\attack_##,,,0.5,0.6,150,1000,3,priority,1,reject,voice,,curve3,0.8,3500,,curve1,1,1.1,,3d,,,,0.7,,,,,,,,,,,,,0.5,,,,,,10,25,0.25,1
attack_vocals,SFX\Levels\zombie\new_zombie_vox\attack_##,,,1,1,200,1000,2,priority,1,reject,voice,,,0.8,1200,,curve2,1,1.1,,3d,,,,,,,,,,,,,,75,250,0.75,0.15,,,no,,,70,90,0.25,1
#attack_vocals_close,SFX\Levels\zombie\new_zombie_vox\attack_##,,,1,1,50,150,4,priority,1,reject,voice,,,0.8,2500,,curve1,1,1.1,,3d,,,,0.7,,,,,,,,,,,,,0.1,,,no,,,70,90,0.25,1
sprint_vocals,SFX\Levels\zombie\new_zombie_vox\n\sprint_##,,,0.7,0.8,150,1500,4,priority,1,reject,voice,,,0.8,1250,,curve1,1,1.1,,3d,,,,0.7,,,,,,,,,,,,,0.15,,,,,,60,70,0.25,1
behind_vocals,SFX\Levels\zombie\new_zombie_vox\behind_##,,,1,1,150,450,2,reject,1,reject,voice,,,1,500,,curve1,1,1.1,,3d,,,,,,,,,,,,,,,,,0.25,,,no,,,70,90,0.25,1
elec_vocals,SFX\Levels\zombie\new_zombie_vox\elec_##,,,1,1,250,1000,3,priority,1,reject,voice,,,0.8,1200,,curve2,1,1.1,,3d,,,,,,,,,,,,,,75,250,0.75,0.15,,,no,,,70,90,0.25,1
taunt_vocals,SFX\Levels\zombie\new_zombie_vox\taunt_##,,,0.85,1,250,1000,3,priority,1,reject,voice,,,0.8,1200,,curve2,1,1.1,,3d,,,,0.7,,,,,,,,,,,,,0.15,,,no,,,50,60,0.25,1

zombie_fall,SFX\Levels\zombie\zombie_fall_##,,,0.75,1,50,500,2,priority,1,reject,voice,,,0.8,750,,curve2,1,1.1,,3d,,,,,,,,,,,,,,,,,0.5,,,,,,20,35,0.25,1
death_vocals,SFX\Levels\zombie\new_zombie_vox\death_##,,,0.75,1,75,1000,2,priority,1,reject,voice,,,0.8,1200,,curve2,1,1.1,,3d,,,,,,,,,,,,,,75,250,0.75,0.15,,,no,,,70,90,0.25,1

crawl_vocals,SFX\Levels\zombie\new_zombie_vox\crawl_##,,,1,1,75,500,,,1,reject,voice,,,0.8,1500,,curve2,0.8,1.2,,3d,,0.7,,0.7,,,,,,,,,,,,,0.5,,,,,,60,70,0.25,1
crawl_vocals_slow,SFX\Levels\zombie\new_zombie_vox\crawl_##,,,1,1,75,500,,,1,reject,voice,,,0.8,1500,,curve2,0.8,1.2,,3d,,,,0.7,,,,,,,,,,,,,0.5,,,,,,60,70,0.25,1
crawl_hands,SFX\Levels\zombie\zombie_crawl\crawl_##,,,1,1,75,550,5,oldest,,,voice,,,0.8,700,,curve2,0.94,1.2,,3d,,,,0.7,,,,,,,,,,,,,0.5,,,,,,60,70,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
attack_whoosh,SFX\Levels\zombie\whoosh_##,,,0.8,1,250,500,2,reject,,,full_vol,,,,500,,curve2,0.85,1.2,,3d,,,,0.7,,,,,,,,,,75,355,0.9,0.5,,,,,,40,60,0.25,1
step_zombie,SFX\Levels\zombie\steps_##,,,0.35,0.55,100,800,2,priority,,,full_vol,,,,2000,,curve2,0.85,1.2,,3d,,,,0.7,,,,,,,,,,,,,0.5,,,,,,10,20,0.25,1
step_sweetner,null.wav,,,0.2,0.35,50,300,2,priority,,,full_vol,,,,1000,,curve2,0.85,1.2,,3d,,,,0.7,,,,,,,,,,,,,0.5,,,,,,20,50,0.25,1

remove_boards,SFX\Levels\zombie\windows_##,,,0.75,0.75,500,3800,8,reject,,,full_vol,,,,4800,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,,,,0.5,,,,,,90,100,0.25,1

break_boards,SFX\Levels\zombie\wood_snap_##,,,1,1,1000,5000,8,reject,,,full_vol,,,,4000,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,,,,0.05,,,,,,90,100,0.25,1
repair_boards,SFX\Levels\zombie\wood_repair_##,,,1,1,250,2500,3,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,0.5,,,,,,80,90,0.25,1

cha_ching,SFX\Levels\zombie\buy_generic\buy_generic.wav,,,1,1,250,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,0.5,,,,,,100,100,0.25,1
no_cha_ching,SFX\Levels\zombie\buy_generic\no_cha_ching.wav,,,1,1,250,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,0.5,,,,,,100,100,0.25,1
bomb_falloff,SFX/Destruction/Explosion_Falloff_##,,,1,1,,,8,reject,,,full_vol,,,,,,,0.94,1.04,,2d,,,,,,,,,,,wpn_all,,,,,,,,,,,,100,100,0.25,1

break_stone,SFX\Levels\zombie\stone\stone_break_##,,,1,1,500,5000,8,reject,,,full_vol,,,,4000,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,,,,0.05,,,,,,90,100,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
door_deny,SFX\Levels\zombie\maps\asylum\door\deny_##,,,1,1,50,800,8,reject,,,full_vol,,,,1000,,curve2,0.9,1.1,,3d,,,,,,,,,,,,,,,,,0.05,,,,,,90,100,0.25,1
#OTHER SFX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
boards_float,SFX\Levels\zombie\boards_float\boards_float.wav,,,0.2,0.2,250,2500,3,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,,wpn_all,,,,,,,,,,,,40,60,0.25,1,,
board_slam,SFX\Levels\zombie\board_slam_##,,,1,1,250,2500,,,,,full_vol,,,,4000,,curve2,0.9,1.1,,3d,,,,,,,,,,,,,,,,,,,,,,,40,60,0.25,1,,
couch_slam,SFX\Levels\zombie\couch_slam_##,,,1,1,1000,4000,,,,,full_vol,,,,4000,,curve2,0.9,1.1,,3d,,,,,,,,,,,,,,,,,,,,,,,40,60,0.25,1,,yes
lightning_l,SFX\Levels\zombie\couch_move\couch_move_left.wav,,,1,1,300,1850,,,,,full_vol,,,,2250,,curve2,0.9,1.1,,3d,,,,,,,,lightning_r,,,,,,250,500,0.8,,,,,left_player,6,40,60,0.25,1,,yes
lightning_r,SFX\Levels\zombie\couch_move\couch_move_right.wav,,,1,1,300,1850,,,,,full_vol,,,,2250,,curve2,0.9,1.1,,3d,,,,,,,,,,,,,,250,500,0.8,,,,,right_player,6,40,60,0.25,1,,yes
chalk,SFX\Levels\zombie\chalk\round_over.wav,,,0.7,0.7,250,2500,3,oldest,,,full_vol,,,,4000,,curve2,1,1,,2d,,,,master,,,,,,,wpn_all,,,,,,,,,,,,100,100,0.25,1,,
round_over,SFX\Levels\zombie\chalk\chalk_v2.wav,,,0.7,0.7,250,2500,3,oldest,,,full_vol,,,,4000,,curve2,1,1,,2d,,,,master,,,,,,,wpn_all,,,,,,,,,,,,100,100,0.25,1,,
weap_wall,SFX\Levels\zombie\weap_wall\weap_wall.wav,,,1,1,250,2500,3,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,,wpn_all,,,,,,,,,,,,40,60,0.25,1,,
music_box,SFX\Levels\zombie\music_box\music_box.wav,,,1,1,500,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,master,,,,,,,,,,,,,,,,,,,40,60,0.25,1,,
box_move,SFX\Levels\zombie\music_box\box_move\disappear.wav,,,1,1,500,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,master,,,,,,,wpn_all,,,,,,,,,,,,40,60,0.25,1,,
box_poof,SFX\Levels\zombie\music_box\box_move\poof.wav,,,1,1,500,4000,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,master,,,,,,,wpn_all,,,,,,,,,,,,40,60,0.25,1,,
whoosh,SFX\Levels\zombie\music_box\box_move\whoosh.wav,,,1,1,500,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,2450,,,,,,,,,,,,,40,60,0.25,1,,
laugh_child,SFX\Levels\zombie\music_box\box_move\laugh_child.wav,,,0.75,0.75,500,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,master,,,,,,,wpn_all,,,,,,,,,,,,40,60,0.25,1,,
lid_open,SFX\Levels\zombie\music_box\lid_open.wav,,,1,1,250,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,,,,,,,20,30,0.25,1,,
lid_close,SFX\Levels\zombie\music_box\lid_close.wav,,,1,1,250,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,,,,,,,20,30,0.25,1,,
door_slide_open,SFX\Levels\zombie\maps\asylum\door\open\open.wav,,,1,1,250,3500,3,priority,,,full_vol,,,,4000,,curve2,0.9,1.15,pitch,3d,,,,,,,,door_buzzer,,200,wpn_all,,,,,,,,,,,,70,80,0.25,1,,
door_buzzer,SFX\Levels\zombie\maps\asylum\door\open\buzzer.wav,,,0.75,0.75,400,2500,3,priority,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,0.15,,,,,,70,80,0.25,1,,

electrical_surge,SFX\Levels\zombie\maps\asylum\switch\surge_##,,,0.9,1,50,350,4,priority,,,full_vol,,curve2,,450,,curve2,0.85,1.5,pitch,3d,,,,,,,,,,,,,,50,150,0.4,0.5,,no,,,,5,10,0.1,1,,
light,SFX\Amb\lightbulbs\light_humming_00.wav,,,0.9,1,50,350,,,1,reject,full_vol,,curve2,,450,,curve2,0.85,1.05,pitch,3d,,,looping,,,,,,,,,,,50,150,0.4,0.25,,no,no,,,5,10,0.1,1,,
#arc_loop_light,SFX\Levels\zombie\maps\asylum\switch\arc_loop\arc_loop.wav,,,0.9,1,50,550,,,1,reject,full_vol,,curve2,1,800,,curve2,1,1,,3d,,,looping,,,,,,,,,,,50,150,0.4,0.25,,no,,,,5,10,0.1,1,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
fire_med,SFX/Destruction/fires/bldg_fire/med_##,,,1,1,50,500,4,priority,,,ambience,,curve2,,,,,1,1,,3d,,,looping,,,,,,,,,,,,,,,,,,,,5,10,0.15,0.85,,
fire_large,SFX\Levels\ber3b\fire\wall_fire.wav,,,1,1,50,800,4,priority,,,ambience,,curve2,,,,,1,1,,3d,,,looping,,,,,,,,,,,,,,,,,,,,5,10,0.15,0.85,,
fire_large_far,SFX\Levels\ber3b\fire\wall_fire.wav,,,1,1,50,1500,,,,,ambience,,curve2,,,,,1,1,,3d,,,looping,,,,,,,,,,,,,,,,,,,,5,10,0.15,0.85,,
couch_loop,SFX\Levels\zombie\couch_loop\whisper_00.wav,,,1,1,100,550,,,,,ambience,,curve3,,800,,curve2,0.9,1.05,,3d,,,looping,,,,,,,,,,,,,,0,,,no,,,50,95,0.25,1,,yes
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
zombie_spawn,SFX\Levels\zombie\maps\asylum\dirt_spawn_##,,,1,1,250,2000,3,priority,,,full_vol,,curve4,,2250,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,,,,,,,40,60,0.25,1,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
amb_behind_door,SFX\Levels\zombie\maps\asylum\door\bang_##,,,0.4,0.55,150,750,2,reject,,,full_vol,,,,3300,,curve2,0.85,1.2,,3d,,0.8,,,,,,amb_behind_door_vox,,,,,,,,,0.25,,,,,,100,100,0.25,1,,
amb_behind_door_vox,SFX\Levels\zombie\maps\asylum\door\door_vox_##,,,0.5,0.85,150,1000,8,reject,,,full_vol,,,,3300,,curve2,0.85,1.2,,3d,,0.5,,,,,,,,,,,,,,,0.25,,,,,,100,100,0.25,1,,
amb_pa_system,SFX\Levels\zombie\maps\asylum\PA\pa_system_00.wav,,,0.7,0.7,250,2250,1,reject,,,full_vol,,,,2400,,curve2,1,1,,3d,,,,0.6,,,,,,,,,,,,,0.15,,,,,,100,100,0.25,1,,
glass_pane_break,SFX/Destruction/Glass/imp_glass_pane_##,,,0.9,1,250,2500,,,,,full_vol,,,,4000,,curve2,0.9,1.1,,3d,,,,,,,,,,,,,,,,,,,,,,,40,60,0.25,1,,
amb_water_pipe,SFX\Levels\zombie\maps\asylum\water\pipe\water_pipe_loop.wav,,,0.4,0.4,50,500,,,,,ambience,,curve2,,,,,1,1,,3d,,,looping,,,,,,,,,,,50,150,0.5,0.3,,,,,,5,10,0.15,0.85,,
water_floor,SFX\Levels\zombie\maps\asylum\water\floor\water_floor.wav,,,0.7,0.7,50,600,,,,,full_vol,,curve2,1,800,,curve0,1,1,,3d,,,looping,,,,,,,,,,,50,150,0.5,0.3,,,,,,5,10,0.15,0.85,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
toilet_flush,SFX\Levels\zombie\maps\asylum\toilet\flush.wav,,,1,1,150,500,,,,,full_vol,,,,,,curve2,1,1,,3d,,,,,,,,,,,,,,50,100,0.8,,,,,,,70,80,0.25,1,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
amb_flies,SFX/Amb/animals/flies_##,,,0.9,1,75,350,12,reject,,,full_vol,,,,,,,0.9,1.1,,3d,,0.85,,,,,,,,,,,,10,150,1,,,,,,,5,15,0.25,1,,
helmet_rainf,Stream\Level\ber2\helmet_rain_door.wav,,,1,1,50,125,,,,,full_vol,,curve1,1,,,,1,1,,3d,,,looping,,,,,,,,,,,50,150,0.5,0.3,,,,,,5,10,0.15,0.85,,
gen_arc_loop,SFX\Levels\zombie\maps\asylum\switch\gen_arc\gen_arc_loop.wav,,,0.7,0.7,150,800,,,,,full_vol,,curve2,1,1000,,curve0,1,1,,3d,,,looping,,,,,,,,,,,100,250,0.8,0.3,,,,,,5,10,0.15,0.85,,
elec_arc_generator,SFX\Levels\zombie\maps\asylum\traps\arc_##,,,0.4,0.8,150,2000,6,priority,,,full_vol,,curve3,1,3200,,curve0,0.85,0.85,,3d,,,,,,,,,,,,,,100,250,0.8,0.4,,,yes,,,10,15,0.25,1,,
arc_spark_light,SFX\Levels\zombie\maps\asylum\spk_oneshot_##,,,0.4,0.8,50,550,2,reject,,,full_vol,,curve1,1,800,,curve0,0.85,1.2,,3d,,,,,,,,,,,,,,100,250,0.8,0.4,,,yes,,,10,15,0.25,1,,
chair,SFX\Levels\zombie\maps\asylum\chair\chair_00.wav,,,1,1,350,800,1,reject,,,full_vol,,curve2,1,,,,1,1,,3d,,,,,,,,,,,,,,50,150,1,0.35,,,,,,5,10,0.1,1,,
# Traps,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
elec_start,SFX\Levels\zombie\maps\asylum\traps\trap_start.wav,,,0.9,0.9,100,1000,6,priority,,,full_vol,,,,1000,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,100,250,0.8,0.25,,,,,,15,25,0.25,1,,
elec_loop,SFX\Levels\zombie\maps\asylum\traps\trap_loop.wav,,,1,1,250,1000,,,,,full_vol,,curve3,,1000,,curve2,0.9,1.05,,3d,,,looping,,,,,,,,,,,100,250,0.8,0.25,,,,,,50,95,0.25,1,,yes
elec_arc,SFX\Levels\zombie\maps\asylum\traps\arc_##,,,0.55,0.85,100,800,6,priority,,,ambience,,,,1000,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,100,250,0.8,0.25,,,,,,10,15,0.25,1
elec_jib_zombie,SFX\Levels\zombie\maps\asylum\traps\arc_##,,,1,1,500,1500,8,priority,,,full_vol,,,,1750,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,100,250,0.8,0.25,,,,,,10,15,0.25,1
elec_current_loop,SFX\Levels\zombie\small_elec.wav,,,1,1,50,1250,,,,,full_vol,,curve2,,1500,,curve1,0.85,1.02,,3d,,,looping,,,,,,,,,,,100,250,0.8,0.35,,,,,,35,50,0.25,1
exp_jib_zombie,SFX\Levels\zombie\maps\asylum\traps\exp_zom\exp_zom_00.wav,,,1,1,500,1500,8,priority,,,full_vol,,,,1750,,curve2,0.85,1.2,,3d,,,,,,,,sizzle,,,,,,100,250,0.8,0.25,,,,,,10,15,0.25,1
sizzle,SFX\Levels\zombie\maps\asylum\traps\exp_zom\sizzle.wav,,,1,1,250,1000,3,priority,,,full_vol,,,,1750,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,100,250,0.8,0.25,,,,,,10,15,0.25,1
zombie_arc,SFX\Levels\zombie\maps\asylum\traps\zom_arc_##,,,1,1,500,800,6,priority,,,ambience,,,,1000,,curve2,0.85,1.2,,3d,,,,,,,,sizzle,,,,,,100,250,0.8,0.25,,,,,,10,15,0.25,1
#electrocution,SFX\Levels\zombie\maps\asylum\traps\electocution\elec_loop.wav,,,1,1,250,800,1,priority,,,full_vol,,,,,,curve2,1,1,,3d,,,looping,,,,,,,,,,,100,250,0.8,,,,,,,70,80,0.25,1
ignite,SFX\Levels\zombie\maps\asylum\traps\on_fire\ignite.wav,,,1,1,500,1250,3,priority,,,full_vol,,,,1750,,curve2,0.85,1.2,,3d,,,,,,,,sizzle,,,,,,100,250,0.8,0.25,,,,,,10,15,0.25,1
# Bathroom,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
amb_water_drips,SFX\Levels\zombie\maps\asylum\bathroom\drips_##,,,0.9,1,100,350,,,,,ambience,,,,750,,,0.9,1.05,,3d,,,,,,,,,,,,,,,,,,,,,,,5,10,0.25,1
amb_water_drips_rand,SFX/Amb/amb_drip_##,,,0.2,0.85,25,350,,,,,ambience,,curve1,,450,,curve0,0.85,1.25,,3d,,,,,,,,,,,,,,10,100,0.85,,,,,,,5,10,0.25,1
bathroom_drip,SFX\Levels\Berlin_1\asylum\bathroom\drips\drips_00.wav,,0,0.75,0.95,10,150,3,priority,,,ambience,,,,350,,,0.9,1.05,,3d,,,looping,,,,,,,,,,,,,,,,,,,,10,50,0.25,1
bathroom_drip,SFX\Levels\Berlin_1\asylum\bathroom\drips\drips_01.wav,,1,0.75,0.95,10,150,3,priority,,,ambience,,,,350,,,0.9,1.05,,3d,,,looping,,,,,,,,,,,,,,,,,,,,10,50,0.25,1
bathroom_drip,SFX\Levels\Berlin_1\asylum\bathroom\drips\drips_02.wav,,2,0.75,0.95,10,150,3,priority,,,ambience,,,,350,,,0.9,1.05,,3d,,,looping,,,,,,,,,,,,,,,,,,,,10,50,0.25,1
amb_toilet_loop,SFX\Levels\zombie\maps\asylum\bathroom\toilet.wav,,,1,1,250,800,2,reject,,,full_vol,,,,850,,curve2,1,1,,3d,,,looping,,,,,,,,,,,100,250,0.8,0.15,,,,,,100,100,0.25,1
amb_shower_loop,SFX\Levels\zombie\maps\asylum\bathroom\shower_loop.wav,,,1,1,250,600,1,reject,,,ambience,,,,750,,curve2,1,1,,3d,,,looping,,,,,,,,,,,100,350,0.8,0.15,,,,,,100,100,0.25,1
# Morgue,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
amb_morgue_vox,null.wav,,,0.85,1,250,1250,1,reject,,,ambience,,,,1300,,,0.9,1.05,,3d,,,,,,,,,,,,,,,,,,,,,,,10,50,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Halls,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
amb_wind_left,SFX\Levels\zombie\maps\asylum\halls\wind\wind_left.wav,,,1,1,50,800,1,priority,,,full_vol,,,,850,,curve1,1,1,,3d,streamed,,looping,,,,,,,,,,,50,200,0.5,0.1,,,,,,40,80,0.25,1
amb_wind_right,SFX\Levels\zombie\maps\asylum\halls\wind\wind_right.wav,,,1,1,50,800,1,priority,,,full_vol,,,,850,,curve1,1,1,,3d,streamed,,looping,,,,,,,,,,,50,200,0.5,0.1,,,,,,40,80,0.25,1
amb_vent,SFX\Levels\zombie\maps\asylum\halls\vent\vent_00.wav,,,1,1,300,500,1,reject,,,ambience,,,,750,,curve1,1,1,,3d,streamed,,looping,,,,,,,,,,,,,,0.1,,,,,,40,80,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Switch,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
switch_flip,SFX\Levels\zombie\maps\asylum\switch\flip\flip.wav,,,1,1,250,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,,,,,,,100,100,0.25,1
amb_sparks_l_b,SFX\Levels\zombie\maps\asylum\switch\flip\amb_sparks_l.wav,,,1,1,250,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,,,,,,,100,100,0.25,1
amb_sparks_r_b,SFX\Levels\zombie\maps\asylum\switch\flip\amb_sparks_r.wav,,,1,1,250,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,,,,,,,100,100,0.25,1
amb_sparks_l,SFX\Levels\zombie\maps\asylum\switch\power_left.wav,,,1,1,350,2600,1,oldest,,,full_vol,,,,4500,,curve2,1,1,,3d,,,,,,,,,,2000,,,,,,,0,,,,,,100,100,0.25,1
amb_sparks_r,SFX\Levels\zombie\maps\asylum\switch\power_right.wav,,,1,1,350,2600,1,oldest,,,full_vol,,,,4500,,curve2,1,1,,3d,,,,,,,,,,1850,,,,,,,0,,,,,,100,100,0.25,1
amb_sparks_l_end,SFX\Levels\zombie\maps\asylum\switch\power_left_end.wav,,,1,1,350,2600,1,oldest,,,full_vol,,,,4500,,curve1,1,1,,3d,,,,,,,,,,,,,,,,,0,,,,left_player,7,100,100,0.25,1
amb_sparks_r_end,SFX\Levels\zombie\maps\asylum\switch\power_right_end.wav,,,1,1,350,2600,1,oldest,,,full_vol,,,,4500,,curve1,1,1,,3d,,,,,,,,,,,,,,,,,0,,,,right_player,7,100,100,0.25,1
generator_loop,SFX\Levels\zombie\maps\asylum\switch\generator\gen_loop.wav,,,1,1,150,800,,,,,ambience,,curve3,,1000,,curve2,1,1,,3d,,,looping,,,,,,,,,,,50,250,0.8,0.15,,,,,,50,95,0.25,1,,yes
players_ambience,SFX\Levels\zombie\maps\asylum\switch\amb\ambience.wav,,,1,1,100,750,,,,,ambience,,curve3,,950,,curve2,1,1,,2d,streamed,,looping,,,,,,,3000,,,,,,,0.15,,,no,,,50,95,0.25,1,,yes
turn_on,SFX\Levels\zombie\maps\asylum\switch\amb\turn_on.wav,,,0.45,0.45,100,750,,,,,full_vol,,curve3,,950,,curve2,1,1,,2d,streamed,,,,,,,,,1000,wpn_all,,,,,,0.15,,,no,,,50,95,0.25,1,,yes
circuit,SFX\Levels\zombie\maps\asylum\switch\circuit_##,,,1,1,250,5500,,,,,full_vol,,,,5500,,curve2,0.8,1.1,,3d,,,,,,,,,,,,,,,,,,,,,,,100,100,0.25,1,,
low_arc,SFX\Levels\zombie\maps\asylum\switch\arc_##,,,0.8,1,50,750,,,,,ambience,,curve3,,1000,,curve2,0.8,1.1,,3d,,,looping,,,,,,,,,,,,,,0.35,,,,,,40,55,0.25,1,,yes
alarm,SFX\Levels\zombie\maps\asylum\switch\alarm_##,,,1,1,250,2500,1,oldest,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,master,,,,,,1250,,,,,,,0.15,,,,,,100,100,0.25,1,,
warning,SFX\Levels\zombie\maps\asylum\traps\warning_##,,,0.65,0.65,250,2500,1,reject,,,full_vol,,,,4000,,curve2,1,1,,3d,,,,master,,,,,,,,,,,,,0.15,,,,,,100,100,0.25,1,,
comp_loop,SFX\Levels\zombie\maps\asylum\switch\comp\comp_loop.wav,,,0.6,0.6,50,350,,,,,full_vol,,curve3,,700,,curve2,1,1,,3d,,,looping,,,,,,,14000,,,,50,150,0.8,0.15,,,,,,50,95,0.25,1,,
comp_start,SFX\Levels\zombie\maps\asylum\switch\comp\comp_start.wav,,,0.65,0.65,50,350,,,,,full_vol,,curve3,,700,,curve2,1,1,,3d,,,,,,,,sweeper,,12000,,,,50,150,0.8,0.15,,,,,,50,95,0.25,1,,
sweeper,SFX\Levels\zombie\maps\asylum\switch\comp\sweeper.wav,,,0.85,0.85,50,350,,,,,full_vol,,curve3,,700,,curve2,1,1,,3d,,,,,,,,,,25000,,,,50,150,0.8,0.15,,,,,,50,95,0.25,1,,
the_numbers,SFX\Levels\zombie\maps\asylum\control\numbers.wav,,,1,1,50,650,,,,,full_vol,,curve1,,900,,curve0,1,1,,3d,,0.25,,,,,,sweeper_no_d,,,,,,50,150,0.5,0.25,,,,,,40,50,0.25,1,,
sweeper_no_d,SFX\Levels\zombie\maps\asylum\switch\comp\sweeper.wav,,,0.75,0.75,50,350,,,,,full_vol,,curve3,,700,,curve2,0.9,1.1,,3d,,,,,,,,,,,,,,50,150,0.8,0.15,,,,,,50,95,0.25,1,,
elec_room_sweets,SFX\Levels\zombie\maps\asylum\switch\comp\sweets_##,,,0.4,0.8,125,550,6,reject,,,full_vol,,curve1,,600,,curve2,0.9,1.1,,3d,,,,,,,,,,,,,,50,150,0.8,0.1,,,,,,50,95,0.25,1,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Barrels,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
exp_barrel,SFX/Destruction/exp/barrel_##,,,0.8,1,500,5000,,,,,full_vol,,curve3,,10000,,curve2,0.9,1.05,,3d,,,,,,,,exp_debris,,,,0.5,,,,,0.2,,,,,,50,95,0.25,1,,
barrel_fuse,SFX/Destruction/exp/flare_##,,,0.4,0.5,50,500,,,,,full_vol,,curve3,,1000,,curve2,0.9,1.05,,3d,,,,,,,,,,,,,,,,,0.2,,,,,,50,95,0.25,1,,
fuse,SFX/Destruction/exp/flare_##,,,0.4,0.5,50,500,,,,,full_vol,,curve3,,1000,,curve2,0.9,1.05,,3d,,,,,,,,,,,,,,,,,0.2,,,,,,50,95,0.25,1,,
exp_debris,SFX/Destruction/exp/debris_##,,,0.7,0.7,50,1200,,,,,full_vol,,curve3,,2400,,curve2,0.9,1.05,,3d,,,,,,,,barrel_explode_trail_l,,600,,0.1,0.4,,,,0.2,,,,,,50,95,0.25,1,,
exp_ammo,SFX/Destruction/ammocrate_##,,,0.8,1,500,1700,,,,,full_vol,,curve3,,3000,,curve2,1,1,,3d,,,,,,,,,,,,0.4,,,,,0.2,,,,,,50,95,0.25,1,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
barrel_explode_trail_l,SFX/Weapon/Gren/Gen_Gren/gren_trail_##,,,0.4,0.6,500,2000,3,oldest,,,full_vol,,curve5,,10000,,,0.9,1,,3d,,,,,,,,barrel_explode_trail_r,,50,,,,,,,0.2,,,no,left_player,6,50,90,0.25,1,,
barrel_explode_trail_r,SFX/Weapon/Gren/Gen_Gren/gren_trail_##,,,0.4,0.6,500,2000,3,oldest,,,full_vol,,curve5,,10000,,,0.9,1,,3d,,,,,,,,barrel_explode_dist,,50,,,,,,,0.2,,,no,right_player,6,50,90,0.25,1,,
barrel_explode_dist,SFX/Destruction/explosion_dist_##,,,0.9,1,3000,12000,3,oldest,,,full_vol,,curve5,,13000,,,0.9,1.1,,3d,,,,,,,,barrel_explode_distR,,,,0.4,,,,,0.2,,,no,left_player,6,50,90,0.55,1,,
barrel_explode_distR,SFX/Destruction/explosion_dist_##,,,0.9,1,3000,12000,3,oldest,,,full_vol,,curve5,,13000,,,0.9,1.1,,3d,,,,,,,,bomb_falloff,,,,0.4,,,,,0.2,,,no,right_player,6,50,90,0.55,1,,


sparks,SFX\Levels\sniper\sparks_##,,,0.8,1,500,5000,,,,,explosion,,curve3,,10000,,curve2,0.9,1.05,,3d,,,,,,,,,,,,0.5,,,,,,,,,,,50,95,0.25,1,,

explo_shockwave_l,SFX/Levels/Makin/exp_sweetner/exp_decay_R.wav,,,0.9,0.95,1200,6000,1,priority,,,full_vol,,curve3,,18000,,,0.98,1.02,,3d,,,,0.85,,,,explo_shockwave_r,,250,,,,,,,0.2,,no,no,left_player,4,50,90,0.25,1,,yes
explo_shockwave_r,SFX/Levels/sniper/dist_explos/explo_sweetner_right.wav,,,0.9,0.95,1200,6000,1,priority,,,full_vol,,curve3,,18000,,,1,1,,3d,,,,0.85,,,,bomb_far_falloff_glo,,350,,,,,,,0.2,,no,no,right_player,4,50,90,0.25,1,,yes
explo_metal_rand,SFX/Destruction/vehicle_##,,,1,1,1200,18000,,,,,full_vol,,curve3,,22000,,curve2,0.9,1.1,,3d,,,,,,,,explo_shockwave_l,,,,0.2,,,,,0.2,,no,no,,,50,95,0.25,1,,yes

# Power Ups,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
spawn_powerup,SFX\Levels\zombie\powerups\powerup\power_up_spawn.wav,,,0.8,0.8,500,4000,3,reject,,,full_vol,,curve4,1,4500,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,0.25,,,,,,100,100,0.25,1
powerup_grabbed,SFX\Levels\zombie\powerups\powerup\power_up_grab.wav,,,0.8,0.8,500,4000,3,reject,,,full_vol,,curve4,1,4500,,curve2,1,1,,2d,,,,,,,,,,,wpn_all,,,,,,0.25,,,,,,100,100,0.25,1
spawn_powerup_loop,SFX\Levels\zombie\powerups\powerup\power_up_loop.wav,,,0.25,0.25,50,800,4,reject,,,full_vol,,curve4,1,1200,,curve2,1,1,,3d,,,looping,0.5,,,,,,550,,,,,,,0.25,,,,,,100,100,0.25,1
insta_kill,SFX\Levels\zombie\powerups\insta_kill\insta_kill.wav,,,0.6,0.6,500,4000,4,reject,,,full_vol,,curve4,1,4500,,curve2,1,1,,2d,,,,,,,,,,,wpn_all,,,,,,0.25,,,,,,100,100,0.25,1
insta_kill_loop,SFX\Levels\zombie\powerups\insta_kill\insta_kill_loop.wav,,,0.3,0.3,50,800,4,reject,,,full_vol,,curve4,1,1200,,curve2,1,1,,2d,,,looping,0.5,,,,,,,wpn_all,,,,,,0.25,,,,,,100,100,0.25,1
full_ammo,SFX\Levels\zombie\powerups\full_ammo\full_ammo.wav,,,0.7,0.7,50,800,4,reject,,,full_vol,,curve4,1,1200,,curve2,1,1,,2d,,,,,,,,,,,,,,,,,0.25,,,,,,100,100,0.25,1
nuked,SFX\Levels\zombie\powerups\nuke\nuke.wav,,,1,1,500,4000,3,reject,,,full_vol,,curve4,1,4500,,curve2,1,1,,3d,,,,,,,,,,,,,,,,,0.25,,,,,,100,100,0.25,1
nuke_flash,SFX\Amb\flare\flare_exp.wav,,,1,1,500,4000,4,reject,,,full_vol,,curve4,1,4500,,curve2,1,1,,2d,,,,,,,,bomb_falloff,,,wpn_all,,,,,,0.25,,,,,,100,100,0.25,1
double_point_loop,SFX\Levels\zombie\powerups\double_point\double_point_loop.wav,,,0.25,0.25,50,800,4,reject,,,full_vol,,curve4,1,1200,,curve2,1,1,,2d,,,looping,0.5,,,,,,,wpn_all,,,,,,0.25,,,,,,100,100,0.25,1
points_loop_off,SFX\Levels\zombie\powerups\double_point\double_point_off.wav,,,0.7,0.7,50,800,4,reject,,,full_vol,,curve4,1,1200,,curve2,1,1,,2d,,,,,,,,,,,wpn_all,,,,,,0.25,,,,,,100,100,0.25,1

#bomb_falloff (was on nuke_flash),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Perks,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
perks_machine_loop,SFX\Levels\zombie\perksacola\hum\hum_loop.wav,,,1,1,50,350,,,,,ambience,,curve3,,500,,curve2,1,1,,3d,,,looping,,,,,,,,,,,50,100,0.8,0.35,,,,,,35,50,0.25,1
broken_random_jingle,SFX\Levels\zombie\perksacola\random_##,,,1,1,50,500,,,,,full_vol,,curve3,,700,,curve2,1,1,,3d,,,,,,,,,,,,,,50,150,0.8,0.35,,,,,,10,25,0.25,1
perks_power_on,SFX\Levels\zombie\perksacola\power_on\power_on.wav,,,1,1,250,1000,,,,,full_vol,,curve3,,1250,,curve2,1,1,,3d,,,,,,,,,,,,,,100,150,0.5,0,,,,,,10,25,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
bottle_dispense,SFX\Levels\zombie\perksacola\bottle\dispense_00.wav,,,0.6,0.6,500,4000,4,reject,,,full_vol,,curve4,1,4500,,curve2,1,1,,2d,,,,,,,,,,,,,,,,,0.25,,,,,,100,100,0.25,1
bottle_open,SFX\Levels\zombie\perksacola\bottle\open\open_00.wav,,,1,1,500,4000,4,reject,,,full_vol,,curve4,1,4500,,curve2,1,1,,2d,,,,,,,,,,,,,,,,,0.25,,,,,,100,100,0.25,1
swallow,SFX\Levels\zombie\perksacola\bottle\swallow\swallow_00.wav,,,1,1,500,4000,4,reject,,,full_vol,,curve4,1,4500,,curve2,1,1,,2d,,,,,,,,,,,wpn_all,,,,,,0.25,,,,,,100,100,0.25,1
belch,SFX\Levels\zombie\perksacola\bottle\belch\belch_00.wav,,,0.6,0.6,500,4000,4,reject,,,full_vol,,curve4,1,4500,,curve2,1,1,,2d,,,,,,,,,,500,,,,,,,0.25,,,,,,100,100,0.25,1
bottle_break,SFX\Levels\zombie\perksacola\bottle\break\break_00.wav,,,0.6,0.6,500,4000,4,reject,,,full_vol,,curve4,1,4500,,curve2,1,1,,2d,,,,,,,,,,,,,,,,,0.25,,,,,,100,100,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
deny,SFX\Levels\zombie\perksacola\bottle\deny_00.wav,,,0.9,0.9,100,1000,6,priority,,,full_vol,,,,1000,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,,,,0.25,,,,,,15,25,0.25,1
bottle_dispense3d,SFX\Levels\zombie\perksacola\bottle\dispensemn_00.wav,,,0.9,0.9,100,1000,6,priority,,,full_vol,,,,1000,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,,,,0.25,,,,,,15,25,0.25,1
bottle_open3d,SFX\Levels\zombie\perksacola\bottle\open\openmn_00.wav,,,0.9,0.9,100,1000,6,priority,,,full_vol,,,,1000,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,,,,0.25,,,,,,15,25,0.25,1
swallow3d,SFX\Levels\zombie\perksacola\bottle\swallow\swallowmn_00.wav,,,0.9,0.9,100,1000,6,priority,,,full_vol,,,,1000,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,,,,0.25,,,,,,15,25,0.25,1
belch3d,SFX\Levels\zombie\perksacola\bottle\belch\belchmn_00.wav,,,0.9,0.9,100,1000,6,priority,,,full_vol,,,,1000,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,,,,0.25,,,,,,15,25,0.25,1
bottle_break3d,SFX\Levels\zombie\perksacola\bottle\break\breakmn_00.wav,,,0.9,0.9,100,1000,6,priority,,,full_vol,,,,1000,,curve2,0.85,1.2,,3d,,,,,,,,,,,,,,,,,0.25,,,,,,15,25,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Radio,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
static,SFX\Levels\sniper\sparks_##,,,0.8,1,500,5000,,,,,explosion,,curve3,,10000,,curve2,0.9,1.05,,3d,,,,,,,,,,,,0.5,,,,,,,,,,,50,95,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#wtf,SFX\Levels\zombie\radio\mx_wtf.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#true_crime_4,SFX\Levels\zombie\radio\true_crime_track_4.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#dusk,SFX\Levels\zombie\radio\dusk.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#sand,SFX\Levels\zombie\radio\mx_sand.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#all_mixed_up,SFX\Levels\zombie\radio\mx_all_mixed_up.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#ber3b_guitars,SFX\Levels\zombie\radio\mx_ber3b_guitars.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#bold_men,SFX\Levels\zombie\radio\mx_boldmen_city_loop.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#dog_fire,SFX\Levels\zombie\radio\mx_dog_fire.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#the_march,SFX\Levels\zombie\radio\mx_march_ber3_00.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#drum_no_bass,SFX\Levels\zombie\radio\mx_pel1b_00.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#russian_theme,SFX\Levels\zombie\radio\mx_russian_theme.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#stag_push,SFX\Levels\zombie\radio\mx_stag_push_00.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#goddess_energy,SFX\Levels\zombie\radio\mx_underscore_ber2.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#wild_card,SFX\Levels\zombie\radio\mx_WildCard_loop_g_final.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85
#pby_old,SFX\Levels\zombie\radio\pby_old.wav,,,0.8,0.8,125,2500,,,,,music,,curve3,0.8,3200,,curve1,1,1,,3d,streamed,,,0.4,,,,,,,,,,,,,0.25,,,,,,50,50,0.15,0.85


# Player Dialog,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
raygun_stinger,SFX\UI\arcade\arcademode_kill_streak_won.wav,,1,1,1,50,1500,2,reject,1,reject,voice,,curve2,,,,,1,1,,2d,streamed,,,master,,,,,,,wpn_all,,,,,,0.5,,,,,,10,25,0.25,1
# Player 0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
plr_3_vox_crappy_0,voiceovers\zombie\new\Player3\weappick_crappy_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_crappy_1,voiceovers\zombie\new\Player3\weappick_crappy_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_crappy_2,voiceovers\zombie\new\Player3\weappick_crappy_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_crappy_3,voiceovers\zombie\new\Player3\weappick_crappy_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_crappy_4,voiceovers\zombie\new\Player3\weappick_crappy_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_mg_0,voiceovers\zombie\new\Player3\weappick_mg_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_mg_1,voiceovers\zombie\new\Player3\weappick_mg_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_mg_2,voiceovers\zombie\new\Player3\weappick_mg_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_mg_3,voiceovers\zombie\new\Player3\weappick_mg_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_mg_4,voiceovers\zombie\new\Player3\weappick_mg_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_raygun_0,voiceovers\zombie\new\Player3\weappick_raygun_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_raygun_1,voiceovers\zombie\new\Player3\weappick_raygun_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_raygun_2,voiceovers\zombie\new\Player3\weappick_raygun_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_raygun_3,voiceovers\zombie\new\Player3\weappick_raygun_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_raygun_4,voiceovers\zombie\new\Player3\weappick_raygun_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_flame_0,voiceovers\zombie\new\Player3\weappick_flame_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_flame_1,voiceovers\zombie\new\Player3\weappick_flame_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_flame_2,voiceovers\zombie\new\Player3\weappick_flame_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_flame_3,voiceovers\zombie\new\Player3\weappick_flame_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_flame_4,voiceovers\zombie\new\Player3\weappick_flame_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_sniper_0,voiceovers\zombie\new\Player3\weappick_sniper_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_sniper_1,voiceovers\zombie\new\Player3\weappick_sniper_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_sniper_2,voiceovers\zombie\new\Player3\weappick_sniper_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_sniper_3,voiceovers\zombie\new\Player3\weappick_sniper_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_sniper_4,voiceovers\zombie\new\Player3\weappick_sniper_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_shotgun_0,voiceovers\zombie\new\Player3\weappick_shotgun_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_shotgun_1,voiceovers\zombie\new\Player3\weappick_shotgun_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_shotgun_2,voiceovers\zombie\new\Player3\weappick_shotgun_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_shotgun_3,voiceovers\zombie\new\Player3\weappick_shotgun_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_shotgun_4,voiceovers\zombie\new\Player3\weappick_shotgun_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_357_0,voiceovers\zombie\new\Player3\weappick_357_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_357_1,voiceovers\zombie\new\Player3\weappick_357_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_357_2,voiceovers\zombie\new\Player3\weappick_357_06.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_357_3,voiceovers\zombie\new\Player3\weappick_357_07.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_357_4,voiceovers\zombie\new\Player3\weappick_357_09.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_0,voiceovers\zombie\new\Player3\feedback_killstreak_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_1,voiceovers\zombie\new\Player3\feedback_killstreak_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_2,voiceovers\zombie\new\Player3\feedback_killstreak_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_3,voiceovers\zombie\new\Player3\feedback_killstreak_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_4,voiceovers\zombie\new\Player3\feedback_killstreak_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_5,voiceovers\zombie\new\Player3\feedback_killstreak_05.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_6,voiceovers\zombie\new\Player3\feedback_killstreak_06.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_7,voiceovers\zombie\new\Player3\feedback_killstreak_07.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_8,voiceovers\zombie\new\Player3\feedback_killstreak_08.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_9,voiceovers\zombie\new\Player3\feedback_killstreak_09.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_10,voiceovers\zombie\new\Player3\feedback_killstreak_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_killstreak_11,voiceovers\zombie\new\Player3\feedback_killstreak_06.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_0,voiceovers\zombie\new\Player3\feedback_kill_headd_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_1,voiceovers\zombie\new\Player3\feedback_kill_headd_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_2,voiceovers\zombie\new\Player3\feedback_kill_headd_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_3,voiceovers\zombie\new\Player3\feedback_kill_headd_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_4,voiceovers\zombie\new\Player3\feedback_kill_headd_07.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_5,voiceovers\zombie\new\Player3\feedback_kill_headd_08.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_6,voiceovers\zombie\new\Player3\feedback_kill_headd_09.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_7,voiceovers\zombie\new\Player3\feedback_kill_headd_10.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_8,voiceovers\zombie\new\Player3\feedback_kill_headd_12.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_9,voiceovers\zombie\new\Player3\feedback_kill_headd_13.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_10,voiceovers\zombie\new\Player3\feedback_kill_headd_14.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_kill_headdist_11,voiceovers\zombie\new\Player3\feedback_kill_headd_16.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_ammo_low_0,voiceovers\zombie\new\Player3\feedback_ammo_low_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_ammo_low_1,voiceovers\zombie\new\Player3\feedback_ammo_low_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_ammo_low_2,voiceovers\zombie\new\Player3\feedback_ammo_low_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_ammo_low_3,voiceovers\zombie\new\Player3\feedback_ammo_low_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_ammo_low_4,voiceovers\zombie\new\Player3\feedback_ammo_low_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_down_gen_0,voiceovers\zombie\new\Player3\revive_down_gen_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_down_gen_1,voiceovers\zombie\new\Player3\revive_down_gen_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_down_gen_2,voiceovers\zombie\new\Player3\revive_down_gen_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_revived_0,voiceovers\zombie\new\Player3\revive_revived_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_revived_1,voiceovers\zombie\new\Player3\revive_revived_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_revived_2,voiceovers\zombie\new\Player3\revive_revived_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_melee_insta_0,voiceovers\zombie\new\Player3\special_melee_insta_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_melee_insta_1,voiceovers\zombie\new\Player3\special_melee_insta_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_melee_insta_2,voiceovers\zombie\new\Player3\special_melee_insta_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_melee_insta_3,voiceovers\zombie\new\Player3\special_melee_insta_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_melee_insta_4,voiceovers\zombie\new\Player3\special_melee_insta_08.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_melee_insta_5,voiceovers\zombie\new\Player3\special_melee_insta_09.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_box_move_0,voiceovers\zombie\new\Player3\special_box_move_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_box_move_1,voiceovers\zombie\new\Player3\special_box_move_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_box_move_2,voiceovers\zombie\new\Player3\special_box_move_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_box_move_3,voiceovers\zombie\new\Player3\special_box_move_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_box_move_4,voiceovers\zombie\new\Player3\special_box_move_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_start_0,voiceovers\zombie\new\Player3\special_start_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_start_1,voiceovers\zombie\new\Player3\special_start_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_start_2,voiceovers\zombie\new\Player3\special_start_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_start_3,voiceovers\zombie\new\Player3\special_start_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_start_4,voiceovers\zombie\new\Player3\special_start_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_dmg_close_0,voiceovers\zombie\new\Player3\feedback_dmg_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_dmg_close_1,voiceovers\zombie\new\Player3\feedback_dmg_close_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_dmg_close_2,voiceovers\zombie\new\Player3\feedback_dmg_close_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_dmg_close_3,voiceovers\zombie\new\Player3\feedback_dmg_close_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_close_0,voiceovers\zombie\new\Player3\feedback_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_close_1,voiceovers\zombie\new\Player3\feedback_close_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_close_2,voiceovers\zombie\new\Player3\feedback_close_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_close_3,voiceovers\zombie\new\Player3\feedback_close_06.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_close_4,voiceovers\zombie\new\Player3\feedback_close_07.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_close_5,voiceovers\zombie\new\Player3\feedback_close_09.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_close_6,voiceovers\zombie\new\Player3\feedback_close_10.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_3_vox_close_7,voiceovers\zombie\new\Player3\feedback_close_11.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Player 1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
plr_1_vox_crappy_0,voiceovers\zombie\new\Player1\weappick_crappy_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_crappy_1,voiceovers\zombie\new\Player1\weappick_crappy_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_crappy_2,voiceovers\zombie\new\Player1\weappick_crappy_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_crappy_3,voiceovers\zombie\new\Player1\weappick_crappy_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_crappy_4,voiceovers\zombie\new\Player1\weappick_crappy_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_mg_0,voiceovers\zombie\new\Player1\weappick_mg_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_mg_1,voiceovers\zombie\new\Player1\weappick_mg_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_mg_2,voiceovers\zombie\new\Player1\weappick_mg_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_mg_3,voiceovers\zombie\new\Player1\weappick_mg_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_mg_4,voiceovers\zombie\new\Player1\weappick_mg_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_raygun_0,voiceovers\zombie\new\Player1\weappick_raygun_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_raygun_1,voiceovers\zombie\new\Player1\weappick_raygun_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_raygun_2,voiceovers\zombie\new\Player1\weappick_raygun_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_raygun_3,voiceovers\zombie\new\Player1\weappick_raygun_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_raygun_4,voiceovers\zombie\new\Player1\weappick_raygun_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_flame_0,voiceovers\zombie\new\Player1\weappick_flame_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_flame_1,voiceovers\zombie\new\Player1\weappick_flame_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_flame_2,voiceovers\zombie\new\Player1\weappick_flame_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_flame_3,voiceovers\zombie\new\Player1\weappick_flame_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_flame_4,voiceovers\zombie\new\Player1\weappick_flame_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_sniper_0,voiceovers\zombie\new\Player1\weappick_sniper_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_sniper_1,voiceovers\zombie\new\Player1\weappick_sniper_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_sniper_2,voiceovers\zombie\new\Player1\weappick_sniper_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_sniper_3,voiceovers\zombie\new\Player1\weappick_sniper_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_sniper_4,voiceovers\zombie\new\Player1\weappick_sniper_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_shotgun_0,voiceovers\zombie\new\Player1\weappick_shotgun_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_shotgun_1,voiceovers\zombie\new\Player1\weappick_shotgun_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_shotgun_2,voiceovers\zombie\new\Player1\weappick_shotgun_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_shotgun_3,voiceovers\zombie\new\Player1\weappick_shotgun_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_shotgun_4,voiceovers\zombie\new\Player1\weappick_shotgun_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_357_0,voiceovers\zombie\new\Player1\weappick_357_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_357_1,voiceovers\zombie\new\Player1\weappick_357_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_357_2,voiceovers\zombie\new\Player1\weappick_357_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_357_3,voiceovers\zombie\new\Player1\weappick_357_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_357_4,voiceovers\zombie\new\Player1\weappick_357_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_0,voiceovers\zombie\new\Player1\weappick_357_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_1,voiceovers\zombie\new\Player1\feedback_killstreak_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_2,voiceovers\zombie\new\Player1\feedback_killstreak_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_3,voiceovers\zombie\new\Player1\feedback_killstreak_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_4,voiceovers\zombie\new\Player1\feedback_killstreak_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_5,voiceovers\zombie\new\Player1\feedback_killstreak_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_6,voiceovers\zombie\new\Player1\feedback_kill_headd_06.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_7,voiceovers\zombie\new\Player1\feedback_kill_headd_07.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_8,voiceovers\zombie\new\Player1\feedback_kill_headd_08.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_9,voiceovers\zombie\new\Player1\feedback_kill_headd_09.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_10,voiceovers\zombie\new\Player1\feedback_kill_headd_10.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_killstreak_11,voiceovers\zombie\new\Player1\feedback_kill_headd_13.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_0,voiceovers\zombie\new\Player1\feedback_kill_headd_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_1,voiceovers\zombie\new\Player1\feedback_kill_headd_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_2,voiceovers\zombie\new\Player1\feedback_kill_headd_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_3,voiceovers\zombie\new\Player1\feedback_kill_headd_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_4,voiceovers\zombie\new\Player1\feedback_kill_headd_06.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_5,voiceovers\zombie\new\Player1\feedback_kill_headd_07.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_6,voiceovers\zombie\new\Player1\feedback_kill_headd_09.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_7,voiceovers\zombie\new\Player1\feedback_kill_headd_20.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_8,voiceovers\zombie\new\Player1\feedback_kill_headd_21.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_9,voiceovers\zombie\new\Player1\feedback_kill_headd_22.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_10,voiceovers\zombie\new\Player1\feedback_kill_headd_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_kill_headdist_11,voiceovers\zombie\new\Player1\feedback_kill_headd_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_ammo_low_0,voiceovers\zombie\new\Player1\feedback_ammo_low_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_ammo_low_1,voiceovers\zombie\new\Player1\feedback_ammo_low_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_ammo_low_2,voiceovers\zombie\new\Player1\feedback_ammo_low_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_ammo_low_3,voiceovers\zombie\new\Player1\feedback_ammo_low_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_ammo_low_4,voiceovers\zombie\new\Player1\feedback_ammo_low_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_down_gen_0,voiceovers\zombie\new\Player1\revive_down_gen_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_down_gen_1,voiceovers\zombie\new\Player1\revive_down_gen_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_down_gen_2,voiceovers\zombie\new\Player1\revive_down_gen_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_revived_0,voiceovers\zombie\new\Player1\revive_revived_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_revived_1,voiceovers\zombie\new\Player1\revive_revived_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_revived_2,voiceovers\zombie\new\Player1\revive_revived_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_melee_insta_0,voiceovers\zombie\new\Player1\special_melee_insta_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_melee_insta_1,voiceovers\zombie\new\Player1\special_melee_insta_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_melee_insta_2,voiceovers\zombie\new\Player1\special_melee_insta_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_melee_insta_3,voiceovers\zombie\new\Player1\special_melee_insta_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_melee_insta_4,voiceovers\zombie\new\Player1\special_melee_insta_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_melee_insta_5,voiceovers\zombie\new\Player1\special_melee_insta_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_box_move_0,voiceovers\zombie\new\Player1\special_box_move_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_box_move_1,voiceovers\zombie\new\Player1\special_box_move_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_box_move_2,voiceovers\zombie\new\Player1\special_box_move_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_box_move_3,voiceovers\zombie\new\Player1\special_box_move_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_box_move_4,voiceovers\zombie\new\Player1\special_box_move_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_start_0,voiceovers\zombie\new\Player1\special_start_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_start_1,voiceovers\zombie\new\Player1\special_start_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_start_2,voiceovers\zombie\new\Player1\special_start_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_start_3,voiceovers\zombie\new\Player1\special_start_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_start_4,voiceovers\zombie\new\Player1\special_start_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_dmg_close_0,voiceovers\zombie\new\Player1\feedback_dmg_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_dmg_close_1,voiceovers\zombie\new\Player1\feedback_dmg_close_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_dmg_close_2,voiceovers\zombie\new\Player1\feedback_dmg_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_dmg_close_3,voiceovers\zombie\new\Player1\feedback_dmg_close_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_close_0,voiceovers\zombie\new\Player1\feedback_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_close_1,voiceovers\zombie\new\Player1\feedback_close_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_close_2,voiceovers\zombie\new\Player1\feedback_close_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_close_3,voiceovers\zombie\new\Player1\feedback_killstreak_20.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_close_4,voiceovers\zombie\new\Player1\feedback_killstreak_21.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_close_5,voiceovers\zombie\new\Player1\feedback_killstreak_22.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_close_6,voiceovers\zombie\new\Player1\feedback_killstreak_23.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_1_vox_close_7,voiceovers\zombie\new\Player1\feedback_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1

# Player 2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
plr_2_vox_crappy_0,voiceovers\zombie\new\Player2\weappick_crappy_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_crappy_1,voiceovers\zombie\new\Player2\weappick_crappy_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_crappy_2,voiceovers\zombie\new\Player2\weappick_crappy_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_crappy_3,voiceovers\zombie\new\Player2\weappick_crappy_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_crappy_4,voiceovers\zombie\new\Player2\weappick_crappy_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_mg_0,voiceovers\zombie\new\Player2\weappick_mg_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_mg_1,voiceovers\zombie\new\Player2\weappick_mg_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_mg_2,voiceovers\zombie\new\Player2\weappick_mg_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_mg_3,voiceovers\zombie\new\Player2\weappick_mg_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_mg_4,voiceovers\zombie\new\Player2\weappick_mg_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_raygun_0,voiceovers\zombie\new\Player2\weappick_raygun_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_raygun_1,voiceovers\zombie\new\Player2\weappick_raygun_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_raygun_2,voiceovers\zombie\new\Player2\weappick_raygun_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_raygun_3,voiceovers\zombie\new\Player2\weappick_raygun_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_raygun_4,voiceovers\zombie\new\Player2\weappick_raygun_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_flame_0,voiceovers\zombie\new\Player2\weappick_flame_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_flame_1,voiceovers\zombie\new\Player2\weappick_flame_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_flame_2,voiceovers\zombie\new\Player2\weappick_flame_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_flame_3,voiceovers\zombie\new\Player2\weappick_flame_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_flame_4,voiceovers\zombie\new\Player2\weappick_flame_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_sniper_0,voiceovers\zombie\new\Player2\weappick_sniper_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_sniper_1,voiceovers\zombie\new\Player2\weappick_sniper_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_sniper_2,voiceovers\zombie\new\Player2\weappick_sniper_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_sniper_3,voiceovers\zombie\new\Player2\weappick_sniper_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_sniper_4,voiceovers\zombie\new\Player2\weappick_sniper_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_shotgun_0,voiceovers\zombie\new\Player2\weappick_shotgun_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_shotgun_1,voiceovers\zombie\new\Player2\weappick_shotgun_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_shotgun_2,voiceovers\zombie\new\Player2\weappick_shotgun_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_shotgun_3,voiceovers\zombie\new\Player2\weappick_shotgun_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_shotgun_4,voiceovers\zombie\new\Player2\weappick_shotgun_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_357_0,voiceovers\zombie\new\Player2\weappick_357_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_357_1,voiceovers\zombie\new\Player2\weappick_357_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_357_2,voiceovers\zombie\new\Player2\weappick_357_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_357_3,voiceovers\zombie\new\Player2\weappick_357_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_357_4,voiceovers\zombie\new\Player2\weappick_357_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_0,voiceovers\zombie\new\Player2\feedback_killstreak_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_1,voiceovers\zombie\new\Player2\feedback_killstreak_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_2,voiceovers\zombie\new\Player2\feedback_killstreak_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_3,voiceovers\zombie\new\Player2\feedback_killstreak_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_4,voiceovers\zombie\new\Player2\feedback_killstreak_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_5,voiceovers\zombie\new\Player2\feedback_kill_headd_09.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_6,voiceovers\zombie\new\Player2\feedback_killstreak_20.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_7,voiceovers\zombie\new\Player2\feedback_killstreak_21.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_8,voiceovers\zombie\new\Player2\feedback_killstreak_22.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_9,voiceovers\zombie\new\Player2\feedback_killstreak_23.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_10,voiceovers\zombie\new\Player2\feedback_killstreak_24.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_killstreak_11,voiceovers\zombie\new\Player2\feedback_killstreak_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_0,voiceovers\zombie\new\Player2\feedback_kill_headd_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_1,voiceovers\zombie\new\Player2\feedback_kill_headd_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_2,voiceovers\zombie\new\Player2\feedback_kill_headd_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_3,voiceovers\zombie\new\Player2\feedback_kill_headd_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_4,voiceovers\zombie\new\Player2\feedback_kill_headd_07.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_5,voiceovers\zombie\new\Player2\feedback_kill_headd_20.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_6,voiceovers\zombie\new\Player2\feedback_kill_headd_21.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_7,voiceovers\zombie\new\Player2\feedback_kill_headd_22.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_8,voiceovers\zombie\new\Player2\feedback_kill_headd_23.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_9,voiceovers\zombie\new\Player2\feedback_kill_headd_24.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_10,voiceovers\zombie\new\Player2\feedback_kill_headd_25.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_kill_headdist_11,voiceovers\zombie\new\Player2\feedback_kill_headd_26.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_ammo_low_0,voiceovers\zombie\new\Player2\feedback_ammo_low_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_ammo_low_1,voiceovers\zombie\new\Player2\feedback_ammo_low_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_ammo_low_2,voiceovers\zombie\new\Player2\feedback_ammo_low_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_ammo_low_3,voiceovers\zombie\new\Player2\feedback_ammo_low_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_ammo_low_4,voiceovers\zombie\new\Player2\feedback_ammo_low_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_down_gen_0,voiceovers\zombie\new\Player2\revive_down_gen_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_down_gen_1,voiceovers\zombie\new\Player2\revive_down_gen_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_down_gen_2,voiceovers\zombie\new\Player2\revive_down_gen_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_revived_0,voiceovers\zombie\new\Player2\revive_revived_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_revived_1,voiceovers\zombie\new\Player2\revive_revived_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_revived_2,voiceovers\zombie\new\Player2\revive_revived_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_melee_insta_0,voiceovers\zombie\new\Player2\special_melee_insta_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_melee_insta_1,voiceovers\zombie\new\Player2\special_melee_insta_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_melee_insta_2,voiceovers\zombie\new\Player2\special_melee_insta_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_melee_insta_3,voiceovers\zombie\new\Player2\special_melee_insta_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_melee_insta_4,voiceovers\zombie\new\Player2\special_melee_insta_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_melee_insta_5,voiceovers\zombie\new\Player2\feedback_kill_headd_14.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_box_move_0,voiceovers\zombie\new\Player2\special_box_move_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_box_move_1,voiceovers\zombie\new\Player2\special_box_move_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_box_move_2,voiceovers\zombie\new\Player2\special_box_move_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_box_move_3,voiceovers\zombie\new\Player2\special_box_move_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_box_move_4,voiceovers\zombie\new\Player2\special_box_move_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_start_0,voiceovers\zombie\new\Player2\special_start_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_start_1,voiceovers\zombie\new\Player2\special_start_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_start_2,voiceovers\zombie\new\Player2\special_start_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_start_3,voiceovers\zombie\new\Player2\special_start_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_start_4,voiceovers\zombie\new\Player2\special_start_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_dmg_close_0,voiceovers\zombie\new\Player2\feedback_dmg_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_dmg_close_1,voiceovers\zombie\new\Player2\feedback_dmg_close_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_dmg_close_2,voiceovers\zombie\new\Player2\feedback_dmg_close_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_dmg_close_3,voiceovers\zombie\new\Player2\feedback_dmg_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_close_0,voiceovers\zombie\new\Player2\feedback_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_close_1,voiceovers\zombie\new\Player2\feedback_close_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_close_2,voiceovers\zombie\new\Player2\feedback_close_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_close_3,voiceovers\zombie\new\Player2\feedback_close_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_close_4,voiceovers\zombie\new\Player2\feedback_close_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_close_5,voiceovers\zombie\new\Player2\feedback_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_close_6,voiceovers\zombie\new\Player2\feedback_close_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1
plr_2_vox_close_7,voiceovers\zombie\new\Player2\feedback_close_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,,0.5,,,,,,10,25,0.25,1

# Player 0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
plr_0_vox_crappy_0,voiceovers\zombie\new\Player0\weappick_crappy_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_crappy_1,voiceovers\zombie\new\Player0\weappick_crappy_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_crappy_2,voiceovers\zombie\new\Player0\weappick_crappy_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_crappy_3,voiceovers\zombie\new\Player0\weappick_crappy_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_crappy_4,voiceovers\zombie\new\Player0\weappick_crappy_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_mg_0,voiceovers\zombie\new\Player0\weappick_mg_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_mg_1,voiceovers\zombie\new\Player0\weappick_mg_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_mg_2,voiceovers\zombie\new\Player0\weappick_mg_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_mg_3,voiceovers\zombie\new\Player0\weappick_mg_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_mg_4,voiceovers\zombie\new\Player0\weappick_mg_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_raygun_0,voiceovers\zombie\new\Player0\weappick_raygun_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_raygun_1,voiceovers\zombie\new\Player0\weappick_raygun_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_raygun_2,voiceovers\zombie\new\Player0\weappick_raygun_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_raygun_3,voiceovers\zombie\new\Player0\weappick_raygun_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_raygun_4,voiceovers\zombie\new\Player0\weappick_raygun_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,raygun_stinger,,1500,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_flame_0,voiceovers\zombie\new\Player0\weappick_flame_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_flame_1,voiceovers\zombie\new\Player0\weappick_flame_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_flame_2,voiceovers\zombie\new\Player0\weappick_flame_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_flame_3,voiceovers\zombie\new\Player0\weappick_flame_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_flame_4,voiceovers\zombie\new\Player0\weappick_flame_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_sniper_0,voiceovers\zombie\new\Player0\weappick_sniper_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_sniper_1,voiceovers\zombie\new\Player0\weappick_sniper_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_sniper_2,voiceovers\zombie\new\Player0\weappick_sniper_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_sniper_3,voiceovers\zombie\new\Player0\weappick_sniper_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_sniper_4,voiceovers\zombie\new\Player0\weappick_sniper_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_shotgun_0,voiceovers\zombie\new\Player0\weappick_shotgun_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_shotgun_1,voiceovers\zombie\new\Player0\weappick_shotgun_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_shotgun_2,voiceovers\zombie\new\Player0\weappick_shotgun_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_shotgun_3,voiceovers\zombie\new\Player0\weappick_shotgun_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_shotgun_4,voiceovers\zombie\new\Player0\weappick_shotgun_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_357_0,voiceovers\zombie\new\Player0\weappick_357_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_357_1,voiceovers\zombie\new\Player0\weappick_357_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_357_2,voiceovers\zombie\new\Player0\weappick_357_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_357_3,voiceovers\zombie\new\Player0\weappick_357_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_357_4,voiceovers\zombie\new\Player0\weappick_357_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_0,voiceovers\zombie\new\Player0\weappick_357_05.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_1,voiceovers\zombie\new\Player0\feedback_killstreak_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_2,voiceovers\zombie\new\Player0\feedback_killstreak_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_3,voiceovers\zombie\new\Player0\feedback_killstreak_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_4,voiceovers\zombie\new\Player0\feedback_killstreak_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_5,voiceovers\zombie\new\Player0\feedback_killstreak_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_6,voiceovers\zombie\new\Player0\feedback_kill_headd_13.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_7,voiceovers\zombie\new\Player0\feedback_killstreak_05.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_8,voiceovers\zombie\new\Player0\feedback_killstreak_06.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_9,voiceovers\zombie\new\Player0\weappick_357_05.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_10,voiceovers\zombie\new\Player0\feedback_killstreak_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_killstreak_11,voiceovers\zombie\new\Player0\feedback_killstreak_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_0,voiceovers\zombie\new\Player0\feedback_kill_headd_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_1,voiceovers\zombie\new\Player0\feedback_kill_headd_13.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_2,voiceovers\zombie\new\Player0\feedback_kill_headd_14.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_3,voiceovers\zombie\new\Player0\feedback_killstreak_05.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_4,voiceovers\zombie\new\Player0\feedback_killstreak_16.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_5,voiceovers\zombie\new\Player0\feedback_kill_headd_20.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_6,voiceovers\zombie\new\Player0\feedback_kill_headd_21.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_7,voiceovers\zombie\new\Player0\feedback_kill_headd_22.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_8,voiceovers\zombie\new\Player0\feedback_kill_headd_23.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_9,voiceovers\zombie\new\Player0\feedback_kill_headd_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_10,voiceovers\zombie\new\Player0\feedback_kill_headd_13.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_kill_headdist_11,voiceovers\zombie\new\Player0\feedback_kill_headd_14.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_ammo_low_0,voiceovers\zombie\new\Player0\feedback_ammo_low_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_ammo_low_1,voiceovers\zombie\new\Player0\feedback_ammo_low_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_ammo_low_2,voiceovers\zombie\new\Player0\feedback_ammo_low_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_ammo_low_3,voiceovers\zombie\new\Player0\feedback_ammo_low_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_ammo_low_4,voiceovers\zombie\new\Player0\feedback_ammo_low_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_down_gen_0,voiceovers\zombie\new\Player0\revive_down_gen_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_down_gen_1,voiceovers\zombie\new\Player0\revive_down_gen_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_down_gen_2,voiceovers\zombie\new\Player0\revive_down_gen_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_revived_0,voiceovers\zombie\new\Player0\revive_revived_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_revived_1,voiceovers\zombie\new\Player0\revive_revived_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_revived_2,voiceovers\zombie\new\Player0\revive_revived_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_melee_insta_0,voiceovers\zombie\new\Player0\special_melee_insta_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_melee_insta_1,voiceovers\zombie\new\Player0\special_melee_insta_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_melee_insta_2,voiceovers\zombie\new\Player0\special_melee_insta_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_melee_insta_3,voiceovers\zombie\new\Player0\special_melee_insta_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_melee_insta_4,voiceovers\zombie\new\Player0\special_melee_insta_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_melee_insta_5,voiceovers\zombie\new\Player0\feedback_kill_headd_11.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_box_move_0,voiceovers\zombie\new\Player0\special_box_move_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_box_move_1,voiceovers\zombie\new\Player0\special_box_move_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_box_move_2,voiceovers\zombie\new\Player0\special_box_move_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_box_move_3,voiceovers\zombie\new\Player0\special_box_move_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_box_move_4,voiceovers\zombie\new\Player0\special_box_move_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_start_0,voiceovers\zombie\new\Player0\special_start_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_start_1,voiceovers\zombie\new\Player0\special_start_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_start_2,voiceovers\zombie\new\Player0\special_start_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_start_3,voiceovers\zombie\new\Player0\special_start_03.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_start_4,voiceovers\zombie\new\Player0\special_start_04.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_dmg_close_0,voiceovers\zombie\new\Player0\feedback_dmg_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_dmg_close_1,voiceovers\zombie\new\Player0\feedback_dmg_close_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_dmg_close_2,voiceovers\zombie\new\Player0\feedback_dmg_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_dmg_close_3,voiceovers\zombie\new\Player0\feedback_dmg_close_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_close_0,voiceovers\zombie\new\Player0\feedback_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_close_1,voiceovers\zombie\new\Player0\feedback_close_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_close_2,voiceovers\zombie\new\Player0\feedback_close_02.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_close_3,voiceovers\zombie\new\Player0\feedback_killstreak_20.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_close_4,voiceovers\zombie\new\Player0\feedback_killstreak_21.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_close_5,voiceovers\zombie\new\Player0\feedback_killstreak_22.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_close_6,voiceovers\zombie\new\Player0\feedback_close_00.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1
plr_0_vox_close_7,voiceovers\zombie\new\Player0\feedback_close_01.wav,,,1,1,75,1700,2,reject,1,reject,voice,,curve2,0.8,2100,,curve2,1,1,,3d,streamed,0.3,,master,,,,,,0,,,,50,500,0.9,0.5,,,,,,10,25,0.25,1

[edit] Bipods

World at War: SP/MP Static And Deployable Turrets

[edit] Effects

World at War: SP Effects

[edit] Arena File

(link to tutorial coming)

Example for level nazi_zombie_yourmapname:

codwaw/mods/yourmodname/mod.arena

(mod.arena is simply a text file loaded with Notepad)

{
	map			"mak"
	longname	"MENU_LEVEL_MAK"
	gametype	"cmp arc"
}
{
	map			"nazi_zombie_prototype"
	longname	"MENU_LEVEL_ZOMBIE_PROTOTYPE"
	gametype	"zom"
}
{
	map			"nazi_zombie_asylum"
	longname	"PATCH_LEVEL_ZOMBIE_ASYLUM"
	gametype	"zom"
}
{
	map			"nazi_zombie_yourmapname"
	longname	"zombiemode_fun_yeah"
	gametype	"zom"
}

map

This is your maps actual name, so if you have a nazi_zombie_yourmapname.ff in the mods/yourmodname/ folder then that will be the name you need.

longname

Can be anything you want, this is what users will see when browsing the in-game co-op menu

gametype

If = zom Will allow the level to show in the Zombiemode list instead of the normal co-op list.

[edit] Zombie Zone Source

codwaw/zone_source/nazi_zombie_yourmapname.csv

ignore,code_post_gfx
ignore,common

// my strings
localize,zombie
localize,mylevel

// for coop players
include,common_player_us

// for puddle effects,,,
include,water

// shock
material,zombie_electric_shock_overlay
rawfile,shock/electrocution.shock

rawfile,clientscripts/createfx/nazi_zombie_yourmapname_fx.csc
rawfile,clientscripts/nazi_zombie_yourmapname.csc
rawfile,clientscripts/nazi_zombie_yourmapname_amb.csc
rawfile,clientscripts/nazi_zombie_yourmapname_fx.csc
rawfile,maps/nazi_zombie_yourmapname.gsc
rawfile,maps/nazi_zombie_yourmapname_fx.gsc
rawfile,maps/nazi_zombie_yourmapname_amb.gsc
rawfile,maps/_destructible_opel_blitz.gsc
rawfile,maps/_mgturret.gsc
rawfile,vision/yourmapname.vision


material,watersheeting_color_distort_blur

col_map_sp,maps/nazi_zombie_yourmapname.d3dbsp

// sound
sound,common,nazi_zombie_yourmapname,all_sp
sound,generic,nazi_zombie_yourmapname,all_sp
sound,voiceovers,nazi_zombie_yourmapname,all_sp
sound,requests,nazi_zombie_yourmapname,all_sp
sound,character,nazi_zombie_yourmapname,all_sp
sound,projectiles,nazi_zombie_yourmapname,all_sp
sound,nazi_zombie_yourmapname,nazi_zombie_yourmapname,all_sp
sound,physics,nazi_zombie_yourmapname,all_sp
sound,destructibles,nazi_zombie_yourmapname,all_sp
sound,weapons,audio_test_tuey,all_sp

// SCRIPTED FX
fx,destructibles/fx_dest_fire_car_fade_40
fx,destructibles/fx_dest_fire_car_fade_25
fx,destructibles/fx_dest_fire_lg
fx,destructibles/fx_dest_fire_med
fx,destructibles/fx_dest_fire_sm
fx,env/smoke/fx_smoke_sm_blk_20_fade

fx,misc/fx_zombie_electric_trap
fx,env/electrical/fx_elec_sparking_oneshot
fx,misc/fx_zombie_elec_trail
fx,misc/fx_zombie_cola_on
fx,misc/fx_zombie_cola_dtap_on
fx,misc/fx_zombie_cola_jugg_on
fx,misc/fx_zombie_cola_revive_on
fx,misc/fx_zombie_zapper_powerbox_on
fx,misc/fx_zombie_zapper_wall_control_on
fx,misc/fx_zombie_zapper_light_green
fx,misc/fx_zombie_zapper_light_red
fx,misc/fx_zombie_elec_trail_oneshot
fx,env/electrical/fx_elec_wire_spark_dl_oneshot

fx,env/electrical/fx_elec_player_md
fx,env/electrical/fx_elec_player_sm
fx,env/electrical/fx_elec_player_torso
fx,explosions/fx_flamethrower_char_explosion
fx,weapon/bouncing_betty/fx_explosion_betty_generic
fx,weapon/bouncing_betty/fx_betty_trail
fx,env/electrical/fx_elec_wire_spark_burst

fx,misc/fx_zombie_elec_gen_on
fx,misc/fx_zombie_elec_gen_idle

fx,destructibles/fx_barrelexp
fx,destructibles/fx_barrel_ignite
fx,destructibles/fx_barrel_fire_top
fx,env/dirt/fx_dust_ceiling_impact_lg_mdbrown
fx,misc/fx_zombie_couch_effect
fx,misc/fx_zombie_light_elec_room_on
fx,env/light/fx_glow_hanginglamp

fx,bio/player/fx_footstep_dust
fx,bio/player/fx_footstep_water
fx,bio/player/fx_footstep_sand
fx,bio/player/fx_footstep_mud

xanim,ch_dazed_d_death
xanim,ch_dazed_c_death
xanim,ch_dazed_b_death
xanim,ch_dazed_a_death
xanim,ch_dazed_d
xanim,ch_dazed_c
xanim,ch_dazed_b
xanim,ch_dazed_a

xmodel,exploding_barrel_test
xmodel,exploding_barrel_test_d
xmodel,global_explosive_barrel_japanese
xmodel,zombie_teddybear
xmodel,zombie_vending_doubletap_on
xmodel,zombie_vending_jugg_on
xmodel,zombie_vending_revive_on
xmodel,zombie_vending_sleight_on
xmodel,zombie_zapper_power_box_on
xmodel,zombie_zapper_power_box
xmodel,zombie_zapper_cagelight_red
xmodel,zombie_zapper_cagelight_green

xmodel,lights_tinhatlamp_off
xmodel,lights_tinhatlamp_on
xmodel,lights_indlight_on
xmodel,lights_indlight

xmodel,skybox_zombie

xmodel,viewmodel_usa_marine_arms
xmodel,viewmodel_usa_marine_player


// Fog and vision,
rawfile,maps/createart/nazi_zombie_thehallway_art.gsc

// WEAPONS
// regular weapons
weapon,sp/colt
weapon,sp/colt_dirty_harry
weapon,sp/m1garand
weapon,sp/kar98k_scoped_zombie
weapon,sp/kar98k
weapon,sp/fraggrenade
weapon,sp/m2_flamethrower_zombie
weapon,sp/molotov
weapon,sp/napalmblob
weapon,sp/napalmbloblight
weapon,sp/doublebarrel
weapon,sp/m1carbine
weapon,sp/doublebarrel_sawed_grip
weapon,sp/gewehr43
weapon,sp/ptrs41_zombie
weapon,sp/shotgun
weapon,sp/stg44
weapon,sp/thompson
weapon,sp/mp40
weapon,sp/bar

weapon,sp/springfield
weapon,sp/m1garand_gl_zombie
weapon,sp/panzerschrek_zombie
weapon,sp/mk2_frag
weapon,sp/m7_launcher_zombie
weapon,sp/walther
weapon,sp/sw_357
weapon,sp/zombie_colt
weapon,sp/stielhandgranate
weapon,sp/ray_gun
weapon,sp/ppsh

weapon,sp/mine_bouncing_betty
weapon,sp/zombie_perk_bottle_doubletap
weapon,sp/zombie_perk_bottle_jugg
weapon,sp/zombie_perk_bottle_revive
weapon,sp/zombie_perk_bottle_sleight

// Effects
// smoke
fx,env/smoke/fx_fog_rolling_thick_600x600

// dirt
fx,env/dirt/fx_dust_ceiling_impact_lg_mdbrown

// zombie and footsteps
fx,misc/fx_zombie_couch_effect
fx,env/smoke/fx_fog_zombie_amb
fx,bio/player/fx_footstep_dust
fx,bio/player/fx_footstep_water
fx,bio/player/fx_footstep_sand
fx,bio/player/fx_footstep_mud

fx,env/electrical/fx_elec_wire_spark_burst
fx,env/electrical/fx_elec_wire_spark_burst_blue

// lighting
fx,env/light/fx_light_god_rays_large	
fx,env/light/fx_light_god_rays_medium	
fx,env/light/fx_light_god_ray_sm_single
fx,env/light/fx_light_god_ray_sm_shrt_single
fx,env/light/fx_light_god_rays_dust_motes
fx,env/light/fx_glow_lampost_white_dim_static

// fire effects
fx,env/fire/fx_fire_barrel_med
fx,env/fire/fx_fire_column_creep_sm
fx,env/fire/fx_fire_barrel_small

// explodable barrels
fx,destructibles/fx_barrelExp
fx,destructibles/fx_barrel_ignite
fx,destructibles/fx_barrel_fire_top

// moonflare
// rawfile,sun/nazi_zombie_yourmapname.sun
// material,sun_moon
// material,sun_moon_flare

// extra mountable bipods
// mg42
weapon,sp/mg42_bipod_crouch
weapon,sp/mg42_bipod_stand
weapon,sp/mg42_bipod_prone
weapon,sp/mg42_bipod
weapon,sp/50cal_turret_technical
xmodel,mounted_ger_mg42_bipod_mg
xmodel,mounted_ger_mg42_mg
xmodel,viewmodel_ger_mg42_mg
xmodel,viewmodel_ger_mg42_bipod_mg
xmodel,weapon_ger_mg42_mg
xmodel,weapon_ger_mg42_bipod_mg
xmodel,weapon_ger_mg_mg42
// Bar
weapon,sp/bar_bipod_crouch
weapon,sp/bar_bipod_prone
weapon,sp/bar_bipod_stand
weapon,sp/bar_bipod
xmodel,mounted_usa_bar_bipod_lmg
xmodel,mounted_usa_bar_lmg
xmodel,viewmodel_usa_bar_bipod_lmg
xmodel,viewmodel_usa_bar_lmg
xmodel,weapon_usa_bar_bipod_lmg
xmodel,weapon_usa_bar_lmg
// FG42
weapon,sp/fg42_bipod
weapon,sp/fg42_bipod_prone
weapon,sp/fg42_bipod_crouch
weapon,sp/fg42_bipod_stand
xmodel,mounted_ger_fg42_bipod_lmg
xmodel,mounted_ger_fg42_lmg
xmodel,viewmodel_ger_fg42_bipod_lmg
xmodel,viewmodel_ger_fg42_lmg
xmodel,weapon_ger_fg42_bipod_lmg
xmodel,weapon_ger_fg42_lmg
// 30Cal
weapon,sp/30cal_bipod
weapon,sp/30cal_bipod_prone
weapon,sp/30cal_bipod_crouch
weapon,sp/30cal_bipod_stand
xmodel,mounted_usa_30cal_bipod_lmg
xmodel,mounted_usa_30cal_lmg
xmodel,viewmodel_usa_30cal_bipod_lmg
xmodel,viewmodel_usa_30cal_lmg
xmodel,weapon_usa_30cal_bipod_lmg
xmodel,weapon_usa_30cal_lmg
// Type99
weapon,sp/type99_lmg_bipod
weapon,sp/type99_lmg_bipod_stand
weapon,sp/type99_lmg_bipod_crouch
weapon,sp/type99_lmg_bipod_prone
weapon,sp/type99_lmg_bipod_wet

IF you have a loadscreen:

codwaw/zone_source/nazi_zombie_yourmapname_load.csv

ignore,code_post_gfx
ignore,common
ui_map,maps/nazi_zombie_yourmapname.csv

[edit] Mod and Level Compiling

For the new gametype to work your level must be within a mod.

Create a new folder in codwaw/mods/

So you might have:

codwaw/mods/My_Zombie_mod

Create some new folders inside of "my_zombie_mod":

images (incase you have custom textures or backgrounds) weapons/sp (for new zombie weapons to be loaded)

(link to new weapons?)

In "my_zombie_mod" create some additional files:

mod.csv

(Uncomment if you actually have certain files)

// Menu String
localize,myzombiemod,,
// Loadscreen Image
// material,loadscreen_nazi_zombie_yourmapname
// Mission Screen Table
// stringtable,maps/mapsTable.csv
// ZombieMode
include,zombiemode
// Anim Trees
rawfile,animtrees/generic_human.atr
rawfile,animtrees/dog.atr

mod.arena

(This shows your level in the in-game maps list)


Compiling MOD

In Launcher.exe select the "Mod Builder Tab" and select "My_zombie_mod" from the list of mods.

(if you have custom textures/images then tick "images")

Tick in the right hand column:

weapons mod.arena mod.csv

Now to the top left tick:

Build mod.ff Fastfile Build IWD File

Click "Build MOD"

Compiling Level

In Launcher.exe select the "Compile Level Tab" and select "nazi_Zombie_yourmapname" from the list of maps.

Tick "Mod Specific map" from the right hand side and from the drop down box choose "My_zombie_mod".

Tick the following:

Compile BSP Compile Lights Compile Paths Compile Reflections Build FastFiles

Click "Compile"

Warning: On large levels this may take a while!

When finished the launcher will display "NO ACTIVE PROCESS" in the bottom left corner, do NOT do anything until then.

[edit] Testing

Load the SP game.

Click Mods, Select your mod and click launch, once the game restarts hosts a co-op game and select your level to play on or for solo testing from the main menu drop the console "¬" and type:

/map nazi_zombie_yourmapname

For developer mode

/developer 2 /devmap nazi_zombie_yourmapname

[edit] Distribution

If the level is working with no errors you can simply select the "my_zombie_mod" folder from codwaw/mods and right click> compress to zip file.

Use Normal compression. (Always include a readme with instructions inside the zip file!)

You can now give this zip file to your friends and have them extract it in:

Vista

C:\Users\yourusername\appData\Local\Activision\CoDWaW\mods

So AFTER extraction your zip a users directory would look like:

C:\Users\yourusername\appData\Local\Activision\CoDWaW\mods\my_zombie_mod

XP

C:\Documents and Settings\yourusername\Local Settings\Application Data\Activision\CoDWaW\mods

Image:Note.pngNote: Show Hidden files and folders must be ticked in "tools>folder options"

Users may have to create the "mods" folder.

All users must launch the mod before playing in co-op.

Personal tools