ZombieTrigger1 = { CPos.New(259,6), CPos.New(260,6), CPos.New(261,6), CPos.New(261,6), CPos.New(262,6), CPos.New(263,6), CPos.New(264,6), CPos.New(265,6)  }
ZombieTrigger2 = { CPos.New(250,12), CPos.New(250,13), CPos.New(250,14), CPos.New(250,15), CPos.New(250,16), CPos.New(250,17), CPos.New(250,18), CPos.New(250,19), CPos.New(250,20), CPos.New(250,21)  }
ZombieTrigger3 = { CPos.New(230,11)  }
ZombieTrigger4 = { CPos.New(225,13), CPos.New(224,13), CPos.New(223,13), CPos.New(222,13), CPos.New(221,13), CPos.New(220,13), CPos.New(219,19)  }
ZombieTrigger5 = { CPos.New(199,15), CPos.New(199,16), CPos.New(199,17),CPos.New(199,18), CPos.New(199,19), CPos.New(199,20), CPos.New(199,21)  }
ZombieTrigger6 = { CPos.New(185,10), CPos.New(186,10), CPos.New(187,10),CPos.New(183,10), CPos.New(182,10), CPos.New(181,10), CPos.New(180,10), CPos.New(179,10), CPos.New(178,10), CPos.New(177,10), CPos.New(176,10)   }
ZombieTrigger7 = { CPos.New(170,7), CPos.New(170,8), CPos.New(170,9), CPos.New(170,10),CPos.New(170,11), CPos.New(170,12), CPos.New(170,13), CPos.New(170,14), CPos.New(170,15), CPos.New(170,16), CPos.New(170,17), CPos.New(170,18), CPos.New(170,19), CPos.New(170,20)   }
ZombieTrigger8 = { CPos.New(150,1), CPos.New(150,2), CPos.New(150,3), CPos.New(150,4),CPos.New(150,5), CPos.New(150,6), CPos.New(150,7), CPos.New(150,8), CPos.New(150,9), CPos.New(150,10),CPos.New(150,11), CPos.New(150,12), CPos.New(150,13), CPos.New(150,14), CPos.New(150,15), CPos.New(150,16), CPos.New(150,17), CPos.New(150,18), CPos.New(150,19), CPos.New(150,20), CPos.New(150,21)   }
ZombieTrigger9 = { CPos.New(119,11), CPos.New(119,12), CPos.New(119,13), CPos.New(119,14), CPos.New(119,15)   }
ZombieTrigger10 = { CPos.New(97,7), CPos.New(97,8), CPos.New(97,9), CPos.New(97,10)   }
HospitalTrigger1 = { CPos.New(78,1), CPos.New(78,2), CPos.New(78,3), CPos.New(78,4),CPos.New(78,5), CPos.New(78,6), CPos.New(78,7), CPos.New(78,8), CPos.New(78,9), CPos.New(78,10),CPos.New(78,11), CPos.New(78,12), CPos.New(78,13)  }
RescueTrigger = { CPos.New(72,11), CPos.New(71,11), CPos.New(70,11), CPos.New(69,11),CPos.New(69,12), CPos.New(69,13), CPos.New(69,14), CPos.New(70,14), CPos.New(71,14), CPos.New(72,14),CPos.New(72,13), CPos.New(72,12)  }
HospitalTrigger2 = { CPos.New(64,1), CPos.New(64,2), CPos.New(64,3), CPos.New(64,4),CPos.New(64,5), CPos.New(64,6), CPos.New(64,7), CPos.New(64,8), CPos.New(64,9), CPos.New(64,10),CPos.New(64,11), CPos.New(64,12), CPos.New(64,13)  }
ZombieTrigger11 = { CPos.New(48,11), CPos.New(49,11)   }
ZombieTrigger12 = { CPos.New(27,3), CPos.New(27,4), CPos.New(27,5), CPos.New(27,6),CPos.New(27,8), CPos.New(27,9)   }
EndTrigger = { CPos.New(15,8), CPos.New(14,8), CPos.New(13,8), CPos.New(13,9),CPos.New(13,10), CPos.New(14,10), CPos.New(15,10), CPos.New(15,9)  }
--Tweak Last rescue trigger
--make hunt attack move
Engi = "e6"
Tanya = "e7"
Sniper = "sniper"
Crewmates1 = "einstein"
Crewmates2 = "delphi"
Medic = "medi"
FlareType = "flare"
ExtractionHelicopter = "tran"
ExtractionPathMulti0 = { ExtractionHeli.Location, RavenholmRally3.Location }

ZombieReinforcements1 = function()
	Trigger.AfterDelay(DateTime.Seconds(3), function()
		Reinforcements.Reinforce(BadGuy, { "c8", "zombie", "c8" }, { ZombieSpawn1.Location, ZombieRally0.Location })
		Reinforcements.Reinforce(BadGuy, { "c8", "zombie", "zombie", "c8", "zombie", }, { ZombieSpawn1.Location, ZombieRally0.Location })
	end)
end
ZombieReinforcements2 = function()
	Trigger.AfterDelay(DateTime.Seconds(1), function()
		Reinforcements.Reinforce(BadGuy, { "c4", "c7", "c4", "c6", "zombie" }, { WindmillSpawn.Location, ZombieRally1.Location })
		Reinforcements.Reinforce(BadGuy, { "c5", "c3", "c7","c4", "zombie", "zombie" }, { WindmillSpawn.Location, ZombieRally1.Location })
		Reinforcements.Reinforce(BadGuy, { "c6", "zombie", "zombie","c6", "zombie", "zombie" }, { WindmillSpawn.Location, ZombieSpawn44.Location })
		Trigger.AfterDelay(DateTime.Seconds(3), function()
			Reinforcements.Reinforce(BadGuy, { "zombie", "c6", "c3", "zombie" }, { ForestSpawn.Location, ZombieSpawn44.Location })
			Reinforcements.Reinforce(BadGuy, { "c6", "zombie", "zombie", "zombie", "c3", "c6", "zombie"  }, { ForestSpawn.Location, ZombieSpawn44.Location })
		end)
	end)
