List of L4D Missions Files

From Valve Developer Community
Jump to navigation Jump to search

The following are mission files belonging to official Left 4 Dead Left 4 Dead campaigns. All but one mission file are found under left4dead/missions, with the single exception being located in left4dead_dlc3/missions. (The Sacrifice)

The Sacrifice's mission file also contains extra documentation at the bottom of files, and also includes keys are not present in other mission files.

No Mercy (hospital.txt)

mission
{
	"Name"		"Hospital"
	"Version"       "1"
	"Author"	"Valve"
	"Website"	"http://store.steampowered.com/app/500/"
	"BuiltIn"       "1"
	"DisplayTitle"		"#L4D360UI_Campaign_Hospital"
	"Description"		"#L4D_Mission_MercyHospital_Objective"
	"OuttroImage"		"vgui/outroTitle_NoMercy"

	// Loading poster data
	"poster"
	{
		"posterImage"		"LoadingScreen_NoMercy"
		
		// We don't display the poster title in english since its already on the poster
		// We display the translated names overlayed in other languages
		"posterTitle"		"#L4D360UI_ApartmentsCampaignTitle" [$!ENGLISH]
		"posterTitle_y"		"395"
		
		"posterTagline"		"#L4D360UI_ApartmentsCampaignTagline" [$!ENGLISH]
		"posterTagline_y"	"50"
		
		"bill_player_name_x"	"-22"
		"bill_player_name_y"	"-95"
		
		"louis_player_name_x"	"95"
		"louis_player_name_y"	"-30"
		
		"zoey_player_name_x"	"22"
		"zoey_player_name_y"	"8"
		
		"francis_player_name_x"	"-105"
		"francis_player_name_y"	"-60"
	}

	"modes"
	{
		"coop"
		{
			"1"
			{
				"Map" "l4d_hospital01_apartment"
				"DisplayName" "#L4D360UI_Chapter_Apartment"
				"Image" "maps/l4d_hospital01_apartment"
			}

			"2"
			{
				"Map" "l4d_hospital02_subway"
				"DisplayName" "#L4D360UI_Chapter_Subway"
				"Image" "maps/l4d_hospital02_subway"
			}

			"3"
			{
				"Map" "l4d_hospital03_sewers"
				"DisplayName" "#L4D360UI_Chapter_Sewers"
				"Image" "maps/l4d_hospital03_sewers"
			}

			"4"		
			{
				"Map" "l4d_hospital04_interior"
				"DisplayName" "#L4D360UI_Chapter_Hospital"
				"Image" "maps/l4d_hospital04_interior"
			}

			"5"		
			{
				"Map" "l4d_hospital05_rooftop"
				"DisplayName" "#L4D360UI_Chapter_Rooftop"
				"Image" "maps/l4d_hospital05_rooftop"
			}
		}

		"versus"
		{
			"1"
			{
				"Map" "l4d_vs_hospital01_apartment"
				"DisplayName" "#L4D360UI_Chapter_Apartment"
				"Image" "maps/l4d_hospital01_apartment"
				"VersusModifier" "1.0"
			}
	
			"2"		
			{
				"Map" "l4d_vs_hospital02_subway"
				"DisplayName" "#L4D360UI_Chapter_Subway"
				"Image" "maps/l4d_hospital02_subway"
				"VersusModifier" "1.3"
			}
	
			"3"		
			{
				"Map" "l4d_vs_hospital03_sewers"
				"DisplayName" "#L4D360UI_Chapter_Sewers"
				"Image" "maps/l4d_hospital03_sewers"
				"VersusModifier" "1.4"
			}
	
			"4"		
			{
				"Map" "l4d_vs_hospital04_interior"
				"DisplayName" "#L4D360UI_Chapter_Hospital"
				"Image" "maps/l4d_hospital04_interior"
				"VersusModifier" "1.5"
			}
	
			"5"		
			{
				"Map" "l4d_vs_hospital05_rooftop"
				"DisplayName" "#L4D360UI_Chapter_Rooftop"
				"Image" "maps/l4d_hospital05_rooftop"
				"VersusModifier" "2.0"
			}
		}	
	
		"survival"
		{
			"1"		
			{
				"Map" "l4d_hospital02_subway"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Subway"
				"Image" "maps/l4d_hospital02_subway"
			}
	
			"2"		
			{
				"Map" "l4d_hospital03_sewers"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Sewers"
				"Image" "maps/l4d_hospital03_sewers"
			}
	
			"3"		
			{
				"Map" "l4d_hospital04_interior"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Hospital"
				"Image" "maps/l4d_hospital04_interior"
			}

			"4"		
			{
				"Map" "l4d_vs_hospital05_rooftop"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Rooftop"
				"Image" "maps/l4d_hospital05_rooftop"
			}
		}	
	}
}

