If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Deus Ex: The Fall (Windows)/Unused Scripts

From The Cutting Room Floor
Jump to navigation Jump to search

This is a sub-page of Deus Ex: The Fall (Windows).

Additional scripts located in Assembly-CSharp.dll.

Australia

Not so much interesting in this section, but it does confirm level names:

  • AustraliaConfrontation
  • AustraliaExecutive
  • AustraliaLab
  • AustraliaRootopHelipad
  • AustraliaRooftopStart
  • AustraliaSecurity

New York

NYC Bank

Expand to reveal script
public class StartNYCBank : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHaveUplink) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCPlantedUplink))
		{
			Globals.SetMissionTransforms(13, new Transform[] { this.m_UplinkLocation });
		}
		else
		{
			Globals.SetMissionTransforms(11, new Transform[] { this.m_Exit });
			Globals.SetMissionTransforms(12, new Transform[] { this.m_Exit });
			Globals.SetMissionTransforms(13, new Transform[] { this.m_Exit });
			UnityEngine.Object.Destroy(this.m_UplinkObject);
		}
	}

	private void UplinkPlaced()
	{
		Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCPlantedUplink, true);
		Globals.SetSubMissionStatus(13, 2, MissionStatus.Completed_Success, true);
		Globals.SetSubMissionStatus(13, 3, MissionStatus.Acquired, true);
		Globals.SetMissionTransforms(13, new Transform[] { this.m_Exit });
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_Exit;

	public Transform m_UplinkLocation;

	public GameObject m_UplinkObject;
}

NYC Bank Entry

Expand to reveal script
public class StartNYCBankEntry : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHaveUplink) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCPlantedUplink))
		{
			Globals.SetMissionTransforms(13, new Transform[] { this.m_LadderAccess });
		}
		else
		{
			Globals.SetMissionTransforms(11, new Transform[] { this.m_Exit });
			Globals.SetMissionTransforms(12, new Transform[] { this.m_Exit });
			Globals.SetMissionTransforms(13, new Transform[] { this.m_Exit });
		}
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_Exit;

	public Transform m_LadderAccess;
}

NYC Carrier Interior

Expand to reveal script
public class StartNYCCarrierInterior : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		this.m_WidowIntroductionConversation.SetActiveRecursively(false);
		this.m_WidowFinalConversation.SetActiveRecursively(false);
		this.m_StairsToWidowTrigger.active = false;
		this.m_StairsToExitTrigger.active = false;
		this.m_StairsToWidowFinalTrigger.active = false;
		this.m_JanusMonitor.active = false;
		this.m_SamObject.SetActiveRecursively(false);
		this.m_AnnaScreenCamera.active = false;
		this.m_AnnaSamCamera.active = false;
		Debug.Log("Checking if NY Hub has started yet: " + Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHubStarted));
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHubStarted))
		{
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCHubStarted, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHotelReception, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedIsaac, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCImplantWasRemoved, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHackers, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCHaveUplink, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCPlantedUplink, true);
			Globals.SetMissionStatus(11, MissionStatus.Completed_Success, true);
			Globals.SetSubMissionStatus(11, 0, MissionStatus.Completed_Success, true);
			Globals.SetSubMissionStatus(11, 1, MissionStatus.Completed_Success, true);
			Globals.SetSubMissionStatus(11, 2, MissionStatus.Completed_Success, true);
			Globals.SetMissionStatus(12, MissionStatus.Completed_Success, true);
			Globals.SetSubMissionStatus(12, 0, MissionStatus.Completed_Success, true);
			Globals.SetMissionStatus(13, MissionStatus.Acquired, true);
			Globals.SetSubMissionStatus(13, 0, MissionStatus.Completed_Success, true);
			Globals.SetSubMissionStatus(13, 1, MissionStatus.Acquired, true);
			Globals.SetMissionTransforms(13, new Transform[] { this.m_WidowLocation });
			Globals.TrackMission(13, true);
			Debug.Log("Setting objective on Widow's chair. - First Load");
			Globals.SetSubMissionStatus(13, 1, MissionStatus.Completed_Success, true);
			Globals.SetSubMissionStatus(13, 2, MissionStatus.Completed_Success, true);
			Globals.SetSubMissionStatus(13, 3, MissionStatus.Acquired, true);
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCImplantWasRemoved) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHackers))
		{
			this.m_WidowIntroductionConversation.SetActiveRecursively(true);
			Globals.SetMissionTransforms(13, new Transform[] { this.m_WidowLocation });
			Debug.Log("Setting objective on Widow's chair. - Start");
		}
		else
		{
			Globals.SetMissionTransforms(11, new Transform[] { this.m_Exit });
			Globals.SetMissionTransforms(12, new Transform[] { this.m_Exit });
			Globals.SetMissionTransforms(13, new Transform[] { this.m_Exit });
			Globals.SetMissionTransforms(14, new Transform[] { this.m_Exit });
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCPlantedUplink) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHackedBank))
		{
			this.m_WidowFinalConversation.SetActiveRecursively(true);
			this.m_JanusMonitor.active = true;
			Globals.SetMissionTransforms(13, new Transform[] { this.m_WidowLocation });
		}
	}

	private void Update()
	{
		if (this.m_ForceHolster)
		{
			Globals.m_PlayerController.WeaponHolster(true);
			this.m_ForceHolster = false;
		}
		if (this.m_AnnaOpticsSeqStarted)
		{
			if (this.m_AnnaOpticsComm)
			{
				this.m_AnnaOpticsCommTimer -= Time.deltaTime;
				if (this.m_AnnaOpticsCommTimer <= 0f)
				{
					this.m_AnnaOpticsComm = false;
					CommLinkDialog.PlayDialog(0);
					this.m_SamBreaksIn = true;
				}
			}
			if (this.m_SamBreaksIn)
			{
				this.m_SamBreaksInTimer -= Time.deltaTime;
				if (this.m_SamBreaksInTimer <= 0f)
				{
					this.m_SamBreaksIn = false;
					CommLinkDialog.PlayDialog(1);
					this.m_SamObject.SetActiveRecursively(true);
					this.m_EndAnnaSeq = true;
					this.m_AnnaScreenCamera.active = false;
					this.m_AnnaSamCamera.active = true;
				}
			}
			if (this.m_EndAnnaSeq)
			{
				this.m_EndAnnaSeqTimer -= Time.deltaTime;
				if (this.m_EndAnnaSeqTimer <= 0f)
				{
					this.m_EndAnnaSeq = false;
					this.m_AnnaSamCamera.active = false;
					CommLinkDialog.PlayDialog(2);
					this.m_BelltowerAttackGroup.SetActiveRecursively(true);
					Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCHackedBank, true);
					Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCAnnaWasAbducted, true);
				}
			}
		}
	}

	private void MeetWidow()
	{
		Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHackers, true);
		Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCHaveUplink, true);
		Globals.SetSubMissionStatus(13, 1, MissionStatus.Completed_Success, true);
		Globals.SetSubMissionStatus(13, 2, MissionStatus.Acquired, true);
		Globals.SetMissionTransforms(13, new Transform[] { this.m_Exit });
	}

	private void StartAnnaSeq()
	{
		Globals.m_PlayerController.WeaponHolster(true);
		this.m_AnnaOpticsSeqStarted = true;
		this.m_AnnaOpticsComm = true;
		this.m_AnnaScreenCamera.active = true;
		this.m_StairsToExitTrigger.active = true;
		Globals.m_PrimaryObjective = this.m_StairsToExitTrigger.transform;
		Globals.SetSubMissionStatus(13, 3, MissionStatus.Completed_Success, true);
		Globals.SetMissionStatus(13, MissionStatus.Completed_Success, true);
		Globals.SetMissionStatus(14, MissionStatus.Acquired, true);
		Globals.SetSubMissionStatus(14, 0, MissionStatus.Acquired, true);
		Globals.SetMissionTransforms(14, new Transform[] { this.m_Exit });
		Globals.TrackMission(14, true);
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_Exit;

	public Transform m_WidowLocation;

	public GameObject m_StairsToWidowTrigger;

	public GameObject m_StairsToWidowFinalTrigger;

	public GameObject m_StairsToExitTrigger;

	public GameObject m_WidowIntroductionConversation;

	public GameObject m_WidowFinalConversation;

	public GameObject m_JanusMonitor;

	public GameObject m_AnnaScreenCamera;

	public GameObject m_AnnaSamCamera;

	public GameObject m_SamObject;

	public GameObject m_BelltowerAttackGroup;

	private bool m_AnnaOpticsSeqStarted;

	private bool m_AnnaOpticsComm;

	private float m_AnnaOpticsCommTimer = 1.5f;

	private bool m_SamBreaksIn;

	private float m_SamBreaksInTimer = 11.5f;

	private bool m_EndAnnaSeq;

	private float m_EndAnnaSeqTimer = 7.5f;

	private bool m_ForceHolster = true;
}