end
ZombieReinforcements3 = function()
	Trigger.AfterDelay(DateTime.Seconds(1), function()
		Reinforcements.Reinforce(BadGuy, { "zombie", "c2", "c6", "zombie", "c6" }, { ZombieSpawn4.Location, ZombieRally2.Location })
		Reinforcements.Reinforce(BadGuy, { "c3", "zombie", "c3", "c3" }, { ZombieSpawn5.Location, ZombieRally2.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "c3", "zombie", "c3" }, { ZombieSpawn5.Location, ZombieRally2.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "c2", "c4", "zombie" }, { ZombieSpawn5.Location, ZombieRally2.Location })
		Trigger.AfterDelay(DateTime.Seconds(2), function()
			Reinforcements.Reinforce(BadGuy, { "c5", "zombie", "c7", "zombie" }, { ForestSpawn2.Location, Actor871.Location })
			Reinforcements.Reinforce(BadGuy, { "c5", "zombie", "zombie", "zombie" }, { ForestSpawn2.Location, Actor871.Location })
			Reinforcements.Reinforce(BadGuy, {  "zombie", "c4", "c4", "zombie" }, { ForestSpawn2.Location, Actor871.Location })
		end)
	end)
end
ZombieReinforcements4 = function()
	Trigger.AfterDelay(DateTime.Seconds(1), function()
		Reinforcements.Reinforce(BadGuy, { "c1" }, { ZombieSpawn7.Location, ZombieRally3.Location })
	end)
end
ZombieReinforcements5 = function()
	Trigger.AfterDelay(DateTime.Seconds(1), function()
		Reinforcements.Reinforce(BadGuy, { "c4", "zombie", "c4", "zombie", "zombie", "c4", "c8" }, { ZombieSpawn9.Location, ZombieSpawn8.Location })
		Reinforcements.Reinforce(BadGuy, { "c4", "c8", "c4", "c7", "zombie", "c4", "c8" }, { ZombieSpawn9.Location, ZombieRally4A.Location })
		Trigger.AfterDelay(DateTime.Seconds(1), function()
		Reinforcements.Reinforce(BadGuy, { "c9", "zombie", "c7", "zombie", "c4" }, { RoadSpawn9.Location, ZombieSpawn8.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c8", "zombie", "zombie", "zombie", "c1" }, { RoadSpawn9.Location, ZombieRally4.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c7", "zombie", "c8", "c6" }, { ZombieSpawn7.Location, ZombieRally4.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "c8", "zombie", "zombie", "c3", "zombie" }, { ZombieSpawn7.Location, ZombieSpawn4.Location })
		end)
	end)
end
ZombieReinforcements6 = function()
	Trigger.AfterDelay(DateTime.Seconds(1), function()
		Reinforcements.Reinforce(BadGuy, { "zombie", "c7", "zombie", "c7", "zombie", "c3", "c8" }, { ZombieSpawn12.Location, ZombieRally5.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "c2", "zombie", "zombie", "c6", "zombie", "c8" }, { ZombieSpawn12.Location, ZombieRally5.Location })
		Trigger.AfterDelay(DateTime.Seconds(1), function()
		Reinforcements.Reinforce(BadGuy, { "c5", "c2", "zombie", "c7", "zombie", "c6" }, { RoadSpawn11.Location, ZombieRally5A.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "c2", "c3", "zombie", "zombie", "c7" }, { RoadSpawn11.Location, ZombieRally5A.Location })
			Trigger.AfterDelay(DateTime.Seconds(1), function()
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c2", "c5", "zombie" }, { RoadSpawn10.Location, ZombieRally5B.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "c2", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn10.Location, ZombieRally5B.Location })
				Trigger.AfterDelay(DateTime.Seconds(6), function()
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c5", "zombie", "zombie" }, { RoadSpawn9.Location, ZombieSpawn8.Location })
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie","c2", "zombie" }, { RoadSpawn9.Location, ZombieSpawn8.Location })
				end)
			end)
		end)
	end)
end
ZombieReinforcements7 = function()
	Trigger.AfterDelay(DateTime.Seconds(2), function()
	Reinforcements.Reinforce(BadGuy, { "c4", "c5", "c6", "c7", "c6", "zombie", "c3", "c7" }, { ZombieSpawn13.Location, ZombieRally6.Location })
	Reinforcements.Reinforce(BadGuy, { "c2", "c3",  "zombie", "c5", "c7" }, { ZombieSpawn14.Location, ZombieRally6.Location })
	Reinforcements.Reinforce(BadGuy, { "c7", "c5", "c6", "c2", "c3", "c4", "c5", "c3", "c8", "c8", }, { ZombieSpawn15.Location, ZombieRally6.Location })
	Reinforcements.Reinforce(BadGuy, { "c6", "c2", "c3", "c4", "zombie", "c7" }, { ZombieSpawn16.Location, ZombieRally16.Location })
	end)