Crash Course (garage.txt)

"mission"
{
	"Name"				"Garage"
	"Version"			"1"
	"Author"			"Valve"
	"Website"			"http://www.turtlerockstudios.com/"
	"BuiltIn"			"1"
	"DisplayTitle"		"#L4D360UI_Campaign_Garage"
	"Description"		"#L4D_Mission_Garage_Objective"
	"OuttroImage"		"vgui/outroTitle_CrashCourse"

	// Loading poster data
	"poster"
	{
		"posterImage"		"LoadingScreen_CrashCourse"

		"posterTitle"		"#L4D360UI_GarageCampaignTitle" [$!ENGLISH]
		"posterTitle_y"		""

		"posterTagline"		"#L4D360UI_GarageCampaignTagline" [$!ENGLISH]
		"posterTagline_y"	""

		"bill_player_name_x"	"-93"
		"bill_player_name_y"	"0"

		"francis_player_name_x"	"-35"
		"francis_player_name_y"	"-85"		
		
		"louis_player_name_x"	"45"
		"louis_player_name_y"	"-60"

		"zoey_player_name_x"	"103"
		"zoey_player_name_y"	"-25"
	}
	
	
	// "SpawnBossThreats"
	// Controls whether or not a map can randomly spawn witches / tanks. By default, the first map in a campaign can't. 
	// If this value is set for a map, it overrides the default. (0 for false, 1 for true)
	
	// "versus_boss_spawning"
	// In versus games, there are a set of console variables that are used to govern how witches and 
	// tanks spawn. If you wish to override those defaults for a map in this campaign, you can do that here. 
	// If you don't specify a mapma or a specific value for a map, 
	// it will use the console variables defaults instead. 
	//
	// spawn_pos_min - (float: 0.01 ... 0.99)
	//	The mtxtmum random position on a map to spawn a boss. 
	//	0.01 means right near the beginning, 0.99 means near the end
	// 
	// spawn_pos_max - (float: 0.01 ... 0.99)
	//	The maximum random position on a map to spawn a boss. 
	//	0.01 means right near the beginning, 0.99 means near the end
	//
	// tank_chance - (float: 0.0 ... 1.0)
	//	The random chance that a Tank will spawn, 0 being never and 1 being always.
	//
	// witch_chance - (float: 0.0 ... 1.0)
	//	The random chance that a witch will spawn, 0 being never and 1 being always.
	//
	// witch_and_tank - (int: 0 or 1)
	//	If both a witch and a tank randomly spawn, this controls whether 
	// 	the tank is supressed in favor of the witch. 
	// 	0 means only spawn the witch if they would both spawn, 1 means spawn them both. 
	//	

	"modes"
	{
		"coop"
		{
			"1"
			{
				"Map" "l4d_garage01_alleys"
				"DisplayName" "#L4D360UI_Chapter_Alleys"
				"Image" "maps/l4d_garage01_alleys"
				"SpawnBossThreats" "1"
			}

			"2"
			{
				"Map" "l4d_garage02_lots"
				"DisplayName" "#L4D360UI_Chapter_Depot"
				"Image" "maps/l4d_garage02_lots"
				"SpawnBossThreats" "1"
			}

		}

		"versus"
		{
			"1"
			{
				"Map" "l4d_garage01_alleys"
				"DisplayName" "#L4D360UI_Chapter_Alleys"
				"Image" "maps/l4d_garage01_alleys"
				"VersusModifier" "1.0"
				"SpawnBossThreats" "1"
				"versus_boss_spawning"
				{
					"spawn_pos_min"		"0.3"
					"spawn_pos_max"		"0.9"
					"tank_chance"		"0.4"
					"witch_chance"		"0.75"
					"witch_and_tank"	"0.25"
				}
			}
	
			"2"		
			{
				"Map" "l4d_garage02_lots"
				"DisplayName" "#L4D360UI_Chapter_Depot"
				"Image" "maps/l4d_garage02_lots"
				"VersusModifier" "2.0"
				"SpawnBossThreats" "1"				
				"versus_boss_spawning"
				{
					"spawn_pos_min"		"0.1"
					"spawn_pos_max"		"0.8"
					"tank_chance"		"0.35"
					"witch_chance"		"0.75"
					"witch_and_tank"	"0"				
				}
			}
	
		}	
	
		"survival"
		{
			"1"		
			{
				"Map" "l4d_garage01_alleys"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Alleys"
				"Image" "maps/l4d_garage01_alleys"
			}
			
			"2"		
			{
				"Map" "l4d_garage02_lots"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Depot"
				"Image" "maps/l4d_garage02_lots"
			}
		}
			
	} // "modes"
	
} // "mission"