NYC Helipad

Expand to reveal script
public class StartNYCHelipad : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.PanamaHubStarted))
		{
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaHubStarted, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVisitedDoctor, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaHaveLimbCard, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaStartedRiezolMission, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVisitedCobra, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaFoundRiezolShipment, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaLimbMissionComplete, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVisitedPilot, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVIPFound, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVIPMissionComplete, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVTOLMissionStarted, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVTOLMissionComplete, true);
		}
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHubStarted))
		{
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCHubStarted, true);
		}
		Globals.m_PrimaryObjective = this.m_HelipadExit;
	}

	private void Update()
	{
		if (this.m_ForceHolster)
		{
			Globals.m_PlayerController.WeaponHolster(true);
			this.m_ForceHolster = false;
		}
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_HelipadExit;

	public GameObject m_WelcomeTrigger;

	private bool m_ForceHolster = true;
}

NYC Hotel Lobby

Expand to reveal script
public class StartNYCHotelLobby : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHotelReception))
		{
			Globals.SetSubMissionStatus(11, 0, MissionStatus.Completed_Success, true);
			Globals.SetSubMissionStatus(11, 1, MissionStatus.Acquired, true);
			Globals.SetMissionTransforms(11, new Transform[] { this.m_ReceptionistLocation });
		}
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna) && Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHotelReception))
		{
			Globals.SetMissionTransforms(11, new Transform[] { this.m_ElevatorAccess });
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna))
		{
			Globals.SetMissionTransforms(12, new Transform[] { this.m_StreetAccess });
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHotelReception))
		{
			UnityEngine.Object.Destroy(this.m_ReceptionistConversation);
		}
	}

	private void Update()
	{
		if (this.m_ForceHolster)
		{
			Globals.m_PlayerController.WeaponHolster(true);
			this.m_ForceHolster = false;
		}
	}

	private void AcquireKey()
	{
		Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHotelReception, true);
		Globals.SetSubMissionStatus(11, 1, MissionStatus.Completed_Success, true);
		Globals.SetSubMissionStatus(11, 2, MissionStatus.Acquired, true);
		Globals.SetMissionTransforms(11, new Transform[] { this.m_ElevatorAccess });
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_StreetAccess;

	public GameObject m_ReceptionistConversation;

	public Transform m_ReceptionistLocation;

	public Transform m_ElevatorAccess;

	private bool m_ForceHolster = true;
}

NYC Hotel Rooms