end
ZombieReinforcements8 = function()
	Trigger.AfterDelay(DateTime.Seconds(1), function()
	Reinforcements.Reinforce(BadGuy, { "c8", "c4", "c8", "c4", "c5", "c8", "c8" }, { ZombieSpawn17.Location, ZombieRally7.Location })
	Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn17.Location, ZombieRally7.Location })
		Trigger.AfterDelay(DateTime.Seconds(4), function()
		Reinforcements.Reinforce(BadGuy, { "c1", "c2", "c3", "c4", "c5", "c6" }, { ZombieSpawn18.Location, ZombieRally7.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn16.Location, ZombieSpawn7B.Location })
			Trigger.AfterDelay(DateTime.Seconds(1), function()
			Reinforcements.Reinforce(BadGuy, { "c6", "c2", "c3", "c2", "c8", "c4","c4", "c5", "c6" }, { ZombieSpawn19.Location, ZombieRally7.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn20.Location, ZombieSpawn7A.Location })
				Trigger.AfterDelay(DateTime.Seconds(3), function()
				Reinforcements.Reinforce(BadGuy, { "c8", "c4", "c8", "c4", "c5", "c8", "c8" }, { ZombieSpawn20.Location, ZombieSpawn7A.Location })
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn20.Location, ZombieSpawn7A.Location })
					Trigger.AfterDelay(DateTime.Seconds(15), function()
					Reinforcements.Reinforce(BadGuy, { "c5", "c2", "c3", "c4", "c5", "c6" }, { ZombieSpawn21.Location, ZombieRally7.Location })
					Reinforcements.Reinforce(BadGuy, { "c3","c5", "c2", "zombie", "zombie", "zombie", "c5", "c6" }, { ZombieSpawn21.Location, ZombieRally7.Location })
						Trigger.AfterDelay(DateTime.Seconds(16), function()
						Reinforcements.Reinforce(BadGuy, { "c6", "c2", "c3", "c2", "c3", "zombie", "c8", "c4" }, { ZombieSpawn22.Location, ZombieRally7.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "c2", "c3", "c2", "c3", "c5", "c8", "c4" }, { ZombieSpawn22.Location, ZombieRally7.Location })
							Trigger.AfterDelay(DateTime.Seconds(19), function()
							Reinforcements.Reinforce(BadGuy, { "c3", "c5", "c2", "zombie", "c5", "c8", "c5", "zombie" }, { ZombieSpawn23.Location, ZombieRally7.Location })
							Reinforcements.Reinforce(BadGuy, { "c5", "zombie", "c3", "c5", "c8", "c5", "zombie" }, { ZombieSpawn23.Location, ZombieRally7.Location })
								Trigger.AfterDelay(DateTime.Seconds(25), function()
								Reinforcements.Reinforce(BadGuy, { "c1" }, { ZombieRally8.Location, ZombieSpawn23.Location })
								Reinforcements.Reinforce(BadGuy, { "c1" }, { ZombieRally8.Location, ZombieSpawn23.Location })
								Reinforcements.Reinforce(BadGuy, { "c1" }, { ZombieRally8.Location, ZombieSpawn23.Location })
								end)
							end)
						end)
					end)
				end)
			end)
		end)
	end)
end
ZombieReinforcements9 = function()
	Trigger.AfterDelay(DateTime.Seconds(1), function()
	Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c3", "zombie", "c8", "zombie", "c6" }, { ZombieSpawn24.Location, ZombieRally8.Location })
	Reinforcements.Reinforce(BadGuy, { "zombie", "c7", "c3", "zombie", "c8", "zombie", "c2" }, { ZombieSpawn24.Location, ZombieRally8.Location })
	Reinforcements.Reinforce(BadGuy, { "zombie", "c8", "c8", "zombie", "c8", "c5", "zombie", "zombie", "zombie", "c5", "c4", "zombie", "zombie" }, { ZombieSpawn24.Location, ZombieRally8.Location })
	Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn24.Location, ZombieRally8.Location })
		Trigger.AfterDelay(DateTime.Seconds(1), function()
		Reinforcements.Reinforce(BadGuy, { "c5", "c7", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn25.Location, ZombieRally8.Location })
		Reinforcements.Reinforce(BadGuy, { "c5", "c7", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn25.Location, ZombieRally8.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "c7", "c3", "zombie", "zombie", "zombie" }, { ZombieSpawn25.Location, ZombieRally8.Location })
			Trigger.AfterDelay(DateTime.Seconds(1), function()
			Reinforcements.Reinforce(BadGuy, { "c6", "c3", "zombie", "zombie" }, { ZombieSpawn26.Location, ZombieRally8.Location })
			Reinforcements.Reinforce(BadGuy, { "c6", "c3", "c6", "c3", "zombie", "zombie" }, { ZombieSpawn26.Location, ZombieRally8.Location })
			Reinforcements.Reinforce(BadGuy, { "c5", "c3", "c8", "c5", "c8", "c8", "c5", "c6" }, { ZombieSpawn26.Location, ZombieRally8.Location })
				Trigger.AfterDelay(DateTime.Seconds(7), function()
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { TanyaSpawn.Location, ZombieRally8.Location })
				Reinforcements.Reinforce(BadGuy, { "zombie", "c8", "c8", "zombie", "c8", "c5", "zombie", "c8", "c5", "c8", "c8", "c5", "c4", "zombie", "zombie" }, { TanyaSpawn.Location, ZombieRally8.Location })
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { TanyaSpawn.Location, ZombieRally8.Location })
					Trigger.AfterDelay(DateTime.Seconds(25), function()
					Reinforcements.Reinforce(BadGuy, { "c1" }, { ZombieSpawn27.Location, ZombieRally8.Location })
					end)
				end)
			end)
		end)
	end)