Death Toll (smalltown.txt)

mission
{
	"Name"		"SmallTown"
	"Version"       "1"
	"Author"	"Valve"
	"Website"	"http://store.steampowered.com/app/500/"
	"BuiltIn"       "1"
	"DisplayTitle"		"#L4D360UI_Campaign_Smalltown"
	"Description"		"#L4D_Mission_SmallTown_Objective"
	"OuttroImage"		"vgui/outroTitle_DeathToll"

	"poster"
	{
		"posterImage"		"LoadingScreen_DeathToll"
		
		// We don't display the poster title in english since its already on the poster
		// We display the translated names overlayed in other languages
		"posterTitle"		"#L4D360UI_CavesCampaignTitle" [$!ENGLISH]
		"posterTitle_y"		"390"
		
		"posterTagline"		"#L4D360UI_CavesCampaignTagline" [$!ENGLISH]
		"posterTagline_y"	"308"		[$!JAPANESE]
		"posterTagline_y"	"320"		[$JAPANESE]
		
		"bill_player_name_x"	"-120"
		"bill_player_name_y"	"-65"
		
		"louis_player_name_x"	"19"
		"louis_player_name_y"	"-43"
		
		"zoey_player_name_x"	"-58"
		"zoey_player_name_y"	"-100"
		
		"francis_player_name_x"	"103"
		"francis_player_name_y"	"-80"		
	}

	"modes"
	{
		"coop"
		{
			"1"
			{
				"Map" "l4d_smalltown01_caves"
				"DisplayName" "#L4D360UI_Chapter_Caves"
				"Image" "maps/l4d_smalltown01_caves"
			}

			"2"
			{
				"Map" "l4d_smalltown02_drainage"
				"DisplayName" "#L4D360UI_Chapter_Drainage"
				"Image" "maps/l4d_smalltown02_drainage"
			}

			"3"
			{
				"Map" "l4d_smalltown03_ranchhouse"
				"DisplayName" "#L4D360UI_Chapter_Smalltown"
				"Image" "maps/l4d_smalltown03_ranchhouse"
			}

			"4"		
			{
				"Map" "l4d_smalltown04_mainstreet"
				"DisplayName" "#L4D360UI_Chapter_MainStreet"
				"Image" "maps/l4d_smalltown04_mainstreet"
			}

			"5"		
			{
				"Map" "l4d_smalltown05_houseboat"
				"DisplayName" "#L4D360UI_Chapter_Boat"
				"Image" "maps/l4d_smalltown05_houseboat"
			}
		}

		"versus"
		{
			"1"
			{
				"Map" "l4d_vs_smalltown01_caves"
				"DisplayName" "#L4D360UI_Chapter_Caves"
				"Image" "maps/l4d_smalltown01_caves"
				"VersusModifier" "1.0"
			}

			"2"
			{
				"Map" "l4d_vs_smalltown02_drainage"
				"DisplayName" "#L4D360UI_Chapter_Drainage"
				"Image" "maps/l4d_smalltown02_drainage"
				"VersusModifier" "1.3"
			}

			"3"
			{
				"Map" "l4d_vs_smalltown03_ranchhouse"
				"DisplayName" "#L4D360UI_Chapter_Smalltown"
				"Image" "maps/l4d_smalltown03_ranchhouse"
				"VersusModifier" "1.4"
			}

			"4"		
			{
				"Map" "l4d_vs_smalltown04_mainstreet"
				"DisplayName" "#L4D360UI_Chapter_MainStreet"
				"Image" "maps/l4d_smalltown04_mainstreet"
				"VersusModifier" "1.5"
			}

			"5"		
			{
				"Map" "l4d_vs_smalltown05_houseboat"
				"DisplayName" "#L4D360UI_Chapter_Boat"
				"Image" "maps/l4d_smalltown05_houseboat"
				"VersusModifier" "2.0"
			}
		}	
	
		"survival"
		{
			"1"
			{
				"Map" "l4d_smalltown02_drainage"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Drainage"
				"Image" "maps/l4d_smalltown02_drainage"
			}

			"2"
			{
				"Map" "l4d_smalltown03_ranchhouse"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Smalltown"
				"Image" "maps/l4d_smalltown03_ranchhouse"
			}

			"3"		
			{
				"Map" "l4d_smalltown04_mainstreet"
				"DisplayName" "#L4D360UI_Holdout_Chapter_MainStreet"
				"Image" "maps/l4d_smalltown04_mainstreet"
			}

			"4"		
			{
				"Map" "l4d_vs_smalltown05_houseboat"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Boat"
				"Image" "maps/l4d_smalltown05_houseboat"
			}
		}	
	}
}