Expand to reveal script
public class StartNYCHotelRooms : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		this.m_AnnaDoorTrigger.active = false;
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHotelReception))
		{
			Globals.SetMissionTransforms(11, new Transform[] { this.m_ElevatorAccess });
		}
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna) && Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHotelReception))
		{
			Globals.SetMissionTransforms(11, new Transform[] { this.m_AnnaLocation });
			this.m_AnnaDoorTrigger.active = true;
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna))
		{
			Globals.m_PrimaryObjective = this.m_ElevatorAccess;
			UnityEngine.Object.Destroy(this.m_AnnaDoor);
			UnityEngine.Object.Destroy(this.m_AnnaObject);
		}
	}

	private void Update()
	{
		if (this.m_ForceHolster)
		{
			Globals.m_PlayerController.WeaponHolster(true);
			this.m_ForceHolster = false;
		}
	}

	private void MetAnna()
	{
		Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna, true);
		Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHotelReception, true);
		Globals.SetSubMissionStatus(11, 2, MissionStatus.Completed_Success, true);
		Globals.SetMissionStatus(11, MissionStatus.Completed_Success, true);
		Globals.SetMissionStatus(12, MissionStatus.Acquired, true);
		Globals.SetSubMissionStatus(12, 0, MissionStatus.Acquired, true);
		Globals.SetMissionTransforms(12, new Transform[] { this.m_ElevatorAccess });
		Globals.TrackMission(12, true);
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_ElevatorAccess;

	public GameObject m_AnnaObject;

	public Transform m_AnnaLocation;

	public GameObject m_AnnaDoor;

	public GameObject m_AnnaDoorTrigger;

	private bool m_ForceHolster = true;
}

NYC LIMB

Expand to reveal script
public class StartNYCLimb : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		this.m_IsaacConversation.SetActiveRecursively(false);
		this.m_PostOperationGroup.SetActiveRecursively(false);
		this.m_OperationTrigger.active = false;
		this.m_OperationCamera.active = false;
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHubStarted))
		{
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCHubStarted, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHotelReception, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna, true);
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedIsaac))
		{
			this.m_IsaacConversation.SetActiveRecursively(true);
			Globals.SetMissionTransforms(12, new Transform[] { this.m_IsaacLocation });
		}
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna) || Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedIsaac))
		{
			Globals.SetMissionTransforms(11, new Transform[] { this.m_StreetAccess });
			Globals.SetMissionTransforms(13, new Transform[] { this.m_StreetAccess });
		}
	}

	private void Update()
	{
		if (this.m_ForceHolster)
		{
			Globals.m_PlayerController.WeaponHolster(true);
			this.m_ForceHolster = false;
		}
		if (this.m_OperationStarted)
		{
			this.m_OperationTimer += Time.deltaTime;
			if (this.m_ResetCameraPosition)
			{
				this.m_ResetCameraPositionTimer -= Time.deltaTime;
				if (this.m_ResetCameraPositionTimer <= 0f)
				{
					this.m_OperationCamera.transform.localPosition = Vector3.zero;
					this.m_ResetCameraPosition = false;
					this.m_AnnaIntroComm = true;
				}
			}
			if (this.m_AnnaIntroComm)
			{
				this.m_AnnaIntroCommTimer -= Time.deltaTime;
				if (this.m_AnnaIntroCommTimer <= 0f)
				{
					CommLinkDialog.PlayDialog(0);
					this.m_AnnaIntroComm = false;
					this.m_IsaacExplainsComm = true;
				}
			}
			if (this.m_IsaacExplainsComm)
			{
				this.m_IsaacExplainsCommTimer -= Time.deltaTime;
				if (this.m_IsaacExplainsCommTimer <= 0f)
				{
					CommLinkDialog.PlayDialog(1);
					this.m_IsaacExplainsComm = false;
					this.m_AnnaWrapsComm = true;
				}
			}
			if (this.m_AnnaWrapsComm)
			{
				this.m_AnnaWrapsCommTimer -= Time.deltaTime;
				if (this.m_AnnaWrapsCommTimer <= 0f)
				{
					CommLinkDialog.PlayDialog(2);
					this.m_AnnaWrapsComm = false;
					this.m_EndOperationSeq = true;
				}
			}
			if (this.m_EndOperationSeq)
			{
				this.m_EndOperationSeqTimer -= Time.deltaTime;
				if (this.m_EndOperationSeqTimer <= 0f)
				{
					this.m_EndOperationSeq = false;
					this.m_OperationStarted = false;
					Globals.m_PlayerController.transform.position = this.m_ShowPlayerPosition.position;
					UnityEngine.Object.Destroy(this.m_PostOperationGroup);
					Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedIsaac, true);
					Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCImplantWasRemoved, true);
					Globals.SetSubMissionStatus(12, 0, MissionStatus.Completed_Success, true);
					Globals.SetMissionStatus(12, MissionStatus.Completed_Success, true);
					Globals.SetMissionStatus(13, MissionStatus.Acquired, true);
					Globals.SetSubMissionStatus(13, 0, MissionStatus.Acquired, true);
					Globals.SetMissionTransforms(13, new Transform[] { this.m_StreetAccess });
					Globals.TrackMission(13, true);
				}
			}
		}
	}

	private void OperationReady()
	{
		this.m_OperationTrigger.active = true;
		Globals.SetMissionTransforms(12, new Transform[] { this.m_OperationTrigger.transform });
	}

	private void StartOperation()
	{
		Globals.m_PlayerController.WeaponHolster(true);
		this.m_OperationStarted = true;
		this.m_PostOperationGroup.SetActiveRecursively(true);
		UnityEngine.Object.Destroy(this.m_IsaacConversation);
		this.m_OperationCamera.transform.localPosition = new Vector3(0f, 999f, 0f);
		Globals.m_PlayerController.transform.position = this.m_HidePlayerPosition.position;
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_StreetAccess;

	public Transform m_IsaacLocation;

	public GameObject m_IsaacConversation;

	public GameObject m_PostOperationGroup;

	public GameObject m_OperationTrigger;

	public GameObject m_OperationCamera;

	public Transform m_HidePlayerPosition;

	public Transform m_ShowPlayerPosition;

	private bool m_ForceHolster = true;

	private bool m_OperationStarted;

	private float m_OperationTimer;

	private bool m_ResetCameraPosition = true;

	private float m_ResetCameraPositionTimer = 3f;

	private bool m_AnnaIntroComm;

	private float m_AnnaIntroCommTimer = 0.5f;

	private bool m_IsaacExplainsComm;

	private float m_IsaacExplainsCommTimer = 11.5f;

	private bool m_AnnaWrapsComm;

	private float m_AnnaWrapsCommTimer = 32f;

	private bool m_EndOperationSeq;

	private float m_EndOperationSeqTimer = 11.5f;
}