end
ZombieReinforcements10 = function()
	Trigger.AfterDelay(DateTime.Seconds(2), function()
	Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieRally10.Location, ZombieRally9.Location })
	Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieRally10.Location, ZombieRally9.Location })
		Trigger.AfterDelay(DateTime.Seconds(2), function()
		Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieRally11.Location, ZombieRally9.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieRally11.Location, ZombieRally9.Location })
			Trigger.AfterDelay(DateTime.Seconds(5), function()
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c7" }, { ZombieSpawn27.Location, ZombieRally9.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie" }, { ZombieSpawn27.Location, ZombieRally9.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie" }, { ZombieSpawn27.Location, ZombieRally9.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie" }, { ZombieSpawn27.Location, ZombieRally9.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie" }, { ZombieSpawn27.Location, ZombieRally9.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c7" }, { ZombieSpawn27.Location, ZombieRally9.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "c7" }, { ZombieSpawn27.Location, ZombieRally9.Location })
				Trigger.AfterDelay(DateTime.Seconds(3), function()
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c6" }, { ZombieSpawn27.Location, ZombieRally9.Location })
				Reinforcements.Reinforce(BadGuy, { "zombie" }, { ZombieSpawn27.Location, ZombieRally9.Location })
				Reinforcements.Reinforce(BadGuy, { "zombie" }, { ZombieSpawn27.Location, ZombieRally9.Location })
				Reinforcements.Reinforce(BadGuy, { "zombie" }, { ZombieSpawn27.Location, ZombieRally9.Location })
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie" }, { ZombieSpawn27.Location, ZombieRally9.Location })
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c3" }, { ZombieSpawn27.Location, ZombieRally9.Location })
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "c6" }, { ZombieSpawn27.Location, ZombieRally9.Location })
					Trigger.AfterDelay(DateTime.Seconds(6), function()
					Reinforcements.Reinforce(BadGuy, { "c5", "c3", "c8", "c5","zombie", "c8", "c5", "zombie" }, { ZombieSpawn28.Location, ZombieRally10.Location })
					Reinforcements.Reinforce(BadGuy, { "c5", "zombie", "c8", "c5", "c8", "c8", "c5", "zombie" }, { ZombieSpawn28.Location, ZombieRally10.Location })
						Trigger.AfterDelay(DateTime.Seconds(6), function()
						Reinforcements.Reinforce(BadGuy, { "c1", "c1", "c1", "c1", "c1", "c1", "c1" }, { ZombieSpawn20.Location, ZombieSpawn23.Location })
						Reinforcements.Reinforce(BadGuy, { "c1", "c1", "c1", "c1", "c1", "c1" }, { ZombieSpawn20.Location, ZombieSpawn23.Location })
						Reinforcements.Reinforce(BadGuy, { "c1", "c1", "c1", "c1", "c1", "c1", "c1" }, { ZombieSpawn20.Location, ZombieSpawn23.Location })
						end)
					end)
				end)
			end)
		end)
	end)
end
--Crew Resue
HospitalReinforcements1 = function()
		Trigger.AfterDelay(DateTime.Seconds(2), function()
		Reinforcements.Reinforce(BadGuy, { "medi", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn33.Location, ZombieRally11.Location })
			Trigger.AfterDelay(DateTime.Seconds(2), function()
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "medi", "zombie", "zombie" }, { ZombieSpawn34.Location, ZombieRally14.Location })
				Trigger.AfterDelay(DateTime.Seconds(2), function()
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c3", "zombie", "zombie", "c7","zombie" }, { ZombieSpawn35.Location, ZombieRally14.Location })
					Trigger.AfterDelay(DateTime.Seconds(2), function()
					Reinforcements.Reinforce(BadGuy, { "zombie", "c8", "c8", "zombie","c8", "c5", "zombie", "zombie", "zombie" }, { ZombieSpawn36.Location, ZombieRally13.Location })
						Trigger.AfterDelay(DateTime.Seconds(2), function()
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c8", "medi", "c8", "zombie", "c5", "c1" }, { ZombieSpawn37.Location, ZombieRally12.Location })
							Trigger.AfterDelay(DateTime.Seconds(1), function()
							Reinforcements.Reinforce(BadGuy, { "c5", "c3", "c8", "c5", "c8", "c8", "medi", "c1" }, { ZombieSpawn28.Location, ZombieRally10.Location })
								Trigger.AfterDelay(DateTime.Seconds(1), function()
								Reinforcements.Reinforce(BadGuy, { "zombie", "c8", "c8", "zombie","c8", "medi", "zombie", "zombie", "zombie" }, { ZombieRally8.Location, ZombieRally10.Location })
									Trigger.AfterDelay(DateTime.Seconds(1), function()
									Reinforcements.Reinforce(BadGuy, { "zombie", "c5", "zombie", "zombie", "c8", "zombie", "c5", "c1" }, { ZombieSpawn24.Location, ZombieRally12.Location })
									end)
								end)
							end)
						end)
					end)
				end)
			end)
		end)
end
HospitalRescue = function()
		Trigger.AfterDelay(DateTime.Seconds(1), function()
		Reinforcements.Reinforce(BadGuy, { "medi", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn33.Location, ZombieRally12.Location })
		Reinforcements.Reinforce(BadGuy, { "medi", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn33.Location, ZombieRally12.Location })
			Trigger.AfterDelay(DateTime.Seconds(1), function()
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "medi", "zombie", "zombie" }, { ZombieSpawn34.Location, ZombieRally12.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "medi", "zombie", "zombie" }, { ZombieSpawn34.Location, ZombieRally12.Location })
				Trigger.AfterDelay(DateTime.Seconds(1), function()
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c3", "zombie", "zombie", "c7","zombie" }, { ZombieSpawn35.Location, ZombieRally12.Location })
					Trigger.AfterDelay(DateTime.Seconds(1), function()
					Reinforcements.Reinforce(BadGuy, { "zombie", "c8", "c8", "zombie","c8", "c5", "zombie", "zombie", "zombie" }, { ZombieSpawn36.Location, ZombieRally12.Location })
					Reinforcements.Reinforce(BadGuy, { "zombie", "c8", "c8", "zombie","c8", "c5", "zombie", "zombie", "zombie" }, { ZombieSpawn36.Location, ZombieRally12.Location })
						Trigger.AfterDelay(DateTime.Seconds(1), function()
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c5", "zombie", "c8", "zombie", "c5", "c1" }, { ZombieSpawn37.Location, ZombieRally12.Location })
							Trigger.AfterDelay(DateTime.Seconds(20), function()
							Reinforcements.Reinforce(BadGuy, { "c1" }, { ZombieSpawn37.Location, ZombieRally12.Location })
							end)
						end)
					end)
				end)
			end)
		end)