Dead Air (airport.txt)

"mission"
{
	"Name"			"Airport"
	"Version"       "1"
	"Author"	"Valve"
	"Website"	"http://store.steampowered.com/app/500/"
	"BuiltIn"       "1"
	"DisplayTitle"	"#L4D360UI_Campaign_Airport"
	"Description"  	"#L4D_Mission_Airport_Objective"
	"OuttroImage"	"vgui/outroTitle_DeadAir"

	// Loading poster data
	"poster"
	{
		"posterImage"		"LoadingScreen_DeadAir"

		// We don't display the poster title in english since its already on the poster
		// We display the translated names overlayed in other languages
		"posterTitle"		"#L4D360UI_GreenhouseCampaignTitle" [$!ENGLISH]
		"posterTitle_y"		"360"

		"posterTagline"		"#L4D360UI_GreenhouseCampaignTagline" [$!ENGLISH]
		"posterTagline_y"	"372"

		"bill_player_name_x"	"118"
		"bill_player_name_y"	"-96"

		"louis_player_name_x"	"-53"
		"louis_player_name_y"	"-119"

		"zoey_player_name_x"	"-124"
		"zoey_player_name_y"	"-83"

		"francis_player_name_x"	"31"
		"francis_player_name_y"	"-63"		
	}

	// "Image" for each map lives in materials/vgui

	"modes"
	{
		"coop"
		{
			"1"
			{
				"Map" "l4d_airport01_greenhouse"
				"DisplayName" "#L4D360UI_Chapter_Greenhouse"
				"Image" "maps/l4d_airport01_greenhouse"
			}

			"2"
			{
				"Map" "l4d_airport02_offices"
				"DisplayName" "#L4D360UI_Chapter_Offices"
				"Image" "maps/l4d_airport02_offices"
			}

			"3"
			{
				"Map" "l4d_airport03_garage"
				"DisplayName" "#L4D360UI_Chapter_Garage"
				"Image" "maps/l4d_airport03_garage"
			}

			"4"		
			{
				"Map" "l4d_airport04_terminal"
				"DisplayName" "#L4D360UI_Chapter_Airport"
				"Image" "maps/l4d_airport04_terminal"
			}

			"5"		
			{
				"Map" "l4d_airport05_runway"
				"DisplayName" "#L4D360UI_Chapter_Runway"
				"Image" "maps/l4d_airport05_runway"
			}
		}

		"versus"
		{
			"1"
			{
				"Map" "l4d_vs_airport01_greenhouse"
				"DisplayName" "#L4D360UI_Chapter_Greenhouse"
				"Image" "maps/l4d_airport01_greenhouse"
				"VersusModifier" "1.0"
			}
	
			"2"		
			{
				"Map" "l4d_vs_airport02_offices"
				"DisplayName" "#L4D360UI_Chapter_Offices"
				"Image" "maps/l4d_airport02_offices"
				"VersusModifier" "1.3"
			}
	
			"3"		
			{
				"Map" "l4d_vs_airport03_garage"
				"DisplayName" "#L4D360UI_Chapter_Garage"
				"Image" "maps/l4d_airport03_garage"
				"VersusModifier" "1.4"
			}
	
			"4"		
			{
				"Map" "l4d_vs_airport04_terminal"
				"DisplayName" "#L4D360UI_Chapter_Airport"
				"Image" "maps/l4d_airport04_terminal"
				"VersusModifier" "1.5"
			}
	
			"5"		
			{
				"Map" "l4d_vs_airport05_runway"
				"DisplayName" "#L4D360UI_Chapter_Runway"
				"Image" "maps/l4d_airport05_runway"
				"VersusModifier" "2.0"
			}
		}	
	
		"survival"
		{
			"1"		
			{
				"Map" "l4d_airport02_offices"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Offices"
				"Image" "maps/l4d_airport02_offices"
			}
	
			"2"		
			{
				"Map" "l4d_airport03_garage"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Garage"
				"Image" "maps/l4d_airport03_garage"
			}
	
			"3"		
			{
				"Map" "l4d_airport04_terminal"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Airport"
				"Image" "maps/l4d_airport04_terminal"
			}

			"4"
			{
				"Map" "l4d_vs_airport05_runway"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Runway"
				"Image" "maps/l4d_airport05_runway"
			}
		}	
	}

}