NYC Pier

Expand to reveal script
public class StartNYCPier : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCImplantWasRemoved) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHackers))
		{
			Globals.SetMissionTransforms(13, new Transform[] { this.m_IntrepidEntrance });
		}
		else
		{
			Globals.SetMissionTransforms(11, new Transform[] { this.m_SubwayAccess });
			Globals.SetMissionTransforms(12, new Transform[] { this.m_SubwayAccess });
			Globals.SetMissionTransforms(13, new Transform[] { this.m_SubwayAccess });
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCPlantedUplink) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHackedBank))
		{
			Globals.SetMissionTransforms(13, new Transform[] { this.m_IntrepidEntrance });
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCAnnaWasAbducted) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCEscapedBelltowerRaid))
		{
			this.m_BelltowerAttackGroup.SetActiveRecursively(true);
			Globals.SetMissionTransforms(14, new Transform[] { this.m_SubwayAccess });
		}
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_SubwayAccess;

	public Transform m_IntrepidEntrance;

	public GameObject m_BelltowerAttackGroup;
}

NYC Streets

Expand to reveal script
public class StartNYCStreets : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		this.m_EnterNYSEObject.active = false;
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.PanamaHubStarted))
		{
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaHubStarted, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVisitedDoctor, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaHaveLimbCard, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaStartedRiezolMission, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVisitedCobra, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaFoundRiezolShipment, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaLimbMissionComplete, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVisitedPilot, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVIPFound, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVIPMissionComplete, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVTOLMissionStarted, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.PanamaVTOLMissionComplete, true);
		}
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHubStarted))
		{
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCHubStarted, true);
			Globals.SetMissionStatus(11, MissionStatus.Acquired, true);
			Globals.SetSubMissionStatus(11, 0, MissionStatus.Acquired, true);
			Globals.SetMissionTransforms(11, new Transform[] { this.m_EnterHotel });
			Globals.TrackMission(11, true);
		}
		else
		{
			UnityEngine.Object.Destroy(this.m_AnnaInviteTrigger);
		}
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHotelReception))
		{
			Globals.SetMissionTransforms(11, new Transform[] { this.m_EnterHotel });
		}
		else
		{
			UnityEngine.Object.Destroy(this.m_AnnaInviteTrigger);
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedIsaac))
		{
			Globals.SetMissionTransforms(12, new Transform[] { this.m_EnterLimb });
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCImplantWasRemoved) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHackers))
		{
			Globals.SetMissionTransforms(13, new Transform[] { this.m_EnterSubway });
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHaveUplink) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCPlantedUplink))
		{
			Globals.SetMissionTransforms(13, new Transform[] { this.m_EnterBank });
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCPlantedUplink) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHackedBank))
		{
			Globals.SetMissionTransforms(13, new Transform[] { this.m_EnterSubway });
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCEscapedBelltowerRaid))
		{
			this.m_EnterNYSEObject.active = true;
			Globals.m_PrimaryObjective = this.m_EnterNYSE;
			Globals.m_SecondaryObjective = this.m_EnterSubway;
		}
	}

	private void Update()
	{
		if (this.m_ForceHolster)
		{
			Globals.m_PlayerController.WeaponHolster(true);
			this.m_ForceHolster = false;
		}
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_EnterNYSE;

	public GameObject m_EnterNYSEObject;

	public Transform m_EnterBank;

	public Transform m_EnterHotel;

	public Transform m_EnterSubway;

	public Transform m_EnterLimb;

	public GameObject m_AnnaInviteTrigger;

	private bool m_ForceHolster = true;
}

NYC Subway