end
HospitalReinforcements2 = function()
		Trigger.AfterDelay(DateTime.Seconds(1), function()
		Reinforcements.Reinforce(BadGuy, { "medi", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn33.Location, ZombieRally12.Location })
			Trigger.AfterDelay(DateTime.Seconds(1), function()
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "medi", "zombie", "zombie" }, { ZombieSpawn34.Location, ZombieRally12.Location })
				Trigger.AfterDelay(DateTime.Seconds(1), function()
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c3", "zombie", "zombie", "c7","zombie" }, { ZombieSpawn35.Location, ZombieRally12.Location })
					Trigger.AfterDelay(DateTime.Seconds(1), function()
					Reinforcements.Reinforce(BadGuy, { "zombie", "c8", "c8", "zombie","c8", "c5", "zombie", "zombie", "zombie" }, { ZombieSpawn36.Location, ZombieRally12.Location })
						Trigger.AfterDelay(DateTime.Seconds(1), function()
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c5", "zombie", "c8", "zombie", "c5", "c1" }, { ZombieSpawn37.Location, ZombieRally12.Location })
						end)
					end)
				end)
			end)
		end)
end
--Zombie Backwave
ZombieReinforcements11 = function()
		Trigger.AfterDelay(DateTime.Seconds(1), function()
		Reinforcements.Reinforce(BadGuy, { "medi", "zombie", "zombie", "zombie", "c7", "c2", "c3", "c5", "c8", "c5", "c2", "c5" }, { ZombieSpawn38.Location, ZombieRally15.Location })
			Trigger.AfterDelay(DateTime.Seconds(1), function()
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "medi", "zombie", "zombie", "zombie", "medi", "zombie", "zombie" }, { ZombieSpawn39.Location, ZombieRally15.Location })
				Trigger.AfterDelay(DateTime.Seconds(1), function()
				Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c3", "zombie", "zombie", "c7", "zombie", "c8", "c5", "c8", "c8", "c5", "c7" }, { ZombieSpawn40.Location, ZombieRally15.Location })
					Trigger.AfterDelay(DateTime.Seconds(1), function()
					Reinforcements.Reinforce(BadGuy, { "zombie", "c8", "c8", "zombie", "c8", "c5", "zombie", "c8", "c5", "c8", "c8", "c5", "c7", "zombie", "zombie" }, { ZombieSpawn41.Location, ZombieRally15.Location })
						Trigger.AfterDelay(DateTime.Seconds(1), function()
						Reinforcements.Reinforce(BadGuy, { "c5", "c3", "c8", "c5", "c8", "c8", "c5", "c4", "zombie", "zombie", "c8", "c5", "c1", "zombie", "zombie", "zombie" }, { ZombieSpawn19.Location, ZombieSpawn35.Location })
							Trigger.AfterDelay(DateTime.Seconds(1), function()
							Reinforcements.Reinforce(BadGuy, { "c5", "c3", "c8", "c5", "c8", "c8", "medi", "c5", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn20.Location, ZombieSpawn35.Location })
								Trigger.AfterDelay(DateTime.Seconds(1), function()
								Reinforcements.Reinforce(BadGuy, { "c6", "c7", "c7", "c7", "c6", "c7", "c6", "c1", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn21.Location, ZombieSpawn35.Location })
									Trigger.AfterDelay(DateTime.Seconds(1), function()
									Reinforcements.Reinforce(BadGuy, { "c3", "c3", "c6", "c1", "c1", "c1", "c1", "c1", "zombie", "zombie", "zombie", "zombie", "zombie"}, { ZombieSpawn22.Location, ZombieSpawn35.Location })
										Trigger.AfterDelay(DateTime.Seconds(1), function()
										Reinforcements.Reinforce(BadGuy, { "c7", "c7", "c7", "c7", "c1", "c6", "c1", "c1", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn23.Location, ZombieRally15.Location })
										end)
									end)
								end)
							end)
						end)
					end)
				end)
			end)
		end)
end
ZombieReinforcements12 = function()
	Trigger.AfterDelay(DateTime.Seconds(30), function()
	Reinforcements.Reinforce(BadGuy, { "c3", "c4", "c8", "c4", "c5", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn1.Location, RavenholmRally3.Location })
	Reinforcements.Reinforce(BadGuy, { "c7", "c2", "c3", "c2", "c8", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn3.Location, RavenholmRally4.Location })
	Reinforcements.Reinforce(BadGuy, { "c8", "zombie", "zombie", "c4", "c5", "c8", "c8" }, { RoadSpawn4.Location, RavenholmRally2.Location })
	Reinforcements.Reinforce(BadGuy, { "c6", "c2", "c3", "zombie", "zombie", "c3", "c5", "c8", "c4" }, { RoadSpawn8.Location, RavenholmRally1.Location })
		Trigger.AfterDelay(DateTime.Seconds(150), function()
		Reinforcements.Reinforce(BadGuy, { "c6", "c2", "c6", "c2", "c8", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn3.Location, RavenholmRally4.Location })
		Reinforcements.Reinforce(BadGuy, { "c8", "c4", "c8", "c7", "c5", "c8", "c8" }, { RoadSpawn4.Location, RavenholmRally2.Location })
		Reinforcements.Reinforce(BadGuy, { "c1", "c2", "c7", "c4", "c5", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn1.Location, RavenholmRally1.Location })
		Reinforcements.Reinforce(BadGuy, { "c6", "c2", "c3", "c2", "c3", "c5", "c8", "c4" }, { RoadSpawn8.Location, RavenholmRally1.Location })
			Trigger.AfterDelay(DateTime.Seconds(270), function()
			Reinforcements.Reinforce(BadGuy, { "c3", "c4", "c8", "c4", "c5", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn1.Location, RavenholmRally3.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "c2", "c6", "c4", "c5", "c6" }, { RoadSpawn2.Location, RavenholmRally3.Location })		
			Reinforcements.Reinforce(BadGuy, { "zombie", "c2", "c3", "c4", "c5", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn7.Location, RavenholmRally1.Location })
			Reinforcements.Reinforce(BadGuy, { "c6", "c2", "c6", "c2", "c3", "c5", "c8", "c4" }, { RoadSpawn8.Location, RavenholmRally1.Location })
				Trigger.AfterDelay(DateTime.Seconds(450), function()
				Media.DisplayMessage("Transport inbound...")
				Reinforcements.Reinforce(BadGuy, { "c3", "c7", "c8", "c4", "c5", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn1.Location, RavenholmRally3.Location })
				Reinforcements.Reinforce(BadGuy, { "c1", "c2", "c3", "c4", "c5", "c6" }, { RoadSpawn2.Location, RavenholmRally3.Location })		
				Reinforcements.Reinforce(BadGuy, { "c6", "c2", "c3", "c2", "c8", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn3.Location, RavenholmRally4.Location })
					Trigger.AfterDelay(DateTime.Seconds(520), function()
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn1.Location, RavenholmRally3.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn1.Location, RavenholmRally3.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn3.Location, RavenholmRally4.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn3.Location, RavenholmRally4.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn7.Location, RavenholmRally4.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn4.Location, RavenholmRally2.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn8.Location, RavenholmRally1.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn1.Location, RavenholmRally3.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn3.Location, RavenholmRally4.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn2.Location, RavenholmRally2.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn4.Location, RavenholmRally1.Location })
						Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn4.Location, RavenholmRally1.Location })
					end)
				end)
			end)
		end)
	end)