Blood Harvest (farm.txt)

mission
{
	"Name" 		 	"Farm"
	"Version"       "1"
	"Author"	"Valve"
	"Website"	"http://store.steampowered.com/app/500/"
	"BuiltIn"       "1"
	"DisplayTitle"		"#L4D360UI_Campaign_Farm"
	"Description"		"#L4D_Mission_Farm_Objective"
	"OuttroImage"		"vgui/outroTitle_BloodHarvest"

	"poster"
	{
		"posterImage"		"LoadingScreen_BloodHarvest"
		
		// We don't display the poster title in english since its already on the poster
		// We display the translated names overlayed in other languages
		"posterTitle"		"#L4D360UI_HilltopCampaignTitle" [$!ENGLISH]
		"posterTitle_y"		"362" [$!JAPANESE]
		"posterTitle_y"		"300" [$JAPANESE]
		
		"posterTagline"		"#L4D360UI_HilltopCampaignTagline" [$!ENGLISH]
		"posterTagline_y"	"375"
		
		"bill_player_name_x"	"-115"
		"bill_player_name_y"	"-102"
		
		"louis_player_name_x"	"-42"
		"louis_player_name_y"	"-67"
		
		"zoey_player_name_x"	"20"
		"zoey_player_name_y"	"-35"
		
		"francis_player_name_x"	"109"
		"francis_player_name_y"	"-82"	
	}

	"modes"
	{
		"coop"
		{
			"1"
			{
				"Map" "l4d_farm01_hilltop"
				"DisplayName" "#L4D360UI_Chapter_Hilltop"
				"Image" "maps/l4d_farm01_hilltop"
			}

			"2"
			{
				"Map" "l4d_farm02_traintunnel"
				"DisplayName" "#L4D360UI_Chapter_TrainTunnel"
				"Image" "maps/l4d_farm02_traintunnel"
			}

			"3"
			{
				"Map" "l4d_farm03_bridge"
				"DisplayName" "#L4D360UI_Chapter_Bridge"
				"Image" "maps/l4d_farm03_bridge"
			}

			"4"		
			{
				"Map" "l4d_farm04_barn"
				"DisplayName" "#L4D360UI_Chapter_Barn"
				"Image" "maps/l4d_farm04_barn"
			}

			"5"		
			{
				"Map" "l4d_farm05_cornfield"
				"DisplayName" "#L4D360UI_Chapter_Farm"
				"Image" "maps/l4d_farm05_cornfield"
			}
		}

		"versus"
		{
			"1"
			{
				"Map" "l4d_vs_farm01_hilltop"
				"DisplayName" "#L4D360UI_Chapter_Hilltop"
				"Image" "maps/l4d_farm01_hilltop"
				"VersusModifier" "1.0"
			}
	
			"2"		
			{
				"Map" "l4d_vs_farm02_traintunnel"
				"DisplayName" "#L4D360UI_Chapter_TrainTunnel"
				"Image" "maps/l4d_farm02_traintunnel"
				"VersusModifier" "1.3"
			}
	
			"3"		
			{
				"Map" "l4d_vs_farm03_bridge"
				"DisplayName" "#L4D360UI_Chapter_Bridge"
				"Image" "maps/l4d_farm03_bridge"
				"VersusModifier" "1.4"
			}
	
			"4"		
			{
				"Map" "l4d_vs_farm04_barn"
				"DisplayName" "#L4D360UI_Chapter_Barn"
				"Image" "maps/l4d_farm04_barn"
				"VersusModifier" "1.5"
			}
	
			"5"		
			{
				"Map" "l4d_vs_farm05_cornfield"
				"DisplayName" "#L4D360UI_Chapter_Farm"
				"Image" "maps/l4d_farm05_cornfield"
				"VersusModifier" "2.0"
			}
		}	
	
		"survival"
		{
			"1"		
			{
				"Map" "l4d_farm02_traintunnel"
				"DisplayName" "#L4D360UI_Holdout_Chapter_TrainTunnel"
				"Image" "maps/l4d_farm02_traintunnel"
			}
	
			"2"		
			{
				"Map" "l4d_farm03_bridge"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Bridge"
				"Image" "maps/l4d_farm03_bridge"
			}
	
			"3"		
			{
				"Map" "l4d_vs_farm05_cornfield"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Farm"
				"Image" "maps/l4d_farm05_cornfield"
			}
		}	
	}
}