Expand to reveal script
public class StartNYCSubway : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		this.m_DisplayScreenTrigger.active = false;
		this.m_EscapeBelltowerTrigger.active = false;
		this.m_TunnelAccessTrigger.active = false;
		if (!Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHubStarted))
		{
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCHubStarted, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHotelReception, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedAnna, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedIsaac, true);
			Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCImplantWasRemoved, true);
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCImplantWasRemoved) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCVisitedHackers))
		{
			Globals.SetMissionTransforms(13, new Transform[] { this.m_PierAccess });
		}
		else
		{
			Globals.SetMissionTransforms(11, new Transform[] { this.m_StreetAccess });
			Globals.SetMissionTransforms(12, new Transform[] { this.m_StreetAccess });
			Globals.SetMissionTransforms(13, new Transform[] { this.m_StreetAccess });
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCPlantedUplink) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCHackedBank))
		{
			Globals.SetMissionTransforms(13, new Transform[] { this.m_PierAccess });
		}
		if (Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCAnnaWasAbducted) && !Globals.GetStoryProgressionVar(Globals.StoryProgressionVars.NYCEscapedBelltowerRaid))
		{
			this.m_EscapeBelltowerTrigger.active = true;
			Globals.SetMissionTransforms(14, new Transform[] { this.m_EscapeBelltowerTrigger.transform });
		}
	}

	private void Update()
	{
		if (this.m_ForceHolster)
		{
			Globals.m_PlayerController.WeaponHolster(true);
			this.m_ForceHolster = false;
		}
	}

	private void EscapeBelltower()
	{
		Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCEscapedBelltowerRaid, true);
		Globals.SetMissionTransforms(14, new Transform[] { this.m_DisplayScreen });
	}

	private void NewsBroadcast()
	{
		Globals.SetStoryProgressionVar(Globals.StoryProgressionVars.NYCDiscoveredUndergroundRoute, true);
		Globals.SetMissionStatus(14, MissionStatus.Completed_Success, true);
		Globals.SetSubMissionStatus(14, 0, MissionStatus.Completed_Success, true);
		Globals.SetMissionStatus(15, MissionStatus.Acquired, true);
		Globals.SetSubMissionStatus(15, 0, MissionStatus.Acquired, true);
		Globals.SetMissionTransforms(15, new Transform[] { this.m_TunnelAccess });
		Globals.TrackMission(15, true);
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_StreetAccess;

	public Transform m_PierAccess;

	public Transform m_TunnelAccess;

	public GameObject m_TunnelAccessTrigger;

	public GameObject m_EscapeBelltowerTrigger;

	public Transform m_DisplayScreen;

	public GameObject m_DisplayScreenTrigger;

	private bool m_ForceHolster = true;
}

NYC New York Stock Exchange Basement

Expand to reveal script
public class StartNYSEBasement : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		Globals.m_PrimaryObjective = this.m_StairAccess;
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_StairAccess;
}

NYC New York Stock Exchange Roof

Expand to reveal script
public class StartNYSERoof : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		Globals.m_PrimaryObjective = this.m_SamLocation;
		Globals.m_SecondaryObjective = this.m_BombLocation;
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_SamLocation;

	public Transform m_BombLocation;
}

NYC New York Stock Exchange Trading Floor

Expand to reveal script
public class StartNYSETradingFloor : MonoBehaviour
{
	private void Awake()
	{
		if (GameManager.m_This != null)
		{
			GameManager.m_This.m_CurrentLocation = Location.NewYork;
		}
		RenderSettings.ambientLight = this.m_AmbientColor;
		RenderSettings.fog = this.m_EnableFog;
		RenderSettings.fogColor = this.m_FogColor;
		RenderSettings.fogMode = this.m_FogMode;
		RenderSettings.fogDensity = this.m_FogDensity;
		RenderSettings.fogStartDistance = this.m_FogStartDistance;
		RenderSettings.fogEndDistance = this.m_FogEndDistance;
	}

	private void Start()
	{
		Globals.m_PrimaryObjective = this.m_RoofAccess;
	}

	public Color m_AmbientColor = Color.gray;

	public bool m_EnableFog;

	public Color m_FogColor = Color.black;

	public FogMode m_FogMode = FogMode.Linear;

	public float m_FogDensity = 0.01f;

	public float m_FogStartDistance;

	public float m_FogEndDistance = 100f;

	public Transform m_RoofAccess;
}

Enemy Boss

The script for Sam Duarte's boss fight.

Expand to reveal script
public class Enemy_Boss : EnemyBase
{
	public override void Awake()
	{
		this.m_PawnType = PawnType.Boss;
		this.m_EnemyType = EnemyType.Boss;
		this.m_MinPCR = 5f;
		this.m_MaxPCR = 10f;
		base.Awake();
		this.m_CanInteract = false;
		this.m_StunGunnable = false;
		this.m_Receptive = Enemy_Boss.ReceptiveState.Unaware;
		if (this.m_IOConversation != null)
		{
			this.m_IOConversation.m_ShowPopup = false;
		}
		this.m_ChanceToThrowGrenade = 0.25f;
		this.m_ChanceToGoForCover = 0.2f;
		this.m_ChanceToChangeSpots = 0.4f;
		this.m_ChanceToFlank = 0.5f;
	}

	protected override void Update()
	{
		base.Update();
		if (this.m_Receptive == Enemy_Boss.ReceptiveState.WarningPlayer && !base.SpeakingVO())
		{
			this.m_ReceptiveTimer -= Time.deltaTime;
			if (this.m_ReceptiveTimer <= 0f)
			{
				base.PlayVO("Play_VO_Combat_Start_Warning", 90);
				this.m_Receptive = Enemy_Boss.ReceptiveState.ReadyToFight;
			}
			else if (this.m_ReceptiveTimer <= 5f && !this.m_Taunted)
			{
				base.PlayVO("Play_VO_Warning_Taunt", 90);
				this.m_Taunted = true;
			}
			else if (this.m_IOConversation != null && this.m_IOConversation.m_IsEnabled)
			{
				if (Globals.m_PlayerController.IsWeaponHolstered() != this.m_HolsteredLastFrame)
				{
					this.m_VicinityTimer = 1f;
				}
				this.m_HolsteredLastFrame = Globals.m_PlayerController.IsWeaponHolstered();
				this.m_VicinityTimer -= Time.deltaTime;
				if (this.m_VicinityTimer <= 0f)
				{
					if (!this.m_HolsteredLastFrame)
					{
						if (!this.m_HasSpokenDialog)
						{
							base.PlayVO("Play_VO_Warning", 85);
							this.m_ReceptiveTimer = Mathf.Max(this.m_ReceptiveTimer, 5f);
							this.m_HasSpokenDialog = true;
						}
					}
				}
			}
			else
			{
				this.m_VicinityTimer = 1f;
			}
		}
		else if (this.m_Receptive == Enemy_Boss.ReceptiveState.ReadyToFight && !base.SpeakingVO())
		{
			this.EnterCombat(Globals.m_PlayerController, this.m_LastKnownEnemyPosition, DisturbanceID.Misc_ManuallySet);
		}
		if (this.Hostile() && base.Alive())
		{
			this.m_TauntTimer -= Time.deltaTime;
			if (this.m_TauntTimer <= 0f)
			{
				base.PlayVO("Play_VO_Taunt", 80);
				this.m_TauntTimer = UnityEngine.Random.Range(8f, 12f);
			}
		}
	}