end
--add secondary objective freed tanyas
--rescued units come to way point
--move hospital waypoint left one cell
--trigger onallkilled ZombieGuards
--trigger engi 
--fix objectives for both players
--fix objectives for rescued scientists
--add triggers for dead tanya
--Add secondary obj-saving hostiges
StartFromCrash = function()
	Player1 = Actor.Create(Tanya, true, { Owner = Multi0, Location = Trans.Location })
	Player2 = Actor.Create(Tanya, true, { Owner = Multi1, Location = Trans.Location })
	Player1.Move(TanyaStart1.Location)
	Player2.Move(TanyaStart2.Location)
end

EngiRescue = function()
	Engi = Actor.Create(Engi, true, { Owner = Multi0, Location = EngiSpawn.Location })
	Trigger.AfterDelay(DateTime.Seconds(2), function()
	Media.DisplayMessage("Survivor Rescued")
	end)
end

SnipeRescue = function()
	Snipe = Actor.Create(Sniper, true, { Owner = Multi1, Location = SniperSpawn.Location })
end

TanyaRescue1 = function()
	TanyaMulti0 = Actor.Create(Tanya, true, { Owner = Multi0, Location = ZombieSpawn12.Location })
	Trigger.AfterDelay(DateTime.Seconds(2), function()
	Media.DisplayMessage("Survivor Rescued")
	end)
end

TanyaRescue2 = function()
	TanyaMulti1 = Actor.Create(Tanya, true, { Owner = Multi1, Location = TanyaSpawn.Location })
	Trigger.AfterDelay(DateTime.Seconds(2), function()
		Media.DisplayMessage("Survivor Rescued")
		Trigger.AfterDelay(DateTime.Seconds(5), function()
		Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn29.Location, ZombieSpawn24.Location })
		Reinforcements.Reinforce(BadGuy, { "c2", "zombie", "c2", "c5", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn29.Location, ZombieSpawn24.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "c5", "zombie", "zombie", "zombie" }, { ZombieSpawn29.Location, ZombieSpawn24.Location })
		Reinforcements.Reinforce(BadGuy, { "c2", "zombie", "c2", "zombie", "zombie", "zombie", "c5" }, { ZombieSpawn29.Location, ZombieSpawn24.Location })
		Reinforcements.Reinforce(BadGuy, { "c2", "zombie", "c2", "zombie", "zombie", "zombie", "c5" }, { ZombieSpawn29.Location, ZombieSpawn24.Location })
		Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "zombie" }, { ZombieSpawn29.Location, ZombieSpawn24.Location })
			Trigger.AfterDelay(DateTime.Seconds(5), function()
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c3", "zombie", "c6", "zombie", "zombie" }, { RoadSpawn12.Location, ZombieSpawnMiss.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", "c3", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie", "zombie" }, { RoadSpawn12.Location, TanyaSpawn.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "c6", "zombie", "zombie", "zombie", "c6", "zombie", "c6", "zombie", "zombie", "zombie" }, { RoadSpawn12.Location, TanyaSpawn.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "c3", "zombie", "c6", "zombie", "zombie" }, { RoadSpawn12.Location, ZombieSpawnMiss.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "zombie", "zombie", }, { RoadSpawn12.Location, TanyaSpawn.Location })
			Reinforcements.Reinforce(BadGuy, { "zombie", "c6", "zombie", "zombie" }, { RoadSpawn12.Location, ZombieSpawnMiss.Location })
			end)
		end)
	end)
end

HostpitalCapture = function()
	Medic1 = Actor.Create(Medic, true, { Owner = Multi0, Location = CrewmateSpawn1.Location })
	Medic2 = Actor.Create(Medic, true, { Owner = Multi1, Location = CrewmateSpawn1.Location })
	Medic1.Move(ZombieRally13.Location)
	Medic2.Move(ZombieRally13.Location)
end