The Sacrifice (river.txt)

Contains documentation for couple of mission file keyvalues, even ones not present in any other mission files.

"mission"
{
	"Name"				"River"
	"Version"			"1"
	"Author"			"Turtle Rock"
	"Website"			"http://www.turtlerockstudios.com/"
	"BuiltIn"			"0"
	"DisplayTitle"		"#L4D_Mission_River_Title"
	"Description"		"#L4D_Mission_River_Objective"
	"OuttroImage"		"VGUI\outroTitle_sacrifice"

	// Loading poster data
	"poster"
	{
		"posterImage"		"LoadingScreen_TheSacrifice"

	//	"posterTitle"		"#L4D360UI_RiverCampaignTitle"  [$!ENGLISH]
	//	"posterTitle_y"		"320"
		
	//	"posterTagline"		"#L4D360UI_RiverCampaignTagline"  [$!ENGLISH]
	//	"posterTagline_y"	"380"		
		
		"bill_player_name_x"	"-16"
		"bill_player_name_y"	"-94"
		
		"louis_player_name_x"	"44"
		"louis_player_name_y"	"-40"
		
		"zoey_player_name_x"	"101" // left to right -left +right
		"zoey_player_name_y"	"-14" // top to bottom -raises +lowers
		
		"francis_player_name_x"	"-77"
		"francis_player_name_y"	"-66" 
	}
	
	

	"modes"
	{
		"coop"
		{
			"1"
			{
				"Map" "l4d_river01_docks"
				"DisplayName" "#L4D360UI_Chapter_Docks"
				"Image" "maps/l4d_river01_docks"
				"TankVariant" "models/infected/hulk_dlc3.mdl"
				"SpawnBossThreats" "1"	
				"coop_boss_spawning"
				{
					"boss_threat_radius" 			"500"
					"boss_threat_separation_min" 	"6000"
					"boss_threat_separation_max" 	"6000"
					"spawn_witches"					"1"
					"spawn_tanks"					"0"
				}				
			}

			"2"
			{
				"Map" "l4d_river02_barge"
				"DisplayName" "#L4D360UI_Chapter_Barge"
				"Image" "maps/l4d_river02_barge"
				"SpawnBossThreats" "1"
				"coop_boss_spawning"
				{
					"boss_threat_radius" 			"1500"
					"boss_threat_separation_min" 	"6000"
					"boss_threat_separation_max" 	"9000"
					"spawn_witches"					"1"
					"spawn_tanks"					"1"
				}
			}
			
			"3"
			{
				"Map" "l4d_river03_port"
				"DisplayName" "#L4D360UI_Chapter_Port"
				"Image" "maps/l4d_river03_port"
				"SpawnBossThreats" "0"
				"coop_boss_spawning"
				{
					"spawn_witches"					"0"
					"spawn_tanks"					"0"
				}
			}	

		}

		"versus"
		{
			"1"
			{
				"Map" "l4d_river01_docks"
				"DisplayName" "#L4D360UI_Chapter_Docks"
				"Image" "maps/l4d_river01_docks"
				"TankVariant" "models/infected/hulk_dlc3.mdl"
				"VersusModifier" "1.0"
				"VersusConvertPills" "0.25"
				"versus_boss_spawning"
				{
					"spawn_pos_min"		"0.55"
					"spawn_pos_max"		"0.95"
					"tank_chance"		"0"
					"witch_chance"		"1.0"
					"witch_and_tank"	"0"
				}					
			}

			"2"
			{
				"Map" "l4d_river02_barge"
				"DisplayName" "#L4D360UI_Chapter_Barge"
				"Image" "maps/l4d_river02_barge"
				"VersusModifier" "1.5"
				"VersusConvertPills" "0.25"
				"versus_boss_spawning"
				{
					"spawn_pos_min"		"0.3"
					"spawn_pos_max"		"0.9"
					"tank_chance"		"1.0"
					"witch_chance"		"1.0"
					"witch_and_tank"	"1"
				}					
			}
			
			"3"
			{
				"Map" "l4d_river03_port"
				"DisplayName" "#L4D360UI_Chapter_Port"
				"Image" "maps/l4d_river03_port"
				"VersusModifier" "3.5"	
				"VersusFinaleProgressScoreFactor" "0.85"
				"VersusConvertPills" "0"
				"versus_boss_spawning"
				{
					"tank_chance"		"0"
					"witch_chance"		"0"
				}
			}
		}
	
		"survival"
		{			
			
			"1"
			{
				"Map" "l4d_river01_docks"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Docks"
				"Image" "maps/l4d_river01_tankcar"
				"TankVariant" "models/infected/hulk_dlc3.mdl"
			}
			
			"2"
			{
				"Map" "l4d_river03_port"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Port"
				"Image" "maps/l4d_river03_port"
			}
		}
			
	} // "modes"
	
	
	// "SpawnBossThreats"
	// In CoOp games, controls whether or not a map can randomly spawn witches / tanks. 
	// By default, the first map in a campaign can't. 
	// If this value is set for a map, it overrides the default. (0 for false, 1 for true)
	
	// "versus_boss_spawning"
	// In versus games, there are a set of console variables that are used to govern how witches and 
	// tanks spawn. If you wish to override those defaults for a map in this campaign, you can do that here. 
	// If you don't specify a mapma or a specific value for a map, 
	// it will use the console variables defaults instead. 
	//
	// spawn_pos_min - (float: 0.01 ... 0.99)
	//	The mtxtmum random position on a map to spawn a boss. 
	//	0.01 means right near the beginning, 0.99 means near the end
	// 
	// spawn_pos_max - (float: 0.01 ... 0.99)
	//	The maximum random position on a map to spawn a boss. 
	//	0.01 means right near the beginning, 0.99 means near the end
	//
	// tank_chance - (float: 0.0 ... 1.0)
	//	The random chance that a Tank will spawn, 0 being never and 1 being always.
	//
	// witch_chance - (float: 0.0 ... 1.0)
	//	The random chance that a witch will spawn, 0 being never and 1 being always.
	//
	// witch_and_tank - (int: 0 or 1)
	//	If both a witch and a tank randomly spawn, this controls whether 
	// 	the tank is supressed in favor of the witch. 
	// 	0 means only spawn the witch if they would both spawn, 1 means spawn them both. 
	//	
	
	// "VersusFinaleProgressScoreFactor" (float: 0.0 ... 1.0)
	// This controls how much of the player's progress through the finale (rather than movement through the map)
	// is counted towards their score. Generally, you want a higher number if there is little distance 
	// between the checkpoint and the finale, and a lower number if there is significant distance
	// from the checkpoint to the finale.
	// 0.0 is the default behavior, which means that the score is based on movement through the map. 
	// 1.0 means that the score is based completely on progress during the finale. 
	// 0.85 means that 85% comes from progress in the finale, and 15% from movement through the map. 
	
	// "VersusConvertPills" (float: 0.0 ... 1.0)
	// This controls how many pills are converted to kits at the beginning of the map. By default, 
	// the game references the director_vs_convert_pills convar for this value, but you can 
	// override it here. 
	
	// "ThirdTankDelay" (float: 0.0 .... 9999)
	// This controls the delay before the third tank is spawned in the finale. 
	// This is the tank that shows up while the survivors are rushing for the escape vehicle. 
	// By default, the delay is twice the "director_finale_stage_delay" convar. 
	
	// "FinaleVehicleEvent"
	// This allows designers to change what message is displayed when the escape vehicle is ready. 
	
	// "FinaleEscapeKillIncapped"  - (int: 0 or 1)
	// If set to 1, any characters that are incapped when the escape starts will be killed. 
	// This is primarily a cutscene aid, it doesn't change the way points are awarded, etc. 
	// By default, survivors are left alone
	
	// "SpawnFinalePZClose"  - (int: 0 or 1)
	// If set to 1, the Director will try to spawn PZs closer to the survivors during the 
	// finale, which can be useful for finales with a very large playable area and many potential
	// spawn locations. 
	// The behavior of this is controlled by the convars "z_finale_pz_spawnable_area_*".
	// By default, PZs are spawned randomly in the nav areas marked FINALE
	
	// "coop_boss_spawning"
	// In Co-Op & Single-Player games, there are a set of console variables that are used to govern how witches and 
	// tanks spawn. If you wish to override those defaults for a map in this campaign, you can do that here. 
	// If you don't specify a specific value for a map, 
	// it will use the console variables defaults instead. 
	//
	// Tanks and witches are spawned periodically at certain distances along the escape route, so the longer the map,
	// the more potential boss encounters you'll get. 
	//
	// "boss_threat_separation_min" - (float: 0.0 ... 100000.0)
	//  Mtxtmum distance between boss spawns
	//
	// "boss_threat_separation_max" - (float: 0.0 ... 100000.0)
	//  Max distance between boss spawns
	//
	// "boss_threat_radius" - (float: 0.0 ... 10000.0)
	//  Random distance off the escape route that the boss can be spawned
	//
	// "spawn_witches" - (int: 0 or 1)
	//  Controls whether or not witches will spawn on the map
	//
	// "spawn_tanks" - (int: 0 or 1)
	//  Controls whether or not Tanks will spawn on the map
	//
	
	
} // "mission"