	protected override void Update_SearchingLocation()
	{
		if (this.m_TransitionalAnimation == null)
		{
			if (this.m_ActionTimer <= 0f && this.m_DesiredState == EnemyBase.EnemyState.None)
			{
				base.PlayTransition("Investigate_GunUp", false, false);
			}
		}
		else if (!this.m_Animator.IsPlaying(this.m_TransitionalAnimation))
		{
			base.RecalibrateBase();
			this.m_Animator.Play("Idle_Alert");
			this.m_ActionTimer = UnityEngine.Random.Range(6f, 10f);
		}
		if (this.m_TransitionalAnimation == null && this.m_LogicTimer <= 0f && this.m_DesiredState == EnemyBase.EnemyState.None)
		{
			this.SearchAggressively(false, false);
		}
	}

	public override void ProcessVisualTimer(bool ResetTimer, CharacterBase prevTarget)
	{
		if (this.Hostile() || this.m_TargetEnemy == null)
		{
			return;
		}
		if (this.m_Receptive == Enemy_Boss.ReceptiveState.Unaware)
		{
			if (this.m_VisualSensingTimer >= this.m_TimeToInvestigate)
			{
				this.m_TargetAimToPosition = this.m_LastKnownEnemyPosition + 0.5f * Vector3.up;
				this.WarnEnemy(true, false);
			}
		}
		else if (this.m_Receptive != Enemy_Boss.ReceptiveState.Hostile)
		{
			if (HostilityZone.IsPlayerInHostileTerritory() && this.m_VisualSensingTimer >= this.m_TimeToInvestigate)
			{
				this.EnterCombat(this.m_TargetEnemy, this.m_LastKnownEnemyPosition, DisturbanceID.Visual_InPlainSight);
			}
		}
		else if (this.m_VisualSensingTimer >= this.m_TimeToInvestigate)
		{
			this.EnterCombat(this.m_TargetEnemy, this.m_LastKnownEnemyPosition, DisturbanceID.Visual_InPlainSight);
		}
		if (ResetTimer)
		{
			this.m_VisualSensingTimer = 0f;
		}
	}

	protected override void WarnEnemy(bool FromVisual, bool FromHacking = false)
	{
		if (FromVisual)
		{
			base.PlayVO("Play_VO_Detect_Visual", 80);
		}
		else
		{
			base.PlayVO("Play_VO_Detect_Audio", 80);
		}
		base.StopNavigation();
		this.m_Receptive = Enemy_Boss.ReceptiveState.WarningPlayer;
		this.m_ManuallyTurning = false;
		this.m_Hostility = EnemyBase.Hostility.Warning;
		this.m_CurrentState = EnemyBase.EnemyState.Standing;
		this.m_DesiredState = EnemyBase.EnemyState.None;
		this.m_StateTimer = -1f;
		this.m_ReceptiveTimer = 10f;
		this.m_VicinityTimer = 1f;
		if (this.m_TransitionalAnimation == null)
		{
			this.m_Animator.CrossFade("Idle_Standing");
		}
	}

	protected override bool FlankEnemy()
	{
		Vector3 vector = this.m_LastKnownEnemyPosition - base.transform.position;
		Vector3 vector2 = ((!this.m_LastSeenInCover) ? vector.normalized : this.m_LastSeenCoverNormal);
		for (LinkedListNode<FlankNode> linkedListNode = Globals.m_AIDirector.m_FlankNodes.First; linkedListNode != null; linkedListNode = linkedListNode.Next)
		{
			Vector3 vector3 = linkedListNode.Value.transform.position - this.m_LastKnownEnemyPosition;
			if (Vector3.Dot(vector3, vector2) > 0f)
			{
				if (this.HaveLoS(this.m_TargetEnemy, linkedListNode.Value.transform.position + Vector3.up * 1.5f, this.m_LastKnownEnemyPosition + Vector3.up * 1.5f) && base.CalculateNavPath(linkedListNode.Value.transform.position, 0.5f, true))
				{
					this.m_LastFlankNode = linkedListNode.Value;
					this.m_TargetState = EnemyBase.EnemyState.MovingToLocation;
					this.m_DesiredState = EnemyBase.EnemyState.Standing;
					this.m_PostTransitionEvent = EnemyBase.PostTransitionEvent.None;
					if (!this.Hostile() && !this.IsInCover() && this.m_UninterruptableAnimation == null)
					{
						this.m_CurrentState = EnemyBase.EnemyState.Transitioning;
						if (this.m_NavMeshPath.corners != null && this.m_NavMeshPath.corners.Length > 1)
						{
							base.GatherSourceInfo(this.m_NavMeshPath.corners[1]);
						}
						else
						{
							base.GatherSourceInfo(this.m_TargetMoveToPosition);
						}
						this.PlayDisturbanceAnimation(this.m_SourceInfo.m_ToSourceDirection);
					}
					return true;
				}
			}
		}
		return false;
	}