ZombieGuardsKilled = function()
	einstein = Actor.Create(Crewmates1, true, { Location = CrewmateSpawn1.Location, Owner = Multi0 })
	einstein2 = Actor.Create(Crewmates1, true, { Location = CrewmateSpawn1.Location, Owner = Multi1 })
	delphi = Actor.Create(Crewmates2, true, { Location = CrewmateSpawn1.Location, Owner = Multi0 })
	delphi2 = Actor.Create(Crewmates2, true, { Location = CrewmateSpawn1.Location, Owner = Multi1 })
	einstein.Move(ZombieRally13.Location)
	einstein2.Move(ZombieRally13.Location)
	delphi.Move(ZombieRally13.Location)
	delphi2.Move(ZombieRally13.Location)
	Multi0.MarkCompletedObjective(alliedObjective1)
	Multi1.MarkCompletedObjective(alliedObjective1)
	Media.PlaySpeechNotification(AllPlayers, "ObjectiveMet")
	Trigger.AfterDelay(DateTime.Seconds(1), function()
		CreateScienceTeam()
		ExtractObjective1 = Multi0.AddPrimaryObjective("Make sure scientist survive")
		ExtractObjective1 = Multi1.AddPrimaryObjective("Make sure scientist survive")
		ExtractObjective2 = Multi0.AddPrimaryObjective("Move to Extract")
		ExtractObjective2 = Multi1.AddPrimaryObjective("Move to Extract")
		Trigger.AfterDelay(DateTime.Seconds(13), function()
			Media.DisplayMessage("Emergency Extraction Signal Sent...")
			Trigger.AfterDelay(DateTime.Seconds(10), function()
			Media.DisplayMessage("Extraction coordinates received.")
				Trigger.AfterDelay(DateTime.Seconds(7), function()
				Actor.Create(FlareType, true, { Owner = Multi0, Location = ExtractionLZ.Location })
				Media.PlaySpeechNotification(player, "SignalFlareWest")
					Trigger.AfterDelay(DateTime.Seconds(4), function()
						HospitalRescue()
					end)
				end)
			end)
		end)
	end)
end
--Objective Fails/Completions
CreateSurvivorTeam = function()
	Survivors = { Engi, Multi0, Multi1 }
	Trigger.OnAllKilled(Survivors, RescueFailed)
end

CreateScienceTeam = function()
	ScienceTeam = { einstein, einstein2, delphi, delphi2 }
	Trigger.OnAllKilled(ScienceTeam, RescueFailed)
end

SurvivorsSaved = function()
	Trigger.AfterDelay(DateTime.Seconds(5), function()
		Media.PlaySpeechNotification(AllPlayers, "ObjectiveMet")
		Multi1.MarkCompletedObjective(alliedObjective3)
		Multi0.MarkCompletedObjective(alliedObjective3)
	end)
end

TanyaDead = function()
	Media.PlaySpeechNotification(AllPlayers, "MissionFailed")
	Multi0.MarkFailedObjective(alliedObjective1)
	Multi1.MarkFailedObjective(alliedObjective1)
	Multi0.MarkFailedObjective(alliedObjective2)
	Multi1.MarkFailedObjective(alliedObjective2)
	Multi1.MarkFailedObjective(alliedObjective3)
	Multi0.MarkFailedObjective(alliedObjective3)
end

SurvivorsNotRescued = function()
	player.MarkFailedObjective(CivilProtectionObjective)
	SurvivorsNotSaved = true
end
--fix heli trigger to stay idle

SendExtractionHelicopter = function()
	heli = Reinforcements.ReinforceWithTransport(Government, ExtractionHelicopter, nil, ExtractionPathMulti0)[1]
	Trigger.OnKilled(heli, RescueFailed)
	Trigger.AfterDelay(DateTime.Seconds(10), function()
		Media.PlaySpeechNotification(player, "TargetRescued")
		Multi1.MarkCompletedObjective(ExtractObjective1)
		Multi0.MarkCompletedObjective(ExtractObjective1)
		Multi1.MarkCompletedObjective(ExtractObjective2)
		Multi0.MarkCompletedObjective(ExtractObjective2)
		Multi0.MarkCompletedObjective(alliedObjective2)
		Multi1.MarkCompletedObjective(alliedObjective2)
		if not	Multi1.MarkCompletedObjective(alliedObjective3) then
			Multi1.MarkFailedObjective(alliedObjective3)
		end
		if not	Multi0.MarkCompletedObjective(alliedObjective3) then
			Multi0.MarkFailedObjective(alliedObjective3)
		end
	end)
end

RescueFailed = function()
	Media.PlaySpeechNotification(AllPlayers, "MissionFailed")
	Multi0.MarkFailedObjective(ExtractObjective1)
	Multi1.MarkFailedObjective(ExtractObjective1)
	Multi0.MarkFailedObjective(ExtractObjective2)
	Multi1.MarkFailedObjective(ExtractObjective2)
	if not	Multi1.MarkCompletedObjective(alliedObjective3) then
		Multi1.MarkFailedObjective(alliedObjective3)
	end
	if not	Multi0.MarkCompletedObjective(alliedObjective3) then
		Multi0.MarkFailedObjective(alliedObjective3)
	end
end

MissionAccomplished = function()
	Trigger.AfterDelay(DateTime.Seconds(3), function()
	Media.PlaySpeechNotification(player, "MissionAccomplished")
	end)
end

MissionFailed = function()
	Trigger.AfterDelay(DateTime.Seconds(3), function()
	Media.PlaySpeechNotification(player, "MissionFailed")
	end)
end

--World Triggers
WorldLoaded = function()
	BadGuy = Player.GetPlayer("BadGuy")
	Multi0 = Player.GetPlayer("Multi0")
	Multi1 = Player.GetPlayer("Multi1")
	Government = Player.GetPlayer("Government")
	AllPlayers = Player.GetPlayer("Multi0", "Multi1")
	players = { }
	for i = 0, 7, 1 do
		local player = Player.GetPlayer("Multi" ..i)
		players[i] = player
	end

	StartFromCrash()

--Primary Objectives


--Objectives
	Trigger.OnObjectiveAdded(AllPlayers, function(p, id)
		Trigger.AfterDelay(DateTime.Seconds(5), function()
			Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective")
		end)
	end)

	Trigger.OnPlayerLost(AllPlayers, MissionFailed)
	Trigger.OnPlayerWon(AllPlayers, MissionAccomplished)

	ZombieObjective = BadGuy.AddPrimaryObjective("Eat Brains")
	alliedObjective1 = Multi0.AddPrimaryObjective("Rescue Scientists")
	alliedObjective1 = Multi1.AddPrimaryObjective("Rescue Scientists")
	alliedObjective2 = Multi0.AddPrimaryObjective("Tanya Must Survive")
	alliedObjective2 = Multi1.AddPrimaryObjective("Tanya Must Survive")
	alliedObjective3 = Multi0.AddSecondaryObjective("Rescue Survivors")
	alliedObjective3 = Multi1.AddSecondaryObjective("Rescue Survivors")