Last Stand (lighthouse.txt)

mission
{
	"Name"		"Lighthouse"
	"Version"       "1"
	"Author"	"Valve"
	"Website"	"http://store.steampowered.com/app/500/"
	"BuiltIn"       "1"
	"DisplayTitle"		"#L4D360UI_Campaign_Lighthouse"
	"Description"		"#L4D_Mission_Lighthouse_Objective"
	"OuttroImage"		"vgui/outroTitle_Lighthouse"

	// Loading poster data
	"poster"
	{
		"posterImage"		"LoadingScreen_LastStand"

		// We don't display the poster title in english since its already on the poster
		// We display the translated names overlayed in other languages
		"posterTitle"		"#L4D360UI_LighthouseCampaignTitle"  [$!ENGLISH]
		"posterTitle_y"		"320"
		
		"posterTagline"		"#L4D360UI_LighthouseCampaignTagline"  [$!ENGLISH]
		"posterTagline_y"	"380"
		
		"francis_player_name_x"	"-120"
		"francis_player_name_y"	"-40"
		
		"louis_player_name_x"	"-28"
		"louis_player_name_y"	"-80"
		
		"zoey_player_name_x"	"39"
		"zoey_player_name_y"	"-10"
		
		"bill_player_name_x"	"118"
		"bill_player_name_y"	"-48"			
	}

	"modes"
	{
		"survival"
		{
			"1"
			{
				"Map"	"l4d_sv_lighthouse"
				"DisplayName" "#L4D360UI_Holdout_Chapter_Lighthouse"
				"Image" "maps/l4d_sv_lighthouse"
			}
		}
	}
}


See Also