	public override void EnterCombat(CharacterBase targetEnemy, Vector3 sourceLocation, DisturbanceID sourceID)
	{
		if (this.m_IOConversation != null)
		{
			UnityEngine.Object.Destroy(this.m_IOConversation);
		}
		if (!base.Alive() || !this.m_ActiveByZone || this.Hostile())
		{
			return;
		}
		if (sourceID == DisturbanceID.Visual_Grenade || sourceID == DisturbanceID.Visual_Mine)
		{
			this.m_CurrentDisturbanceID = sourceID;
			this.m_DisturbanceTimer = 4f;
		}
		this.m_TargetEnemy = targetEnemy;
		this.m_LastSeenInCover = this.m_TargetEnemy.IsInCover();
		this.m_LastSeenCoverNormal = this.m_TargetEnemy.GetCoverNormal();
		this.m_LastKnownEnemyPosition = this.m_TargetEnemy.transform.position;
		this.m_TargetAimToPosition = this.m_LastKnownEnemyPosition;
		bool flag = sourceID != DisturbanceID.Misc_ManuallySet && this.m_UninterruptableAnimation == null;
		bool flag2 = (sourceID == DisturbanceID.Audio_GrenadeLanding || sourceID == DisturbanceID.Visual_Grenade || sourceID == DisturbanceID.Visual_Mine) && (sourceLocation - base.transform.position).sqrMagnitude <= 100f;
		if (this.m_Receptive != Enemy_Boss.ReceptiveState.Hostile)
		{
			this.m_TauntTimer = UnityEngine.Random.Range(8f, 12f);
			if (sourceID == DisturbanceID.Visual_Grenade)
			{
				base.PlayVO("Play_VO_Grenade_Alarmed", 90);
			}
			if (sourceID != DisturbanceID.Misc_ManuallySet)
			{
				base.PlayVO("Play_VO_Combat_Start_Weapon", 90);
			}
		}
		Globals.m_AIDirector.EnemyHostile(this);
		this.m_Receptive = Enemy_Boss.ReceptiveState.Hostile;
		this.m_Taunted = false;
		if (!this.Hostile())
		{
			this.m_TimeSinceLastShot = 0f;
		}
		this.m_Hostility = EnemyBase.Hostility.Hostile;
		this.m_StateTimer = -1f;
		this.m_LogicTimer = UnityEngine.Random.Range(3f, 6f);
		this.m_ActionTimer = -1f;
		this.m_LostPlayerTimer = 0f;
		base.StopNavigation();
		this.ReactToThreat(sourceLocation, flag2, this.m_Receptive != Enemy_Boss.ReceptiveState.Hostile, null);
		this.m_Receptive = Enemy_Boss.ReceptiveState.Hostile;
		this.m_Taunted = false;
		if (this.m_UninterruptableAnimation == null && !this.IsInCover())
		{
			base.EnableAiming(EnemyBase.Stance.StandingFree);
		}
	}

	public override void InvestigateDisturbance(Vector3 sourceLocation, DisturbanceID sourceID)
	{
		if (!base.Alive() || !this.m_ActiveByZone || this.Hostile() || this.m_Receptive != Enemy_Boss.ReceptiveState.Unaware)
		{
			return;
		}
		this.m_TargetAimToPosition = sourceLocation + 0.5f * Vector3.up;
		this.WarnEnemy(false, false);
	}

	public override void SearchAggressively(bool SearchLastKnownPosition, bool FirstCall = false)
	{
		if (!base.Alive() || !this.m_ActiveByZone)
		{
			return;
		}
		if (FirstCall)
		{
			this.m_Hostility = EnemyBase.Hostility.Agitated;
			if (SearchLastKnownPosition)
			{
				base.PlayVO("Play_VO_Agitated_Lost_Visual", 76);
			}
		}
		base.StopNavigation();
		this.m_Animator.CrossFade("Idle_Alert");
		this.StopFiring();
		base.EnableAiming(EnemyBase.Stance.None);
		if (SearchLastKnownPosition)
		{
			this.m_TargetMoveToPosition = this.m_LastKnownEnemyPosition;
			this.m_LastFlankNode = null;
		}
		else
		{
			this.m_LastFlankNode = this.GetRandomFlankNode(this.m_LastFlankNode);
			if (this.m_LastFlankNode != null)
			{
				this.m_TargetMoveToPosition = this.m_LastFlankNode.transform.position;
			}
		}
		if ((SearchLastKnownPosition || this.m_LastFlankNode != null) && base.CalculateNavPath(this.m_TargetMoveToPosition, 3f, true))
		{
			if (this.IsInCover())
			{
				this.m_DesiredState = EnemyBase.EnemyState.SearchingLocation;
				this.m_StateTimer = UnityEngine.Random.Range(0.5f, 1.5f);
				this.m_LogicTimer = -1f;
				this.m_ActionTimer = -1f;
			}
			else
			{
				this.m_CurrentState = EnemyBase.EnemyState.Transitioning;
				this.m_TargetState = EnemyBase.EnemyState.MovingToLocation;
				this.m_DesiredState = EnemyBase.EnemyState.SearchingLocation;
				this.m_PostTransitionEvent = EnemyBase.PostTransitionEvent.None;
				this.m_StateTimer = -1f;
				this.m_LogicTimer = -1f;
				this.m_ActionTimer = -1f;
				if (this.m_NavMeshPath.corners != null && this.m_NavMeshPath.corners.Length > 1)
				{
					base.GatherSourceInfo(this.m_NavMeshPath.corners[1]);
				}
				else
				{
					base.GatherSourceInfo(this.m_TargetMoveToPosition);
				}
				base.PlayTurnAnimation(this.m_SourceInfo.m_ToSourceDirection);
			}
			return;
		}
		this.m_TargetMoveToPosition = base.transform.position;
		this.m_TargetState = EnemyBase.EnemyState.Standing;
		this.m_DesiredState = EnemyBase.EnemyState.Standing;
		this.m_PostTransitionEvent = EnemyBase.PostTransitionEvent.None;
		this.m_StateTimer = -1f;
		this.m_LogicTimer = -1f;
		this.m_ActionTimer = -1f;
	}