--Survivor Objectives
	SurivorsNotSaved = false
	BuildingsDestroyed = { EngiHouse, House11, ResearchFacility, }
	Trigger.OnAllKilled(BuildingsDestroyed, SurvivorsSaved)

--TanyaMustSurvive Objective
	TanyaTeam = { Player1, Player2 }
	Trigger.OnAllKilled(TanyaTeam, TanyaDead)

--Background Music
	Trigger.AfterDelay(DateTime.Seconds(0), function()
		Media.PlaySound("RavenholmReprise.aud")
	end)
	Trigger.AfterDelay(DateTime.Seconds(0), function()
		Media.PlaySound("RavenholmTrack1.aud")
	end)
	Trigger.AfterDelay(DateTime.Seconds(118), function()
		Media.PlaySound("RavenholmTrack1.aud")
	end)
	Trigger.AfterDelay(DateTime.Seconds(236), function()
		Media.PlaySound("RavenholmTrack1.aud")
	end)
	Trigger.AfterDelay(DateTime.Seconds(364), function()
		Media.PlaySound("RavenholmTrack1.aud")
	end)
	Trigger.AfterDelay(DateTime.Seconds(470), function()
		Media.PlaySound("RavenholmTrack1.aud")
	end)
	Trigger.AfterDelay(DateTime.Seconds(590), function()
		Media.PlaySound("RavenholmTrack1.aud")
	end)
--Survivor Triggers
	Trigger.OnKilled(EngiHouse, EngiRescue)

	Trigger.OnKilled(Actor882, SnipeRescue)

	Trigger.OnKilled(House11, TanyaRescue1)

	Trigger.OnKilled(ResearchFacility, TanyaRescue2)

	Trigger.OnCapture(Actor770, HostpitalCapture)

--Zombie Triggers

	ZombieGuardsTeam = { ZombieGuard1, ZombieGuard2, ZombieGuard3, ZombieGuard4, ZombieGuard5, ZombieGuard6 }
	Trigger.OnAllKilled(ZombieGuardsTeam, ZombieGuardsKilled)

	Trigger.OnEnteredFootprint(ZombieTrigger1, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				ZombieReinforcements1()
			end)
		end
	end)
	Trigger.OnEnteredFootprint(ZombieTrigger2, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				ZombieReinforcements2()
			end)
		end
	end)
	Trigger.OnEnteredFootprint(ZombieTrigger3, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				ZombieReinforcements3()
			end)
		end
	end)
	Trigger.OnEnteredFootprint(ZombieTrigger4, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				ZombieReinforcements4()
			end)
		end
	end)
	Trigger.OnEnteredFootprint(ZombieTrigger5, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				ZombieReinforcements5()
			end)
		end
	end)
	Trigger.OnEnteredFootprint(ZombieTrigger5, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				Media.PlaySound("EvilLaugh.aud")
			end)
		end
	end)
	Trigger.OnEnteredFootprint(ZombieTrigger6, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				ZombieReinforcements6()
			end)
		end
	end)
	Trigger.OnEnteredFootprint(ZombieTrigger7, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				ZombieReinforcements7()
			end)
		end
	end)
	Trigger.OnEnteredFootprint(ZombieTrigger8, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				ZombieReinforcements8()
			end)
		end
	end)
	Trigger.OnEnteredFootprint(ZombieTrigger9, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				ZombieReinforcements9()
			end)
		end
	end)
	Trigger.OnEnteredFootprint(ZombieTrigger10, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				ZombieReinforcements10()
				Trigger.AfterDelay(DateTime.Seconds(0), function()
					Media.PlaySound("RavenholmReprise.aud")
				end)
				Trigger.AfterDelay(DateTime.Seconds(0), function()
					Media.PlaySound("RavenholmTrack2.aud")
				end)
				Trigger.AfterDelay(DateTime.Seconds(118), function()
					Media.PlaySound("RavenholmTrack2.aud")
				end)
				Trigger.AfterDelay(DateTime.Seconds(236), function()
					Media.PlaySound("RavenholmTrack2.aud")
				end)
				Trigger.AfterDelay(DateTime.Seconds(364), function()
					Media.PlaySound("RavenholmTrack2.aud")
				end)
				Trigger.AfterDelay(DateTime.Seconds(470), function()
					Media.PlaySound("RavenholmTrack2.aud")
				end)
				Trigger.AfterDelay(DateTime.Seconds(590), function()
					Media.PlaySound("RavenholmTrack2.aud")
				end)
			end)
		end
	end)
	Trigger.OnEnteredFootprint(HospitalTrigger1, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				HospitalReinforcements1()
			end)
		end
	end)					
	Trigger.OnEnteredFootprint(HospitalTrigger2, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				HospitalReinforcements2()
			end)
		end
	end)

	Trigger.OnEnteredFootprint(ZombieTrigger11, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(10, function()
				ZombieReinforcements11()
			end)
		end
	end)
	Trigger.OnEnteredFootprint(ZombieTrigger12, function(a, id)
		if a.Type == "e7" then
			Trigger.RemoveFootprintTrigger(id)
			Trigger.AfterDelay(610, function()
				ZombieReinforcements12()
				Trigger.AfterDelay(DateTime.Seconds(590), function()
					SendExtractionHelicopter()
				end)
			end)
		end
	end)
end

Tick = function()
	if (Utils.RandomInteger(1, 200) == 10) then
		local delay = Utils.RandomInteger(1, 10)
		Lighting.Flash("LightningStrike", delay)
		Trigger.AfterDelay(delay, function()
			Media.PlaySound("thunder" .. Utils.RandomInteger(1,6) .. ".aud")
		end)
	end

Media.StopMusic()
end