	public FlankNode GetRandomFlankNode(FlankNode ignoredNode)
	{
		if (Globals.m_AIDirector.m_FlankNodes.First == null)
		{
			return null;
		}
		int num = UnityEngine.Random.Range(1, 20);
		LinkedListNode<FlankNode> linkedListNode = Globals.m_AIDirector.m_FlankNodes.First;
		for (int i = 0; i < num; i++)
		{
			linkedListNode = linkedListNode.Next;
			if (linkedListNode != null && ignoredNode != null && linkedListNode.Value == ignoredNode)
			{
				linkedListNode = linkedListNode.Next;
			}
			if (linkedListNode == null)
			{
				linkedListNode = Globals.m_AIDirector.m_FlankNodes.First;
			}
		}
		return (linkedListNode != null) ? linkedListNode.Value : null;
	}

	public override bool ReturnToPatrol(float delay = -1f, bool playLost = false)
	{
		return this.m_Receptive != Enemy_Boss.ReceptiveState.Hostile;
	}

	public override void SupportInvestigation(Vector3 sourceLocation, DisturbanceID sourceID)
	{
	}

	public override bool Interact()
	{
		return false;
	}

	public override void HitByTranquilizer()
	{
	}

	public override void ReEstablishState(bool FromLoad, string waypointAnim = "Waypoint_DeskSearch", float waypointAnimTime = 0f)
	{
	}

	public override void ZoneActivate(bool active, bool FromLoad = false)
	{
	}

	public override XmlElement SaveGame(XmlElement root, XmlDocument doc)
	{
		return null;
	}

	public override void LoadGame(XmlElement el)
	{
	}

	private const float m_ReceptiveDelay = 10f;

	private const float m_VicinityDelay = 1f;

	public InteractiveObject_Conversation m_IOConversation;

	private Enemy_Boss.ReceptiveState m_Receptive;

	private float m_ReceptiveTimer = -1f;

	private float m_VicinityTimer;

	private bool m_HolsteredLastFrame = true;

	private bool m_Taunted;

	private FlankNode m_LastFlankNode;

	private float m_TauntTimer = -1f;

	public enum ReceptiveState
	{
		Unaware,
		WarningPlayer,
		ReadyToFight,
		Hostile
	}
}

TyrantOutroStart

Potentially a 1:16 cutscene that sends you to the New York Streets level once finished. If it was meant to play at the end of Australia it may make more sense for it to drop you on the New York helipad instead?

Expand to reveal script
public class TyrantOutroStart : MonoBehaviour
{
	private void Start()
	{
		if (this.m_CinematicSpeaker != null)
		{
			if (this.m_CinematicSpeaker.animation != null)
			{
				this.m_AnimState = this.m_CinematicSpeaker.animation[this.m_AnimName];
				if (this.m_AnimState != null)
				{
					this.m_AnimState.layer = 1;
					this.m_AnimState.wrapMode = WrapMode.ClampForever;
					this.m_AnimState.blendMode = AnimationBlendMode.Blend;
				}
				else
				{
					Debug.Log("animState is NULL!");
				}
			}
			else
			{
				Debug.Log("SpeakerObject.animation is NULL!");
			}
		}
		else
		{
			Debug.Log("SpeakerObject is NULL!");
		}
	}

	private void Update()
	{
		if (this.m_CinematicStarted && !this.m_FaceFXPlaying)
		{
			this.m_CinematicSpeaker.animation.CrossFade(this.m_BodyAnim, 0.5f);
			this.ffxController.PlayAnim(this.m_AnimName, this.m_SpeechEvent, null);
			this.m_FaceFXPlaying = true;
		}
		if (this.m_CinematicStarted)
		{
			this.m_CinematicTimer += Time.deltaTime;
			for (int i = 0; i < this.m_ScreenFades.Length; i++)
			{
				if (this.m_ScreenFades[i].m_TriggerTime >= 0f && this.m_ScreenFades[i].m_TriggerTime <= this.m_CinematicTimer)
				{
					this.m_ScreenFades[i].TriggerScreenFade();
				}
			}
			if (!this.m_SequenceComplete && this.m_CinematicTimer >= this.m_SequenceDuration)
			{
				this.m_SequenceComplete = true;
				GameManager.LoadLevel("NYStreets", false);
			}
		}
	}

	private void StartOutro()
	{
		this.m_CinematicStarted = true;
		this.m_ActivationObject.SetActiveRecursively(true);
		this.m_DeactivationObject.SetActiveRecursively(false);
		Globals.m_PlayerController.gameObject.SetActiveRecursively(false);
	}

	public float m_SequenceDuration = 76f;

	private bool m_SequenceComplete;

	public GameObject m_ActivationObject;

	public GameObject m_DeactivationObject;

	public TyrantOutroStart.FadeEvent[] m_ScreenFades;

	public GameObject m_CinematicSpeaker;

	public FaceFXControllerScript ffxController;

	public string m_SpeechEvent;

	public string m_AnimName;

	public AnimationState m_AnimState;

	public string m_BodyAnim;

	private bool m_CinematicStarted;

	private bool m_FaceFXPlaying;

	private float m_CinematicTimer;

	[Serializable]
	public class FadeEvent
	{
		public void TriggerScreenFade()
		{
			this.m_TriggerTime = -1f;
			if (this.m_FadeComponent != null)
			{
				this.m_FadeComponent.StartFade(this.m_FadeInDuration, this.m_IdleDuration, this.m_FadeOutDuration);
			}
		}

		public float m_TriggerTime = -1f;

		public ScreenFade m_FadeComponent;

		public float m_FadeInDuration = 1f;

		public float m_IdleDuration = 1f;

		public float m_FadeOutDuration = 0.5f;
	}
}