diff --git a/AlarmDiscScript.cs b/AlarmDiscScript.cs index 82be5df..2cb19e4 100644 --- a/AlarmDiscScript.cs +++ b/AlarmDiscScript.cs @@ -90,9 +90,9 @@ public class AlarmDiscScript : MonoBehaviour } Debug.Log("An alarm disc has come into contact with: " + this.Student.Name); Debug.Log("Originator is: " + this.Originator); - if ((!this.Student.TurnOffRadio && this.Student.Alive && !this.Student.Pushed && !this.Student.Dying && !this.Student.Alarmed && !this.Student.Guarding && !this.Student.Wet && !this.Student.Slave && !this.Student.CheckingNote && !this.Student.WitnessedMurder && !this.Student.WitnessedCorpse && !this.StudentIsBusy && !this.Student.FocusOnYandere && !this.Student.Fleeing && !this.Student.Shoving && !this.Student.SentHome && this.Student.ClubActivityPhase < 16 && !this.Student.Vomiting && !this.Student.Lethal && !this.Student.Headache && !this.Student.Sedated && !this.Student.SenpaiWitnessingRivalDie) || (this.Student.Persona == PersonaType.Protective && this.Originator.StudentID == 11)) + if ((!this.Student.TurnOffRadio && this.Student.Alive && !this.Student.Pushed && !this.Student.Dying && !this.Student.Alarmed && !this.Student.Guarding && !this.Student.Wet && !this.Student.Slave && !this.Student.CheckingNote && !this.Student.WitnessedMurder && !this.Student.WitnessedCorpse && !this.StudentIsBusy && !this.Student.FocusOnYandere && !this.Student.Fleeing && !this.Student.Shoving && !this.Student.SentHome && this.Student.ClubActivityPhase < 16 && !this.Student.Vomiting && !this.Student.Lethal && !this.Student.Headache && !this.Student.Sedated && !this.Student.SenpaiWitnessingRivalDie && !this.Student.Hunted) || (this.Student.Persona == PersonaType.Protective && this.Originator.StudentID == 11 && !this.Student.Hunted)) { - Debug.Log("Nothing is stopping " + this.Student.Name + " from reacting."); + Debug.Log("Nothing is stopping " + this.Student.Name + " from reacting to this alarm disc."); bool male = this.Student.Male; if (!this.Student.Struggling) { @@ -123,6 +123,14 @@ public class AlarmDiscScript : MonoBehaviour this.Student.Hesitation = 0.5f; } this.Student.Alarm = 200f; + if (this.Originator != null && this.Originator.Attacked) + { + Debug.Log(this.Originator.Name + " spawned an Alarm Disc because they were attacked."); + } + if (this.Student.StudentID == 10 && this.Originator.StudentID == 11 && this.Originator.Attacked) + { + this.Student.AwareOfMurder = true; + } if (!this.NoScream) { this.Student.Giggle = null; @@ -150,10 +158,13 @@ public class AlarmDiscScript : MonoBehaviour { if (this.Student.StudentManager.LockerRoomArea.bounds.Contains(base.transform.position) || this.Student.StudentManager.WestBathroomArea.bounds.Contains(base.transform.position) || this.Student.StudentManager.EastBathroomArea.bounds.Contains(base.transform.position) || (this.Student.Club != ClubType.Delinquent && this.Student.StudentManager.IncineratorArea.bounds.Contains(base.transform.position)) || this.Student.StudentManager.HeadmasterArea.bounds.Contains(base.transform.position)) { - this.Student.Yandere.NotificationManager.CustomText = this.Student.Name + " ignored a radio."; - if (this.Student.Yandere.NotificationManager.CustomText != this.Student.Yandere.NotificationManager.PreviousText) + if (this.Student.Yandere.NotificationManager.NotificationParent.childCount < 5) { - this.Student.Yandere.NotificationManager.DisplayNotification(NotificationType.Custom); + this.Student.Yandere.NotificationManager.CustomText = this.Student.Name + " ignored a radio."; + if (this.Student.Yandere.NotificationManager.CustomText != this.Student.Yandere.NotificationManager.PreviousText) + { + this.Student.Yandere.NotificationManager.DisplayNotification(NotificationType.Custom); + } } } else diff --git a/AlphabetScript.cs b/AlphabetScript.cs index d8f15a5..0db94fa 100644 --- a/AlphabetScript.cs +++ b/AlphabetScript.cs @@ -18,6 +18,7 @@ public class AlphabetScript : MonoBehaviour this.PuzzleCube.SetActive(true); this.WeaponBag.SetActive(true); this.Jukebox.SetActive(false); + this.MyRenderer.enabled = true; this.Class.PhysicalGrade = 5; this.Music.Play(); this.UpdateText(); @@ -185,6 +186,8 @@ public class AlphabetScript : MonoBehaviour public Transform LocalArrow; + public Renderer MyRenderer; + public Transform Yandere; public int RemainingBombs; diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj index 3d99881..088aad2 100644 @@ -536,6 +539,7 @@ + @@ -604,6 +608,7 @@ + @@ -704,6 +709,7 @@ + @@ -905,6 +911,8 @@ + + @@ -933,10 +941,12 @@ + + @@ -1421,6 +1431,34 @@ @@ -1436,6 +1474,7 @@ + diff --git a/AttackManagerScript.cs b/AttackManagerScript.cs index a3c22ce..e425abf 100644 --- a/AttackManagerScript.cs +++ b/AttackManagerScript.cs @@ -10,6 +10,7 @@ public class AttackManagerScript : MonoBehaviour private void Start() { + this.Censor = GameGlobals.CensorKillingAnims; this.OriginalBloodEffect = this.BloodEffect; } @@ -146,24 +147,15 @@ public class AttackManagerScript : MonoBehaviour if (this.AttackTimer == 0f) { this.Yandere.Blur.enabled = true; - this.Yandere.Blur.blurSize = 0f; - this.Yandere.Blur.blurIterations = 0; + this.Yandere.Blur.Size = 1f; } if (this.AttackTimer < this.YandereAnim[this.AnimName].length - 0.5f) { - this.Yandere.Blur.blurSize = Mathf.MoveTowards(this.Yandere.Blur.blurSize, 10f, Time.deltaTime * 10f); - if (this.Yandere.Blur.blurSize > (float)this.Yandere.Blur.blurIterations) - { - this.Yandere.Blur.blurIterations++; - } + this.Yandere.Blur.Size = Mathf.MoveTowards(this.Yandere.Blur.Size, 16f, Time.deltaTime * 10f); } else { - this.Yandere.Blur.blurSize = Mathf.Lerp(this.Yandere.Blur.blurSize, 0f, Time.deltaTime * 10f); - if (this.Yandere.Blur.blurSize < (float)this.Yandere.Blur.blurIterations) - { - this.Yandere.Blur.blurIterations--; - } + this.Yandere.Blur.Size = Mathf.MoveTowards(this.Yandere.Blur.Size, 1f, Time.deltaTime * 32f); } } this.AttackTimer += Time.deltaTime; @@ -224,7 +216,7 @@ public class AttackManagerScript : MonoBehaviour this.Timer = 0f; this.CheckForSpecialCase(equippedWeapon); this.Yandere.Blur.enabled = false; - this.Yandere.Blur.blurSize = 0f; + this.Yandere.Blur.Size = 1f; if (equippedWeapon.Blunt) { this.Yandere.TargetStudent.Ragdoll.NeckSnapped = true; @@ -459,8 +451,8 @@ public class AttackManagerScript : MonoBehaviour if (!weapon.Blunt) { this.Yandere.Bloodiness += 20f; - this.Yandere.StainWeapon(); } + this.Yandere.StainWeapon(); UnityEngine.Object.Instantiate(this.BloodEffect, weapon.transform.position + weapon.transform.forward * 0.5f, Quaternion.identity); this.EffectPhase++; return; @@ -475,8 +467,8 @@ public class AttackManagerScript : MonoBehaviour if (!weapon.Blunt) { this.Yandere.Bloodiness += 20f; - this.Yandere.StainWeapon(); } + this.Yandere.StainWeapon(); UnityEngine.Object.Instantiate(this.BloodEffect, weapon.transform.position + weapon.transform.forward * 0.5f, Quaternion.identity); this.EffectPhase++; return; @@ -496,8 +488,8 @@ public class AttackManagerScript : MonoBehaviour if (!weapon.Blunt) { this.Yandere.Bloodiness += 20f; - this.Yandere.StainWeapon(); } + this.Yandere.StainWeapon(); UnityEngine.Object.Instantiate(this.BloodEffect, weapon.transform.position + weapon.transform.forward * 0.5f, Quaternion.identity); this.EffectPhase++; return; diff --git a/AudioMenuScript.cs b/AudioMenuScript.cs index c5f4ef9..3bc757a 100644 --- a/AudioMenuScript.cs +++ b/AudioMenuScript.cs @@ -56,7 +56,7 @@ public class AudioMenuScript : MonoBehaviour this.PromptBar.Label[1].text = "Exit"; this.PromptBar.Label[4].text = "Choose"; this.PromptBar.UpdateButtons(); - this.PauseScreen.ScreenBlur.enabled = true; + this.PauseScreen.Yandere.Blur.enabled = true; this.PauseScreen.MainMenu.SetActive(true); this.PauseScreen.Sideways = false; this.PauseScreen.PressedB = true; diff --git a/BarScript.cs b/BarScript.cs index ae97c99..3d77af0 100644 --- a/BarScript.cs +++ b/BarScript.cs @@ -10,12 +10,23 @@ public class BarScript : MonoBehaviour private void Update() { - base.transform.localScale = new Vector3(base.transform.localScale.x + this.Speed * Time.deltaTime, 1f, 1f); - if ((double)base.transform.localScale.x > 0.1) + if (this.Goal == 0f) { - base.transform.localScale = new Vector3(0f, 1f, 1f); + base.transform.localScale = new Vector3(base.transform.localScale.x + this.Speed * Time.deltaTime, 1f, 1f); + if ((double)base.transform.localScale.x > 0.1) + { + base.transform.localScale = new Vector3(0f, 1f, 1f); + return; + } + } + else + { + this.Speed += Time.deltaTime; + base.transform.localScale = Vector3.Lerp(base.transform.localScale, new Vector3(this.Goal, 1f, 1f), Time.deltaTime * this.Speed); } } public float Speed; + + public float Goal; } diff --git a/BentoScript.cs b/BentoScript.cs index 347f32b..8a6ca39 100644 --- a/BentoScript.cs +++ b/BentoScript.cs @@ -21,7 +21,7 @@ public class BentoScript : MonoBehaviour return; } } - else if (this.Yandere.Inventory.EmeticPoison || this.Yandere.Inventory.RatPoison || this.Yandere.Inventory.LethalPoison) + else if (this.Yandere.Inventory.EmeticPoison || this.Yandere.Inventory.RatPoison || this.Yandere.Inventory.LethalPoison || this.Yandere.Inventory.ChemicalPoison) { this.Prompt.enabled = true; if (!this.Yandere.Inventory.EmeticPoison && !this.Yandere.Inventory.RatPoison) @@ -62,7 +62,14 @@ public class BentoScript : MonoBehaviour } if (this.ID == 11 || this.ID == 6) { - this.Prompt.HideButton[1] = !this.Prompt.Yandere.Inventory.LethalPoison; + if (this.Prompt.Yandere.Inventory.LethalPoison || this.Prompt.Yandere.Inventory.ChemicalPoison) + { + this.Prompt.HideButton[1] = false; + } + else + { + this.Prompt.HideButton[1] = true; + } if (this.Prompt.Circle[1].fillAmount == 0f) { this.Prompt.Yandere.CharacterAnimation.CrossFade("f02_poisoning_00"); diff --git a/BucketPourScript.cs b/BucketPourScript.cs index c7ea258..425c5bc 100644 --- a/BucketPourScript.cs +++ b/BucketPourScript.cs @@ -62,7 +62,7 @@ public class BucketPourScript : MonoBehaviour } else { - this.Yandere.Character.GetComponent().CrossFade("f02_bucketDrop_00"); + this.Yandere.CharacterAnimation.CrossFade("f02_bucketDrop_00"); this.Yandere.MyController.radius = 0f; this.Yandere.BucketDropping = true; this.Yandere.DropSpot = base.transform; diff --git a/BucketScript.cs b/BucketScript.cs index 78534a4..c0ba667 100644 --- a/BucketScript.cs +++ b/BucketScript.cs @@ -325,6 +325,7 @@ public class BucketScript : MonoBehaviour } if (this.Dropped && base.transform.position.y < 0.5f) { + base.gameObject.layer = 15; this.Dropped = false; } } diff --git a/BusStopScript.cs b/BusStopScript.cs index eb245b6..7dc55e4 100644 --- a/BusStopScript.cs +++ b/BusStopScript.cs @@ -1,6 +1,835 @@ using System; using UnityEngine; +using UnityEngine.PostProcessing; +using UnityEngine.SceneManagement; public class BusStopScript : MonoBehaviour { + private void Start() + { + this.Renderer.material.color = new Color(0f, 0f, 0f, 1f); + base.transform.position = new Vector3(0.375f, 0.5f, 2.5f); + base.transform.eulerAngles = new Vector3(0f, 180f, 0f); + this.SecondAmai.gameObject.SetActive(false); + this.ThirdAmai.gameObject.SetActive(false); + this.SenpaiAnim["sadFace_00"].layer = 1; + this.SenpaiAnim.Play("sadFace_00"); + DepthOfFieldModel.Settings settings = this.Profile.depthOfField.settings; + settings.focusDistance = 1.2f; + settings.aperture = 5.6f; + this.Profile.depthOfField.settings = settings; + this.Subtitle.text = ""; + if (GameGlobals.RivalEliminationID == 0) + { + GameGlobals.RivalEliminationID = 1; + GameGlobals.NonlethalElimination = false; + } + this.RivalEliminationID = GameGlobals.RivalEliminationID; + Debug.Log("GameGlobals.RivalEliminationID is: " + GameGlobals.RivalEliminationID); + } + + private void Update() + { + this.SkipTimer += Time.deltaTime; + if (this.SkipTimer > 5f) + { + this.SkipPanel.alpha -= Time.deltaTime; + } + if (this.EndEarly) + { + this.Alpha = Mathf.MoveTowards(this.Alpha, 1f, Time.deltaTime * 0.5f); + this.SkipPanel.alpha -= Time.deltaTime; + this.Renderer.material.color = new Color(0f, 0f, 0f, this.Alpha); + this.Subtitle.text = ""; + if (this.Alpha == 1f) + { + this.ExitCutscene(); + } + } + else if (UnityEngine.Input.GetButton("X")) + { + this.SkipPanel.alpha = 1f; + this.SkipTimer = 0f; + this.SkipCircle.fillAmount -= Time.deltaTime; + if (this.SkipCircle.fillAmount == 0f) + { + this.EndEarly = true; + } + } + else + { + this.SkipCircle.fillAmount = 1f; + } + if (UnityEngine.Input.GetKeyDown("z")) + { + this.Phase = 99; + this.UpdateDOF(0.5f); + base.transform.position = new Vector3(0.1f, 1f, 1.33333f); + base.transform.eulerAngles = new Vector3(0f, -135f, 0f); + this.SecondAmai.gameObject.SetActive(false); + this.ThirdAmai.gameObject.SetActive(true); + this.Amai.gameObject.SetActive(false); + if (this.NoAnim) + { + this.ThirdAmai["FriendshipRival"].speed = 0f; + } + this.ThirdAmai["f02_carryBox_00"].layer = 1; + this.ThirdAmai.Play("f02_carryBox_00"); + this.SpeechID = 0; + this.Alpha = 0f; + this.Timer = 0f; + this.Renderer.material.color = new Color(0f, 0f, 0f, this.Alpha); + } + if (UnityEngine.Input.GetKeyDown("x")) + { + this.UpdateDOF(0.5f); + base.transform.position = new Vector3(0.1f, 1f, 1.33333f); + base.transform.eulerAngles = new Vector3(0f, -135f, 0f); + this.SecondAmai.gameObject.SetActive(false); + this.ThirdAmai.gameObject.SetActive(true); + this.ThirdAmai["FriendshipRival"].time = 0f; + this.ThirdAmai["f02_carryBox_00"].layer = 1; + this.ThirdAmai.Play("f02_carryBox_00"); + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase = 0; + } + if (UnityEngine.Input.GetKeyDown("escape")) + { + SceneManager.LoadScene("NewTitleScene"); + } + if (this.Phase == 1) + { + this.Alpha = Mathf.MoveTowards(this.Alpha, 0f, Time.deltaTime * 0.2f); + this.Renderer.material.color = new Color(0f, 0f, 0f, this.Alpha); + if (this.Alpha == 0f) + { + if (this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[0]; + this.Audio.clip = this.Speech[0]; + this.Audio.Play(); + this.SpeechID++; + } + else + { + this.Timer += Time.deltaTime; + if (this.Timer > 6f) + { + this.Subtitle.text = ""; + } + } + } + if (this.SenpaiRenderer.sharedMesh != this.CasualMesh) + { + this.SenpaiRenderer.sharedMesh = this.CasualMesh; + this.SenpaiRenderer.materials[0].mainTexture = this.CasualClothes; + this.SenpaiRenderer.materials[1].mainTexture = this.Cosmetic.SkinTextures[this.Cosmetic.SkinID]; + } + if (this.BakerSenpaiRenderer.sharedMesh != this.CasualMesh) + { + this.BakerSenpaiRenderer.sharedMesh = this.CasualMesh; + this.BakerSenpaiRenderer.materials[0].mainTexture = this.CasualClothes; + this.BakerSenpaiRenderer.materials[1].mainTexture = this.Cosmetic.SkinTextures[this.Cosmetic.SkinID]; + } + base.transform.position += new Vector3(0f, 0f, this.Speed * Time.deltaTime); + this.Amai.transform.position -= new Vector3(1f * Time.deltaTime, 0f, 0f); + if (this.Amai.transform.position.x < -2f) + { + this.SecondAmai.gameObject.SetActive(true); + if (this.SecondAmai["f02_motherRecipe_00"].speed == 1f) + { + this.SecondAmai["f02_motherRecipe_00"].speed = 0.66666f; + this.SecondAmai["f02_motherRecipe_00"].time = 16f; + this.SecondAmai["f02_carry_00"].layer = 1; + this.SecondAmai.Play("f02_carry_00"); + } + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Renderer.material.color = new Color(0f, 0f, 0f, 0f); + this.Amai.transform.position = new Vector3(-11f, 0f, 0f); + } + if (this.Amai.transform.position.x < -10f) + { + this.UpdateDOF(0.45f); + base.transform.position = new Vector3(-0.1f, 1f, 1.66666f); + base.transform.eulerAngles = new Vector3(0f, 135f, 0f); + this.Amai.SetActive(false); + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 2) + { + this.Timer += Time.deltaTime; + if (this.Timer > 1f && this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[1]; + this.Audio.clip = this.Speech[1]; + this.Audio.Play(); + this.SpeechID++; + } + if (this.Timer > 2.275f) + { + this.SenpaiAnim.CrossFade("noticeAmai_00"); + this.SenpaiAnim["sadFace_00"].weight = 0f; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.SenpaiAnim.CrossFade("noticeAmai_00"); + this.SenpaiAnim["sadFace_00"].weight = 0f; + this.Timer = 8f; + } + if (this.Timer > 7f) + { + this.UpdateDOF(0.5f); + base.transform.position = new Vector3(0.1f, 1f, 1.33333f); + base.transform.eulerAngles = new Vector3(0f, -135f, 0f); + this.SecondAmai.gameObject.SetActive(false); + this.ThirdAmai.gameObject.SetActive(true); + this.ThirdAmai["FriendshipRival"].time = 2f; + if (this.NoAnim) + { + this.ThirdAmai["FriendshipRival"].speed = 0f; + } + this.ThirdAmai["f02_carryBox_00"].layer = 1; + this.ThirdAmai.Play("f02_carryBox_00"); + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 3) + { + this.Timer += Time.deltaTime; + if (this.Timer > 0.5f) + { + this.Subtitle.text = this.Subtitles[2]; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 8f; + } + if (this.Timer > 7.5f) + { + this.UpdateDOF(0.45f); + base.transform.position = new Vector3(-0.1f, 1f, 1.66666f); + base.transform.eulerAngles = new Vector3(0f, 135f, 0f); + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 4) + { + this.Timer += Time.deltaTime; + if (this.Timer > 0.5f && this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[3]; + this.Audio.clip = this.Speech[2]; + this.Audio.Play(); + this.SpeechID++; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 7f; + } + if (this.Timer > 6f) + { + this.UpdateDOF(0.5f); + base.transform.position = new Vector3(0.1f, 1f, 1.33333f); + base.transform.eulerAngles = new Vector3(0f, -135f, 0f); + this.ThirdAmai["FriendshipRival"].time = 77f; + this.DonutLid.parent.parent = null; + this.ThirdAmai["f02_carryBox_00"].weight = 0f; + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 5) + { + this.Timer += Time.deltaTime; + if (this.Timer > 0f && this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[4]; + this.Audio.clip = this.Speech[3]; + this.Audio.Play(); + this.SpeechID++; + } + if (this.Timer > 2f && this.SpeechID == 1) + { + this.Subtitle.text = this.Subtitles[5]; + this.ThirdAmai["FriendshipRival"].time = 80f; + this.SpeechID++; + } + if (this.Timer > 6.75f && this.SpeechID == 2) + { + this.Subtitle.text = this.Subtitles[6]; + this.ThirdAmai["FriendshipRival"].time = 81f; + this.SpeechID++; + } + if (this.Timer > 16.75f && this.SpeechID == 3) + { + this.Subtitle.text = this.Subtitles[7]; + this.ThirdAmai["FriendshipRival"].time = 94f; + this.SpeechID++; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 21f; + } + if (this.Timer > 20f) + { + this.UpdateDOF(0.45f); + base.transform.position = new Vector3(-0.1f, 1f, 1.66666f); + base.transform.eulerAngles = new Vector3(0f, 135f, 0f); + this.ThirdAmai["FriendshipRival"].time = 92f; + this.ThirdAmai["f02_carryBox_00"].weight = 1f; + this.DonutLid.parent.parent = this.AmaiRightHand; + this.DonutLid.parent.localPosition = new Vector3(0.125f, -0.19f, -0.03f); + this.DonutLid.parent.localEulerAngles = new Vector3(-15f, 90f, 90f); + this.SenpaiAnim.Play("returnToSad_00"); + this.UtilityPole.SetActive(false); + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 6) + { + this.Timer += Time.deltaTime; + if (this.Timer > 5f && this.SpeechID == 0) + { + this.Subtitle.text = this.EliminationDescriptions[this.RivalEliminationID]; + this.Audio.clip = this.OsanaEliminations[this.RivalEliminationID]; + this.Audio.Play(); + this.TimeLimit = this.OsanaEliminations[this.RivalEliminationID].length; + this.SpeechID++; + } + this.Speed += Time.deltaTime * 0.01f; + base.transform.position = Vector3.Lerp(base.transform.position, new Vector3(0.375f, 0.55f, 1.75f), Time.deltaTime * this.Speed); + base.transform.LookAt(this.Target); + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = this.TimeLimit + 6f; + } + if (this.Timer > this.TimeLimit + 6f) + { + this.UpdateDOF(0.5f); + base.transform.position = new Vector3(0.1f, 1f, 1.33333f); + base.transform.eulerAngles = new Vector3(0f, -135f, 0f); + this.UtilityPole.SetActive(true); + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 7) + { + this.Timer += Time.deltaTime; + if (this.Timer > 2f && this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[8]; + this.ThirdAmai["FriendshipRival"].time = 135f; + this.Audio.clip = this.Speech[4]; + this.Audio.Play(); + this.SpeechID++; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 15f; + } + if (this.Timer > 14f) + { + this.UpdateDOF(0.45f); + base.transform.position = new Vector3(-0.1f, 1f, 1.66666f); + base.transform.eulerAngles = new Vector3(0f, 135f, 0f); + this.SenpaiAnim.Play("noticeDonuts_00"); + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 8) + { + this.Timer += Time.deltaTime; + if (this.Timer > 0.5f && this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[9]; + this.Audio.clip = this.Speech[5]; + this.Audio.Play(); + this.SpeechID++; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 10f; + } + if (this.Timer > 8.5f) + { + this.CloseUp = true; + this.UpdateDOF(0.4f); + base.transform.position = new Vector3(0.1f, 1f, 1.33333f); + base.transform.eulerAngles = new Vector3(0f, -135f, 0f); + this.ThirdAmai.transform.position = new Vector3(0.5f, 0f, 0.81f); + this.ThirdAmai.transform.eulerAngles = new Vector3(0f, 45f, 0f); + this.DonutLid.localEulerAngles = new Vector3(-6f, 180f, 180f); + base.transform.parent = this.DonutLid.parent; + base.transform.localPosition = new Vector3(0f, 2f, 1.75f); + base.transform.localEulerAngles = new Vector3(45f, 180f, 0f); + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 9) + { + base.transform.Translate(0f, 0f, Time.deltaTime * -0.01f); + this.Timer += Time.deltaTime; + if (this.Timer > 0.5f && this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[10]; + this.Audio.clip = this.Speech[6]; + this.Audio.Play(); + this.SpeechID++; + } + if (this.Timer > 5f && this.SpeechID == 1) + { + this.Subtitle.text = this.Subtitles[11]; + this.Audio.clip = this.Speech[7]; + this.Audio.Play(); + this.SpeechID++; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 10f; + } + if (this.Timer > 8.5f) + { + this.CloseUp = false; + this.TreeShot = true; + this.UpdateDOF(1f); + base.transform.parent = null; + base.transform.position = new Vector3(0f, 2f, 0f); + base.transform.eulerAngles = new Vector3(-35f, 180f, 0f); + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 10) + { + this.Timer += Time.deltaTime; + if (this.Timer > 1f && this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[12]; + this.Audio.clip = this.Speech[8]; + this.Audio.Play(); + this.SpeechID++; + } + if (this.Timer > 4.5f && this.SpeechID == 1) + { + this.Subtitle.text = this.Subtitles[13]; + this.Audio.clip = this.Speech[9]; + this.Audio.Play(); + this.SpeechID++; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 11f; + } + if (this.Timer > 9.5f) + { + this.TreeShot = false; + this.UpdateDOF(0.5f); + base.transform.position = new Vector3(0.1f, 1f, 1.33333f); + base.transform.eulerAngles = new Vector3(0f, -135f, 0f); + this.ThirdAmai.transform.position = new Vector3(0.33333f, 0f, 1.5f); + this.ThirdAmai.transform.eulerAngles = new Vector3(0f, 0f, 0f); + this.DonutLid.localEulerAngles = new Vector3(-90f, 0f, 0f); + this.ThirdAmai["FriendshipRival"].time = 145f; + this.Subtitle.text = this.Subtitles[14]; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 11) + { + this.Timer += Time.deltaTime; + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 10f; + } + if (this.Timer > 9f) + { + this.UpdateDOF(0.45f); + base.transform.position = new Vector3(-0.1f, 1f, 1.66666f); + base.transform.eulerAngles = new Vector3(0f, 135f, 0f); + this.SenpaiAnim.Play("noticeAmai_00"); + this.SenpaiAnim["noticeAmai_00"].time = this.SenpaiAnim["noticeAmai_00"].length; + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 12) + { + this.Timer += Time.deltaTime; + if (this.Timer > 0.5f && this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[15]; + this.Audio.clip = this.Speech[10]; + this.Audio.Play(); + this.SpeechID++; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 8f; + } + if (this.Timer > 7f) + { + this.UpdateDOF(0.5f); + base.transform.position = new Vector3(0.1f, 1f, 1.33333f); + base.transform.eulerAngles = new Vector3(0f, -135f, 0f); + this.ThirdAmai["FriendshipRival"].time = 2f; + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 13) + { + this.Timer += Time.deltaTime; + if (this.Timer > 0.5f && this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[16]; + this.Audio.clip = this.Speech[11]; + this.Audio.Play(); + this.SpeechID++; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 8f; + } + if (this.Timer > 6.5f) + { + this.UpdateDOF(0.45f); + base.transform.position = new Vector3(-0.1f, 1f, 1.66666f); + base.transform.eulerAngles = new Vector3(0f, 135f, 0f); + this.SenpaiAnim.Play("draggedByAmai_00"); + this.SenpaiAnim["sadFace_00"].weight = 0f; + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 14) + { + this.Timer += Time.deltaTime; + if (this.Timer > 0.5f && this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[17]; + this.Audio.clip = this.Speech[12]; + this.Audio.Play(); + this.SpeechID++; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 12f; + } + if (this.Timer > 11f) + { + this.UpdateDOF(0.5f); + base.transform.position = new Vector3(0.1f, 1f, 1.33333f); + base.transform.eulerAngles = new Vector3(0f, -135f, 0f); + this.SenpaiAnim.gameObject.SetActive(false); + this.ThirdAmai["FriendshipRival"].time = 145f; + this.Subtitle.text = ""; + this.SpeechID = 0; + this.Alpha = 0f; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 15) + { + this.Timer += Time.deltaTime; + if (this.Timer > 0.5f && this.SpeechID == 0) + { + this.Subtitle.text = this.Subtitles[18]; + this.Audio.clip = this.Speech[13]; + this.Audio.Play(); + this.SpeechID++; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Timer = 3f; + } + if (this.Timer > 3f) + { + this.Alpha = Mathf.MoveTowards(this.Alpha, 1f, Time.deltaTime * 0.5f); + this.Renderer.material.color = new Color(0f, 0f, 0f, this.Alpha); + this.Subtitle.text = ""; + if (this.Timer > 6f) + { + this.Phase = 20; + } + } + } + else if (this.Phase == 20) + { + base.transform.position = new Vector3(-0.75f, 1.1f, 7.75f); + base.transform.eulerAngles = new Vector3(0f, 30f, 0f); + this.Renderer.material.color = new Color(0f, 0f, 0f, 1f); + this.Alpha = 1f; + this.InBakery = true; + this.BakerySenpai.Play(); + this.BakeryAmai.Play(); + this.Jukebox.Play(); + this.UpdateDOF(1f); + this.Speed = 0f; + this.Timer = 0f; + this.Phase++; + } + else if (this.Phase == 21) + { + this.Alpha = Mathf.MoveTowards(this.Alpha, 0f, Time.deltaTime * 0.5f); + this.Renderer.material.color = new Color(0f, 0f, 0f, this.Alpha); + this.Timer += Time.deltaTime; + if (this.Timer > 13.5f) + { + this.LipValue = this.SenpaiLip[0].localPosition.y; + this.Smile = true; + } + if (this.Timer > 15f) + { + this.Speed += Time.deltaTime * 0.1f; + } + this.BakeryFocus = Mathf.Lerp(this.BakeryFocus, 1.5f, this.Speed * Time.deltaTime); + this.UpdateDOF(1f); + base.transform.position = Vector3.Lerp(base.transform.position, new Vector3(-1.939f, 1.4f, 5.69f), this.Speed * Time.deltaTime); + if (this.Speed > 1f) + { + this.InfoChan.CrossFade("f02_infoSnapPhoto_00", 1f); + } + if (this.Timer > 30.5f) + { + this.Alpha = 1f; + } + if (this.BakerySenpai["bakeryTalk_00"].time >= this.BakerySenpai["bakeryTalk_00"].length - 1f) + { + if (this.Alpha < 1f) + { + this.ExtraTimer += Time.deltaTime; + } + this.BakerySenpai.CrossFade("carefreeTalk_02", 1f); + this.BakeryAmai.CrossFade("f02_carefreeTalk_02", 1f); + this.BakerySenpai["f02_smile_00"].layer = 1; + this.BakerySenpai.Play("f02_smile_00"); + } + if (this.Timer > 35f) + { + this.ExitCutscene(); + } + } + else if (this.Phase == 99) + { + if (UnityEngine.Input.GetKeyDown("right")) + { + AnimationState animationState = this.ThirdAmai["FriendshipRival"]; + float time = animationState.time; + animationState.time = time + 1f; + Debug.Log("Time is: " + this.ThirdAmai["FriendshipRival"].time); + } + if (UnityEngine.Input.GetKeyDown("left")) + { + AnimationState animationState2 = this.ThirdAmai["FriendshipRival"]; + float time = animationState2.time; + animationState2.time = time - 1f; + Debug.Log("Time is: " + this.ThirdAmai["FriendshipRival"].time); + } + if (UnityEngine.Input.GetKeyDown("x")) + { + if (this.DonutLid.parent.parent != null) + { + this.DonutLid.parent.parent = null; + this.ThirdAmai["f02_carryBox_00"].weight = 0f; + } + else + { + this.ThirdAmai["f02_carryBox_00"].weight = 1f; + this.DonutLid.parent.parent = this.AmaiRightHand; + this.DonutLid.parent.localPosition = new Vector3(0.125f, -0.19f, -0.03f); + this.DonutLid.parent.localEulerAngles = new Vector3(-15f, 90f, 90f); + } + } + } + if (UnityEngine.Input.GetKeyDown("-")) + { + Time.timeScale -= 1f; + } + if (UnityEngine.Input.GetKeyDown("=")) + { + Time.timeScale += 1f; + } + this.Jukebox.pitch = Time.timeScale; + } + + private void LateUpdate() + { + this.SenpaiBrow[0].localPosition = new Vector3(-0.025f, 0.025f, 0f); + this.SenpaiBrow[0].localEulerAngles = new Vector3(0f, 0f, 22.5f); + this.SenpaiBrow[1].localPosition = new Vector3(0.025f, 0.025f, 0f); + this.SenpaiBrow[1].localEulerAngles = new Vector3(0f, 0f, -22.5f); + if (this.Smile) + { + this.Strength += Time.deltaTime; + this.LipValue = Mathf.Lerp(this.LipValue, -0.06f, Time.deltaTime * this.Strength); + this.SenpaiLip[0].localPosition = new Vector3(this.SenpaiLip[0].localPosition.x, this.LipValue, this.SenpaiLip[0].localPosition.z); + this.SenpaiLip[1].localPosition = new Vector3(this.SenpaiLip[1].localPosition.x, this.LipValue, this.SenpaiLip[1].localPosition.z); + } + } + + private void UpdateDOF(float Focus) + { + DepthOfFieldModel.Settings settings = this.Profile.depthOfField.settings; + if (this.CloseUp) + { + settings.focusDistance = Focus; + } + else if (this.TreeShot) + { + settings.focusDistance = Focus; + } + else if (this.InBakery) + { + settings.focusDistance = Focus; + } + else + { + settings.focusDistance = Focus; + } + settings.focusDistance = Focus; + this.Profile.depthOfField.settings = settings; + } + + private void ExitCutscene() + { + DateGlobals.Week = 2; + DateGlobals.PassDays = 1; + DateGlobals.Weekday = DayOfWeek.Saturday; + SceneManager.LoadScene("CalendarScene"); + } + + public PostProcessingProfile Profile; + + public SkinnedMeshRenderer BakerSenpaiRenderer; + + public SkinnedMeshRenderer SenpaiRenderer; + + public CosmeticScript Cosmetic; + + public Texture CasualClothes; + + public MeshRenderer Renderer; + + public Animation SenpaiAnim; + + public AudioSource Jukebox; + + public UILabel Subtitle; + + public UISprite SkipCircle; + + public UIPanel SkipPanel; + + public Animation BakerySenpai; + + public Animation BakeryAmai; + + public Animation SecondAmai; + + public Animation ThirdAmai; + + public Animation InfoChan; + + public Transform AmaiRightHand; + + public Transform AmaiLeftHand; + + public Transform DonutLid; + + public Transform Target; + + public Transform[] SenpaiBrow; + + public Transform[] SenpaiLip; + + public GameObject UtilityPole; + + public GameObject Amai; + + public Mesh CasualMesh; + + public int RivalEliminationID; + + public int SpeechID; + + public int Phase = 1; + + public float BakeryFocus; + + public float ExtraTimer; + + public float TimeLimit; + + public float SkipTimer; + + public float Alpha; + + public float Speed; + + public float Timer; + + public float DOF; + + public bool EndEarly; + + public bool InBakery; + + public bool TreeShot; + + public bool CloseUp; + + public bool NoAnim; + + public AudioClip[] OsanaEliminations; + + public AudioClip[] Speech; + + public AudioSource Audio; + + public string[] EliminationDescriptions; + + public string[] Subtitles; + + public bool Smile; + + public float Strength; + + public float LipValue = -0.08f; } diff --git a/CalendarScript.cs b/CalendarScript.cs index 369557f..2d34ed7 100644 --- a/CalendarScript.cs +++ b/CalendarScript.cs @@ -19,15 +19,6 @@ public class CalendarScript : MonoBehaviour { SchoolGlobals.SchoolAtmosphere = 1f; } - if (DateGlobals.Weekday > DayOfWeek.Thursday) - { - DateGlobals.Weekday = DayOfWeek.Sunday; - Globals.DeleteAll(); - } - if (DateGlobals.PassDays < 1) - { - DateGlobals.PassDays = 1; - } DateGlobals.DayPassed = true; this.Sun.color = new Color(this.Sun.color.r, this.Sun.color.g, this.Sun.color.b, SchoolGlobals.SchoolAtmosphere); this.Cloud.color = new Color(this.Cloud.color.r, this.Cloud.color.g, this.Cloud.color.b, 1f - SchoolGlobals.SchoolAtmosphere); @@ -46,11 +37,6 @@ public class CalendarScript : MonoBehaviour this.CalendarPanel.alpha = 1f; this.Darkness.color = new Color(this.Darkness.color.r, this.Darkness.color.g, this.Darkness.color.b, 1f); Time.timeScale = 1f; - this.Highlight.localPosition = new Vector3(-683.334f + (float)((DayOfWeek)250 * DateGlobals.Weekday), this.Highlight.localPosition.y, this.Highlight.localPosition.z); - if (DateGlobals.Weekday == DayOfWeek.Saturday) - { - this.Highlight.localPosition = new Vector3(-1150f, this.Highlight.localPosition.y, this.Highlight.localPosition.z); - } if (DateGlobals.Week == 2) { this.DayNumber[1].text = "11"; @@ -62,6 +48,11 @@ public class CalendarScript : MonoBehaviour this.DayNumber[7].text = "17"; this.Adjustment = -50; } + this.Highlight.localPosition = new Vector3(-683.334f + 250f * (float)DateGlobals.Weekday + (float)this.Adjustment, this.Highlight.localPosition.y, this.Highlight.localPosition.z); + if (DateGlobals.Weekday == DayOfWeek.Saturday) + { + this.Highlight.localPosition = new Vector3(-1150f, this.Highlight.localPosition.y, this.Highlight.localPosition.z); + } this.WeekNumber.text = "Week " + DateGlobals.Week; this.LoveSickCheck(); this.ChangeDayColor(); @@ -81,6 +72,11 @@ public class CalendarScript : MonoBehaviour { if (!this.Incremented) { + if (DateGlobals.PassDays > 0) + { + base.GetComponent().pitch = 1f - (0.8f - SchoolGlobals.SchoolAtmosphere * 0.8f); + base.GetComponent().Play(); + } while (DateGlobals.PassDays > 0) { DateGlobals.Weekday++; @@ -96,8 +92,6 @@ public class CalendarScript : MonoBehaviour } Debug.Log("And, as of now, DateGlobals.Weekday is: " + DateGlobals.Weekday); this.Incremented = true; - base.GetComponent().pitch = 1f - (0.8f - SchoolGlobals.SchoolAtmosphere * 0.8f); - base.GetComponent().Play(); this.ChangeDayColor(); } else @@ -165,6 +159,7 @@ public class CalendarScript : MonoBehaviour PlayerPrefs.SetInt("ProfileCreated_" + profile, 1); GameGlobals.Profile = profile; GameGlobals.LoveSick = this.LoveSick; + DateGlobals.PassDays = 1; SceneManager.LoadScene(SceneManager.GetActiveScene().name); } else @@ -210,35 +205,65 @@ public class CalendarScript : MonoBehaviour } } } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha1)) - { - DateGlobals.Weekday = DayOfWeek.Monday; - this.Target = 250f * (float)DateGlobals.Weekday + (float)this.Adjustment; - this.ChangeDayColor(); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha2)) - { - DateGlobals.Weekday = DayOfWeek.Tuesday; - this.Target = 250f * (float)DateGlobals.Weekday + (float)this.Adjustment; - this.ChangeDayColor(); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha3)) - { - DateGlobals.Weekday = DayOfWeek.Wednesday; - this.Target = 250f * (float)DateGlobals.Weekday + (float)this.Adjustment; - this.ChangeDayColor(); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha4)) + if (UnityEngine.Input.GetKeyDown("space")) { - DateGlobals.Weekday = DayOfWeek.Thursday; - this.Target = 250f * (float)DateGlobals.Weekday + (float)this.Adjustment; - this.ChangeDayColor(); + this.DebugCount++; } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha5)) + if (this.DebugCount > 9) { - DateGlobals.Weekday = DayOfWeek.Friday; - this.Target = 250f * (float)DateGlobals.Weekday + (float)this.Adjustment; - this.ChangeDayColor(); + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha1)) + { + DateGlobals.Weekday = DayOfWeek.Monday; + this.Target = 250f * (float)DateGlobals.Weekday + (float)this.Adjustment; + this.ChangeDayColor(); + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha2)) + { + DateGlobals.Weekday = DayOfWeek.Tuesday; + this.Target = 250f * (float)DateGlobals.Weekday + (float)this.Adjustment; + this.ChangeDayColor(); + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha3)) + { + DateGlobals.Weekday = DayOfWeek.Wednesday; + this.Target = 250f * (float)DateGlobals.Weekday + (float)this.Adjustment; + this.ChangeDayColor(); + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha4)) + { + DateGlobals.Weekday = DayOfWeek.Thursday; + this.Target = 250f * (float)DateGlobals.Weekday + (float)this.Adjustment; + this.ChangeDayColor(); + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha5)) + { + DateGlobals.Weekday = DayOfWeek.Friday; + this.Target = 250f * (float)DateGlobals.Weekday + (float)this.Adjustment; + this.ChangeDayColor(); + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha6)) + { + DateGlobals.Weekday = DayOfWeek.Saturday; + this.Target = 250f * (float)DateGlobals.Weekday + (float)this.Adjustment; + this.ChangeDayColor(); + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha7)) + { + DateGlobals.Weekday = DayOfWeek.Sunday; + this.Target = (float)this.Adjustment; + this.Darkness.color = new Color(0f, 0f, 0f, 0f); + this.ChangeDayColor(); + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha0)) + { + DateGlobals.Week = 2; + SceneManager.LoadScene(SceneManager.GetActiveScene().name); + } + if (UnityEngine.Input.GetKeyDown(KeyCode.L)) + { + GameGlobals.LoveSick = !GameGlobals.LoveSick; + SceneManager.LoadScene(SceneManager.GetActiveScene().name); + } } } @@ -253,45 +278,50 @@ public class CalendarScript : MonoBehaviour { if (uilabel != null) { - uilabel.color = new Color(1f, 1f, 1f, 0.25f); + uilabel.color = new Color(1f, 1f, 1f, 0.5f); } } if (DateGlobals.Weekday == DayOfWeek.Sunday) { this.DayLabel[0].color = new Color(1f, 0.5f, 0.75f, 1f); - this.DayNumber[1].color = new Color(1f, 0.5f, 0.75f, 0.25f); + this.DayNumber[1].color = new Color(1f, 0.5f, 0.75f, 0.5f); + return; } - else if (DateGlobals.Weekday == DayOfWeek.Monday) + if (DateGlobals.Weekday == DayOfWeek.Monday) { this.DayLabel[1].color = new Color(1f, 0.5f, 0.75f, 1f); - this.DayNumber[2].color = new Color(1f, 0.5f, 0.75f, 0.25f); + this.DayNumber[2].color = new Color(1f, 0.5f, 0.75f, 0.5f); + return; } - else if (DateGlobals.Weekday == DayOfWeek.Tuesday) + if (DateGlobals.Weekday == DayOfWeek.Tuesday) { this.DayLabel[2].color = new Color(1f, 0.5f, 0.75f, 1f); - this.DayNumber[3].color = new Color(1f, 0.5f, 0.75f, 0.25f); + this.DayNumber[3].color = new Color(1f, 0.5f, 0.75f, 0.5f); + return; } - else if (DateGlobals.Weekday == DayOfWeek.Wednesday) + if (DateGlobals.Weekday == DayOfWeek.Wednesday) { this.DayLabel[3].color = new Color(1f, 0.5f, 0.75f, 1f); - this.DayNumber[4].color = new Color(1f, 0.5f, 0.75f, 0.25f); + this.DayNumber[4].color = new Color(1f, 0.5f, 0.75f, 0.5f); + return; } - else if (DateGlobals.Weekday == DayOfWeek.Thursday) + if (DateGlobals.Weekday == DayOfWeek.Thursday) { this.DayLabel[4].color = new Color(1f, 0.5f, 0.75f, 1f); - this.DayNumber[5].color = new Color(1f, 0.5f, 0.75f, 0.25f); + this.DayNumber[5].color = new Color(1f, 0.5f, 0.75f, 0.5f); + return; } - else if (DateGlobals.Weekday == DayOfWeek.Friday) + if (DateGlobals.Weekday == DayOfWeek.Friday) { this.DayLabel[5].color = new Color(1f, 0.5f, 0.75f, 1f); - this.DayNumber[6].color = new Color(1f, 0.5f, 0.75f, 0.25f); + this.DayNumber[6].color = new Color(1f, 0.5f, 0.75f, 0.5f); + return; } - else if (DateGlobals.Weekday == DayOfWeek.Saturday) + if (DateGlobals.Weekday == DayOfWeek.Saturday) { this.DayLabel[6].color = new Color(1f, 0.5f, 0.75f, 1f); - this.DayNumber[7].color = new Color(1f, 0.5f, 0.75f, 0.25f); + this.DayNumber[7].color = new Color(1f, 0.5f, 0.75f, 0.5f); } - Debug.Log("Color change was just called."); } public void LoveSickCheck() @@ -380,5 +410,7 @@ public class CalendarScript : MonoBehaviour public int Adjustment; + public int DebugCount; + public int Phase = 1; } diff --git a/CameraEffectsScript.cs b/CameraEffectsScript.cs index 62ec7fe..87094b1 100644 --- a/CameraEffectsScript.cs +++ b/CameraEffectsScript.cs @@ -1,5 +1,6 @@ using System; using UnityEngine; +using UnityEngine.PostProcessing; using XInputDotNetPure; public class CameraEffectsScript : MonoBehaviour @@ -23,21 +24,24 @@ public class CameraEffectsScript : MonoBehaviour } if (this.Streaks.color.a > 0f) { - this.AlarmBloom.bloomIntensity -= Time.deltaTime; this.Streaks.color = new Color(this.Streaks.color.r, this.Streaks.color.g, this.Streaks.color.b, this.Streaks.color.a - Time.deltaTime); + this.UpdateBloom(1f + this.Streaks.color.a * 4f); if (this.Streaks.color.a <= 0f) { - this.AlarmBloom.enabled = false; + this.UpdateBloom(1f); } } if (this.MurderStreaks.color.a > 0f) { this.MurderStreaks.color = new Color(this.MurderStreaks.color.r, this.MurderStreaks.color.g, this.MurderStreaks.color.b, this.MurderStreaks.color.a - Time.deltaTime); } - this.EffectStrength = 1f - this.Yandere.Sanity * 0.01f; - this.Vignette.intensity = Mathf.Lerp(this.Vignette.intensity, this.EffectStrength * 5f, Time.deltaTime); - this.Vignette.blur = Mathf.Lerp(this.Vignette.blur, this.EffectStrength, Time.deltaTime); - this.Vignette.chromaticAberration = Mathf.Lerp(this.Vignette.chromaticAberration, this.EffectStrength * 5f, Time.deltaTime); + float num = 1f - this.Yandere.Sanity * 0.01f; + if (this.EffectStrength != num) + { + this.EffectStrength = Mathf.MoveTowards(this.EffectStrength, num, Time.deltaTime * 10f); + this.UpdateVignette(this.EffectStrength); + this.UpdateChroma(this.EffectStrength); + } } public void Alarm() @@ -45,9 +49,8 @@ public class CameraEffectsScript : MonoBehaviour GamePad.SetVibration(0, 1f, 1f); this.VibrationCheck = true; this.VibrationTimer = 0.1f; - this.AlarmBloom.bloomIntensity = 1f; + this.UpdateBloom(2f); this.Streaks.color = new Color(this.Streaks.color.r, this.Streaks.color.g, this.Streaks.color.b, 1f); - this.AlarmBloom.enabled = true; this.Yandere.Jukebox.SFX.PlayOneShot(this.Noticed); } @@ -70,25 +73,64 @@ public class CameraEffectsScript : MonoBehaviour this.OneCamera = false; } - public YandereScript Yandere; + public void UpdateBloom(float Bloom) + { + BloomModel.Settings settings = this.Profile.bloom.settings; + settings.bloom.intensity = Bloom; + this.Profile.bloom.settings = settings; + } + + public void UpdateBloomKnee(float Knee) + { + BloomModel.Settings settings = this.Profile.bloom.settings; + settings.bloom.softKnee = Knee; + this.Profile.bloom.settings = settings; + } - public Vignetting Vignette; + public void UpdateBloomRadius(float Radius) + { + BloomModel.Settings settings = this.Profile.bloom.settings; + settings.bloom.radius = Radius; + this.Profile.bloom.settings = settings; + } - public UITexture MurderStreaks; + public void UpdateChroma(float Chroma) + { + ChromaticAberrationModel.Settings settings = this.Profile.chromaticAberration.settings; + settings.intensity = Chroma; + this.Profile.chromaticAberration.settings = settings; + } - public UITexture Streaks; + public void UpdateVignette(float Vignette) + { + VignetteModel.Settings settings = this.Profile.vignette.settings; + if (!this.Yandere.YandereVision) + { + settings.intensity = 0.5f - 0.25f * Vignette; + } + settings.color = new Color(1f - 1f * Vignette, 0.75f - 0.75f * Vignette, 1f - 1f * Vignette, 1f); + this.Profile.vignette.settings = settings; + } - public Bloom AlarmBloom; + public void UpdateDOF(float Focus) + { + Focus *= ((float)Screen.width / 1280f + (float)Screen.height / 720f) * 0.5f; + DepthOfFieldModel.Settings settings = this.Profile.depthOfField.settings; + settings.focusDistance = Focus; + this.Profile.depthOfField.settings = settings; + } - public float EffectStrength; + public PostProcessingProfile Profile; - public float VibrationTimer; + public YandereScript Yandere; - public Bloom QualityBloom; + public UITexture MurderStreaks; - public Vignetting QualityVignetting; + public UITexture Streaks; - public AntialiasingAsPostEffect QualityAntialiasingAsPostEffect; + public float EffectStrength; + + public float VibrationTimer; public bool VibrationCheck; diff --git a/ChoiceScript.cs b/ChoiceScript.cs index 5348294..ba6862c 100644 --- a/ChoiceScript.cs +++ b/ChoiceScript.cs @@ -45,7 +45,7 @@ public class ChoiceScript : MonoBehaviour if (this.Darkness.color.a == 1f) { GameGlobals.LoveSick = (this.Selected == 1); - SceneManager.LoadScene("TitleScene"); + SceneManager.LoadScene("NewTitleScene"); } } } diff --git a/CircleFillScript.cs b/CircleFillScript.cs new file mode 100644 index 0000000..e21a1da --- /dev/null +++ b/CircleFillScript.cs @@ -0,0 +1,30 @@ +using System; +using UnityEngine; + +public class CircleFillScript : MonoBehaviour +{ + private void Update() + { + this.Speed += Time.deltaTime; + this.Fill.transform.localPosition = Vector3.Lerp(this.Fill.transform.localPosition, new Vector3(-1024f, 0f, 0f), Time.deltaTime * this.Speed); + if (this.Fill.transform.localPosition.x < -1023f) + { + if (this.Phase == 0) + { + this.Phase++; + this.Speed = 0f; + } + this.Fill.fillAmount = Mathf.Lerp(this.Fill.fillAmount, 1f, Time.deltaTime * this.Speed); + } + } + + public UISprite OsanaFill; + + public UITexture OtherFill; + + public UITexture Fill; + + public float Speed; + + public int Phase; +} diff --git a/ClassScript.cs b/ClassScript.cs index 97a478c..b732959 100644 --- a/ClassScript.cs +++ b/ClassScript.cs @@ -6,7 +6,10 @@ public class ClassScript : MonoBehaviour { private void Start() { - this.GetStats(); + if (this.Portal == null || !this.Portal.StudentManager.ReturnedFromSave) + { + this.GetStats(); + } if (SceneManager.GetActiveScene().name != "SchoolScene") { base.enabled = false; @@ -36,20 +39,53 @@ public class ClassScript : MonoBehaviour this.LanguageGrade = ClassGlobals.LanguageGrade; this.PhysicalGrade = ClassGlobals.PhysicalGrade; this.PsychologyGrade = ClassGlobals.PsychologyGrade; - this.BiologyBonus = ClassGlobals.BiologyBonus; - this.ChemistryBonus = ClassGlobals.ChemistryBonus; - this.LanguageBonus = ClassGlobals.LanguageBonus; - this.PhysicalBonus = ClassGlobals.PhysicalBonus; - this.PsychologyBonus = ClassGlobals.PsychologyBonus; + if (this.BiologyBonus == 0) + { + this.BiologyBonus = ClassGlobals.BiologyBonus; + } + if (this.ChemistryBonus == 0) + { + this.ChemistryBonus = ClassGlobals.ChemistryBonus; + } + if (this.LanguageBonus == 0) + { + this.LanguageBonus = ClassGlobals.LanguageBonus; + } + if (this.PhysicalBonus == 0) + { + this.PhysicalBonus = ClassGlobals.PhysicalBonus; + } + if (this.PsychologyBonus == 0) + { + this.PsychologyBonus = ClassGlobals.PsychologyBonus; + } this.Seduction = PlayerGlobals.Seduction; this.Numbness = PlayerGlobals.Numbness; this.Enlightenment = PlayerGlobals.Enlightenment; - this.SpeedBonus = PlayerGlobals.SpeedBonus; - this.SocialBonus = PlayerGlobals.SocialBonus; - this.StealthBonus = PlayerGlobals.StealthBonus; - this.SeductionBonus = PlayerGlobals.SeductionBonus; - this.NumbnessBonus = PlayerGlobals.NumbnessBonus; - this.EnlightenmentBonus = PlayerGlobals.EnlightenmentBonus; + if (this.SpeedBonus == 0) + { + this.SpeedBonus = PlayerGlobals.SpeedBonus; + } + if (this.SocialBonus == 0) + { + this.SocialBonus = PlayerGlobals.SocialBonus; + } + if (this.StealthBonus == 0) + { + this.StealthBonus = PlayerGlobals.StealthBonus; + } + if (this.SeductionBonus == 0) + { + this.SeductionBonus = PlayerGlobals.SeductionBonus; + } + if (this.NumbnessBonus == 0) + { + this.NumbnessBonus = PlayerGlobals.NumbnessBonus; + } + if (this.EnlightenmentBonus == 0) + { + this.EnlightenmentBonus = PlayerGlobals.EnlightenmentBonus; + } } private void Update() @@ -59,13 +95,16 @@ public class ClassScript : MonoBehaviour this.Darkness.color = new Color(this.Darkness.color.r, this.Darkness.color.g, this.Darkness.color.b, this.Darkness.color.a - Time.deltaTime); if (this.Darkness.color.a <= 0f) { - if (UnityEngine.Input.GetKeyDown(KeyCode.Backslash)) - { - this.GivePoints(); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.P)) + if (!this.Portal.Yandere.NoDebug) { - this.MaxPhysical(); + if (UnityEngine.Input.GetKeyDown(KeyCode.Backslash)) + { + this.GivePoints(); + } + if (UnityEngine.Input.GetKeyDown(KeyCode.P)) + { + this.MaxPhysical(); + } } this.Darkness.color = new Color(this.Darkness.color.r, this.Darkness.color.g, this.Darkness.color.b, 0f); if (this.InputManager.TappedDown) diff --git a/ClockScript.cs b/ClockScript.cs index caa304e..1e49989 100644 --- a/ClockScript.cs +++ b/ClockScript.cs @@ -52,19 +52,23 @@ public class ClockScript : MonoBehaviour } if (SchoolGlobals.SchoolAtmosphere < 0.5f) { - this.BloomEffect.bloomIntensity = 0.2f; - this.BloomEffect.bloomThreshhold = 0f; + this.CameraEffects.UpdateBloom(1f); + this.CameraEffects.UpdateBloomKnee(0.5f); + this.CameraEffects.UpdateBloomRadius(4f); this.Police.Darkness.enabled = true; this.Police.Darkness.color = new Color(this.Police.Darkness.color.r, this.Police.Darkness.color.g, this.Police.Darkness.color.b, 1f); this.FadeIn = true; } else { - this.BloomEffect.bloomIntensity = 10f; - this.BloomEffect.bloomThreshhold = 0f; + this.CameraEffects.UpdateBloom(11f); + this.CameraEffects.UpdateBloomKnee(1f); + this.CameraEffects.UpdateBloomRadius(7f); + this.BloomKnee = 1f; + this.BloomRadius = 7f; + this.BloomIntensity = 11f; this.UpdateBloom = true; } - this.BloomEffect.bloomThreshhold = 0f; this.DayLabel.text = this.GetWeekdayText(DateGlobals.Weekday); this.MainLight.color = new Color(1f, 1f, 1f, 1f); RenderSettings.ambientLight = new Color(0.75f, 0.75f, 0.75f, 1f); @@ -104,10 +108,38 @@ public class ClockScript : MonoBehaviour { if (this.UpdateBloom) { - this.BloomEffect.bloomIntensity = Mathf.MoveTowards(this.BloomEffect.bloomIntensity, 0.2f, Time.deltaTime * 5f); - if (this.BloomEffect.bloomIntensity == 0.2f) + if (!this.ReduceKnee) { - this.UpdateBloom = false; + if (this.Lerp) + { + this.BloomIntensity = Mathf.Lerp(this.BloomIntensity, 1f, Time.deltaTime); + this.BloomRadius = Mathf.Lerp(this.BloomRadius, 4f, Time.deltaTime); + if (this.BloomIntensity < 1.1f) + { + this.BloomIntensity = 1f; + this.BloomRadius = 4f; + } + } + else + { + this.BloomIntensity = Mathf.MoveTowards(this.BloomIntensity, 1f, Time.deltaTime * 10f); + this.BloomRadius = Mathf.MoveTowards(this.BloomRadius, 4f, Time.deltaTime * 10f); + } + this.CameraEffects.UpdateBloom(this.BloomIntensity); + this.CameraEffects.UpdateBloomRadius(this.BloomRadius); + if (this.BloomIntensity == 1f && this.BloomRadius == 4f) + { + this.ReduceKnee = true; + } + } + else + { + this.BloomKnee = Mathf.MoveTowards(this.BloomKnee, 0.75f, Time.deltaTime); + this.CameraEffects.UpdateBloomKnee(this.BloomKnee); + if (this.BloomKnee == 0.75f) + { + this.UpdateBloom = false; + } } } } @@ -253,18 +285,17 @@ public class ClockScript : MonoBehaviour this.Yandere.Phone.SetActive(true); this.Yandere.TimeSkipping = true; this.Yandere.CanMove = false; - this.Blur.enabled = true; if (this.Yandere.Armed) { this.Yandere.Unequip(); } } + this.TimeSkipSpeed += Time.deltaTime; if (Time.timeScale < 25f) { - Time.timeScale += 1f; + Time.timeScale = Mathf.MoveTowards(Time.timeScale, 25f, this.TimeSkipSpeed * Time.deltaTime); } - this.Yandere.Character.GetComponent()["f02_timeSkip_00"].speed = 1f / Time.timeScale; - this.Blur.blurAmount = 0.92f * (Time.timeScale / 100f); + this.Yandere.CharacterAnimation["f02_timeSkip_00"].speed = 1f / Time.timeScale; if (this.PresentTime > this.TargetTime) { this.EndTimeSkip(); @@ -285,10 +316,10 @@ public class ClockScript : MonoBehaviour this.PromptParent.localScale = new Vector3(1f, 1f, 1f); this.Yandere.Phone.SetActive(false); this.Yandere.TimeSkipping = false; - this.Blur.enabled = false; Time.timeScale = 1f; this.TimeSkip = false; this.HalfwayTime = 0f; + this.TimeSkipSpeed = 1f; if (!this.Yandere.Noticed && !this.Police.FadeOut) { this.Yandere.CharacterAnimation.CrossFade(this.Yandere.IdleAnim); @@ -418,6 +449,8 @@ public class ClockScript : MonoBehaviour public StudentManagerScript StudentManager; + public CameraEffectsScript CameraEffects; + public LoveManagerScript LoveManager; public YandereScript Yandere; @@ -426,8 +459,6 @@ public class ClockScript : MonoBehaviour public ClockScript Clock; - public Bloom BloomEffect; - public MotionBlur Blur; public Transform PromptParent; @@ -460,6 +491,8 @@ public class ClockScript : MonoBehaviour public float AmbientLightDim; + public float TimeSkipSpeed = 1f; + public float CameraTimer; public float DayProgress; @@ -494,6 +527,8 @@ public class ClockScript : MonoBehaviour public bool MissionMode; + public bool ReduceKnee; + public bool StopTime; public bool TimeSkip; @@ -502,7 +537,15 @@ public class ClockScript : MonoBehaviour public bool Horror; + public bool Lerp; + public AudioSource SchoolBell; public Color SkyboxColor; + + public float BloomIntensity = 11f; + + public float BloomRadius = 7f; + + public float BloomKnee = 1f; } diff --git a/ConfessionManagerScript.cs b/ConfessionManagerScript.cs index bd93d32..822bf5f 100644 --- a/ConfessionManagerScript.cs +++ b/ConfessionManagerScript.cs @@ -3,4 +3,432 @@ using UnityEngine; public class ConfessionManagerScript : MonoBehaviour { + private void Start() + { + this.StudentManager.Yandere.Class.Portal.EndEvents(); + this.Senpai["SenpaiConfession"].speed = 0.9f; + this.TimelessDarkness.color = new Color(0f, 0f, 0f, 0f); + this.Darkness.color = new Color(0f, 0f, 0f, 1f); + this.SubtitleLabel.text = ""; + } + + private void Update() + { + this.Timer += Time.deltaTime; + if (this.Phase == -1) + { + this.TimelessDarkness.color = new Color(this.TimelessDarkness.color.r, this.TimelessDarkness.color.g, this.TimelessDarkness.color.b, Mathf.MoveTowards(this.TimelessDarkness.color.a, 1f, Time.deltaTime)); + this.Panel.alpha = Mathf.MoveTowards(this.Panel.alpha, 0f, Time.deltaTime); + this.OriginalJukebox.Volume = Mathf.MoveTowards(this.OriginalJukebox.Volume, 0f, Time.deltaTime); + if (this.TimelessDarkness.color.a == 1f && this.Timer > 2f) + { + this.TimelessDarkness.color = new Color(0f, 0f, 0f, 0f); + this.Darkness.color = new Color(0f, 0f, 0f, 1f); + this.ConfessionCamera.gameObject.SetActive(true); + this.MainCamera.SetActive(false); + this.OsanaCosmetic = this.StudentManager.Students[this.StudentManager.RivalID].Cosmetic; + this.Osana = this.StudentManager.Students[this.StudentManager.RivalID].CharacterAnimation; + this.Tears = this.StudentManager.Students[this.StudentManager.RivalID].Tears; + this.Senpai = this.StudentManager.Students[1].CharacterAnimation; + this.SenpaiNeck = this.StudentManager.Students[1].Neck; + this.Osana[this.OsanaCosmetic.Student.ShyAnim].weight = 0f; + this.Senpai["SenpaiConfession"].speed = 0.9f; + this.OriginalBlossoms.SetActive(false); + this.Tears.gameObject.SetActive(true); + this.Osana.transform.position = new Vector3(0f, 6.6f, 119.5f); + this.Senpai.transform.position = new Vector3(0f, 6.6f, 119.5f); + this.Osana.transform.eulerAngles = new Vector3(0f, 180f, 0f); + this.Senpai.transform.eulerAngles = new Vector3(0f, 180f, 0f); + this.OsanaCosmetic.MyRenderer.materials[this.OsanaCosmetic.FaceID].SetFloat("_BlendAmount", 1f); + this.OsanaCosmetic.MyRenderer.materials[this.OsanaCosmetic.SkinID].SetFloat("_BlendAmount", 0f); + this.OsanaCosmetic.MyRenderer.materials[this.OsanaCosmetic.UniformID].SetFloat("_BlendAmount", 0f); + Debug.Log("The characters were told to perform their confession animations."); + this.Senpai.Play("SenpaiConfession"); + this.Osana.Play("OsanaConfession"); + this.OriginalBlossoms.SetActive(false); + this.HeartBeatCamera.SetActive(false); + base.GetComponent().Play(); + this.Jukebox.Play(); + this.Timer = 0f; + this.Phase++; + this.Yandere.transform.parent.position = new Vector3(5f, 5.73f, 119f); + this.Yandere.transform.parent.eulerAngles = new Vector3(0f, -90f, 0f); + } + } + else if (this.Phase == 0) + { + if (this.Timer > 11f) + { + if (!this.CheatRejection) + { + this.FadeOut = true; + this.Timer = 0f; + this.Phase++; + } + else if (this.Osana["OsanaConfessionRejected"].time < 45f) + { + this.Senpai.CrossFade("SenpaiConfessionRejected", 1f); + this.Osana["OsanaConfessionRejected"].time = 45f; + this.Osana.CrossFade("OsanaConfessionRejected", 1f); + } + } + } + else if (this.Phase == 1) + { + if (this.Timer > 2f) + { + this.ConfessionCamera.eulerAngles = this.SenpaiPOV.eulerAngles; + this.ConfessionCamera.position = this.SenpaiPOV.position; + this.Senpai.gameObject.SetActive(false); + this.Osana["OsanaConfession"].time = 11f; + this.MyAudio.volume = 1f; + this.MyAudio.time = 8f; + this.FadeOut = false; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 2) + { + if (this.SubID < this.ConfessTimes.Length && this.Osana["OsanaConfession"].time > this.ConfessTimes[this.SubID] + 3f) + { + this.SubtitleLabel.text = (this.ConfessSubs[this.SubID] ?? ""); + this.SubID++; + } + this.RotateSpeed += Time.deltaTime * 0.2f; + this.ConfessionCamera.eulerAngles = Vector3.Lerp(this.ConfessionCamera.eulerAngles, new Vector3(0f, 0f, 0f), Time.deltaTime * this.RotateSpeed); + this.ConfessionCamera.position = Vector3.Lerp(this.ConfessionCamera.position, new Vector3(0f, 7.85f, 118f), Time.deltaTime * this.RotateSpeed); + if (this.Osana["OsanaConfession"].time >= this.Osana["OsanaConfession"].length) + { + if (DatingGlobals.RivalSabotaged > 4) + { + this.Reject = true; + } + if (!this.Reject) + { + this.Osana.CrossFade("OsanaConfessionAccepted"); + this.MyAudio.clip = this.ConfessionAccepted; + } + else + { + this.Osana.CrossFade("OsanaConfessionRejected"); + this.MyAudio.clip = this.ConfessionRejected; + } + this.MyAudio.time = 0f; + this.MyAudio.Play(); + this.Jukebox.Stop(); + this.SubtitleLabel.text = ""; + this.RotateSpeed = 0f; + this.SubID = 0; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 3) + { + if (!this.Reject) + { + if (this.SubID < this.AcceptTimes.Length && this.Osana["OsanaConfessionAccepted"].time > this.AcceptTimes[this.SubID]) + { + this.SubtitleLabel.text = (this.AcceptSubs[this.SubID] ?? ""); + this.SubID++; + } + if (this.TearPhase == 0) + { + if (this.Timer > 26f) + { + this.ReverseTears = true; + this.TearSpeed = 5f; + this.TearPhase++; + } + } + else if (this.TearPhase == 1) + { + if ((double)this.Timer > 33.33333) + { + this.ReverseTears = true; + this.TearSpeed = 5f; + this.TearPhase++; + } + } + else if (this.TearPhase == 2) + { + if (this.Timer > 39f) + { + this.ReverseTears = true; + this.TearSpeed = 5f; + this.TearPhase++; + } + } + else if (this.TearPhase == 3 && this.Timer > 40f) + { + this.TearPhase++; + } + if (this.Timer > 10f) + { + if (!this.Jukebox.isPlaying) + { + this.Jukebox.clip = this.ConfessionMusic[4]; + this.Jukebox.loop = true; + this.Jukebox.volume = 0f; + this.Jukebox.Play(); + } + this.Jukebox.volume = Mathf.MoveTowards(this.Jukebox.volume, 0.05f, Time.deltaTime * 0.01f); + if (!this.ReverseTears) + { + this.TearTimer = Mathf.MoveTowards(this.TearTimer, 1f, Time.deltaTime * this.TearSpeed); + } + else + { + this.TearTimer = Mathf.MoveTowards(this.TearTimer, 0f, Time.deltaTime * this.TearSpeed); + if (this.TearTimer == 0f) + { + this.ReverseTears = false; + this.TearSpeed = 0.2f; + } + } + if (this.TearPhase < 4) + { + this.Tears.materials[0].SetFloat("_TearReveal", this.TearTimer); + } + this.Tears.materials[1].SetFloat("_TearReveal", this.TearTimer); + } + if (this.Timer > 43f) + { + this.TearSpeed = 0.1f; + this.FadeOut = true; + this.Timer = 0f; + this.Phase++; + } + } + else + { + if (this.SubID < this.RejectTimes.Length && this.Osana["OsanaConfessionRejected"].time > this.RejectTimes[this.SubID]) + { + this.SubtitleLabel.text = (this.RejectSubs[this.SubID] ?? ""); + this.SubID++; + } + if (this.Timer > 41f) + { + this.TearTimer = Mathf.MoveTowards(this.TearTimer, 1f, Time.deltaTime * this.TearSpeed); + this.Tears.materials[0].SetFloat("_TearReveal", this.TearTimer); + this.Tears.materials[1].SetFloat("_TearReveal", this.TearTimer); + } + if (this.Timer > 47f) + { + this.RotateSpeed += Time.deltaTime * 0.01f; + this.ConfessionCamera.eulerAngles = new Vector3(this.ConfessionCamera.eulerAngles.x, this.ConfessionCamera.eulerAngles.y - this.RotateSpeed * 2f, this.ConfessionCamera.eulerAngles.z); + this.ConfessionCamera.position = new Vector3(this.ConfessionCamera.position.x, this.ConfessionCamera.position.y, this.ConfessionCamera.position.z - this.RotateSpeed * 0.05f); + } + if (this.Timer > 51f) + { + this.FadeOut = true; + this.Timer = 0f; + this.Phase++; + } + } + } + else if (this.Phase == 4) + { + if (this.Reject) + { + this.RotateSpeed += Time.deltaTime * 0.01f; + this.ConfessionCamera.eulerAngles = new Vector3(this.ConfessionCamera.eulerAngles.x, this.ConfessionCamera.eulerAngles.y - this.RotateSpeed * 2f, this.ConfessionCamera.eulerAngles.z); + this.ConfessionCamera.position = new Vector3(this.ConfessionCamera.position.x, this.ConfessionCamera.position.y, this.ConfessionCamera.position.z - this.RotateSpeed * 0.05f); + } + if (this.Timer > 2f) + { + this.ConfessionCamera.eulerAngles = this.OriginalPOV.eulerAngles; + this.ConfessionCamera.position = this.OriginalPOV.position; + this.Senpai.gameObject.SetActive(true); + if (!this.Reject) + { + this.Senpai.Play("SenpaiConfessionAccepted"); + this.Senpai["SenpaiConfessionAccepted"].time = this.Osana["OsanaConfessionAccepted"].time; + this.Senpai.Play("SenpaiConfessionAccepted"); + this.Yandere.Play("YandereConfessionAccepted"); + } + else + { + this.Senpai.Play("SenpaiConfessionRejected"); + this.Senpai["SenpaiConfessionRejected"].time += 2f; + } + this.SubtitleLabel.text = ""; + this.FadeOut = false; + this.RotateSpeed = 0f; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 5) + { + if (this.Timer > 5f) + { + if (this.Reject) + { + this.Yandere.Play("YandereConfessionRejected"); + } + this.Jukebox.pitch = Mathf.MoveTowards(this.Jukebox.pitch, 0f, Time.deltaTime * 0.1f); + this.RotateSpeed += Time.deltaTime * 0.5f; + this.ConfessionCamera.position = Vector3.Lerp(this.ConfessionCamera.position, new Vector3(7f, 7f, 118.5f), Time.deltaTime * this.RotateSpeed); + if (this.Timer > 10f) + { + if (this.Reject) + { + AudioSource.PlayClipAtPoint(this.ConfessionGiggle, this.Yandere.transform.position); + } + this.ConfessionCamera.eulerAngles = this.ReactionPOV.eulerAngles; + this.ConfessionCamera.position = this.ReactionPOV.position; + this.RotateSpeed = 0f; + this.Timer = 0f; + this.Phase++; + } + } + } + else if (this.Phase == 6) + { + this.Jukebox.pitch = Mathf.MoveTowards(this.Jukebox.pitch, 0f, Time.deltaTime * 0.1f); + if (!this.Reject) + { + if (!this.Heartbroken.Confessed) + { + this.MainCamera.transform.eulerAngles = this.ConfessionCamera.eulerAngles; + this.MainCamera.transform.position = this.ConfessionCamera.position; + this.Heartbroken.Confessed = true; + this.MainCamera.SetActive(true); + Camera.main.enabled = true; + this.ShoulderCamera.enabled = true; + this.ShoulderCamera.Noticed = true; + this.ShoulderCamera.Skip = true; + } + this.ConfessionCamera.position = this.MainCamera.transform.position; + } + else + { + this.RotateSpeed += Time.deltaTime * 0.5f; + this.ConfessionCamera.position = Vector3.Lerp(this.ConfessionCamera.position, new Vector3(4f, 7f, 119f), Time.deltaTime * this.RotateSpeed); + if (this.Timer > 5f) + { + this.FadeOut = true; + if (this.Darkness.color.a == 1f) + { + this.StudentManager.RivalEliminated = true; + this.StudentManager.Yandere.Police.EndOfDay.RivalEliminationMethod = RivalEliminationType.Rejected; + this.MainCamera.SetActive(true); + base.gameObject.SetActive(false); + this.StudentManager.Clock.PresentTime = 1080f; + this.StudentManager.Clock.StopTime = false; + this.StudentManager.Yandere.HUD.alpha = 1f; + this.StudentManager.Police.Darkness.color = new Color(0f, 0f, 0f, 1f); + this.StudentManager.Police.BeginConfession = false; + this.StudentManager.Police.enabled = true; + } + } + } + } + if (this.FadeOut) + { + this.Darkness.color = new Color(0f, 0f, 0f, Mathf.MoveTowards(this.Darkness.color.a, 1f, Time.deltaTime * 0.5f)); + return; + } + this.Darkness.color = new Color(0f, 0f, 0f, Mathf.MoveTowards(this.Darkness.color.a, 0f, Time.deltaTime * 0.5f)); + } + + private void LateUpdate() + { + if (this.Phase > 4 && this.Reject) + { + this.SenpaiNeck.eulerAngles = new Vector3(this.SenpaiNeck.eulerAngles.x + 15f, this.SenpaiNeck.eulerAngles.y, this.SenpaiNeck.eulerAngles.z); + } + } + + public ShoulderCameraScript ShoulderCamera; + + public StudentManagerScript StudentManager; + + public HeartbrokenScript Heartbroken; + + public JukeboxScript OriginalJukebox; + + public CosmeticScript OsanaCosmetic; + + public AudioClip ConfessionAccepted; + + public AudioClip ConfessionRejected; + + public AudioClip ConfessionGiggle; + + public AudioClip[] ConfessionMusic; + + public GameObject OriginalBlossoms; + + public GameObject HeartBeatCamera; + + public GameObject MainCamera; + + public Transform ConfessionCamera; + + public Transform OriginalPOV; + + public Transform ReactionPOV; + + public Transform SenpaiNeck; + + public Transform SenpaiPOV; + + public string[] ConfessSubs; + + public string[] AcceptSubs; + + public string[] RejectSubs; + + public float[] ConfessTimes; + + public float[] AcceptTimes; + + public float[] RejectTimes; + + public UISprite TimelessDarkness; + + public UILabel SubtitleLabel; + + public UISprite Darkness; + + public UIPanel Panel; + + public AudioSource MyAudio; + + public AudioSource Jukebox; + + public Animation Yandere; + + public Animation Senpai; + + public Animation Osana; + + public Renderer Tears; + + public float RotateSpeed; + + public float TearSpeed; + + public float TearTimer; + + public float Timer; + + public bool CheatRejection; + + public bool ReverseTears; + + public bool FadeOut; + + public bool Reject; + + public int TearPhase; + + public int Phase; + + public int MusicID; + + public int SubID; } diff --git a/ConfessionSceneScript.cs b/ConfessionSceneScript.cs index b09cdc8..ba738a2 100644 --- a/ConfessionSceneScript.cs +++ b/ConfessionSceneScript.cs @@ -20,9 +20,7 @@ public class ConfessionSceneScript : MonoBehaviour this.Timer += Time.deltaTime; if (this.Timer > 1f) { - this.BloomEffect.bloomIntensity = 1f; - this.BloomEffect.bloomThreshhold = 0f; - this.BloomEffect.bloomBlurIterations = 1; + this.Yandere.CameraEffects.UpdateBloom(10f); this.Suitor = this.StudentManager.Students[this.LoveManager.SuitorID]; this.Rival = this.StudentManager.Students[this.LoveManager.RivalID]; this.Rival.transform.position = this.RivalSpot.position; @@ -33,7 +31,6 @@ public class ConfessionSceneScript : MonoBehaviour this.Suitor.CharacterAnimation.Play(this.Suitor.IdleAnim); this.MythBlossoms.emission.rateOverTime = 100f; this.HeartBeatCamera.SetActive(false); - this.ConfessionBG.SetActive(true); base.GetComponent().Play(); this.MainCamera.position = this.CameraDestinations[1].position; this.MainCamera.eulerAngles = this.CameraDestinations[1].eulerAngles; @@ -127,6 +124,8 @@ public class ConfessionSceneScript : MonoBehaviour if (this.Timer > 1f) { DatingGlobals.SuitorProgress = 2; + this.StudentManager.RivalEliminated = true; + this.Yandere.Police.EndOfDay.RivalEliminationMethod = RivalEliminationType.Matchmade; this.Suitor.Character.transform.localScale = new Vector3(0.94f, 0.94f, 0.94f); this.PromptBar.ClearButtons(); this.PromptBar.UpdateButtons(); diff --git a/ConvoManagerScript.cs b/ConvoManagerScript.cs index ad398cc..b5f8efb 100644 --- a/ConvoManagerScript.cs +++ b/ConvoManagerScript.cs @@ -359,7 +359,6 @@ public class ConvoManagerScript : MonoBehaviour this.SM.Students[47].GetNewAnimation = false; this.SM.Students[49].GetNewAnimation = false; this.Cycles++; - Debug.Log("Incrementing cycle."); if (this.Cycles == 10) { this.SM.UpdateMartialArts(); diff --git a/CosmeticScript.cs b/CosmeticScript.cs index f8bcfc5..fbec1a8 100644 --- a/CosmeticScript.cs +++ b/CosmeticScript.cs @@ -8,6 +8,10 @@ public class CosmeticScript : MonoBehaviour { public void Start() { + if (this.Cutscene && EventGlobals.OsanaConversation) + { + this.StudentID = 11; + } if (this.RightShoe != null) { this.RightShoe.SetActive(false); @@ -109,11 +113,7 @@ public class CosmeticScript : MonoBehaviour this.Club = ClubType.None; if (!this.Male) { - this.Hairstyle = 1; - while (this.Hairstyle == 1 || this.Hairstyle == 20 || this.Hairstyle == 21) - { - this.Hairstyle = UnityEngine.Random.Range(1, this.FemaleHair.Length); - } + this.Hairstyle = UnityEngine.Random.Range(1, this.FemaleHair.Length); } else { @@ -123,17 +123,6 @@ public class CosmeticScript : MonoBehaviour } if (!this.Male) { - if (this.Hairstyle == 20 || this.Hairstyle == 21) - { - if (this.Direction == 1) - { - this.Hairstyle = 22; - } - else - { - this.Hairstyle = 19; - } - } this.ThickBrows.SetActive(false); if (!this.TakingPortrait) { @@ -383,7 +372,7 @@ public class CosmeticScript : MonoBehaviour this.CharacterAnimation["sadFace_00"].weight = 1f; } bool flag = false; - if (this.StudentID == 28) + if (this.StudentID == 6) { flag = true; } @@ -486,6 +475,10 @@ public class CosmeticScript : MonoBehaviour if (this.Club == ClubType.Teacher) { this.MyRenderer.sharedMesh = this.TeacherMesh; + if (!SystemInfo.supportsComputeShaders) + { + this.MyRenderer.sharedMesh.ClearBlendShapes(); + } this.Teacher = true; } else if (this.Club == ClubType.GymTeacher) @@ -722,7 +715,7 @@ public class CosmeticScript : MonoBehaviour } } bool flag2 = false; - if (this.StudentID == 28) + if (this.StudentID == 6) { flag2 = true; } @@ -898,6 +891,13 @@ public class CosmeticScript : MonoBehaviour { this.ClubAccessories[(int)this.Club].SetActive(false); } + if (this.StudentID == 11 && !this.TakingPortrait && !this.Cutscene && !this.Kidnapped && SceneManager.GetActiveScene().name == "SchoolScene") + { + this.CatGifts[1].SetActive(CollectibleGlobals.GetGiftGiven(1)); + this.CatGifts[2].SetActive(CollectibleGlobals.GetGiftGiven(2)); + this.CatGifts[3].SetActive(CollectibleGlobals.GetGiftGiven(3)); + this.CatGifts[4].SetActive(CollectibleGlobals.GetGiftGiven(4)); + } if (!this.Male) { base.StartCoroutine(this.PutOnStockings()); @@ -1205,10 +1205,7 @@ public class CosmeticScript : MonoBehaviour { this.WearIndoorShoes(); } - if (!this.Male && (this.Hairstyle == 20 || this.Hairstyle == 21)) - { - UnityEngine.Object.Destroy(base.gameObject); - } + bool male = this.Male; } public void SetMaleUniform() @@ -1222,7 +1219,7 @@ public class CosmeticScript : MonoBehaviour { this.FaceTexture = (this.CustomHair ? this.HairRenderer.material.mainTexture : this.FaceTextures[this.SkinColor]); bool flag = false; - if (this.StudentID == 28) + if (this.StudentID == 6) { flag = true; } @@ -1431,7 +1428,7 @@ public class CosmeticScript : MonoBehaviour this.FaceTexture = this.BlackBody; } this.MyRenderer.materials[2].mainTexture = this.FaceTexture; - if (!this.TakingPortrait && this.Student != null && this.Student.StudentManager != null && this.Student.StudentManager.Censor) + if (!this.TakingPortrait && this.Student != null && this.Student.StudentManager != null && GameGlobals.CensorPanties) { this.CensorPanties(); } diff --git a/CounselorDoorScript.cs b/CounselorDoorScript.cs index dab50a3..5382bf7 100644 --- a/CounselorDoorScript.cs +++ b/CounselorDoorScript.cs @@ -5,8 +5,6 @@ public class CounselorDoorScript : MonoBehaviour { private void Start() { - this.Prompt.enabled = false; - this.Prompt.Hide(); } private void Update() diff --git a/CounselorScript.cs b/CounselorScript.cs index f8834a2..4d0f0fc 100644 --- a/CounselorScript.cs +++ b/CounselorScript.cs @@ -142,11 +142,9 @@ public class CounselorScript : MonoBehaviour } if (this.Lecturing) { - Debug.Log("The guidance counselor is lecturing!"); this.Chibi.localPosition = new Vector3(this.Chibi.localPosition.x, Mathf.Lerp(this.Chibi.localPosition.y, 250f + (float)StudentGlobals.ExpelProgress * -90f, Time.deltaTime * 3f), this.Chibi.localPosition.z); if (this.LecturePhase == 1) { - Debug.Log("Lecture Phase 1."); this.LectureLabel.text = this.LectureIntro[this.LectureID]; this.EndOfDayDarkness.color = new Color(this.EndOfDayDarkness.color.r, this.EndOfDayDarkness.color.g, this.EndOfDayDarkness.color.b, Mathf.MoveTowards(this.EndOfDayDarkness.color.a, 0f, Time.deltaTime)); if (this.EndOfDayDarkness.color.a == 0f) @@ -165,7 +163,6 @@ public class CounselorScript : MonoBehaviour } else if (this.LecturePhase == 2) { - Debug.Log("Lecture Phase 2."); this.LectureLabel.color = new Color(this.LectureLabel.color.r, this.LectureLabel.color.g, this.LectureLabel.color.b, Mathf.MoveTowards(this.LectureLabel.color.a, 0f, Time.deltaTime)); if (this.LectureLabel.color.a == 0f) { @@ -179,7 +176,6 @@ public class CounselorScript : MonoBehaviour } else if (this.LecturePhase == 3) { - Debug.Log("Lecture Phase 3."); if (!this.MyAudio.isPlaying || UnityEngine.Input.GetButtonDown("A")) { this.LectureSubtitle.text = this.RivalText[this.LectureID]; @@ -190,7 +186,6 @@ public class CounselorScript : MonoBehaviour } else if (this.LecturePhase == 4) { - Debug.Log("Lecture Phase 4."); if (!this.MyAudio.isPlaying || UnityEngine.Input.GetButtonDown("A")) { this.LectureSubtitle.text = string.Empty; @@ -207,7 +202,6 @@ public class CounselorScript : MonoBehaviour } else if (this.LecturePhase == 5) { - Debug.Log("Lecture Phase 5."); this.ExpelProgress.color = new Color(this.ExpelProgress.color.r, this.ExpelProgress.color.g, this.ExpelProgress.color.b, Mathf.MoveTowards(this.ExpelProgress.color.a, 1f, Time.deltaTime)); this.ExpelTimer += Time.deltaTime; if (this.ExpelTimer > 2f) @@ -219,7 +213,6 @@ public class CounselorScript : MonoBehaviour } else if (this.LecturePhase == 6) { - Debug.Log("Lecture Phase 6."); this.ExpelTimer += Time.deltaTime; if (this.ExpelTimer > 4f) { @@ -228,7 +221,6 @@ public class CounselorScript : MonoBehaviour } else if (this.LecturePhase == 7) { - Debug.Log("Lecture Phase 7."); this.ExpelTimer += Time.deltaTime; if (this.ExpelTimer > 1f) { @@ -252,7 +244,6 @@ public class CounselorScript : MonoBehaviour } else if (this.LecturePhase == 8) { - Debug.Log("Lecture Phase 8."); this.ExpelProgress.color = new Color(this.ExpelProgress.color.r, this.ExpelProgress.color.g, this.ExpelProgress.color.b, Mathf.MoveTowards(this.ExpelProgress.color.a, 0f, Time.deltaTime)); this.ExpelTimer += Time.deltaTime; if (this.ExpelTimer > 6f) @@ -337,7 +328,6 @@ public class CounselorScript : MonoBehaviour this.ShowWindow = true; this.Yandere.ShoulderCamera.OverShoulder = true; this.Yandere.WeaponMenu.KeyboardShow = false; - this.Yandere.Obscurance.enabled = false; this.Yandere.WeaponMenu.Show = false; this.Yandere.YandereVision = false; this.Yandere.CanMove = false; @@ -508,6 +498,7 @@ public class CounselorScript : MonoBehaviour this.StudentManager.ComeBack(); this.StudentManager.GracePeriod(10f); this.StudentManager.Reputation.UpdateRep(); + this.Yandere.CameraEffects.UpdateDOF(2f); Physics.SyncTransforms(); } @@ -558,6 +549,7 @@ public class CounselorScript : MonoBehaviour { UnityEngine.Object.Destroy(this.Yandere.Subtitle.CurrentClip); } + this.Yandere.CameraEffects.UpdateDOF(1.1f); this.GenkaChibi.mainTexture = this.AnnoyedChibi; this.CounselorBar.SetActive(true); this.Subtitle.Label.text = ""; @@ -684,6 +676,7 @@ public class CounselorScript : MonoBehaviour this.MyAudio.Play(); Cursor.lockState = CursorLockMode.None; Cursor.visible = true; + this.Yandere.CameraEffects.UpdateDOF(0.4f); this.InterrogationPhase++; this.Timer = 0f; } @@ -770,6 +763,7 @@ public class CounselorScript : MonoBehaviour this.CounselorOptions.transform.localScale = new Vector3(1f, 1f, 1f); this.CounselorOptions.SetActive(false); this.CounselorBar.SetActive(true); + this.Yandere.CameraEffects.UpdateDOF(1.1f); this.Yandere.transform.position = new Vector3(-27.51f, 0f, 12f); this.Yandere.MainCamera.transform.position = this.CameraTarget.position; this.Yandere.MainCamera.transform.eulerAngles = this.CameraTarget.eulerAngles; @@ -1308,7 +1302,7 @@ public class CounselorScript : MonoBehaviour "That's a very serious accusation. I hope you're not lying to me. Hopefully, it's just a misunderstanding. I'll investigate the matter.", "Is that true? I'd hate to think we have a thief here at school. Don't worry - I'll get to the bottom of this.", "That's a clear violation of school rules, not to mention completely illegal. If what you're saying is true, she will face serious consequences. I'll confront her about this.", - "It's appalling to learn that there is a student at this school who thinks they can get away with this kind of misbehavior. I'll be sure to speak with her about this later today.", + "Thank you for bringing this to my attention! I'll have to have a word with her later today...", "That's a bold claim. Are you certain? I'll investigate the matter. If she is cheating, I'll catch her in the act." }; @@ -1327,7 +1321,7 @@ public class CounselorScript : MonoBehaviour "", "What?! I've never taken and pictures like that! How did this get on my phone?!", "No! I'm not the one who did this! I would never steal from anyone!", - "Huh? I don't smoke! I don't know why something like this was in my desk!", + "Huh? I don't smoke! I don't know why something like this was in my bag!", "W-wait, I can explain! It's not what you think!", "I'm telling the truth! I didn't steal the answer sheet! I don't know why it was in my desk!", "No...! P-please! Don't do this!" diff --git a/CreditsScript.cs b/CreditsScript.cs index bc70907..f64b02f 100644 --- a/CreditsScript.cs +++ b/CreditsScript.cs @@ -19,7 +19,7 @@ public class CreditsScript : MonoBehaviour private void Start() { - if (DateGlobals.Weekday == DayOfWeek.Sunday || GameGlobals.DarkEnding) + if (GameGlobals.TransitionToPostCredits || GameGlobals.DarkEnding) { GameGlobals.DarkEnding = false; this.Jukebox.clip = this.DarkCreditsMusic; @@ -33,11 +33,6 @@ public class CreditsScript : MonoBehaviour private void Update() { - if (UnityEngine.Input.GetKeyDown("d")) - { - GameGlobals.DarkEnding = true; - Application.LoadLevel(Application.loadedLevel); - } if (!this.Begin) { this.Timer += Time.deltaTime; @@ -83,13 +78,13 @@ public class CreditsScript : MonoBehaviour this.Jukebox.volume -= Time.deltaTime; if (this.Darkness.color.a == 1f) { - if (this.Darkness.color.r == 1f) + if (GameGlobals.TransitionToPostCredits) { - SceneManager.LoadScene("TitleScene"); + SceneManager.LoadScene("PostCreditsScene"); } else { - SceneManager.LoadScene("PostCreditsScene"); + SceneManager.LoadScene("NewTitleScene"); } } } diff --git a/CustomizationScript.cs b/CustomizationScript.cs index 28cbcab..3504c81 100644 --- a/CustomizationScript.cs +++ b/CustomizationScript.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using UnityEngine; +using UnityEngine.PostProcessing; using UnityEngine.SceneManagement; public class CustomizationScript : MonoBehaviour @@ -20,10 +21,12 @@ public class CustomizationScript : MonoBehaviour private void Start() { + this.OriginalDOFStatus = this.Profile.depthOfField.enabled; + this.Profile.depthOfField.enabled = false; Cursor.visible = false; Time.timeScale = 1f; this.LoveSick = GameGlobals.LoveSick; - this.ApologyWindow.localPosition = new Vector3(1360f, this.ApologyWindow.localPosition.y, this.ApologyWindow.localPosition.z); + this.ApologyWindow.localPosition = new Vector3(1555f, this.ApologyWindow.localPosition.y, this.ApologyWindow.localPosition.z); this.CustomizePanel.alpha = 0f; this.UniformPanel.alpha = 0f; this.FinishPanel.alpha = 0f; @@ -538,6 +541,7 @@ public class CustomizationScript : MonoBehaviour SenpaiGlobals.SenpaiFacialHair = this.Data.facialHair.Value; StudentGlobals.MaleUniform = this.Data.maleUniform.Value; StudentGlobals.FemaleUniform = this.Data.femaleUniform.Value; + this.Profile.depthOfField.enabled = this.OriginalDOFStatus; SceneManager.LoadScene("NewIntroScene"); } } @@ -554,9 +558,9 @@ public class CustomizationScript : MonoBehaviour return; } this.ApologyWindow.localPosition = new Vector3(Mathf.Abs((this.ApologyWindow.localPosition.x - Time.deltaTime) * 0.01f) * (Time.deltaTime * 1000f), this.ApologyWindow.localPosition.y, this.ApologyWindow.localPosition.z); - if (this.ApologyWindow.localPosition.x < -1360f) + if (this.ApologyWindow.localPosition.x < -1555f) { - this.ApologyWindow.localPosition = new Vector3(1360f, this.ApologyWindow.localPosition.y, this.ApologyWindow.localPosition.z); + this.ApologyWindow.localPosition = new Vector3(1555f, this.ApologyWindow.localPosition.y, this.ApologyWindow.localPosition.z); this.Apologize = false; this.Timer = 0f; } @@ -906,6 +910,10 @@ public class CustomizationScript : MonoBehaviour public float Rotation; + public PostProcessingProfile Profile; + + public bool OriginalDOFStatus; + private static readonly KeyValuePair[] ColorPairs = new KeyValuePair[] { new KeyValuePair(default(Color), string.Empty), diff --git a/DatingMinigameScript.cs b/DatingMinigameScript.cs index ec87a5d..8b219ed 100644 --- a/DatingMinigameScript.cs +++ b/DatingMinigameScript.cs @@ -46,29 +46,34 @@ public class DatingMinigameScript : MonoBehaviour if (this.Affection == 0f) { this.AffectionLevel = 0; - return; } - if (this.Affection < 25f) + else if (this.Affection < 25f) { this.AffectionLevel = 1; - return; } - if (this.Affection < 50f) + else if (this.Affection < 50f) { this.AffectionLevel = 2; - return; } - if (this.Affection < 75f) + else if (this.Affection < 75f) { this.AffectionLevel = 3; - return; } - if (this.Affection < 100f) + else if (this.Affection < 100f) { this.AffectionLevel = 4; - return; } - this.AffectionLevel = 5; + else + { + this.AffectionLevel = 5; + } + Debug.Log(string.Concat(new object[] + { + "Affection is now: ", + this.Affection, + " and AffectionLevel is now: ", + this.AffectionLevel + })); } private void Update() @@ -99,6 +104,7 @@ public class DatingMinigameScript : MonoBehaviour this.Prompt.Circle[0].fillAmount = 1f; if (!this.Yandere.Chased && this.Yandere.Chasers == 0 && !this.Rival.Hunted) { + this.Yandere.CameraEffects.UpdateDOF(1f); this.Suitor.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; this.Suitor.CharacterAnimation.enabled = true; @@ -157,7 +163,6 @@ public class DatingMinigameScript : MonoBehaviour this.Rotation = -45f; this.Timer = 0f; this.Phase++; - return; } } else if (this.Phase == 2) @@ -181,7 +186,6 @@ public class DatingMinigameScript : MonoBehaviour this.DatingSimHUD.gameObject.SetActive(true); this.Timer = 0f; this.Phase++; - return; } } } @@ -204,7 +208,6 @@ public class DatingMinigameScript : MonoBehaviour this.PromptBar.UpdateButtons(); this.PromptBar.Show = true; this.Phase++; - return; } } else if (this.Phase == 4) @@ -245,30 +248,25 @@ public class DatingMinigameScript : MonoBehaviour { this.SelectingTopic = true; this.Negative = true; - return; } - if (this.Selected == 2) + else if (this.Selected == 2) { this.SelectingTopic = true; this.Negative = false; - return; } - if (this.Selected == 3) + else if (this.Selected == 3) { this.Complimenting = true; - return; } - if (this.Selected == 4) + else if (this.Selected == 4) { this.ShowingOff = true; - return; } - if (this.Selected == 5) + else if (this.Selected == 5) { this.GivingGift = true; - return; } - if (this.Selected == 6) + else if (this.Selected == 6) { this.PromptBar.ClearButtons(); this.PromptBar.Label[0].text = "Confirm"; @@ -276,7 +274,6 @@ public class DatingMinigameScript : MonoBehaviour this.CalculateAffection(); this.DialogueLabel.text = this.Farewells[this.AffectionLevel]; this.Phase++; - return; } } } @@ -376,7 +373,6 @@ public class DatingMinigameScript : MonoBehaviour if (UnityEngine.Input.GetButtonDown("B")) { this.SelectingTopic = false; - return; } } else if (this.Complimenting) @@ -435,7 +431,6 @@ public class DatingMinigameScript : MonoBehaviour if (UnityEngine.Input.GetButtonDown("B")) { this.Complimenting = false; - return; } } else if (this.ShowingOff) @@ -500,7 +495,6 @@ public class DatingMinigameScript : MonoBehaviour if (UnityEngine.Input.GetButtonDown("B")) { this.ShowingOff = false; - return; } } else if (this.GivingGift) @@ -554,7 +548,6 @@ public class DatingMinigameScript : MonoBehaviour if (UnityEngine.Input.GetButtonDown("B")) { this.GivingGift = false; - return; } } } @@ -566,7 +559,6 @@ public class DatingMinigameScript : MonoBehaviour if (this.Speed > 100f && UnityEngine.Input.GetButtonDown("A")) { this.Phase++; - return; } } else if (this.Phase == 6) @@ -576,13 +568,13 @@ public class DatingMinigameScript : MonoBehaviour { this.DatingSimHUD.gameObject.SetActive(false); this.Phase++; - return; } } else if (this.Phase == 7) { if (this.Panel.alpha == 0f) { + this.Yandere.CameraEffects.UpdateDOF(2f); this.Suitor.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; this.LoveManager.RivalWaiting = false; this.LoveManager.Courted = true; @@ -604,6 +596,7 @@ public class DatingMinigameScript : MonoBehaviour this.Rival.Prompt.Label[0].text = " Talk"; this.Rival.Pathfinding.canSearch = true; this.Rival.Pathfinding.canMove = true; + this.Rival.DistanceToDestination = 100f; this.Rival.Pushable = false; this.Rival.Meeting = false; this.Rival.Routine = true; @@ -634,6 +627,54 @@ public class DatingMinigameScript : MonoBehaviour } this.Panel.alpha = Mathf.MoveTowards(this.Panel.alpha, 1f, Time.deltaTime); } + if (!this.Yandere.NoDebug) + { + if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) + { + this.Yandere.CharacterAnimation["f02_treePeeking_00"].time = 0f; + this.Yandere.CharacterAnimation.Play("f02_treePeeking_00"); + this.MainCamera.transform.position = new Vector3(48f, 3f, -44f); + this.MainCamera.transform.eulerAngles = new Vector3(15f, 90f, 0f); + this.Rival.transform.eulerAngles = new Vector3(this.Rival.transform.eulerAngles.x, 90f, this.Rival.transform.eulerAngles.z); + this.Rival.CharacterAnimation.Play(this.Rival.IdleAnim); + this.Rival.CharacterAnimation["f02_turnAround_00"].speed = 1f; + DatingGlobals.SetComplimentGiven(1, false); + DatingGlobals.SetComplimentGiven(4, false); + DatingGlobals.SetComplimentGiven(5, false); + DatingGlobals.SetComplimentGiven(8, false); + DatingGlobals.SetComplimentGiven(9, false); + DatingGlobals.SetTraitDemonstrated(2, 0); + DatingGlobals.AffectionLevel = 0f; + DatingGlobals.Affection = 0f; + this.AffectionBar.localScale = new Vector3(0f, this.AffectionBar.localScale.y, this.AffectionBar.localScale.z); + this.AffectionLevel = 0; + this.Affection = 0f; + for (int j = 1; j < 6; j++) + { + UILabel uilabel6 = this.Labels[j]; + uilabel6.color = new Color(uilabel6.color.r, uilabel6.color.g, uilabel6.color.b, 1f); + } + this.Phase = 1; + this.Timer = 0f; + for (int k = 1; k < 26; k++) + { + DatingGlobals.SetTopicDiscussed(k, false); + UISprite uisprite2 = this.TopicIcons[k]; + uisprite2.color = new Color(uisprite2.color.r, uisprite2.color.g, uisprite2.color.b, 1f); + } + this.UpdateTopics(); + } + if (UnityEngine.Input.GetKeyDown("=")) + { + Time.timeScale += 1f; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.LeftControl)) + { + this.Affection += 10f; + this.CalculateAffection(); + this.DialogueLabel.text = this.Greetings[this.AffectionLevel]; + } + } } } diff --git a/DebugEnablerScript.cs b/DebugEnablerScript.cs new file mode 100644 index 0000000..4429ef2 --- /dev/null +++ b/DebugEnablerScript.cs @@ -0,0 +1,58 @@ +using System; +using UnityEngine; + +public class DebugEnablerScript : MonoBehaviour +{ + private void Start() + { + if (MissionModeGlobals.MissionMode || GameGlobals.AlphabetMode || GameGlobals.LoveSick) + { + this.Prompt.Hide(); + this.Prompt.enabled = false; + UnityEngine.Object.Destroy(base.gameObject); + } + } + + private void Update() + { + if (this.Prompt.Circle[0].fillAmount == 0f || this.Editor) + { + this.Yandere.Inventory.PantyShots = 100; + this.StandWeapons.SetActive(true); + this.VoidGoddess.SetActive(true); + this.MurderKit.SetActive(true); + this.Memes.SetActive(true); + this.Keys.SetActive(true); + this.DebugMenu.MissionMode = false; + this.DebugMenu.NoDebug = false; + this.Yandere.NoDebug = false; + this.Turtle.enabled = true; + this.MemeClosetDoor.Locked = false; + this.Prompt.Hide(); + this.Prompt.enabled = false; + UnityEngine.Object.Destroy(base.gameObject); + } + } + + public GameObject StandWeapons; + + public GameObject VoidGoddess; + + public GameObject MurderKit; + + public GameObject Memes; + + public GameObject Keys; + + public DebugMenuScript DebugMenu; + + public YandereScript Yandere; + + public PrayScript Turtle; + + public DoorScript MemeClosetDoor; + + public PromptScript Prompt; + + public bool Editor; +} diff --git a/DebugMenuScript.cs b/DebugMenuScript.cs index 9d7b2be..c4b409e 100644 --- a/DebugMenuScript.cs +++ b/DebugMenuScript.cs @@ -9,14 +9,8 @@ public class DebugMenuScript : MonoBehaviour base.transform.localPosition = new Vector3(base.transform.localPosition.x, 0f, base.transform.localPosition.z); this.MissionModeWindow.SetActive(false); this.Window.SetActive(false); - if (MissionModeGlobals.MissionMode || GameGlobals.AlphabetMode) - { - this.MissionMode = true; - } - if (GameGlobals.LoveSick) - { - this.NoDebug = true; - } + this.MissionMode = true; + this.NoDebug = true; } private void Update() @@ -93,6 +87,7 @@ public class DebugMenuScript : MonoBehaviour } else if (UnityEngine.Input.GetKeyDown(KeyCode.F9)) { + GameGlobals.CensorKillingAnims = !GameGlobals.CensorKillingAnims; this.Yandere.AttackManager.Censor = !this.Yandere.AttackManager.Censor; this.Window.SetActive(false); } @@ -703,28 +698,7 @@ public class DebugMenuScript : MonoBehaviour } else { - if (UnityEngine.Input.GetKeyDown(KeyCode.Backslash)) - { - this.MissionModeWindow.SetActive(!this.MissionModeWindow.activeInHierarchy); - this.DebugInputs++; - } - if (this.MissionModeWindow.activeInHierarchy) - { - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha1)) - { - this.Censor(); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha2)) - { - GameGlobals.CensorBlood = !GameGlobals.CensorBlood; - this.WeaponManager.ChangeBloodTexture(); - this.Yandere.Bloodiness += 0f; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha3)) - { - this.Yandere.AttackManager.Censor = !this.Yandere.AttackManager.Censor; - } - } + UnityEngine.Input.GetKeyDown(KeyCode.Backslash); } if (this.WaitingForNumber) { @@ -782,9 +756,9 @@ public class DebugMenuScript : MonoBehaviour public void Censor() { - if (!this.StudentManager.Censor) + if (GameGlobals.CensorPanties) { - Debug.Log("We're turning the censor ON."); + Debug.Log("The censor is ON."); if (this.Yandere.Schoolwear == 1) { if (!this.Yandere.Sans && !this.Yandere.SithLord && !this.Yandere.BanchoActive) @@ -795,7 +769,10 @@ public class DebugMenuScript : MonoBehaviour this.Yandere.MyRenderer.materials[1].SetFloat("_BlendAmount1", 1f); this.Yandere.MyRenderer.materials[0].SetFloat("_BlendAmount", 1f); this.Yandere.MyRenderer.materials[1].SetFloat("_BlendAmount", 1f); - this.Yandere.PantyAttacher.newRenderer.enabled = false; + if (this.Yandere.PantyAttacher.newRenderer != null) + { + this.Yandere.PantyAttacher.newRenderer.enabled = false; + } } else { @@ -824,11 +801,10 @@ public class DebugMenuScript : MonoBehaviour { this.EasterEggCheck(); } - this.StudentManager.Censor = true; this.StudentManager.CensorStudents(); return; } - Debug.Log("We're turning the censor OFF."); + Debug.Log("The censor is OFF."); this.Yandere.MyRenderer.materials[1].SetFloat("_BlendAmount1", 0f); this.Yandere.MyRenderer.materials[1].SetFloat("_BlendAmount", 1f); this.Yandere.MyRenderer.materials[2].SetFloat("_BlendAmount", 0f); @@ -850,7 +826,6 @@ public class DebugMenuScript : MonoBehaviour { this.Yandere.PantyAttacher.newRenderer.enabled = false; } - this.StudentManager.Censor = false; this.StudentManager.CensorStudents(); } @@ -890,7 +865,7 @@ public class DebugMenuScript : MonoBehaviour return; } this.TryNextFrame = false; - if (!this.StudentManager.Censor) + if (GameGlobals.CensorPanties) { newRenderer.materials[0].SetFloat("_BlendAmount", 1f); newRenderer.materials[1].SetFloat("_BlendAmount", 1f); diff --git a/DialogueWheelScript.cs b/DialogueWheelScript.cs index 3ca4b9b..96f34b6 100644 --- a/DialogueWheelScript.cs +++ b/DialogueWheelScript.cs @@ -456,6 +456,10 @@ public class DialogueWheelScript : MonoBehaviour this.Yandere.TalkTimer = 3f; this.Show = false; } + else + { + this.Matchmaking = true; + } } else if (this.Selected == 6) { @@ -580,8 +584,6 @@ public class DialogueWheelScript : MonoBehaviour } else if (!PlayerGlobals.GetStudentFriend(this.Yandere.TargetStudent.StudentID)) { - Debug.Log("Yandere.TargetStudent.TaskPhase is: " + this.Yandere.TargetStudent.TaskPhase + "."); - Debug.Log("TaskGlobals.GetTaskStatus of current student is: " + TaskGlobals.GetTaskStatus(this.Yandere.TargetStudent.StudentID)); bool flag = false; if (this.Yandere.TargetStudent.StudentID != 8 && this.Yandere.TargetStudent.StudentID != 11 && this.Yandere.TargetStudent.StudentID != 25 && this.Yandere.TargetStudent.StudentID != 28 && this.Yandere.TargetStudent.StudentID != 30 && this.Yandere.TargetStudent.StudentID != 36 && this.Yandere.TargetStudent.StudentID != 37 && this.Yandere.TargetStudent.StudentID != 38 && this.Yandere.TargetStudent.StudentID != 52 && this.Yandere.TargetStudent.StudentID != 76 && this.Yandere.TargetStudent.StudentID != 77 && this.Yandere.TargetStudent.StudentID != 78 && this.Yandere.TargetStudent.StudentID != 79 && this.Yandere.TargetStudent.StudentID != 80 && this.Yandere.TargetStudent.StudentID != 81) { @@ -601,7 +603,6 @@ public class DialogueWheelScript : MonoBehaviour } if (this.Yandere.TargetStudent.TaskPhase == 5) { - Debug.Log("Unhiding task button."); this.Shadow[5].color = new Color(0f, 0f, 0f, 0f); } if (this.Yandere.TargetStudent.StudentID == 6) @@ -620,6 +621,11 @@ public class DialogueWheelScript : MonoBehaviour this.Shadow[5].color = new Color(0f, 0f, 0f, 0.75f); } } + else if ((this.Yandere.TargetStudent.StudentID == 46 && this.Clock.Period == 3) || (this.Yandere.TargetStudent.StudentID == 46 && this.Clock.Period == 5)) + { + Debug.Log("Hiding Budo's Task button."); + this.Shadow[5].color = new Color(0f, 0f, 0f, 0.75f); + } else if (this.Yandere.TargetStudent.StudentID == 81) { if (TaskGlobals.GetTaskStatus(81) == 0 && StudentGlobals.GetStudentDead(5)) @@ -787,8 +793,6 @@ public class DialogueWheelScript : MonoBehaviour private void CheckTaskCompletion() { - Debug.Log("This student's Task Status is: " + TaskGlobals.GetTaskStatus(this.Yandere.TargetStudent.StudentID)); - Debug.Log("Checking for task completion."); if (this.Yandere.TargetStudent.StudentID == 6 && TaskGlobals.GetTaskStatus(6) == 1 && this.Yandere.Inventory.Headset) { this.Yandere.TargetStudent.TaskPhase = 5; diff --git a/DoorScript.cs b/DoorScript.cs index 05c3de8..b1afb19 100644 --- a/DoorScript.cs +++ b/DoorScript.cs @@ -163,10 +163,7 @@ public class DoorScript : MonoBehaviour { this.DoorColliders[1].isTrigger = false; } - if (this.Portal != null) - { - this.Portal.open = this.Open; - } + this.Portal != null; } if (this.BucketSet) { @@ -639,6 +636,18 @@ public class DoorScript : MonoBehaviour ConversationGlobals.SetTopicDiscovered(6, true); this.Yandere.NotificationManager.TopicName = "Martial Arts"; this.Yandere.NotificationManager.DisplayNotification(NotificationType.Topic); + } + if (!ConversationGlobals.GetTopicDiscovered(16)) + { + ConversationGlobals.SetTopicDiscovered(16, true); + this.Yandere.NotificationManager.TopicName = "Justice"; + this.Yandere.NotificationManager.DisplayNotification(NotificationType.Topic); + } + if (!ConversationGlobals.GetTopicDiscovered(17)) + { + ConversationGlobals.SetTopicDiscovered(17, true); + this.Yandere.NotificationManager.TopicName = "Violence"; + this.Yandere.NotificationManager.DisplayNotification(NotificationType.Topic); return; } break; diff --git a/EditorManagerScript.cs b/EditorManagerScript.cs index 3c124cf..2a6bcc6 100644 --- a/EditorManagerScript.cs +++ b/EditorManagerScript.cs @@ -38,7 +38,7 @@ public class EditorManagerScript : MonoBehaviour { if (UnityEngine.Input.GetButtonDown("B")) { - SceneManager.LoadScene("TitleScene"); + SceneManager.LoadScene("NewTitleScene"); } bool tappedUp = this.inputManager.TappedUp; bool tappedDown = this.inputManager.TappedDown; diff --git a/EndOfDayScript.cs b/EndOfDayScript.cs index fa18cc7..c1a589a 100644 --- a/EndOfDayScript.cs +++ b/EndOfDayScript.cs @@ -269,7 +269,11 @@ public class EndOfDayScript : MonoBehaviour { if (ragdollScript.Student.StudentID == this.StudentManager.RivalID) { - this.RivalEliminationMethod = RivalEliminationType.Dead; + this.RivalEliminationMethod = RivalEliminationType.Murdered; + if (ragdollScript.Student.Electrified || ragdollScript.Student.Electrocuted) + { + this.RivalEliminationMethod = RivalEliminationType.Accident; + } } this.VictimArray[this.Corpses] = ragdollScript.Student.StudentID; list.Add(ragdollScript.Student.Name); @@ -714,7 +718,7 @@ public class EndOfDayScript : MonoBehaviour } if (DateGlobals.Weekday == DayOfWeek.Friday) { - this.Phase = 22; + this.Phase = 23; return; } this.Phase += 2; @@ -732,11 +736,11 @@ public class EndOfDayScript : MonoBehaviour this.Senpai.EmptyHands(); Physics.SyncTransforms(); string str2 = ""; - if (this.Yandere.Egg && this.StudentManager.Students[11] != null && !this.StudentManager.Students[11].Alive) + if (this.Yandere.Egg && this.RivalEliminationMethod == RivalEliminationType.None) { - this.RivalEliminationMethod = RivalEliminationType.Dead; + this.RivalEliminationMethod = RivalEliminationType.Murdered; } - if (this.RivalEliminationMethod == RivalEliminationType.Dead) + if (this.RivalEliminationMethod == RivalEliminationType.Murdered || this.RivalEliminationMethod == RivalEliminationType.MurderedWitnessed || this.RivalEliminationMethod == RivalEliminationType.Accident || this.RivalEliminationMethod == RivalEliminationType.SuicideFake) { this.Senpai.CharacterAnimation.Play("kneelCry_00"); if (DateGlobals.Weekday != DayOfWeek.Friday) @@ -749,33 +753,38 @@ public class EndOfDayScript : MonoBehaviour else { this.Senpai.transform.localEulerAngles = new Vector3(0f, 180f, 0f); - if (this.RivalEliminationMethod == RivalEliminationType.Vanished) - { - this.Senpai.CharacterAnimation.Play(this.Senpai.BulliedIdleAnim); - this.Label.text = "Senpai is concerned about the sudden disappearance of his childhood friend. His mental stability has been slightly affected."; - } - else if (this.RivalEliminationMethod == RivalEliminationType.Arrested) + if (this.RivalEliminationMethod == RivalEliminationType.Arrested) { this.Senpai.CharacterAnimation["refuse_02"].speed = 0.5f; this.Senpai.CharacterAnimation.Play("refuse_02"); this.Label.text = "Senpai is disgusted to learn that his childhood friend would actually commit murder. He is deeply disappointed in her."; } - else if (this.RivalEliminationMethod == RivalEliminationType.Ruined) + else if (this.RivalEliminationMethod == RivalEliminationType.Befriended || this.RivalEliminationMethod == RivalEliminationType.Matchmade) { - this.Senpai.CharacterAnimation["refuse_02"].speed = 0.5f; - this.Senpai.CharacterAnimation.Play("refuse_02"); - this.Label.text = "Senpai is disturbed by the rumors circulating about his childhood friend. He is deeply disappointed in her."; + this.Senpai.CharacterAnimation.Play(this.Senpai.BulliedIdleAnim); + this.Label.text = "Senpai notices that Osana is distancing herself from him. He feels a little sad about it, but he accepts it."; } else if (this.RivalEliminationMethod == RivalEliminationType.Expelled) { this.Senpai.CharacterAnimation.Play("surprisedPose_00"); this.Label.text = "Senpai is shocked by the expulsion of his childhood friend. He is deeply disappointed in her."; } + else if (this.RivalEliminationMethod == RivalEliminationType.Ruined) + { + this.Senpai.CharacterAnimation["refuse_02"].speed = 0.5f; + this.Senpai.CharacterAnimation.Play("refuse_02"); + this.Label.text = "Senpai is disturbed by the rumors circulating about his childhood friend. He is deeply disappointed in her."; + } else if (this.RivalEliminationMethod == RivalEliminationType.Rejected) { this.Senpai.CharacterAnimation.Play(this.Senpai.BulliedIdleAnim); this.Label.text = "Senpai feels guilty for turning down Osana's feelings, but also he knows that he cannot take back what has been said."; } + else if (this.RivalEliminationMethod == RivalEliminationType.Vanished) + { + this.Senpai.CharacterAnimation.Play(this.Senpai.BulliedIdleAnim); + this.Label.text = "Senpai is concerned about the sudden disappearance of his childhood friend. His mental stability has been slightly affected."; + } } this.Phase++; return; @@ -835,6 +844,7 @@ public class EndOfDayScript : MonoBehaviour } this.EODCamera.position = new Vector3(-18.5f, 1f, 6.5f); this.EODCamera.eulerAngles = new Vector3(0f, -45f, 0f); + this.EODCamera.Translate(this.EODCamera.transform.forward * 0.3f); this.Counselor.Lecturing = true; base.enabled = false; Debug.Log("The counselor is going to lecture somebody! Exiting End-of-Day sequence."); @@ -1069,14 +1079,45 @@ public class EndOfDayScript : MonoBehaviour this.UpdateScene(); return; } + else if (this.Phase == 21) + { + Debug.Log("We're in Phase 21 right now."); + this.Rival = this.StudentManager.Students[this.StudentManager.RivalID]; + if (this.Rival != null && this.Rival.Alive && StudentGlobals.GetStudentReputation(this.StudentManager.RivalID) <= -100) + { + Debug.Log("Rival's not null, rival's alive, rival's reputation is below -100."); + this.Rival.gameObject.SetActive(true); + this.Rival.transform.parent = base.transform; + this.Rival.transform.localPosition = new Vector3(0f, 0f, 0f); + this.Rival.transform.localEulerAngles = new Vector3(0f, 0f, 0f); + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.Play(this.Rival.BulliedWalkAnim); + this.Rival.CharacterAnimation.enabled = true; + this.Label.text = "Osana cannot endure the bullying and harassment that she is being subjected to due to her damaged reputation. She chooses to withdraw from Akademi and never return."; + this.RivalEliminationMethod = RivalEliminationType.Ruined; + this.StudentManager.RivalEliminated = true; + if (StudentGlobals.GetStudentReputation(this.StudentManager.RivalID) <= -200) + { + this.Label.text = "Osana is absolutely devastated by the unbearable bullying and harassment that she is being subjected to. She silently returns to her home, planning something drastic..."; + this.Rival.CharacterAnimation.Play(this.Rival.BulliedIdleAnim); + this.RivalEliminationMethod = RivalEliminationType.SuicideBully; + this.GoToSuicideScene = true; + } + this.Phase++; + return; + } + this.Phase++; + this.UpdateScene(); + return; + } else { - if (this.Phase == 21) + if (this.Phase == 22) { this.Finish(); return; } - if (this.Phase == 22) + if (this.Phase == 23) { this.Senpai.enabled = false; this.Senpai.Pathfinding.enabled = false; @@ -1104,7 +1145,7 @@ public class EndOfDayScript : MonoBehaviour this.Phase++; return; } - if (this.Phase == 23) + if (this.Phase == 24) { for (int m = 1; m < 101; m++) { @@ -1176,6 +1217,11 @@ public class EndOfDayScript : MonoBehaviour { this.Label.text = this.JSON.Students[fingerprintID2].Name + " is arrested by the police."; StudentGlobals.SetStudentArrested(fingerprintID2, true); + if (this.Patsy.StudentID == this.StudentManager.RivalID) + { + this.StudentManager.RivalEliminated = true; + this.RivalEliminationMethod = RivalEliminationType.Arrested; + } this.Arrests++; } else @@ -1215,10 +1261,22 @@ public class EndOfDayScript : MonoBehaviour } if (this.Phase == 102) { - if (this.Police.SuicideStudent.activeInHierarchy) + this.StudentManager.Students[this.Police.SuicideID]; + if (!this.StudentManager.Students[this.Police.SuicideID].Ragdoll.Disposed) { this.MurderScene.SetActive(true); - this.Label.text = "The police inspect the corpse of a student who appears to have fallen to their death from the school rooftop. The police treat the incident as a murder case, and search the school for any other victims."; + if (this.Police.SuicideNote) + { + this.Label.text = "The police inspect the corpse of a student who appears to have fallen to their death from the school rooftop. The police find a suicide note, but still treat the incident as a potential murder case, and search the school for any other victims."; + } + else + { + this.Label.text = "The police inspect the corpse of a student who appears to have fallen to their death from the school rooftop. The police treat the incident as a murder case, and search the school for any other victims."; + } + if (this.Police.SuicideID == this.StudentManager.RivalID) + { + this.RivalEliminationMethod = RivalEliminationType.SuicideFake; + } this.ErectFence = true; } else @@ -1328,12 +1386,70 @@ public class EndOfDayScript : MonoBehaviour private void Finish() { Debug.Log("We have reached the end of the End-of-Day sequence."); - if (this.RivalEliminationMethod == RivalEliminationType.Expelled) + if (this.RivalEliminationMethod == RivalEliminationType.Murdered) + { + Debug.Log("Osana died."); + GameGlobals.RivalEliminationID = 1; + GameGlobals.NonlethalElimination = false; + if (this.StudentManager.Students[1].SenpaiWitnessingRivalDie) + { + GameGlobals.RivalEliminationID = 2; + } + } + else if (this.RivalEliminationMethod == RivalEliminationType.Arrested) + { + Debug.Log("Osana was arrested."); + GameGlobals.RivalEliminationID = 3; + GameGlobals.NonlethalElimination = true; + } + else if (this.RivalEliminationMethod == RivalEliminationType.Expelled) { Debug.Log("Osana was expelled."); StudentGlobals.SetStudentExpelled(this.StudentManager.RivalID, true); - GameGlobals.NonlethalElimination = true; GameGlobals.RivalEliminationID = 5; + GameGlobals.NonlethalElimination = true; + } + else if (this.RivalEliminationMethod == RivalEliminationType.Matchmade) + { + Debug.Log("Osana was arrested."); + GameGlobals.RivalEliminationID = 6; + GameGlobals.NonlethalElimination = true; + } + else if (this.RivalEliminationMethod == RivalEliminationType.Rejected) + { + Debug.Log("Osana was rejected by Senpai."); + GameGlobals.RivalEliminationID = 7; + GameGlobals.NonlethalElimination = true; + } + else if (this.RivalEliminationMethod == RivalEliminationType.Ruined) + { + Debug.Log("Osana's reputation has been ruined."); + GameGlobals.RivalEliminationID = 8; + GameGlobals.NonlethalElimination = true; + } + else if (this.RivalEliminationMethod == RivalEliminationType.SuicideBully) + { + Debug.Log("Osana was bullied into suicide."); + GameGlobals.RivalEliminationID = 9; + GameGlobals.NonlethalElimination = false; + } + else if (this.RivalEliminationMethod == RivalEliminationType.SuicideFake) + { + Debug.Log("Osana was pushed off the school rooftop, and the player made her death look like an accident."); + GameGlobals.RivalEliminationID = 10; + GameGlobals.NonlethalElimination = false; + } + else if (this.RivalEliminationMethod == RivalEliminationType.Vanished) + { + Debug.Log("Osana ''mysteriously disappeared''."); + GameGlobals.RivalEliminationID = 11; + GameGlobals.NonlethalElimination = false; + } + else if (this.RivalEliminationMethod == RivalEliminationType.Accident) + { + Debug.Log("Osana was killed in a ''mysterious accident''."); + GameGlobals.RivalEliminationID = 12; + GameGlobals.NonlethalElimination = false; } PlayerGlobals.Reputation = this.Reputation.Reputation; ClubGlobals.Club = this.Yandere.Club; @@ -1344,13 +1460,24 @@ public class EndOfDayScript : MonoBehaviour { DateGlobals.PassDays = this.Police.SuspensionLength; } + else + { + DateGlobals.PassDays = 1; + } if (this.StudentManager.Students[SchoolGlobals.KidnapVictim] != null && this.StudentManager.Students[SchoolGlobals.KidnapVictim].Ragdoll.enabled) { SchoolGlobals.KidnapVictim = 0; } if (!this.TranqCase.Occupied) { - SceneManager.LoadScene("HomeScene"); + if (this.GoToSuicideScene) + { + SceneManager.LoadScene("SuicideScene"); + } + else + { + SceneManager.LoadScene("HomeScene"); + } } else { @@ -1533,6 +1660,8 @@ public class EndOfDayScript : MonoBehaviour public bool LearnedOsanaInfo2; + public bool GoToSuicideScene; + public bool PoliceArrived; public bool RaibaruLoner; diff --git a/EventManagerScript.cs b/EventManagerScript.cs index 04953da..32604e6 100644 --- a/EventManagerScript.cs +++ b/EventManagerScript.cs @@ -23,10 +23,6 @@ public class EventManagerScript : MonoBehaviour } this.NoteLocker.Prompt.enabled = true; this.NoteLocker.CanLeaveNote = true; - if (this.EventStudent1 == 11) - { - UnityEngine.Object.Destroy(this); - } } private void Update() @@ -51,7 +47,7 @@ public class EventManagerScript : MonoBehaviour this.EventCheck = false; base.enabled = false; } - if (this.EventStudent[1] != null && this.EventStudent[2] != null && !this.EventStudent[1].Slave && !this.EventStudent[2].Slave && this.EventStudent[1].Indoors && !this.EventStudent[1].Wet && !this.EventStudent[1].Meeting && (this.OsanaID < 2 || (this.OsanaID > 1 && Vector3.Distance(this.EventStudent[1].transform.position, this.EventLocation[1].position) < 1f))) + if (this.EventStudent[1] != null && this.EventStudent[2] != null && this.EventStudent[1].enabled && !this.EventStudent[1].Slave && !this.EventStudent[2].Slave && this.EventStudent[1].Indoors && !this.EventStudent[1].Wet && !this.EventStudent[1].Meeting && (this.OsanaID < 2 || (this.OsanaID > 1 && Vector3.Distance(this.EventStudent[1].transform.position, this.EventLocation[1].position) < 1f))) { this.StartTimer += Time.deltaTime; if (this.StartTimer > 1f && this.EventStudent[1].Routine && this.EventStudent[2].Routine && !this.EventStudent[1].InEvent && !this.EventStudent[2].InEvent) diff --git a/FakeStudentScript.cs b/FakeStudentScript.cs index f66062e..213ae05 100644 --- a/FakeStudentScript.cs +++ b/FakeStudentScript.cs @@ -41,7 +41,6 @@ public class FakeStudentScript : MonoBehaviour this.Student.TalkTimer = 0f; this.Yandere.ShoulderCamera.OverShoulder = true; this.Yandere.WeaponMenu.KeyboardShow = false; - this.Yandere.Obscurance.enabled = false; this.Yandere.WeaponMenu.Show = false; this.Yandere.YandereVision = false; this.Yandere.CanMove = false; diff --git a/FallingOsanaScript.cs b/FallingOsanaScript.cs index f13a842..2320bc5 100644 --- a/FallingOsanaScript.cs +++ b/FallingOsanaScript.cs @@ -5,15 +5,14 @@ public class FallingOsanaScript : MonoBehaviour { private void Update() { - if (base.transform.parent.position.y > 0f) + if (base.transform.position.y > 0f) { - this.Osana.CharacterAnimation.Play(this.Osana.IdleAnim); - base.transform.parent.position += new Vector3(0f, -1.0001f, 0f); + base.transform.position += new Vector3(0f, -1.0001f, 0f); } - if (base.transform.parent.position.y < 0f) + if (base.transform.position.y < 0f) { - base.transform.parent.position = new Vector3(base.transform.parent.position.x, 0f, base.transform.parent.position.z); - UnityEngine.Object.Instantiate(this.GroundImpact, base.transform.parent.position, Quaternion.identity); + base.transform.position = new Vector3(base.transform.position.x, 0f, base.transform.position.z); + UnityEngine.Object.Instantiate(this.GroundImpact, base.transform.position, Quaternion.identity); } } diff --git a/FanCoverScript.cs b/FanCoverScript.cs index 92f4712..d47923e 100644 --- a/FanCoverScript.cs +++ b/FanCoverScript.cs @@ -33,6 +33,7 @@ public class FanCoverScript : MonoBehaviour this.Yandere.CharacterAnimation.CrossFade("f02_fanMurderA_00"); this.Rival.CharacterAnimation.CrossFade("f02_fanMurderB_00"); this.Rival.OsanaHair.GetComponent().CrossFade("fanMurderHair"); + this.Rival.enabled = false; this.Yandere.EmptyHands(); this.Rival.OsanaHair.transform.parent = this.Rival.transform; this.Rival.OsanaHair.transform.localEulerAngles = Vector3.zero; @@ -57,6 +58,7 @@ public class FanCoverScript : MonoBehaviour } if (this.Phase > 0) { + this.Yandere.Sanity -= Time.deltaTime * 10f; if (this.Phase == 1) { this.Yandere.transform.rotation = Quaternion.Slerp(this.Yandere.transform.rotation, this.MurderSpot.rotation, Time.deltaTime * 10f); @@ -64,7 +66,7 @@ public class FanCoverScript : MonoBehaviour if (this.Yandere.CharacterAnimation["f02_fanMurderA_00"].time > 3.5f && !this.Reacted) { AudioSource.PlayClipAtPoint(this.RivalReaction, this.Rival.transform.position + new Vector3(0f, 1f, 0f)); - this.Yandere.MurderousActionTimer = this.Yandere.CharacterAnimation["f02_fanMurderA_00"].length - 3.5f; + this.Yandere.MurderousActionTimer = 999f; this.Reacted = true; } if (this.Yandere.CharacterAnimation["f02_fanMurderA_00"].time > 5f) @@ -117,6 +119,7 @@ public class FanCoverScript : MonoBehaviour } else if (this.Yandere.CharacterAnimation["f02_fanMurderA_00"].time >= this.Yandere.CharacterAnimation["f02_fanMurderA_00"].length) { + this.Yandere.MurderousActionTimer = 0f; this.OfferHelp.SetActive(false); this.Yandere.CanMove = true; base.enabled = false; diff --git a/FavorMenuScript.cs b/FavorMenuScript.cs index 48ec7a7..14fcad3 100644 --- a/FavorMenuScript.cs +++ b/FavorMenuScript.cs @@ -24,24 +24,29 @@ public class FavorMenuScript : MonoBehaviour this.PromptBar.Label[1].text = "Exit"; this.PromptBar.Label[4].text = "Choose"; this.PromptBar.UpdateButtons(); - if (this.ID != 1) + if (this.ID == 1) { - if (this.ID == 2) - { - this.ServicesMenu.UpdatePantyCount(); - this.ServicesMenu.UpdateList(); - this.ServicesMenu.UpdateDesc(); - this.ServicesMenu.gameObject.SetActive(true); - base.gameObject.SetActive(false); - } - else if (this.ID == 3) - { - this.DropsMenu.UpdatePantyCount(); - this.DropsMenu.UpdateList(); - this.DropsMenu.UpdateDesc(); - this.DropsMenu.gameObject.SetActive(true); - base.gameObject.SetActive(false); - } + this.SchemesMenu.UpdatePantyCount(); + this.SchemesMenu.UpdateSchemeList(); + this.SchemesMenu.UpdateSchemeInfo(); + this.SchemesMenu.gameObject.SetActive(true); + base.gameObject.SetActive(false); + } + else if (this.ID == 2) + { + this.ServicesMenu.UpdatePantyCount(); + this.ServicesMenu.UpdateList(); + this.ServicesMenu.UpdateDesc(); + this.ServicesMenu.gameObject.SetActive(true); + base.gameObject.SetActive(false); + } + else if (this.ID == 3) + { + this.DropsMenu.UpdatePantyCount(); + this.DropsMenu.UpdateList(); + this.DropsMenu.UpdateDesc(); + this.DropsMenu.gameObject.SetActive(true); + base.gameObject.SetActive(false); } } if (UnityEngine.Input.GetButtonDown("X")) diff --git a/FoldedUniformScript.cs b/FoldedUniformScript.cs index 0f5b709..9ae5d67 100644 --- a/FoldedUniformScript.cs +++ b/FoldedUniformScript.cs @@ -27,18 +27,6 @@ public class FoldedUniformScript : MonoBehaviour if (this.Clean) { this.InPosition = this.Yandere.StudentManager.LockerRoomArea.bounds.Contains(base.transform.position); - if (this.Yandere.MyRenderer.sharedMesh == this.Yandere.Towel) - { - Debug.Log("Yandere-chan is wearing a towel."); - } - if (this.Yandere.Bloodiness == 0f) - { - Debug.Log("Yandere-chan is not bloody."); - } - if (this.InPosition) - { - Debug.Log("This uniform is in the locker room."); - } if (this.Yandere.MyRenderer.sharedMesh != this.Yandere.Towel || this.Yandere.Bloodiness != 0f || !this.InPosition) { this.Prompt.HideButton[0] = true; diff --git a/FunScript.cs b/FunScript.cs index 16f681c..a928efe 100644 --- a/FunScript.cs +++ b/FunScript.cs @@ -97,10 +97,7 @@ public class FunScript : MonoBehaviour this.Label.color = new Color(this.R, this.G, this.B, 1f); this.Skip.SetActive(false); } - if (SceneManager.GetActiveScene().name == "VeryFunScene") - { - this.Skip.SetActive(false); - } + this.Skip.SetActive(false); this.Controls.SetActive(false); this.Label.gameObject.SetActive(false); this.Girl.color = new Color(this.R, this.G, this.B, 0f); diff --git a/GameGlobals.cs b/GameGlobals.cs index ca0f4a4..3b0ca22 100644 --- a/GameGlobals.cs +++ b/GameGlobals.cs @@ -111,6 +111,30 @@ public static class GameGlobals } } + public static bool CensorPanties + { + get + { + return GlobalsHelper.GetBool("Profile_" + GameGlobals.Profile + "_CensorPanties"); + } + set + { + GlobalsHelper.SetBool("Profile_" + GameGlobals.Profile + "_CensorPanties", value); + } + } + + public static bool CensorKillingAnims + { + get + { + return GlobalsHelper.GetBool("Profile_" + GameGlobals.Profile + "_CensorKillingAnims"); + } + set + { + GlobalsHelper.SetBool("Profile_" + GameGlobals.Profile + "_CensorKillingAnims", value); + } + } + public static bool SpareUniform { get @@ -151,11 +175,11 @@ public static class GameGlobals { get { - return PlayerPrefs.GetInt("RivalEliminationID"); + return PlayerPrefs.GetInt("Profile_" + GameGlobals.Profile + "_RivalEliminationID"); } set { - PlayerPrefs.SetInt("RivalEliminationID", value); + PlayerPrefs.SetInt("Profile_" + GameGlobals.Profile + "_RivalEliminationID", value); } } @@ -231,6 +255,54 @@ public static class GameGlobals } } + public static bool SenpaiSawOsanaCorpse + { + get + { + return GlobalsHelper.GetBool("Profile_" + GameGlobals.Profile + "_SenpaiSawOsanaCorpse"); + } + set + { + GlobalsHelper.SetBool("Profile_" + GameGlobals.Profile + "_SenpaiSawOsanaCorpse", value); + } + } + + public static bool TransitionToPostCredits + { + get + { + return GlobalsHelper.GetBool("Profile_" + GameGlobals.Profile + "_TransitionToPostCredits"); + } + set + { + GlobalsHelper.SetBool("Profile_" + GameGlobals.Profile + "_TransitionToPostCredits", value); + } + } + + public static bool PlayerHasBeatenDemo + { + get + { + return GlobalsHelper.GetBool("Profile_" + GameGlobals.Profile + "_PlayerHasBeatenDemo"); + } + set + { + GlobalsHelper.SetBool("Profile_" + GameGlobals.Profile + "_PlayerHasBeatenDemo", value); + } + } + + public static bool Debug + { + get + { + return GlobalsHelper.GetBool("Profile_" + GameGlobals.Profile + "_Debug"); + } + set + { + GlobalsHelper.SetBool("Profile_" + GameGlobals.Profile + "_Debug", value); + } + } + public static void DeleteAll() { Globals.Delete("Profile_" + GameGlobals.Profile + "_LoveSick"); @@ -240,6 +312,8 @@ public static class GameGlobals Globals.Delete("Profile_" + GameGlobals.Profile + "_HardMode"); Globals.Delete("Profile_" + GameGlobals.Profile + "_EmptyDemon"); Globals.Delete("Profile_" + GameGlobals.Profile + "_CensorBlood"); + Globals.Delete("Profile_" + GameGlobals.Profile + "_CensorPanties"); + Globals.Delete("Profile_" + GameGlobals.Profile + "_CensorKillingAnims"); Globals.Delete("Profile_" + GameGlobals.Profile + "_SpareUniform"); Globals.Delete("Profile_" + GameGlobals.Profile + "_BlondeHair"); Globals.Delete("Profile_" + GameGlobals.Profile + "_SenpaiMourning"); @@ -251,6 +325,10 @@ public static class GameGlobals Globals.Delete("Profile_" + GameGlobals.Profile + "_PoliceYesterday"); Globals.Delete("Profile_" + GameGlobals.Profile + "_DarkEnding"); Globals.Delete("Profile_" + GameGlobals.Profile + "_MostRecentSlot"); + Globals.Delete("Profile_" + GameGlobals.Profile + "_SenpaiSawOsanaCorpse"); + Globals.Delete("Profile_" + GameGlobals.Profile + "_TransitionToPostCredits"); + Globals.Delete("Profile_" + GameGlobals.Profile + "_PlayerHasBeatenDemo"); + Globals.Delete("Profile_" + GameGlobals.Profile + "_Debug"); } private const string Str_Profile = "Profile"; @@ -271,6 +349,10 @@ public static class GameGlobals private const string Str_CensorBlood = "CensorBlood"; + private const string Str_CensorPanties = "CensorPanties"; + + private const string Str_CensorKillingAnims = "CensorKillingAnims"; + private const string Str_SpareUniform = "SpareUniform"; private const string Str_BlondeHair = "BlondeHair"; @@ -290,4 +372,12 @@ public static class GameGlobals private const string Str_PoliceYesterday = "PoliceYesterday"; private const string Str_DarkEnding = "DarkEnding"; + + private const string Str_SenpaiSawOsanaCorpse = "SenpaiSawOsanaCorpse"; + + private const string Str_TransitionToPostCredits = "TransitionToPostCredits"; + + private const string Str_PlayerHasBeatenDemo = "PlayerHasBeatenDemo"; + + private const string Str_Debug = "Debug"; } diff --git a/GenocideEndingScript.cs b/GenocideEndingScript.cs index e1c5151..04748e9 100644 --- a/GenocideEndingScript.cs +++ b/GenocideEndingScript.cs @@ -97,6 +97,7 @@ public class GenocideEndingScript : MonoBehaviour SceneManager.LoadScene("CreditsScene"); return; } + DateGlobals.PassDays = 1; SceneManager.LoadScene("CalendarScene"); EventGlobals.OsanaConversation = false; } diff --git a/GrassGenerator.cs b/GrassGenerator.cs new file mode 100644 index 0000000..63ee544 --- /dev/null +++ b/GrassGenerator.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +[ExecuteAlways] +[RequireComponent(typeof(MeshFilter))] +public class GrassGenerator : MonoBehaviour +{ + private void OnDrawGizmosSelected() + { + if (this.Planes.Count == 0) + { + return; + } + foreach (GrassGenerator.GrassPlane grassPlane in this.Planes) + { + Gizmos.color = Color.gray; + if (grassPlane == this.EditedPlane) + { + Gizmos.color = Color.cyan; + } + Gizmos.DrawWireCube(base.transform.position + grassPlane.LocalCenter, new Vector3(grassPlane.Size.x, 0.1f, grassPlane.Size.y)); + } + } + + [Range(0.1f, 10f)] + public float QuadSize = 0.1f; + + public float IntersectHeight = 1f; + + public LayerMask IntersectLayers; + + public bool IntersectOffsetCorrection; + + [HideInInspector] + public List Planes = new List(); + + [HideInInspector] + public GrassGenerator.GrassPlane EditedPlane; + + [Serializable] + public class GrassPlane + { + public Vector3 LocalCenter; + + public Vector2 Size; + + public bool Intersect; + } +} diff --git a/HeartbrokenCursorScript.cs b/HeartbrokenCursorScript.cs index 3b4a2b7..7269324 100644 --- a/HeartbrokenCursorScript.cs +++ b/HeartbrokenCursorScript.cs @@ -133,19 +133,7 @@ public class HeartbrokenCursorScript : MonoBehaviour this.Cracks[j].SetActive(false); } this.CracksSpawned = 0; - this.StudentManager.Yandere.CameraEffects.AlarmBloom.enabled = false; - this.StudentManager.Yandere.CameraEffects.QualityBloom.enabled = false; - this.StudentManager.Yandere.CameraEffects.QualityVignetting.enabled = false; - this.StudentManager.Yandere.CameraEffects.Vignette.enabled = false; - this.StudentManager.Yandere.CameraEffects.QualityAntialiasingAsPostEffect.enabled = false; - this.StudentManager.Yandere.ColorCorrection.enabled = false; - this.StudentManager.Yandere.YandereColorCorrection.enabled = false; - this.StudentManager.Yandere.Vignette.enabled = false; - this.StudentManager.Yandere.DepthOfField.enabled = false; - this.StudentManager.Yandere.Obscurance.enabled = false; this.StudentManager.SelectiveGreyscale.enabled = false; - this.StudentManager.Vignettes[2].enabled = false; - this.StudentManager.QualityManager.ExperimentalBloomAndLensFlares.enabled = false; this.StudentManager.Yandere.RPGCamera.mouseSpeed = 8f; this.StudentManager.Yandere.RPGCamera.distance = 0.566666f; this.StudentManager.Yandere.RPGCamera.distanceMax = 0.666666f; @@ -270,6 +258,7 @@ public class HeartbrokenCursorScript : MonoBehaviour this.LoveSick = GameGlobals.LoveSick; Globals.DeleteAll(); GameGlobals.LoveSick = this.LoveSick; + DateGlobals.PassDays = 1; SceneManager.LoadScene("CalendarScene"); } } @@ -288,7 +277,7 @@ public class HeartbrokenCursorScript : MonoBehaviour } else if (this.Selected == 4) { - SceneManager.LoadScene("TitleScene"); + SceneManager.LoadScene("NewTitleScene"); } } } diff --git a/HeartbrokenScript.cs b/HeartbrokenScript.cs index 63e7278..90b3847 100644 --- a/HeartbrokenScript.cs +++ b/HeartbrokenScript.cs @@ -288,6 +288,7 @@ public class HeartbrokenScript : MonoBehaviour this.Ground.color = new Color(this.Ground.color.r, this.Ground.color.g, this.Ground.color.b, this.Ground.color.a + Time.deltaTime); if (this.Background.color.a >= 1f) { + this.ConfessionUICamera.enabled = false; this.MainCamera.enabled = false; } } @@ -438,6 +439,8 @@ public class HeartbrokenScript : MonoBehaviour public UISprite Ground; + public Camera ConfessionUICamera; + public Camera MainCamera; public UILabel Subtitle; diff --git a/HomeCameraScript.cs b/HomeCameraScript.cs index c14800d..90b5f03 100644 --- a/HomeCameraScript.cs +++ b/HomeCameraScript.cs @@ -1,6 +1,6 @@ using System; using UnityEngine; -using UnityEngine.SceneManagement; +using UnityEngine.PostProcessing; public class HomeCameraScript : MonoBehaviour { @@ -58,6 +58,11 @@ public class HomeCameraScript : MonoBehaviour { SchoolGlobals.SchoolAtmosphere = 1f; } + if (this.Profile.bloom.enabled) + { + this.RestoreBloom = true; + } + this.ReduceKnee(); } private void LateUpdate() @@ -70,6 +75,23 @@ public class HomeCameraScript : MonoBehaviour this.Focus.position = Vector3.Lerp(this.Focus.position, this.Target.position, Time.deltaTime * 10f); base.transform.position = Vector3.Lerp(base.transform.position, this.Destination.position, Time.deltaTime * 10f); base.transform.LookAt(this.Focus.position); + if (this.HomeYandere.CanMove) + { + this.UpdateDOF(1.66666f); + if (this.RestoreBloom) + { + this.Profile.bloom.enabled = true; + } + } + else if (this.ID == 6) + { + this.UpdateDOF(0.25f); + } + else if (this.ID == 3) + { + this.Profile.bloom.enabled = false; + this.UpdateDOF(0.33333f); + } if (this.ID != 11 && UnityEngine.Input.GetButtonDown("A") && this.HomeYandere.CanMove && this.ID != 0) { this.Destination = this.Destinations[this.ID]; @@ -165,28 +187,11 @@ public class HomeCameraScript : MonoBehaviour this.BasementJukebox.volume = Mathf.MoveTowards(this.BasementJukebox.volume, 0.5f, Time.deltaTime); this.RoomJukebox.volume = Mathf.MoveTowards(this.RoomJukebox.volume, 0f, Time.deltaTime); } - if (UnityEngine.Input.GetKeyDown(KeyCode.Y)) - { - TaskGlobals.SetTaskStatus(38, 1); - } if (UnityEngine.Input.GetKeyDown(KeyCode.M)) { this.BasementJukebox.gameObject.SetActive(false); this.RoomJukebox.gameObject.SetActive(false); } - if (UnityEngine.Input.GetKeyDown(KeyCode.BackQuote)) - { - HomeGlobals.Night = !HomeGlobals.Night; - SceneManager.LoadScene(SceneManager.GetActiveScene().name); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Equals)) - { - Time.timeScale += 1f; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Minus) && Time.timeScale > 1f) - { - Time.timeScale -= 1f; - } } public void PlayMusic() @@ -230,6 +235,21 @@ public class HomeCameraScript : MonoBehaviour this.PlayMusic(); } + private void UpdateDOF(float Focus) + { + Focus *= ((float)Screen.width / 1280f + (float)Screen.height / 720f) * 0.5f; + DepthOfFieldModel.Settings settings = this.Profile.depthOfField.settings; + settings.focusDistance = Focus; + this.Profile.depthOfField.settings = settings; + } + + private void ReduceKnee() + { + BloomModel.Settings settings = this.Profile.bloom.settings; + settings.bloom.softKnee = 0.75f; + this.Profile.bloom.settings = settings; + } + public HomeWindowScript[] HomeWindows; public HomeTriggerScript[] Triggers; @@ -258,6 +278,8 @@ public class HomeCameraScript : MonoBehaviour public HomeExitScript HomeExit; + public PostProcessingProfile Profile; + public PromptBarScript PromptBar; public Vignetting Vignette; @@ -314,6 +336,8 @@ public class HomeCameraScript : MonoBehaviour public AudioClip HomeLoveSick; + public bool RestoreBloom; + public bool Torturing; public CosmeticScript SenpaiCosmetic; diff --git a/HomeDarknessScript.cs b/HomeDarknessScript.cs index 788d89c..cd8f5d4 100644 --- a/HomeDarknessScript.cs +++ b/HomeDarknessScript.cs @@ -22,6 +22,10 @@ public class HomeDarknessScript : MonoBehaviour { if (this.HomeCamera.ID == 2) { + if (DateGlobals.PassDays < 1) + { + DateGlobals.PassDays = 1; + } SceneManager.LoadScene("CalendarScene"); return; } @@ -29,6 +33,10 @@ public class HomeDarknessScript : MonoBehaviour { if (this.Cyberstalking) { + if (DateGlobals.PassDays < 1) + { + DateGlobals.PassDays = 1; + } SceneManager.LoadScene("CalendarScene"); return; } @@ -49,6 +57,10 @@ public class HomeDarknessScript : MonoBehaviour { if (this.HomeCamera.ID == 9) { + if (DateGlobals.PassDays < 1) + { + DateGlobals.PassDays = 1; + } SceneManager.LoadScene("CalendarScene"); return; } @@ -146,6 +158,12 @@ public class HomeDarknessScript : MonoBehaviour { PlayerGlobals.UsingGamepad = false; } + int buildIndexByScenePath = SceneUtility.GetBuildIndexByScenePath("WalkToSchoolScene"); + if (!StudentGlobals.GetStudentDead(11) && DateGlobals.Weekday == DayOfWeek.Thursday && !HomeGlobals.LateForSchool && buildIndexByScenePath > -1) + { + SceneManager.LoadScene("WalkToSchoolScene"); + return; + } SceneManager.LoadScene("LoadingScene"); } diff --git a/HomeExitScript.cs b/HomeExitScript.cs index d7f4eca..aca6f85 100644 --- a/HomeExitScript.cs +++ b/HomeExitScript.cs @@ -5,19 +5,16 @@ public class HomeExitScript : MonoBehaviour { private void Start() { - UILabel uilabel = this.Labels[2]; - uilabel.color = new Color(uilabel.color.r, uilabel.color.g, uilabel.color.b, 0.5f); if (HomeGlobals.Night) { - UILabel uilabel2 = this.Labels[1]; - uilabel2.color = new Color(uilabel2.color.r, uilabel2.color.g, uilabel2.color.b, 0.5f); - uilabel.color = new Color(uilabel.color.r, uilabel.color.g, uilabel.color.b, 1f); + UILabel uilabel = this.Labels[1]; + uilabel.color = new Color(uilabel.color.r, uilabel.color.g, uilabel.color.b, 0.5f); Debug.Log("Scheme #6 is at stage: " + SchemeGlobals.GetSchemeStage(6)); if (SchemeGlobals.GetSchemeStage(6) == 9) { - UILabel uilabel3 = this.Labels[4]; - uilabel3.color = new Color(uilabel3.color.r, uilabel3.color.g, uilabel3.color.b, 1f); - uilabel3.text = "Stalker's House"; + UILabel uilabel2 = this.Labels[4]; + uilabel2.color = new Color(uilabel2.color.r, uilabel2.color.g, uilabel2.color.b, 1f); + uilabel2.text = "Stalker's House"; } } } diff --git a/HomePrisonerScript.cs b/HomePrisonerScript.cs index 860c23a..55e79bd 100644 --- a/HomePrisonerScript.cs +++ b/HomePrisonerScript.cs @@ -246,6 +246,10 @@ public class HomePrisonerScript : MonoBehaviour } else if (this.ID == 2) { + if (DateGlobals.PassDays < 1) + { + DateGlobals.PassDays = 1; + } SceneManager.LoadScene("CalendarScene"); StudentGlobals.SetStudentSanity(SchoolGlobals.KidnapVictim, this.Sanity - 10f); } @@ -258,6 +262,10 @@ public class HomePrisonerScript : MonoBehaviour } else if (this.ID == 4) { + if (DateGlobals.PassDays < 1) + { + DateGlobals.PassDays = 1; + } SceneManager.LoadScene("CalendarScene"); StudentGlobals.SetStudentSanity(SchoolGlobals.KidnapVictim, this.Sanity - 45f); PlayerGlobals.Reputation -= 20f; diff --git a/HomeYandereScript.cs b/HomeYandereScript.cs index daf82ca..237791d 100644 --- a/HomeYandereScript.cs +++ b/HomeYandereScript.cs @@ -7,6 +7,7 @@ public class HomeYandereScript : MonoBehaviour { public void Start() { + Debug.Log("GameGlobals.RivalEliminationID is currently: " + GameGlobals.RivalEliminationID); if (this.CutsceneYandere != null) { this.CutsceneYandere.GetComponent()["f02_midoriTexting_00"].speed = 0.1f; @@ -149,53 +150,6 @@ public class HomeYandereScript : MonoBehaviour { component2.velocity = Vector3.zero; } - if (UnityEngine.Input.GetKeyDown(KeyCode.H)) - { - this.UpdateHair(); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.K)) - { - SchemeGlobals.HelpingKokona = true; - SchoolGlobals.KidnapVictim = this.VictimID; - StudentGlobals.SetStudentSanity(this.VictimID, 100f); - SceneManager.LoadScene(SceneManager.GetActiveScene().name); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F1)) - { - StudentGlobals.MaleUniform = 1; - StudentGlobals.FemaleUniform = 1; - SceneManager.LoadScene(SceneManager.GetActiveScene().name); - } - else if (UnityEngine.Input.GetKeyDown(KeyCode.F2)) - { - StudentGlobals.MaleUniform = 2; - StudentGlobals.FemaleUniform = 2; - SceneManager.LoadScene(SceneManager.GetActiveScene().name); - } - else if (UnityEngine.Input.GetKeyDown(KeyCode.F3)) - { - StudentGlobals.MaleUniform = 3; - StudentGlobals.FemaleUniform = 3; - SceneManager.LoadScene(SceneManager.GetActiveScene().name); - } - else if (UnityEngine.Input.GetKeyDown(KeyCode.F4)) - { - StudentGlobals.MaleUniform = 4; - StudentGlobals.FemaleUniform = 4; - SceneManager.LoadScene(SceneManager.GetActiveScene().name); - } - else if (UnityEngine.Input.GetKeyDown(KeyCode.F5)) - { - StudentGlobals.MaleUniform = 5; - StudentGlobals.FemaleUniform = 5; - SceneManager.LoadScene(SceneManager.GetActiveScene().name); - } - else if (UnityEngine.Input.GetKeyDown(KeyCode.F6)) - { - StudentGlobals.MaleUniform = 6; - StudentGlobals.FemaleUniform = 6; - SceneManager.LoadScene(SceneManager.GetActiveScene().name); - } if (base.transform.position.y < -10f) { base.transform.position = new Vector3(base.transform.position.x, -10f, base.transform.position.z); diff --git a/IncineratorScript.cs b/IncineratorScript.cs index 13c6c7f..be7d175 100644 --- a/IncineratorScript.cs +++ b/IncineratorScript.cs @@ -196,6 +196,11 @@ public class IncineratorScript : MonoBehaviour } this.ID++; } + if (this.Yandere.StudentManager.Students[this.Yandere.StudentManager.RivalID] != null && this.Yandere.StudentManager.Students[this.Yandere.StudentManager.RivalID].Ragdoll.Disposed) + { + Debug.Log("Just incinerated Osana's corpse."); + this.Yandere.StudentManager.Police.EndOfDay.RivalEliminationMethod = RivalEliminationType.Vanished; + } } if (this.Smoke.isPlaying) { diff --git a/LivingRoomCutsceneScript.cs b/LivingRoomCutsceneScript.cs index b12c3fe..3f439aa 100644 --- a/LivingRoomCutsceneScript.cs +++ b/LivingRoomCutsceneScript.cs @@ -120,6 +120,22 @@ public class LivingRoomCutsceneScript : MonoBehaviour this.Vignette.intensity = 1f; this.Vignette.blur = 1f; this.Vignette.chromaticAberration = 1f; + if (EventGlobals.OsanaConversation) + { + this.PrologueLabel.transform.localPosition = new Vector3(0f, 125f, 0f); + this.PrologueLabel.text = "Osana is eager to report her stalker to the police.\n\nHowever, she knows that the process could take a long time, so she decides to visit Ayano's house and get her cat back before contacting the police.\n\nThe next morning, Osana arrives at Ayano's house..."; + this.WarningLabel.SetActive(true); + this.CatStuff.SetActive(true); + this.OsanaCutscene = true; + this.Lines = this.RivalData.OsanaIntroLines; + this.Times = this.RivalData.OsanaIntroTimes; + this.MyAudio.clip = this.RivalData.OsanaIntro; + this.BGM.volume = 0.1f; + if (SchemeGlobals.GetSchemeStage(6) == 9) + { + SchemeGlobals.SetSchemeStage(6, 100); + } + } } private void Update() @@ -344,7 +360,10 @@ public class LivingRoomCutsceneScript : MonoBehaviour base.transform.position = this.TeaCamera.position; base.transform.rotation = this.TeaCamera.rotation; this.TeaSet.SetActive(true); - this.Yandere.SetActive(false); + if (this.Branch == 3) + { + this.Yandere.SetActive(false); + } this.AnimOffset += 2f; } if (UnityEngine.Input.GetButtonDown("A")) @@ -426,8 +445,11 @@ public class LivingRoomCutsceneScript : MonoBehaviour StudentGlobals.SetStudentKidnapped(30, true); StudentGlobals.SetStudentSanity(30, 100f); SchoolGlobals.KidnapVictim = 30; + if (DateGlobals.PassDays < 1) + { + DateGlobals.PassDays = 1; + } SceneManager.LoadScene("CalendarScene"); - GameGlobals.RivalEliminationID = 6; } else { @@ -435,7 +457,8 @@ public class LivingRoomCutsceneScript : MonoBehaviour StudentGlobals.SetStudentSanity(11, 100f); SchoolGlobals.KidnapVictim = 11; SceneManager.LoadScene("GenocideScene"); - GameGlobals.RivalEliminationID = 2; + GameGlobals.RivalEliminationID = 11; + GameGlobals.NonlethalElimination = true; } HomeGlobals.StartInBasement = true; } @@ -449,7 +472,12 @@ public class LivingRoomCutsceneScript : MonoBehaviour StudentGlobals.SetStudentKidnapped(81, false); StudentGlobals.SetStudentBroken(81, true); SchoolGlobals.KidnapVictim = 0; + if (DateGlobals.PassDays < 1) + { + DateGlobals.PassDays = 1; + } SceneManager.LoadScene("CalendarScene"); + GameGlobals.RivalEliminationID = 4; } } if (UnityEngine.Input.GetKeyDown(KeyCode.Minus)) diff --git a/LoveManagerScript.cs b/LoveManagerScript.cs index a540670..fe12a2b 100644 --- a/LoveManagerScript.cs +++ b/LoveManagerScript.cs @@ -10,6 +10,8 @@ public class LoveManagerScript : MonoBehaviour { this.ConfessToSuitor = true; } + this.SuitorID = 6; + this.RivalID = 11; } private void LateUpdate() @@ -150,6 +152,7 @@ public class LoveManagerScript : MonoBehaviour public void BeginConfession() { + Debug.Log("Confession is being told to begin."); this.Suitor.EmptyHands(); this.Rival.EmptyHands(); this.Yandere.CharacterAnimation.CrossFade(this.Yandere.IdleAnim); @@ -162,12 +165,14 @@ public class LoveManagerScript : MonoBehaviour this.Rival.enabled = false; if (!this.ConfessToSuitor) { + this.ConfessionManager.Senpai = this.StudentManager.Students[1].CharacterAnimation; this.ConfessionManager.gameObject.SetActive(true); } else { this.ConfessionScene.enabled = true; } + this.WaitingToConfess = false; this.Clock.StopTime = true; this.LeftNote = false; } diff --git a/MGPMEnemyScript.cs b/MGPMEnemyScript.cs index 1eb7076..f3e338a 100644 --- a/MGPMEnemyScript.cs +++ b/MGPMEnemyScript.cs @@ -409,7 +409,7 @@ public class MGPMEnemyScript : MonoBehaviour UnityEngine.Object.Destroy(collision.gameObject); this.FlashWhite = 0.05f; this.Health--; - if (this.Health == 0) + if (this.Health == 0 && this.MyCollider != null) { this.MyCollider.enabled = false; } diff --git a/MemorialSceneScript.cs b/MemorialSceneScript.cs index 6aee99a..bd593f7 100644 --- a/MemorialSceneScript.cs +++ b/MemorialSceneScript.cs @@ -104,8 +104,11 @@ public class MemorialSceneScript : MonoBehaviour } if (this.FadeOut) { - this.StudentManager.Clock.BloomEffect.bloomIntensity += Time.deltaTime * 10f; - if (this.StudentManager.Clock.BloomEffect.bloomIntensity > 10f) + this.BloomIntensity = Mathf.MoveTowards(this.BloomIntensity, 500f, Time.deltaTime * 500f); + this.BloomRadius = Mathf.MoveTowards(this.BloomRadius, 7f, Time.deltaTime * 7f); + this.CameraEffects.UpdateBloom(this.BloomIntensity); + this.CameraEffects.UpdateBloomRadius(this.BloomRadius); + if (this.BloomIntensity == 500f) { this.StudentManager.Yandere.Casual = !this.StudentManager.Yandere.Casual; this.StudentManager.Yandere.ChangeSchoolwear(); @@ -115,7 +118,11 @@ public class MemorialSceneScript : MonoBehaviour this.StudentManager.Yandere.RPGCamera.enabled = true; this.StudentManager.Yandere.CanMove = true; this.StudentManager.Yandere.HUD.alpha = 1f; + this.StudentManager.Clock.BloomIntensity = this.BloomIntensity; + this.StudentManager.Clock.BloomRadius = this.BloomRadius; this.StudentManager.Clock.UpdateBloom = true; + this.StudentManager.Clock.ReduceKnee = false; + this.StudentManager.Clock.Lerp = true; this.StudentManager.Clock.StopTime = false; this.StudentManager.Clock.PresentTime = 450f; this.StudentManager.Clock.HourTime = 7.5f; @@ -130,6 +137,8 @@ public class MemorialSceneScript : MonoBehaviour public StudentManagerScript StudentManager; + public CameraEffectsScript CameraEffects; + public GameObject[] Canvases; public UITexture[] Portraits; @@ -142,6 +151,10 @@ public class MemorialSceneScript : MonoBehaviour public int MemorialStudents; + public float BloomIntensity = 1f; + + public float BloomRadius = 4f; + public float Speed; public bool Eulogized; diff --git a/MetalDetectorScript.cs b/MetalDetectorScript.cs index 98b8c3d..f6dd9c3 100644 --- a/MetalDetectorScript.cs +++ b/MetalDetectorScript.cs @@ -115,7 +115,7 @@ public class MetalDetectorScript : MonoBehaviour this.Yandere.Sprayed = true; this.Yandere.StudentManager.YandereDying = true; this.Yandere.StudentManager.StopMoving(); - this.Yandere.Blur.blurIterations = 1; + this.Yandere.Blur.Size = 1f; this.Yandere.Jukebox.Volume = 0f; Time.timeScale = 1f; } diff --git a/MissionModeMenuScript.cs b/MissionModeMenuScript.cs index f0eb24d..37ebe2e 100644 --- a/MissionModeMenuScript.cs +++ b/MissionModeMenuScript.cs @@ -395,7 +395,7 @@ public class MissionModeMenuScript : MonoBehaviour { if (this.TargetID == 0 && !MissionModeGlobals.MultiMission) { - SceneManager.LoadScene("TitleScene"); + SceneManager.LoadScene("NewTitleScene"); return; } this.NowLoading.SetActive(true); @@ -632,7 +632,7 @@ public class MissionModeMenuScript : MonoBehaviour } this.GetNumbers(); bool flag = false; - if ((this.TargetNumber > 9 && this.TargetNumber < 21) || this.TargetNumber > 97) + if ((this.TargetNumber > 11 && this.TargetNumber < 21) || this.TargetNumber > 97) { flag = true; } @@ -884,14 +884,14 @@ public class MissionModeMenuScript : MonoBehaviour if (this.Phase != 5) { this.TargetID = UnityEngine.Random.Range(2, 90); - if (this.TargetNumber > 9 && this.TargetNumber < 21) + if (this.TargetNumber > 11 && this.TargetNumber < 21) { this.ChooseTarget(); } } else { - if (this.TargetNumber > 9 && this.TargetNumber < 21) + if (this.TargetNumber > 11 && this.TargetNumber < 21) { if (UnityEngine.Input.GetButtonDown("A")) { @@ -919,7 +919,7 @@ public class MissionModeMenuScript : MonoBehaviour this.TargetID, ".png" })); - if (this.TargetNumber > 9 && this.TargetNumber < 21) + if (this.TargetNumber > 11 && this.TargetNumber < 21) { this.TargetPortrait.mainTexture = this.BlankPortrait; } @@ -938,7 +938,7 @@ public class MissionModeMenuScript : MonoBehaviour } this.CustomDescs[1].text = "Kill " + this.TargetName + "."; this.Descs[1].text = "Kill " + this.TargetName + "."; - if (this.TargetID > 9 && this.TargetID < 21) + if (this.TargetID > 11 && this.TargetID < 21) { if (this.Phase == 5) { @@ -1097,7 +1097,7 @@ public class MissionModeMenuScript : MonoBehaviour { Debug.Log("Populating the Mission Mode criteria list!"); this.TargetID = MissionModeGlobals.MissionTarget; - if (this.TargetNumber > 9 && this.TargetNumber < 21) + if (this.TargetNumber > 11 && this.TargetNumber < 21) { this.TargetPortrait.mainTexture = this.BlankPortrait; this.TargetName = MissionModeGlobals.MissionTargetName; diff --git a/MissionModeScript.cs b/MissionModeScript.cs index 47f6d6d..d7406b4 100644 --- a/MissionModeScript.cs +++ b/MissionModeScript.cs @@ -822,7 +822,7 @@ public class MissionModeScript : MonoBehaviour else if (this.Destination == 3) { Globals.DeleteAll(); - SceneManager.LoadScene("TitleScene"); + SceneManager.LoadScene("NewTitleScene"); } else if (this.Destination == 4) { diff --git a/NewMissionWindowScript.cs b/NewMissionWindowScript.cs index b159048..78b2098 100644 --- a/NewMissionWindowScript.cs +++ b/NewMissionWindowScript.cs @@ -344,7 +344,7 @@ public class NewMissionWindowScript : MonoBehaviour { this.UnsafeNumbers[j] = this.Target[j]; } - while (this.Target[i] == this.UnsafeNumbers[1] || this.Target[i] == this.UnsafeNumbers[2] || this.Target[i] == this.UnsafeNumbers[3] || this.Target[i] == this.UnsafeNumbers[4] || this.Target[i] == this.UnsafeNumbers[5] || this.Target[i] == this.UnsafeNumbers[6] || this.Target[i] == this.UnsafeNumbers[7] || this.Target[i] == this.UnsafeNumbers[8] || this.Target[i] == this.UnsafeNumbers[9] || this.Target[i] == this.UnsafeNumbers[10] || this.Target[i] == 0 || (this.Target[i] > 9 && this.Target[i] < 21)) + while (this.Target[i] == this.UnsafeNumbers[1] || this.Target[i] == this.UnsafeNumbers[2] || this.Target[i] == this.UnsafeNumbers[3] || this.Target[i] == this.UnsafeNumbers[4] || this.Target[i] == this.UnsafeNumbers[5] || this.Target[i] == this.UnsafeNumbers[6] || this.Target[i] == this.UnsafeNumbers[7] || this.Target[i] == this.UnsafeNumbers[8] || this.Target[i] == this.UnsafeNumbers[9] || this.Target[i] == this.UnsafeNumbers[10] || this.Target[i] == 0 || (this.Target[i] > 11 && this.Target[i] < 21)) { this.Increment(i); } diff --git a/NewSettingsScript.cs b/NewSettingsScript.cs new file mode 100644 index 0000000..ce00070 --- /dev/null +++ b/NewSettingsScript.cs @@ -0,0 +1,811 @@ +using System; +using UnityEngine; +using UnityEngine.PostProcessing; + +public class NewSettingsScript : MonoBehaviour +{ + private void Start() + { + this.UpdateLabels(); + } + + private void Update() + { + this.Cursor.transform.parent.Rotate(new Vector3(Time.unscaledDeltaTime * 100f, 0f, 0f), Space.Self); + this.Cursor.transform.parent.localPosition = Vector3.Lerp(this.Cursor.transform.parent.localPosition, new Vector3(565f, -100f - 100f * (float)this.Selection, this.Cursor.transform.parent.localPosition.z), Time.unscaledDeltaTime * 10f); + if (this.Cursor.alpha == 1f) + { + if (this.NewTitleScreen.InputManager.TappedDown) + { + this.Selection++; + this.UpdateCursor(); + } + if (this.NewTitleScreen.InputManager.TappedUp) + { + this.Selection--; + this.UpdateCursor(); + } + } + if (this.NewTitleScreen.Speed > 2f) + { + if (this.Transition) + { + this.Cursor.alpha = Mathf.MoveTowards(this.Cursor.alpha, 0f, Time.unscaledDeltaTime * (float)this.Speed); + for (int i = 0; i < this.Panel.Length; i++) + { + this.Panel[i].alpha = Mathf.MoveTowards(this.Panel[i].alpha, 0f, Time.unscaledDeltaTime * (float)this.Speed); + } + if (this.Cursor.alpha == 0f) + { + this.Transition = false; + this.Selection = 1; + return; + } + } + else + { + this.Cursor.alpha = Mathf.MoveTowards(this.Cursor.alpha, 1f, Time.unscaledDeltaTime * (float)this.Speed); + this.UpdatePanels(); + if (this.Panel[this.Menu].alpha == 1f && this.Cursor.alpha == 1f) + { + if (this.Menu == 0) + { + if (!this.PromptBar.Show) + { + this.PromptBar.ClearButtons(); + this.PromptBar.Label[0].text = "Make Selection"; + this.PromptBar.Label[1].text = "Go Back"; + this.PromptBar.Label[4].text = "Change Selection"; + this.PromptBar.Label[5].text = "Change Selection"; + this.PromptBar.UpdateButtons(); + this.PromptBar.Show = true; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.Menu = this.Selection; + this.Transition = true; + this.PromptBar.Show = false; + return; + } + if (UnityEngine.Input.GetButtonDown("B")) + { + if (this.SchoolScene) + { + this.PauseScreen.MainMenu.SetActive(true); + base.gameObject.SetActive(false); + base.enabled = false; + } + this.NewTitleScreen.Speed = 0f; + this.NewTitleScreen.Phase = 2; + this.PromptBar.Show = false; + base.enabled = false; + return; + } + } + else if (this.Menu == 1) + { + if (!this.PromptBar.Show) + { + this.PromptBar.ClearButtons(); + this.PromptBar.Label[1].text = "Go Back"; + this.PromptBar.Label[2].text = "Set All to Lowest"; + this.PromptBar.Label[3].text = "Reset All to Default"; + this.PromptBar.Label[4].text = "Change Selection"; + this.PromptBar.Label[5].text = "Edit Setting"; + this.PromptBar.UpdateButtons(); + this.PromptBar.Show = true; + } + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + if (this.Selection == 1) + { + this.Profile.antialiasing.enabled = !this.Profile.antialiasing.enabled; + } + else if (this.Selection == 2) + { + this.Profile.ambientOcclusion.enabled = !this.Profile.ambientOcclusion.enabled; + } + else if (this.Selection == 3) + { + this.Profile.depthOfField.enabled = !this.Profile.depthOfField.enabled; + } + else if (this.Selection == 4) + { + this.Profile.motionBlur.enabled = !this.Profile.motionBlur.enabled; + } + else if (this.Selection == 5) + { + this.Profile.bloom.enabled = !this.Profile.bloom.enabled; + } + else if (this.Selection == 6) + { + this.Profile.chromaticAberration.enabled = !this.Profile.chromaticAberration.enabled; + } + else if (this.Selection == 7) + { + this.Profile.vignette.enabled = !this.Profile.vignette.enabled; + } + OptionGlobals.DepthOfField = this.Profile.depthOfField.enabled; + this.UpdateLabels(); + return; + } + if (UnityEngine.Input.GetButtonDown("X")) + { + this.Profile.antialiasing.enabled = false; + this.Profile.ambientOcclusion.enabled = false; + this.Profile.depthOfField.enabled = false; + this.Profile.motionBlur.enabled = false; + this.Profile.bloom.enabled = false; + this.Profile.chromaticAberration.enabled = false; + this.Profile.vignette.enabled = false; + this.UpdateLabels(); + return; + } + if (UnityEngine.Input.GetButtonDown("Y")) + { + this.Profile.antialiasing.enabled = true; + this.Profile.ambientOcclusion.enabled = true; + this.Profile.depthOfField.enabled = true; + this.Profile.motionBlur.enabled = false; + this.Profile.bloom.enabled = true; + this.Profile.chromaticAberration.enabled = true; + this.Profile.vignette.enabled = true; + this.UpdateLabels(); + return; + } + if (UnityEngine.Input.GetButtonDown("B")) + { + this.PromptBar.Show = false; + this.Transition = true; + this.Menu = 0; + return; + } + } + else if (this.Menu == 2) + { + if (!this.PromptBar.Show) + { + this.PromptBar.ClearButtons(); + this.PromptBar.Label[1].text = "Go Back"; + this.PromptBar.Label[2].text = "Set All to Lowest"; + this.PromptBar.Label[3].text = "Reset All to Default"; + this.PromptBar.Label[4].text = "Change Selection"; + this.PromptBar.Label[5].text = "Edit Setting"; + this.PromptBar.UpdateButtons(); + this.PromptBar.Show = true; + } + if (this.Selection == 1) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.OpaqueWindows = !OptionGlobals.OpaqueWindows; + this.QualityManager.UpdateOpaqueWindows(); + if (!this.SchoolScene) + { + this.UpdateGraphics(); + } + this.UpdateLabels(); + } + } + else if (this.Selection == 2) + { + if (this.NewTitleScreen.InputManager.TappedRight) + { + OptionGlobals.DisableFarAnimations++; + this.QualityManager.UpdateAnims(); + this.UpdateLabels(); + } + else if (this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.DisableFarAnimations--; + this.QualityManager.UpdateAnims(); + this.UpdateLabels(); + } + } + else if (this.Selection == 3) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.RimLight = !OptionGlobals.RimLight; + if (OptionGlobals.RimLight) + { + OptionGlobals.DisableOutlines = false; + } + if (!this.SchoolScene) + { + this.UpdateGraphics(); + } + else + { + this.QualityManager.UpdateOutlinesAndRimlight(); + } + this.UpdateLabels(); + } + } + else if (this.Selection == 4) + { + if (this.NewTitleScreen.InputManager.TappedRight) + { + OptionGlobals.LowDetailStudents++; + this.QualityManager.UpdateLowDetailStudents(); + this.UpdateLabels(); + } + else if (this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.LowDetailStudents--; + this.QualityManager.UpdateLowDetailStudents(); + this.UpdateLabels(); + } + } + else if (this.Selection == 5) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.DisableOutlines = !OptionGlobals.DisableOutlines; + if (OptionGlobals.DisableOutlines) + { + OptionGlobals.RimLight = false; + } + this.QualityManager.UpdateOutlinesAndRimlight(); + if (!this.SchoolScene) + { + this.UpdateGraphics(); + } + this.UpdateLabels(); + } + } + else if (this.Selection == 6) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + Screen.SetResolution(Screen.width, Screen.height, !Screen.fullScreen); + this.UpdateLabels(); + } + } + else if (this.Selection == 7) + { + if (this.NewTitleScreen.InputManager.TappedRight) + { + OptionGlobals.DrawDistance += 10; + this.QualityManager.UpdateDrawDistance(); + this.UpdateLabels(); + } + else if (this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.DrawDistance -= 10; + this.QualityManager.UpdateDrawDistance(); + this.UpdateLabels(); + } + if (!this.SchoolScene) + { + this.UpdateGraphics(); + } + } + else if (this.Selection == 8) + { + if (this.NewTitleScreen.InputManager.TappedRight) + { + OptionGlobals.ParticleCount++; + this.QualityManager.UpdateParticles(); + this.UpdateLabels(); + } + else if (this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.ParticleCount--; + this.QualityManager.UpdateParticles(); + this.UpdateLabels(); + } + if (!this.SchoolScene) + { + this.UpdateGraphics(); + } + } + else if (this.Selection == 9) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.ColorGrading = !OptionGlobals.ColorGrading; + this.QualityManager.UpdateColorGrading(); + if (!this.SchoolScene) + { + this.UpdateGraphics(); + } + this.UpdateLabels(); + } + } + else if (this.Selection == 10) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.ToggleGrass = !OptionGlobals.ToggleGrass; + this.QualityManager.UpdateGrass(); + if (!this.SchoolScene) + { + this.UpdateGraphics(); + } + this.UpdateLabels(); + } + } + else if (this.Selection == 11) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.EnableShadows = !OptionGlobals.EnableShadows; + this.QualityManager.UpdateShadows(); + if (!this.SchoolScene) + { + this.UpdateGraphics(); + } + this.UpdateLabels(); + } + } + else if (this.Selection == 12) + { + if (this.NewTitleScreen.InputManager.TappedRight) + { + OptionGlobals.FPSIndex++; + this.QualityManager.UpdateFPSIndex(); + } + else if (this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.FPSIndex--; + this.QualityManager.UpdateFPSIndex(); + } + this.UpdateLabels(); + } + else if (this.Selection == 13) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.Vsync = !OptionGlobals.Vsync; + this.QualityManager.UpdateVsync(); + this.UpdateLabels(); + } + } + else if (this.Selection == 14 && (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft)) + { + OptionGlobals.Fog = !OptionGlobals.Fog; + this.QualityManager.UpdateFog(); + if (!this.SchoolScene) + { + this.UpdateGraphics(); + } + this.UpdateLabels(); + } + if (UnityEngine.Input.GetButtonDown("X")) + { + OptionGlobals.OpaqueWindows = true; + OptionGlobals.DisableFarAnimations = 1; + OptionGlobals.RimLight = false; + OptionGlobals.LowDetailStudents = 1; + OptionGlobals.DisableOutlines = true; + OptionGlobals.DrawDistance = 50; + OptionGlobals.ParticleCount = 1; + OptionGlobals.ColorGrading = false; + OptionGlobals.EnableShadows = false; + OptionGlobals.ToggleGrass = false; + OptionGlobals.Fog = false; + if (!this.SchoolScene) + { + this.UpdateGraphics(); + } + else + { + this.QualityManagerUpdateGraphics(); + } + this.UpdateLabels(); + return; + } + if (UnityEngine.Input.GetButtonDown("Y")) + { + OptionGlobals.OpaqueWindows = true; + OptionGlobals.DisableFarAnimations = 10; + OptionGlobals.RimLight = true; + OptionGlobals.LowDetailStudents = 0; + OptionGlobals.DisableOutlines = false; + OptionGlobals.DrawDistance = 350; + OptionGlobals.ParticleCount = 3; + OptionGlobals.ColorGrading = true; + OptionGlobals.EnableShadows = false; + OptionGlobals.ToggleGrass = false; + OptionGlobals.Fog = false; + if (!this.SchoolScene) + { + this.UpdateGraphics(); + } + else + { + this.QualityManagerUpdateGraphics(); + } + this.UpdateLabels(); + return; + } + if (UnityEngine.Input.GetButtonDown("B")) + { + this.PromptBar.Show = false; + this.Transition = true; + this.Menu = 0; + return; + } + } + else if (this.Menu == 3) + { + if (this.Selection == 1) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.ToggleRun = !OptionGlobals.ToggleRun; + this.QualityManager.ToggleRun(); + this.UpdateLabels(); + } + } + else if (this.Selection == 2) + { + if (this.NewTitleScreen.InputManager.TappedRight) + { + if (OptionGlobals.Sensitivity < 10) + { + OptionGlobals.Sensitivity++; + this.UpdateLabels(); + } + } + else if (this.NewTitleScreen.InputManager.TappedLeft && OptionGlobals.Sensitivity > 1) + { + OptionGlobals.Sensitivity--; + this.UpdateLabels(); + } + if (this.PauseScreen != null && this.PauseScreen.RPGCamera != null) + { + this.PauseScreen.RPGCamera.sensitivity = (float)OptionGlobals.Sensitivity; + } + } + else if (this.Selection == 3) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + OptionGlobals.TutorialsOff = !OptionGlobals.TutorialsOff; + if (this.SchoolScene) + { + this.StudentManager.TutorialWindow.enabled = !OptionGlobals.TutorialsOff; + } + this.UpdateLabels(); + } + } + else if (this.Selection == 4 && (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft)) + { + OptionGlobals.InvertAxis = !OptionGlobals.InvertAxis; + if (this.PauseScreen != null && this.PauseScreen.RPGCamera != null) + { + this.PauseScreen.RPGCamera.invertAxis = OptionGlobals.InvertAxis; + } + this.UpdateLabels(); + } + if (!this.PromptBar.Show) + { + this.PromptBar.ClearButtons(); + this.PromptBar.Label[1].text = "Go Back"; + this.PromptBar.Label[4].text = "Change Selection"; + this.PromptBar.Label[5].text = "Edit Setting"; + this.PromptBar.UpdateButtons(); + this.PromptBar.Show = true; + } + if (UnityEngine.Input.GetButtonDown("B")) + { + this.PromptBar.Show = false; + this.Transition = true; + this.Menu = 0; + return; + } + } + else if (this.Menu == 4) + { + if (this.Selection == 1) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + GameGlobals.CensorKillingAnims = !GameGlobals.CensorKillingAnims; + if (this.SchoolScene) + { + this.StudentManager.Yandere.AttackManager.Censor = GameGlobals.CensorKillingAnims; + } + this.UpdateLabels(); + } + } + else if (this.Selection == 2) + { + if (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft) + { + GameGlobals.CensorPanties = !GameGlobals.CensorPanties; + if (this.SchoolScene) + { + this.StudentManager.CensorStudents(); + this.StudentManager.Yandere.DebugMenu.transform.parent.GetComponent().Censor(); + } + this.UpdateLabels(); + } + } + else if (this.Selection == 3 && (this.NewTitleScreen.InputManager.TappedRight || this.NewTitleScreen.InputManager.TappedLeft)) + { + GameGlobals.CensorBlood = !GameGlobals.CensorBlood; + if (this.SchoolScene) + { + this.StudentManager.Yandere.WeaponManager.ChangeBloodTexture(); + this.StudentManager.Yandere.Bloodiness += 0f; + } + this.UpdateLabels(); + } + if (!this.PromptBar.Show) + { + this.PromptBar.ClearButtons(); + this.PromptBar.Label[1].text = "Go Back"; + this.PromptBar.Label[4].text = "Change Selection"; + this.PromptBar.Label[5].text = "Edit Setting"; + this.PromptBar.UpdateButtons(); + this.PromptBar.Show = true; + } + if (UnityEngine.Input.GetButtonDown("B")) + { + this.PromptBar.Show = false; + this.Transition = true; + this.Menu = 0; + } + } + } + } + } + } + + private void UpdateCursor() + { + if (this.Selection > this.Limit[this.Menu]) + { + this.Selection = 1; + return; + } + if (this.Selection < 1) + { + this.Selection = this.Limit[this.Menu]; + } + } + + private void UpdatePanels() + { + for (int i = 0; i < this.Panel.Length; i++) + { + if (i == this.Menu) + { + this.Panel[i].alpha = Mathf.MoveTowards(this.Panel[i].alpha, 1f, Time.unscaledDeltaTime * (float)this.Speed); + } + else + { + this.Panel[i].alpha = Mathf.MoveTowards(this.Panel[i].alpha, 0f, Time.unscaledDeltaTime * (float)this.Speed); + } + } + } + + public void UpdateLabels() + { + this.Labels[1].text = (this.Profile.antialiasing.enabled ? "On" : "Off"); + this.Labels[2].text = (this.Profile.ambientOcclusion.enabled ? "On" : "Off"); + this.Labels[3].text = (this.Profile.depthOfField.enabled ? "On" : "Off"); + this.Labels[4].text = (this.Profile.motionBlur.enabled ? "On" : "Off"); + this.Labels[5].text = (this.Profile.bloom.enabled ? "On" : "Off"); + this.Labels[6].text = (this.Profile.chromaticAberration.enabled ? "On" : "Off"); + this.Labels[7].text = (this.Profile.vignette.enabled ? "On" : "Off"); + this.Labels[8].text = (OptionGlobals.OpaqueWindows ? "No" : "Yes"); + this.Labels[9].text = ((OptionGlobals.DisableFarAnimations == 0) ? "Off" : ((OptionGlobals.DisableFarAnimations * 5).ToString() + "m")); + this.Labels[10].text = (OptionGlobals.RimLight ? "On" : "Off"); + this.Labels[11].text = ((OptionGlobals.LowDetailStudents == 0) ? "Off" : ((OptionGlobals.LowDetailStudents * 10).ToString() + "m")); + this.Labels[12].text = (OptionGlobals.DisableOutlines ? "Off" : "On"); + this.Labels[13].text = (Screen.fullScreen ? "No" : "Yes"); + this.Labels[14].text = OptionGlobals.DrawDistance + "m"; + if (OptionGlobals.ParticleCount == 3) + { + this.Labels[15].text = "High"; + } + else if (OptionGlobals.ParticleCount == 2) + { + this.Labels[15].text = "Low"; + } + else if (OptionGlobals.ParticleCount == 1) + { + this.Labels[15].text = "None"; + } + this.Labels[16].text = (OptionGlobals.ColorGrading ? "Yes" : "No"); + this.Labels[17].text = (OptionGlobals.ToggleGrass ? "On" : "Off"); + this.Labels[18].text = (OptionGlobals.EnableShadows ? "Yes" : "No"); + this.Labels[19].text = QualityManagerScript.FPSStrings[OptionGlobals.FPSIndex]; + this.Labels[20].text = (OptionGlobals.Vsync ? "On" : "Off"); + this.Labels[21].text = (OptionGlobals.Fog ? "On" : "Off"); + this.Labels[22].text = (OptionGlobals.ToggleRun ? "Toggle" : "Hold"); + this.Labels[23].text = string.Concat(OptionGlobals.Sensitivity); + this.Labels[24].text = (OptionGlobals.TutorialsOff ? "Yes" : "No"); + this.Labels[25].text = (OptionGlobals.InvertAxis ? "Yes" : "No"); + this.Labels[26].text = (GameGlobals.CensorKillingAnims ? "Yes" : "No"); + this.Labels[27].text = (GameGlobals.CensorPanties ? "Yes" : "No"); + this.Labels[28].text = (GameGlobals.CensorBlood ? "Yes" : "No"); + } + + public void SetWindowsOpaque() + { + if (!OptionGlobals.OpaqueWindows) + { + this.Window.sharedMaterial.color = new Color(1f, 1f, 1f, 0.5f); + this.Window.sharedMaterial.shader = Shader.Find("Transparent/Diffuse"); + return; + } + this.Window.sharedMaterial.color = new Color(1f, 1f, 1f, 1f); + this.Window.sharedMaterial.shader = Shader.Find("Diffuse"); + } + + public void UpdateShaders() + { + if (OptionGlobals.RimLight) + { + if (OptionGlobals.DisableOutlines) + { + this.YandereRenderer.materials[0].shader = this.ToonRimLight; + this.YandereRenderer.materials[1].shader = this.ToonRimLight; + this.YandereRenderer.materials[2].shader = this.ToonRimLight; + this.YandereHairRenderer.material.shader = this.ToonRimLight; + this.AdjustRimLight(this.YandereRenderer.materials[0]); + this.AdjustRimLight(this.YandereRenderer.materials[1]); + this.AdjustRimLight(this.YandereRenderer.materials[2]); + this.AdjustRimLight(this.YandereHairRenderer.material); + return; + } + this.YandereRenderer.materials[0].shader = this.ToonOutlineRimLight; + this.YandereRenderer.materials[1].shader = this.ToonOutlineRimLight; + this.YandereRenderer.materials[2].shader = this.ToonOutlineRimLight; + this.YandereHairRenderer.material.shader = this.ToonOutlineRimLight; + this.AdjustRimLight(this.YandereRenderer.materials[0]); + this.AdjustRimLight(this.YandereRenderer.materials[1]); + this.AdjustRimLight(this.YandereRenderer.materials[2]); + this.AdjustRimLight(this.YandereHairRenderer.material); + return; + } + else + { + if (OptionGlobals.DisableOutlines) + { + this.YandereRenderer.materials[0].shader = this.Toon; + this.YandereRenderer.materials[1].shader = this.Toon; + this.YandereRenderer.materials[2].shader = this.Toon; + this.YandereHairRenderer.material.shader = this.Toon; + return; + } + this.YandereRenderer.materials[0].shader = this.ToonOutline; + this.YandereRenderer.materials[1].shader = this.ToonOutline; + this.YandereRenderer.materials[2].shader = this.ToonOutline; + this.YandereHairRenderer.material.shader = this.ToonOutline; + return; + } + } + + public void AdjustRimLight(Material mat) + { + mat.SetFloat("_RimLightIntencity", 5f); + mat.SetFloat("_RimCrisp", 0.5f); + mat.SetFloat("_RimAdditive", 0.5f); + } + + public void UpdateGraphics() + { + this.SetWindowsOpaque(); + this.UpdateShaders(); + this.MainCamera.farClipPlane = (float)OptionGlobals.DrawDistance; + RenderSettings.fogEndDistance = (float)OptionGlobals.DrawDistance; + ParticleSystem.EmissionModule emission = this.PlazaBlossoms.emission; + emission.enabled = true; + if (OptionGlobals.ParticleCount == 3) + { + emission.rateOverTime = 500f; + } + else if (OptionGlobals.ParticleCount == 2) + { + emission.rateOverTime = 100f; + } + else if (OptionGlobals.ParticleCount == 1) + { + emission.enabled = false; + } + this.ColorGrading.enabled = OptionGlobals.ColorGrading; + this.Grass.SetActive(OptionGlobals.ToggleGrass); + this.Sun.shadows = (OptionGlobals.EnableShadows ? LightShadows.Soft : LightShadows.None); + if (OptionGlobals.EnableShadows) + { + this.Sun.intensity = 0.5f; + } + else + { + this.Sun.intensity = 0.25f; + } + if (!OptionGlobals.Fog) + { + this.MainCamera.clearFlags = CameraClearFlags.Skybox; + RenderSettings.fog = false; + return; + } + this.MainCamera.clearFlags = CameraClearFlags.Color; + RenderSettings.fog = true; + RenderSettings.fogMode = FogMode.Linear; + RenderSettings.fogColor = this.MainCamera.backgroundColor; + RenderSettings.fogEndDistance = (float)OptionGlobals.DrawDistance; + } + + public void QualityManagerUpdateGraphics() + { + this.QualityManager.UpdateOpaqueWindows(); + this.QualityManager.UpdateAnims(); + this.QualityManager.UpdateLowDetailStudents(); + this.QualityManager.UpdateOutlinesAndRimlight(); + this.QualityManager.UpdateDrawDistance(); + this.QualityManager.UpdateParticles(); + this.QualityManager.UpdateColorGrading(); + this.QualityManager.UpdateShadows(); + this.QualityManager.UpdateGrass(); + this.QualityManager.UpdateFog(); + } + + public CameraFilterPack_Colors_Adjust_PreFilters ColorGrading; + + public StudentManagerScript StudentManager; + + public NewTitleScreenScript NewTitleScreen; + + public QualityManagerScript QualityManager; + + public PauseScreenScript PauseScreen; + + public PromptBarScript PromptBar; + + public PostProcessingProfile Profile; + + public ParticleSystem PlazaBlossoms; + + public Camera MainCamera; + + public Light Sun; + + public GameObject OptionList; + + public GameObject PostProcessing; + + public GameObject Details; + + public GameObject Gameplay; + + public GameObject Grass; + + public UIPanel[] Panel; + + public UISprite Cursor; + + public UILabel[] Labels; + + public int[] Limit; + + public int Selection = 1; + + public int Speed = 1; + + public int Menu = 1; + + public bool SchoolScene; + + public bool Transition; + + public Renderer Window; + + public Renderer YandereRenderer; + + public Renderer YandereHairRenderer; + + public Shader ToonOutlineRimLight; + + public Shader ToonRimLight; + + public Shader ToonOutline; + + public Shader Toon; +} diff --git a/NewTitleScreenScript.cs b/NewTitleScreenScript.cs new file mode 100644 index 0000000..fcb582c --- /dev/null +++ b/NewTitleScreenScript.cs @@ -0,0 +1,427 @@ +using System; +using UnityEngine; +using UnityEngine.PostProcessing; +using UnityEngine.SceneManagement; + +public class NewTitleScreenScript : MonoBehaviour +{ + private void Start() + { + Time.timeScale = 1f; + this.YandereAnimation["f02_idleCouncilStrict_00"].speed = 0.5f; + base.transform.position = new Vector3(0f, 0.5f, -18f); + base.transform.eulerAngles = new Vector3(-15f, 0f, 0f); + this.LookAtTarget.position = new Vector3(0f, 5.055138f, 0f); + this.UpdateBloom(this.BloomIntensity, this.BloomRadius); + this.UpdateDOF(this.DepthFocus); + this.SaveFiles.alpha = 0f; + this.CheatEntry.alpha = 0f; + this.PressStart.alpha = 0f; + this.Settings.alpha = 0f; + this.Sponsors.alpha = 0f; + this.Cursor.alpha = 0f; + this.BloodProjector.SetActive(false); + this.LoveLetter.SetActive(true); + this.Knife.SetActive(false); + Debug.Log("GameGlobals.RivalEliminationID is: " + GameGlobals.RivalEliminationID); + Debug.Log("GameGlobals.NonlethalElimination is: " + GameGlobals.NonlethalElimination.ToString()); + if (PlayerGlobals.Kills > 0 || (GameGlobals.RivalEliminationID > 0 && !GameGlobals.NonlethalElimination)) + { + this.BloodProjector.SetActive(true); + this.LoveLetter.SetActive(false); + this.Knife.SetActive(true); + } + this.NewSettings.UpdateGraphics(); + GameGlobals.TransitionToPostCredits = false; + GameGlobals.DarkEnding = false; + if (DateGlobals.Week == 2 && !GameGlobals.PlayerHasBeatenDemo) + { + this.CongratulationsWindow.SetActive(true); + GameGlobals.PlayerHasBeatenDemo = true; + } + if (!GameGlobals.PlayerHasBeatenDemo) + { + this.ExtrasLabel.alpha = 0.5f; + } + } + + private void Update() + { + if (UnityEngine.Input.GetKeyDown("m")) + { + this.Jukebox.volume = 0f; + } + this.Cursor.transform.parent.Rotate(new Vector3(Time.deltaTime * 100f, 0f, 0f), Space.Self); + if (this.Phase != 2) + { + this.Cursor.alpha = Mathf.MoveTowards(this.Cursor.alpha, 0f, Time.deltaTime); + } + this.Cursor.transform.parent.localPosition = Vector3.Lerp(this.Cursor.transform.parent.localPosition, new Vector3((float)this.PositionX, 300f - 75f * (float)this.Selection, this.Cursor.transform.parent.localPosition.z), Time.deltaTime * 10f); + if (!this.FadeOut) + { + if (this.InputDevice.Type == InputDeviceType.Gamepad) + { + this.PressStart.text = "PRESS START"; + } + else + { + this.PressStart.text = "PRESS ENTER"; + } + if (this.Phase == 1) + { + if (UnityEngine.Input.anyKeyDown) + { + this.Speed += 1f; + } + base.transform.position = Vector3.Lerp(base.transform.position, new Vector3(0f, 0.5f, -17f), Time.deltaTime * 0.5f); + this.BloomIntensity = Mathf.Lerp(this.BloomIntensity, 1f, Time.deltaTime * this.Speed); + this.BloomRadius = Mathf.Lerp(this.BloomRadius, 4f, Time.deltaTime * this.Speed); + this.UpdateBloom(this.BloomIntensity, this.BloomRadius); + this.UpdateDOF(2f); + if (this.BloomIntensity < 1.1f) + { + if (this.CongratulationsWindow.activeInHierarchy) + { + if (!this.PromptBar.Show) + { + this.PromptBar.ClearButtons(); + this.PromptBar.Label[0].text = "Cool, thanks bro!"; + this.PromptBar.UpdateButtons(); + this.PromptBar.Show = true; + } + if (UnityEngine.Input.GetButtonDown("A")) + { + this.CongratulationsWindow.SetActive(false); + this.PromptBar.Show = false; + } + } + else + { + this.PressStart.alpha = Mathf.MoveTowards(this.PressStart.alpha, 1f, Time.deltaTime); + if (UnityEngine.Input.GetButtonDown("Start")) + { + AudioSource.PlayClipAtPoint(this.Whoosh, base.transform.position); + this.Speed = 0f; + this.Phase++; + } + } + } + } + else if (this.Phase == 2) + { + this.Speed += Time.deltaTime; + base.transform.position = Vector3.Lerp(base.transform.position, new Vector3(-0.666666f, 1.195f, -2.9f), Time.deltaTime * this.Speed); + this.LookAtTarget.position = Vector3.Lerp(this.LookAtTarget.position, new Vector3(0f, 1.195f, -2.263333f), Time.deltaTime * this.Speed); + this.DepthFocus = Mathf.Lerp(this.DepthFocus, 1f, Time.deltaTime * this.Speed); + this.UpdateDOF(this.DepthFocus); + this.Settings.alpha = Mathf.MoveTowards(this.Settings.alpha, 0f, Time.deltaTime); + this.Sponsors.alpha = Mathf.MoveTowards(this.Sponsors.alpha, 0f, Time.deltaTime); + this.SaveFiles.alpha = Mathf.MoveTowards(this.SaveFiles.alpha, 0f, Time.deltaTime); + this.CheatEntry.alpha = Mathf.MoveTowards(this.CheatEntry.alpha, 0f, Time.deltaTime); + if (this.Speed > 3f) + { + this.Cursor.alpha = Mathf.MoveTowards(this.Cursor.alpha, 1f, Time.deltaTime); + if (this.Cursor.alpha == 1f) + { + if (!this.PromptBar.Show && !this.ForVideo) + { + this.PromptBar.ClearButtons(); + this.PromptBar.Label[0].text = "Make Selection"; + this.PromptBar.Label[4].text = "Change Selection"; + this.PromptBar.UpdateButtons(); + this.PromptBar.Show = true; + } + if (this.InputManager.TappedDown) + { + this.Selection++; + this.UpdateCursor(); + } + if (this.InputManager.TappedUp) + { + this.Selection--; + this.UpdateCursor(); + } + if (UnityEngine.Input.GetButtonDown("A")) + { + if (this.ForVideo) + { + this.Phase = 7; + } + else + { + this.PromptBar.Show = false; + if (this.Selection == 1) + { + this.TitleSaveFiles.enabled = true; + this.Speed = 0f; + this.Phase = 3; + } + else if (this.Selection == 3) + { + this.TitleSponsor.enabled = true; + this.Speed = 0f; + this.Phase = 4; + } + else if (this.Selection == 4) + { + this.NewSettings.enabled = true; + this.NewSettings.Cursor.alpha = 0f; + this.NewSettings.Selection = 1; + this.Speed = 0f; + this.Phase = 5; + } + else if (this.Selection == 6) + { + if (this.ExtrasLabel.alpha == 1f) + { + this.Speed = 0f; + this.Phase = 6; + } + } + else if (this.Selection == 2 || this.Selection == 5 || this.Selection == 7) + { + this.FadeOut = true; + } + } + } + } + } + } + else if (this.Phase == 3) + { + this.Speed += Time.deltaTime; + base.transform.position = Vector3.Lerp(base.transform.position, new Vector3(0.125f, 0.875f, -2.66666f), Time.deltaTime * this.Speed); + this.LookAtTarget.position = Vector3.Lerp(this.LookAtTarget.position, new Vector3(0.1f, 0.875f, 0f), Time.deltaTime * this.Speed); + this.SaveFiles.alpha = Mathf.MoveTowards(this.SaveFiles.alpha, 1f, Time.deltaTime); + this.DepthFocus = Mathf.Lerp(this.DepthFocus, 0.225f, Time.deltaTime * this.Speed); + this.UpdateDOF(this.DepthFocus); + } + else if (this.Phase == 4) + { + this.Speed += Time.deltaTime; + base.transform.position = Vector3.Lerp(base.transform.position, new Vector3(0f, 0.66f, -1.6f), Time.deltaTime * this.Speed); + this.LookAtTarget.position = Vector3.Lerp(this.LookAtTarget.position, new Vector3(0f, 0.66f, 0f), Time.deltaTime * this.Speed); + this.Sponsors.alpha = Mathf.MoveTowards(this.Sponsors.alpha, 1f, Time.deltaTime); + this.DepthFocus = Mathf.Lerp(this.DepthFocus, 1f, Time.deltaTime * this.Speed); + this.UpdateDOF(this.DepthFocus); + } + else if (this.Phase == 5) + { + this.Speed += Time.deltaTime; + base.transform.position = Vector3.Lerp(base.transform.position, new Vector3(0f, 0.85f, -4f), Time.deltaTime * this.Speed); + this.LookAtTarget.position = Vector3.Lerp(this.LookAtTarget.position, new Vector3(0f, 0.85f, 0f), Time.deltaTime * this.Speed); + this.Settings.alpha = Mathf.MoveTowards(this.Settings.alpha, 1f, Time.deltaTime); + this.DepthFocus = Mathf.Lerp(this.DepthFocus, 2f, Time.deltaTime * this.Speed); + this.UpdateDOF(this.DepthFocus); + } + else if (this.Phase == 6) + { + this.Speed += Time.deltaTime; + base.transform.position = Vector3.Lerp(base.transform.position, new Vector3(0f, 2.4f, -0.5f), Time.deltaTime * this.Speed); + this.LookAtTarget.position = Vector3.Lerp(this.LookAtTarget.position, new Vector3(0f, 2.4f, 0f), Time.deltaTime * this.Speed); + this.DepthFocus = Mathf.Lerp(this.DepthFocus, 0.5f, Time.deltaTime * this.Speed); + this.UpdateDOF(this.DepthFocus); + this.CheatEntry.alpha = Mathf.MoveTowards(this.CheatEntry.alpha, 1f, Time.deltaTime); + if (this.Speed > 3f) + { + if (!this.PromptBar.Show) + { + this.PromptBar.ClearButtons(); + this.PromptBar.Label[1].text = "Go Back"; + this.PromptBar.UpdateButtons(); + this.PromptBar.Show = true; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Return) && this.CheatLabel.text == "debug") + { + this.CheatLabel.text = "Cheat Enabled!"; + GameGlobals.Debug = true; + } + if (UnityEngine.Input.GetButtonDown("B")) + { + this.PromptBar.Show = false; + this.Speed = 0f; + this.Phase = 2; + } + } + } + else if (this.Phase == 7) + { + if (this.TitleScreenPanel.alpha > 0f) + { + this.TitleScreenPanel.alpha = Mathf.MoveTowards(this.TitleScreenPanel.alpha, 0f, Time.deltaTime * 2f); + } + else if (!this.FadeQuestion) + { + this.Questions[this.CurrentQuestion].alpha = Mathf.MoveTowards(this.Questions[this.CurrentQuestion].alpha, 1f, Time.deltaTime * 2f); + if (UnityEngine.Input.GetButtonDown("A")) + { + this.FadeQuestion = true; + } + } + else + { + this.Questions[this.CurrentQuestion].alpha = Mathf.MoveTowards(this.Questions[this.CurrentQuestion].alpha, 0f, Time.deltaTime * 2f); + if (this.Questions[this.CurrentQuestion].alpha == 0f) + { + this.FadeQuestion = false; + this.CurrentQuestion++; + } + } + } + } + else + { + this.PromptBar.Show = false; + this.Darkness.alpha = Mathf.MoveTowards(this.Darkness.alpha, 1f, Time.deltaTime * 0.5f); + this.Jukebox.volume = Mathf.MoveTowards(this.Jukebox.volume, 0f, Time.deltaTime * 0.5f); + this.FountainSFX[1].volume = Mathf.MoveTowards(this.FountainSFX[1].volume, 0f, Time.deltaTime * 0.5f); + this.FountainSFX[2].volume = Mathf.MoveTowards(this.FountainSFX[2].volume, 0f, Time.deltaTime * 0.5f); + if (this.Darkness.alpha == 1f) + { + if (this.Selection == 1) + { + if (PlayerPrefs.GetInt("ProfileCreated_" + GameGlobals.Profile) == 0) + { + PlayerPrefs.SetInt("ProfileCreated_" + GameGlobals.Profile, 1); + PlayerGlobals.Money = 10f; + OptionGlobals.EnableShadows = false; + DateGlobals.Weekday = DayOfWeek.Sunday; + DateGlobals.PassDays = 1; + this.UpdateDOF(2f); + SceneManager.LoadScene("SenpaiScene"); + } + else + { + SceneManager.LoadScene("CalendarScene"); + } + } + if (this.Selection == 2) + { + SceneManager.LoadScene("MissionModeScene"); + } + else if (this.Selection == 5) + { + SceneManager.LoadScene("CreditsScene"); + } + else if (this.Selection == 7) + { + Application.Quit(); + } + } + } + base.transform.LookAt(this.LookAtTarget); + } + + private void UpdateBloom(float Intensity, float Radius) + { + BloomModel.Settings settings = this.Profile.bloom.settings; + settings.bloom.intensity = Intensity; + settings.bloom.radius = Radius; + settings.bloom.softKnee = 1f; + this.Profile.bloom.settings = settings; + settings.bloom.softKnee = 1f; + } + + private void UpdateDOF(float Focus) + { + DepthOfFieldModel.Settings settings = this.Profile.depthOfField.settings; + settings.focusDistance = Focus; + this.Profile.depthOfField.settings = settings; + } + + private void UpdateCursor() + { + if (this.Selection > this.Options) + { + this.Selection = 1; + } + else if (this.Selection < 1) + { + this.Selection = this.Options; + } + if (this.Selection == 1) + { + this.PositionX = 0; + return; + } + this.PositionX = 70; + } + + public TitleSaveFilesScript TitleSaveFiles; + + public InputManagerScript InputManager; + + public TitleSponsorScript TitleSponsor; + + public NewSettingsScript NewSettings; + + public InputDeviceScript InputDevice; + + public PromptBarScript PromptBar; + + public PostProcessingProfile Profile; + + public Animation YandereAnimation; + + public GameObject CongratulationsWindow; + + public GameObject BloodProjector; + + public GameObject LoveLetter; + + public GameObject Knife; + + public AudioSource[] FountainSFX; + + public AudioSource Jukebox; + + public Transform LookAtTarget; + + public UIPanel TitleScreenPanel; + + public UISprite CheatEntry; + + public UISprite SaveFiles; + + public UISprite Darkness; + + public UISprite Settings; + + public UISprite Sponsors; + + public UISprite Cursor; + + public UILabel[] Questions; + + public UILabel ExtrasLabel; + + public UILabel CheatLabel; + + public UILabel PressStart; + + public AudioClip Whoosh; + + public float BloomIntensity = 40f; + + public float BloomRadius = 7f; + + public float DepthFocus = 2f; + + public float Speed = 1f; + + public int CurrentQuestion = 1; + + public int PositionX; + + public int Selection = 1; + + public int Options = 7; + + public int Phase = 1; + + public bool FadeQuestion; + + public bool ForVideo; + + public bool FadeOut; +} diff --git a/OfferHelpScript.cs b/OfferHelpScript.cs index 45c2598..9cc29cd 100644 --- a/OfferHelpScript.cs +++ b/OfferHelpScript.cs @@ -187,7 +187,7 @@ public class OfferHelpScript : MonoBehaviour ConversationGlobals.SetTopicLearnedByStudent(23, this.EventStudentID, true); } } - if (this.EventPhase == this.EventSpeech.Length) + if (this.EventPhase == this.EventSpeech.Length - 1) { if (this.EventStudentID == 11) { @@ -195,13 +195,18 @@ public class OfferHelpScript : MonoBehaviour { SchemeGlobals.SetSchemeStage(6, 8); this.Yandere.PauseScreen.Schemes.UpdateInstructions(); + return; } } else if (this.EventStudentID == 30) { SchemeGlobals.HelpingKokona = true; Debug.Log("SchemeGlobals.HelpingKokona is now true."); + return; } + } + else if (this.EventPhase == this.EventSpeech.Length) + { this.Student.CurrentDestination = this.Student.Destinations[this.Student.Phase]; this.Student.Pathfinding.target = this.Student.Destinations[this.Student.Phase]; this.Student.Pathfinding.canSearch = true; diff --git a/OptionGlobals.cs b/OptionGlobals.cs index ca85ec0..39fef30 100644 --- a/OptionGlobals.cs +++ b/OptionGlobals.cs @@ -99,6 +99,18 @@ public static class OptionGlobals } } + public static bool Vsync + { + get + { + return GlobalsHelper.GetBool("Profile_" + GameGlobals.Profile + "_Vsync"); + } + set + { + GlobalsHelper.SetBool("Profile_" + GameGlobals.Profile + "_Vsync", value); + } + } + public static bool Fog { get @@ -231,6 +243,42 @@ public static class OptionGlobals } } + public static bool OpaqueWindows + { + get + { + return GlobalsHelper.GetBool("Profile_" + GameGlobals.Profile + "_OpaqueWindows"); + } + set + { + GlobalsHelper.SetBool("Profile_" + GameGlobals.Profile + "_OpaqueWindows", value); + } + } + + public static bool ColorGrading + { + get + { + return GlobalsHelper.GetBool("Profile_" + GameGlobals.Profile + "_ColorGrading"); + } + set + { + GlobalsHelper.SetBool("Profile_" + GameGlobals.Profile + "_ColorGrading", value); + } + } + + public static bool ToggleGrass + { + get + { + return GlobalsHelper.GetBool("Profile_" + GameGlobals.Profile + "_ToggleGrass"); + } + set + { + GlobalsHelper.SetBool("Profile_" + GameGlobals.Profile + "_ToggleGrass", value); + } + } + public static void DeleteAll() { Globals.Delete("Profile_" + GameGlobals.Profile + "_DisableBloom"); @@ -241,6 +289,7 @@ public static class OptionGlobals Globals.Delete("Profile_" + GameGlobals.Profile + "_DisableObscurance"); Globals.Delete("Profile_" + GameGlobals.Profile + "_DrawDistance"); Globals.Delete("Profile_" + GameGlobals.Profile + "_DrawDistanceLimit"); + Globals.Delete("Profile_" + GameGlobals.Profile + "_Vsync"); Globals.Delete("Profile_" + GameGlobals.Profile + "_Fog"); Globals.Delete("Profile_" + GameGlobals.Profile + "_FPSIndex"); Globals.Delete("Profile_" + GameGlobals.Profile + "_HighPopulation"); @@ -252,6 +301,9 @@ public static class OptionGlobals Globals.Delete("Profile_" + GameGlobals.Profile + "_InvertAxis"); Globals.Delete("Profile_" + GameGlobals.Profile + "_TutorialsOff"); Globals.Delete("Profile_" + GameGlobals.Profile + "_ToggleRun"); + Globals.Delete("Profile_" + GameGlobals.Profile + "_OpaqueWindows"); + Globals.Delete("Profile_" + GameGlobals.Profile + "_ColorGrading"); + Globals.Delete("Profile_" + GameGlobals.Profile + "_ToggleGrass"); } private const string Str_DisableBloom = "DisableBloom"; @@ -270,6 +322,8 @@ public static class OptionGlobals private const string Str_DrawDistanceLimit = "DrawDistanceLimit"; + private const string Str_Vsync = "Vsync"; + private const string Str_Fog = "Fog"; private const string Str_FPSIndex = "FPSIndex"; @@ -291,4 +345,10 @@ public static class OptionGlobals private const string Str_TutorialsOff = "TutorialsOff"; private const string Str_ToggleRun = "ToggleRun"; + + private const string Str_OpaqueWindows = "OpaqueWindows"; + + private const string Str_ColorGrading = "ColorGrading"; + + private const string Str_ToggleGrass = "ToggleGrass"; } diff --git a/OsanaClubEventScript.cs b/OsanaClubEventScript.cs index b7714c9..5cff1c6 100644 --- a/OsanaClubEventScript.cs +++ b/OsanaClubEventScript.cs @@ -3,7 +3,287 @@ using UnityEngine; public class OsanaClubEventScript : MonoBehaviour { + private void Start() + { + if (DateGlobals.Weekday != this.EventDay) + { + base.enabled = false; + } + } + + private void Update() + { + if (!this.EventOn) + { + for (int i = 1; i < 3; i++) + { + if (this.EventStudent[i] == null) + { + this.EventStudent[i] = this.StudentManager.Students[this.StudentID[i]]; + } + else if (!this.EventStudent[i].Alive || this.EventStudent[i].Slave) + { + base.enabled = false; + } + } + if (this.EventStudent[1] != null && this.EventStudent[2] != null && this.EventStudent[1].enabled && this.EventStudent[1].Pathfinding.canMove && this.EventStudent[2].Pathfinding.canMove && this.EventStudent[1].Routine && !this.EventStudent[1].Wet) + { + Debug.Log("Osana's club event has begun."); + this.EventStudent[1].CharacterAnimation.CrossFade(this.EventStudent[1].WalkAnim); + this.EventStudent[1].CurrentDestination = this.EventLocation[1]; + this.EventStudent[1].Pathfinding.target = this.EventLocation[1]; + this.EventStudent[1].TargetDistance = 0.5f; + this.EventStudent[1].Private = false; + this.EventStudent[1].InEvent = true; + this.EventStudent[2].CharacterAnimation.CrossFade(this.EventStudent[2].WalkAnim); + this.EventStudent[2].CurrentDestination = this.EventLocation[2]; + this.EventStudent[2].Pathfinding.target = this.EventLocation[2]; + this.EventStudent[2].TargetDistance = 1f; + this.EventStudent[2].Private = false; + this.EventStudent[2].InEvent = true; + this.EventOn = true; + return; + } + } + else + { + Vector3 b = (this.EventStudent[1].transform.position - this.EventStudent[2].transform.position) * 0.5f + this.EventStudent[2].transform.position; + float num = Vector3.Distance(this.Yandere.transform.position, b); + if (this.EventPhase > 0 && this.EventPhase < 7) + { + this.Yandere.Eavesdropping = (num < 3f); + } + else + { + this.Yandere.Eavesdropping = false; + } + if (this.Clock.HourTime > 13.5f || this.EventStudent[1].WitnessedCorpse || this.EventStudent[2].WitnessedCorpse || this.EventStudent[1].Alarmed || this.EventStudent[2].Alarmed || this.EventStudent[1].Dying || this.EventStudent[2].Dying) + { + this.EndEvent(); + return; + } + for (int j = 1; j < 3; j++) + { + if (!this.EventStudent[j].Pathfinding.canMove && !this.EventStudent[j].Private) + { + this.EventStudent[j].CharacterAnimation.CrossFade(this.EventStudent[j].IdleAnim); + this.EventStudent[j].Private = true; + this.StudentManager.UpdateStudents(0); + } + } + if (!this.EventStudent[1].Pathfinding.canMove && !this.EventStudent[2].Pathfinding.canMove) + { + if (!this.Spoken) + { + this.EventStudent[this.EventSpeaker[1]].CharacterAnimation.CrossFade(this.EventStudent[1].IdleAnim); + this.EventStudent[this.EventSpeaker[2]].CharacterAnimation.CrossFade(this.EventStudent[2].IdleAnim); + this.EventStudent[this.EventSpeaker[this.EventPhase]].PickRandomAnim(); + this.EventStudent[this.EventSpeaker[this.EventPhase]].CharacterAnimation.CrossFade(this.EventStudent[this.EventSpeaker[this.EventPhase]].RandomAnim); + AudioClipPlayer.Play(this.EventClip[this.EventPhase], this.EventStudent[this.EventSpeaker[this.EventPhase]].transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Spoken = true; + if (this.EventSpeaker[this.EventPhase] == 1 && this.EventPhase > 7 && this.EventPhase < 33 && this.EventPhase != 24 && num < 10f) + { + if (this.EventPhase == 30) + { + Debug.Log("Current EventPhase is: 30 and Osana is talking about the delinquents."); + this.Yandere.NotificationManager.TopicName = "Violence"; + this.Yandere.NotificationManager.DisplayNotification(NotificationType.Opinion); + ConversationGlobals.SetTopicLearnedByStudent(this.ClubIDs[this.EventPhase], 17, true); + return; + } + Debug.Log(string.Concat(new object[] + { + "Current EventPhase is: ", + this.EventPhase, + " and ClubID is: ", + this.ClubIDs[this.EventPhase] + })); + this.Yandere.NotificationManager.TopicName = this.Yandere.NotificationManager.ClubNames[this.ClubIDs[this.EventPhase]]; + this.Yandere.NotificationManager.DisplayNotification(NotificationType.Opinion); + ConversationGlobals.SetTopicLearnedByStudent(this.ClubIDs[this.EventPhase], 11, true); + return; + } + } + else + { + int num2 = this.EventSpeaker[this.EventPhase]; + if (num2 == 1) + { + this.EventStudent[2].CharacterAnimation.CrossFade(this.EventStudent[2].IdleAnim); + } + else + { + this.EventStudent[1].CharacterAnimation.CrossFade(this.EventStudent[2].IdleAnim); + } + if (this.EventStudent[num2].CharacterAnimation[this.EventStudent[num2].RandomAnim].time >= this.EventStudent[num2].CharacterAnimation[this.EventStudent[num2].RandomAnim].length) + { + this.EventStudent[num2].PickRandomAnim(); + this.EventStudent[num2].CharacterAnimation.CrossFade(this.EventStudent[num2].RandomAnim); + } + this.Timer += Time.deltaTime; + if (this.Yandere.transform.position.y > this.EventStudent[1].transform.position.y - 1f && this.Yandere.transform.position.y < this.EventStudent[1].transform.position.y + 1f) + { + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 1f; + } + if (num < 11f) + { + if (num < 10f) + { + if (this.Timer > this.EventClip[this.EventPhase].length) + { + this.EventSubtitle.text = string.Empty; + } + else + { + this.EventSubtitle.text = this.EventSpeech[this.EventPhase]; + } + this.Scale = Mathf.Abs((num - 10f) * 0.2f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + this.EventSubtitle.text = string.Empty; + } + } + } + else if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + if (this.Timer > this.EventClip[this.EventPhase].length + 0.5f) + { + this.Spoken = false; + this.EventPhase++; + this.Timer = 0f; + if (this.EventPhase == this.EventSpeech.Length) + { + this.EndEvent(); + return; + } + if (this.EventPhase > 6) + { + this.EventStudent[1].CurrentDestination = this.EventLocation[this.EventPhase]; + this.EventStudent[1].Pathfinding.target = this.EventLocation[this.EventPhase]; + this.EventStudent[2].CurrentDestination = this.EventStudent[1].transform; + this.EventStudent[2].Pathfinding.target = this.EventStudent[1].transform; + return; + } + } + } + } + else + { + if (!this.EventStudent[1].Pathfinding.canMove) + { + this.EventStudent[1].CharacterAnimation.CrossFade(this.EventStudent[1].IdleAnim); + } + else + { + this.EventStudent[1].CharacterAnimation.CrossFade(this.EventStudent[1].WalkAnim); + } + if (!this.EventStudent[2].Pathfinding.canMove) + { + this.EventStudent[2].CharacterAnimation.CrossFade(this.EventStudent[2].IdleAnim); + if (this.EventPhase == 1) + { + this.SettleFriend(); + return; + } + } + else + { + if (this.EventStudent[2].Pathfinding.speed == 1f) + { + this.EventStudent[2].CharacterAnimation.CrossFade(this.EventStudent[2].WalkAnim); + return; + } + this.EventStudent[2].CharacterAnimation.CrossFade(this.EventStudent[2].RunAnim); + } + } + } + } + + private void SettleFriend() + { + this.EventStudent[2].MoveTowardsTarget(this.EventStudent[2].Pathfinding.target.position); + } + public void EndEvent() { + Debug.Log("Ending Osana's club event."); + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + for (int i = 1; i < 3; i++) + { + if (this.EventStudent[i] != null) + { + this.EventStudent[i].CurrentDestination = this.EventStudent[i].Destinations[this.EventStudent[i].Phase]; + this.EventStudent[i].Pathfinding.target = this.EventStudent[i].Destinations[this.EventStudent[i].Phase]; + this.EventStudent[i].InEvent = false; + this.EventStudent[i].Private = false; + } + } + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Yandere.Eavesdropping = false; + this.Jukebox.Dip = 1f; + this.EventSubtitle.text = string.Empty; + base.enabled = false; } + + public StudentManagerScript StudentManager; + + public UILabel EventSubtitle; + + public YandereScript Yandere; + + public JukeboxScript Jukebox; + + public ClockScript Clock; + + public StudentScript[] EventStudent; + + public Transform[] EventLocation; + + public AudioClip[] EventClip; + + public string[] EventSpeech; + + public string[] EventAnim; + + public int[] EventSpeaker; + + public int[] ClubIDs; + + public GameObject VoiceClip; + + public bool EventOn; + + public bool Spoken; + + public int EventPhase; + + public float Timer; + + public float Scale; + + public int[] StudentID; + + public DayOfWeek EventDay; } diff --git a/OsanaFridayBeforeClassEvent1Script.cs b/OsanaFridayBeforeClassEvent1Script.cs index 6d701d3..d51a430 100644 --- a/OsanaFridayBeforeClassEvent1Script.cs +++ b/OsanaFridayBeforeClassEvent1Script.cs @@ -13,6 +13,143 @@ public class OsanaFridayBeforeClassEvent1Script : MonoBehaviour this.Yoogle.SetActive(false); } + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0 && this.StudentManager.Students[this.RivalID] != null) + { + if (this.Rival == null) + { + this.Rival = this.StudentManager.Students[this.RivalID]; + } + if (this.Rival.enabled && !this.Rival.InEvent && !this.Rival.Phoneless && this.Rival.Indoors && !this.OtherEvent.enabled) + { + Debug.Log("Osana's Friday before class event has begun."); + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.Play(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location; + this.Rival.CurrentDestination = this.Location; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = false; + this.Rival.InEvent = true; + this.Phase++; + } + } + this.Frame++; + return; + } + if (this.Phase == 1) + { + if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) + { + this.Yandere.transform.position = this.Location.position + new Vector3(2f, 0f, 2f); + this.Rival.transform.position = this.Location.position + new Vector3(1f, 0f, 1f); + } + if (this.Rival.DistanceToDestination < 0.5f) + { + AudioClipPlayer.Play(this.SpeechClip[1], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[1]; + this.Rival.CharacterAnimation.CrossFade(this.EventAnim); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Rival.Obstacle.enabled = true; + this.Yoogle.SetActive(true); + this.Phase++; + } + } + else if (this.Phase == 2) + { + this.Rival.MoveTowardsTarget(this.Location.position); + if (Quaternion.Angle(this.Rival.transform.rotation, this.Location.rotation) > 1f) + { + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.Location.rotation, 10f * Time.deltaTime); + } + this.Timer += Time.deltaTime; + if (UnityEngine.Input.GetKeyDown("space")) + { + this.Timer += 60f; + } + if (this.Timer > 60f) + { + this.EndEvent(); + } + } + if (this.Rival.Alarmed || this.Clock.HourTime > 8f) + { + this.EndEvent(); + } + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Rival.transform.position); + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + if (this.VoiceClip == null) + { + this.EventSubtitle.text = string.Empty; + } + } + + public void EndEvent() + { + Debug.Log("Osana's Friday before class event has ended."); + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (this.Rival.enabled && !this.Rival.Alarmed) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.DistanceToDestination = 100f; + this.Rival.CurrentDestination = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.target = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.SmartPhoneScreen.enabled = false; + this.Rival.Ragdoll.Zs.SetActive(false); + this.Rival.Obstacle.enabled = false; + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + this.Yoogle.SetActive(false); + this.Rival.SmartPhone.transform.parent = this.Rival.ItemParent; + this.Rival.SmartPhone.transform.localPosition = this.OriginalPosition; + this.Rival.SmartPhone.transform.localEulerAngles = this.OriginalRotation; + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Jukebox.Dip = 1f; + this.EventSubtitle.text = string.Empty; + base.enabled = false; + } + public OsanaFridayBeforeClassEvent2Script OtherEvent; public StudentManagerScript StudentManager; diff --git a/OsanaFridayBeforeClassEvent2Script.cs b/OsanaFridayBeforeClassEvent2Script.cs index 56523a5..be73692 100644 --- a/OsanaFridayBeforeClassEvent2Script.cs +++ b/OsanaFridayBeforeClassEvent2Script.cs @@ -3,6 +3,296 @@ using UnityEngine; public class OsanaFridayBeforeClassEvent2Script : MonoBehaviour { + private void Start() + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (DateGlobals.Weekday != this.EventDay) + { + base.enabled = false; + return; + } + if (StudentGlobals.GetStudentDead(81) || StudentGlobals.GetStudentKidnapped(81) || StudentGlobals.GetStudentArrested(81) || StudentGlobals.GetStudentExpelled(81) || (float)StudentGlobals.GetStudentReputation(81) < -33.33333f) + { + base.enabled = false; + } + } + + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0 && this.StudentManager.Students[this.RivalID] != null && this.StudentManager.Students[this.GanguroID] != null) + { + if (this.Ganguro == null) + { + this.Ganguro = this.StudentManager.Students[this.GanguroID]; + } + if (this.Rival == null) + { + this.Rival = this.StudentManager.Students[this.RivalID]; + } + if (this.Friend == null && this.StudentManager.Students[this.FriendID] != null && !PlayerGlobals.RaibaruLoner) + { + this.Friend = this.StudentManager.Students[this.FriendID]; + } + if ((double)this.Clock.HourTime > 7.25 && this.Rival.enabled && !this.Rival.InEvent && !this.Rival.Meeting && this.Rival.Indoors && !this.Rival.Wet && !this.Rival.Following && this.Rival.DistanceToDestination < 1f) + { + Debug.Log("Osana's ''Talk with Musume'' event has begun."); + this.Ganguro.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.CrossFade(this.Rival.IdleAnim); + this.Ganguro.CharacterAnimation.CrossFade(this.Ganguro.SprintAnim); + this.Ganguro.Pathfinding.target = this.Rival.transform; + this.Ganguro.CurrentDestination = this.Rival.transform; + this.Ganguro.Pathfinding.canSearch = true; + this.Ganguro.Pathfinding.canMove = true; + this.Ganguro.Pathfinding.speed = 4f; + this.Ganguro.SpeechLines.Stop(); + this.Ganguro.Routine = false; + this.Ganguro.InEvent = true; + this.Rival.InEvent = true; + if (this.Friend != null && this.Friend.CurrentAction != StudentActionType.Follow) + { + this.IgnoreFriend = true; + this.Friend = null; + } + this.Phase++; + } + } + this.Frame++; + return; + } + if (this.Phase == 1) + { + UnityEngine.Input.GetKeyDown(KeyCode.Space); + if (this.Ganguro.DistanceToDestination < 1f) + { + AudioClipPlayer.Play(this.SpeechClip[1], this.Ganguro.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade(this.EventAnim[1]); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Rival.Obstacle.enabled = true; + this.Rival.SpeechLines.Stop(); + this.Rival.Routine = false; + this.Rival.InEvent = true; + this.Ganguro.CharacterAnimation.CrossFade(this.EventAnim[2]); + this.Ganguro.Pathfinding.canSearch = false; + this.Ganguro.Pathfinding.canMove = false; + this.Ganguro.Obstacle.enabled = true; + this.EventSubtitle.text = this.SpeechText[1]; + this.Phase++; + } + } + else if (this.Phase == 2) + { + this.targetRotation = Quaternion.LookRotation(this.Ganguro.transform.position - this.Rival.transform.position); + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.targetRotation, 10f * Time.deltaTime); + this.targetRotation = Quaternion.LookRotation(this.Rival.transform.position - this.Ganguro.transform.position); + this.Ganguro.transform.rotation = Quaternion.Slerp(this.Ganguro.transform.rotation, this.targetRotation, 10f * Time.deltaTime); + if (this.Rival.CharacterAnimation[this.EventAnim[1]].time >= 4f) + { + this.EventSubtitle.text = this.SpeechText[2]; + this.Ganguro.Pathfinding.speed = 1f; + this.Phase++; + } + } + else if (this.Phase == 3) + { + if (this.Rival.CharacterAnimation[this.EventAnim[1]].time >= this.Rival.CharacterAnimation[this.EventAnim[1]].length) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location[1]; + this.Rival.CurrentDestination = this.Location[1]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Ganguro.CharacterAnimation.CrossFade(this.Ganguro.WalkAnim); + this.Ganguro.Pathfinding.target = this.Location[2]; + this.Ganguro.CurrentDestination = this.Location[2]; + this.Ganguro.Pathfinding.canSearch = true; + this.Ganguro.Pathfinding.canMove = true; + this.Spy.Prompt.enabled = true; + this.Phase++; + } + } + else if (this.Phase == 4) + { + if (this.Friend != null && this.Rival.DistanceToDestination < 5f) + { + this.Friend.CurrentDestination = this.Location[3]; + this.Friend.Pathfinding.target = this.Location[3]; + this.Friend.DistanceToDestination = 0.5f; + this.Friend.IdleAnim = "f02_spying_00"; + this.Friend.SlideIn = true; + } + if (this.Rival.DistanceToDestination < 0.5f) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.IdleAnim); + this.SettleRival(); + } + if (this.Ganguro.DistanceToDestination < 0.5f) + { + this.Ganguro.CharacterAnimation.CrossFade(this.Ganguro.IdleAnim); + this.SettleGanguro(); + } + if (this.Rival.DistanceToDestination < 0.5f && this.Ganguro.DistanceToDestination < 0.5f) + { + AudioClipPlayer.Play(this.SpeechClip[2], this.Ganguro.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade(this.EventAnim[3]); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Rival.Obstacle.enabled = true; + this.Ganguro.CharacterAnimation.CrossFade(this.EventAnim[4]); + this.Ganguro.Pathfinding.canSearch = false; + this.Ganguro.Pathfinding.canMove = false; + this.Ganguro.Obstacle.enabled = true; + this.Jukebox.Volume = this.Jukebox.Volume * 0.1f; + this.Phase++; + } + } + else if (this.Phase == 5) + { + this.Timer += Time.deltaTime; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().pitch = Time.timeScale; + } + if (this.SpeechPhase < this.SpeechTime.Length && this.Timer > this.SpeechTime[this.SpeechPhase]) + { + this.EventSubtitle.text = this.SpeechText[this.SpeechPhase]; + this.SpeechPhase++; + } + if ((double)this.Timer > 3.9 && this.Spy.CanRecord) + { + this.Spy.PromptBar.Label[0].text = ""; + this.Spy.PromptBar.UpdateButtons(); + this.Spy.CanRecord = false; + } + this.SettleRival(); + this.SettleGanguro(); + if (this.Rival.CharacterAnimation[this.EventAnim[3]].time >= this.Rival.CharacterAnimation[this.EventAnim[3]].length) + { + this.EndEvent(); + } + } + if (this.Rival.Alarmed || this.Clock.HourTime > 8f) + { + this.EndEvent(); + } + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Rival.transform.position); + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + if (this.VoiceClip == null) + { + this.EventSubtitle.text = string.Empty; + } + } + + public void EndEvent() + { + Debug.Log("Osana's second Friday before class event has ended."); + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (this.Rival.enabled && !this.Rival.Alarmed) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.DistanceToDestination = 100f; + this.Rival.CurrentDestination = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.target = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.Obstacle.enabled = false; + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + if (!this.Ganguro.Alarmed) + { + this.Ganguro.CharacterAnimation.CrossFade(this.Ganguro.WalkAnim); + this.Ganguro.DistanceToDestination = 100f; + this.Ganguro.CurrentDestination = this.Ganguro.Destinations[this.Ganguro.Phase]; + this.Ganguro.Pathfinding.target = this.Ganguro.Destinations[this.Ganguro.Phase]; + this.Ganguro.Pathfinding.canSearch = true; + this.Ganguro.Pathfinding.canMove = true; + this.Ganguro.Routine = true; + } + this.Ganguro.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Ganguro.Obstacle.enabled = false; + this.Ganguro.Prompt.enabled = true; + this.Ganguro.InEvent = false; + this.Ganguro.Private = false; + if (this.Friend != null) + { + this.Friend.CurrentDestination = this.Friend.FollowTarget.transform; + this.Friend.Pathfinding.target = this.Friend.FollowTarget.transform; + this.Friend.IdleAnim = this.Friend.OriginalIdleAnim; + this.Friend.DistanceToDestination = 1f; + this.Friend.SlideIn = false; + } + this.Spy.Prompt.enabled = false; + this.Spy.Prompt.Hide(); + if (this.Spy.Phase > 0) + { + this.Spy.End(); + } + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + if (this.Spy.Recording) + { + this.AudioSoftware.ConversationRecorded = true; + } + this.EventSubtitle.text = string.Empty; + this.Jukebox.Dip = 1f; + base.enabled = false; + } + + private void SettleRival() + { + this.Rival.MoveTowardsTarget(this.Location[1].position); + if (Quaternion.Angle(this.Rival.transform.rotation, this.Location[1].rotation) > 1f) + { + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.Location[1].rotation, 10f * Time.deltaTime); + } + } + + private void SettleGanguro() + { + this.Ganguro.MoveTowardsTarget(this.Location[2].position); + if (Quaternion.Angle(this.Ganguro.transform.rotation, this.Location[2].rotation) > 1f) + { + this.Ganguro.transform.rotation = Quaternion.Slerp(this.Ganguro.transform.rotation, this.Location[2].rotation, 10f * Time.deltaTime); + } + } + public OsanaFridayBeforeClassEvent1Script OtherEvent; public StudentManagerScript StudentManager; @@ -61,6 +351,8 @@ public class OsanaFridayBeforeClassEvent2Script : MonoBehaviour public int Frame; + public bool IgnoreFriend; + public Vector3 OriginalPosition; public Vector3 OriginalRotation; diff --git a/OsanaFridayLunchEventScript.cs b/OsanaFridayLunchEventScript.cs index 230b85f..3cd6788 100644 --- a/OsanaFridayLunchEventScript.cs +++ b/OsanaFridayLunchEventScript.cs @@ -3,4 +3,441 @@ using UnityEngine; public class OsanaFridayLunchEventScript : MonoBehaviour { + private void Start() + { + this.EventSubtitle.transform.localScale = Vector3.zero; + this.Spy.Prompt.enabled = false; + this.Spy.Prompt.Hide(); + if (DateGlobals.Weekday != this.EventDay) + { + base.enabled = false; + } + } + + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0) + { + this.Senpai = this.StudentManager.Students[1]; + if (this.StudentManager.Students[this.RivalID] != null) + { + this.Rival = this.StudentManager.Students[this.RivalID]; + } + else + { + base.enabled = false; + } + } + if (this.Frame > 1 && this.Clock.HourTime > 13f && this.Senpai.gameObject.activeInHierarchy && this.Rival != null) + { + if (!this.Senpai.InEvent) + { + this.Senpai.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Senpai.CharacterAnimation.CrossFade(this.Senpai.WalkAnim); + this.Senpai.Pathfinding.target = this.Location[1]; + this.Senpai.CurrentDestination = this.Location[1]; + this.Senpai.Pathfinding.canSearch = true; + this.Senpai.Pathfinding.canMove = true; + this.Senpai.SmartPhone.SetActive(false); + this.Senpai.InEvent = true; + this.Senpai.DistanceToDestination = 100f; + this.Spy.Prompt.enabled = true; + } + if (this.Rival.enabled && !this.Rival.InEvent && !this.Rival.Phoneless) + { + Debug.Log("Osana's Friday lunch event has begun."); + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location[2]; + this.Rival.CurrentDestination = this.Location[2]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.SmartPhone.SetActive(false); + this.Rival.InEvent = true; + this.Rival.DistanceToDestination = 100f; + this.Spy.Prompt.enabled = true; + } + if (this.StudentManager.Students[this.FriendID] != null && !PlayerGlobals.RaibaruLoner) + { + this.Friend = this.StudentManager.Students[this.FriendID]; + } + if (this.Senpai.CurrentDestination == this.Location[1] && this.Senpai.DistanceToDestination < 0.5f) + { + if (!this.Impatient) + { + this.Senpai.CharacterAnimation.CrossFade("waiting_00"); + this.Senpai.Pathfinding.canSearch = false; + this.Senpai.Pathfinding.canMove = false; + } + else if (this.Senpai.CharacterAnimation["impatience_00"].time >= this.Senpai.CharacterAnimation["impatience_00"].length) + { + this.EndEvent(); + } + } + if (this.Rival.CurrentDestination == this.Location[2] && this.Rival.DistanceToDestination < 0.5f) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.IdleAnim); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + } + if (this.Rival.CurrentDestination == this.Location[2] && this.Senpai.CurrentDestination == this.Location[1] && this.Senpai.DistanceToDestination < 0.5f && this.Rival.DistanceToDestination < 0.5f && !this.Impatient) + { + this.Phase++; + } + } + this.Frame++; + } + else if (this.Phase == 1) + { + this.Sabotaged = this.AudioSoftware.AudioDoctored; + if (this.Rival.Phoneless) + { + this.Cancelled = true; + } + if (this.Cancelled) + { + AudioClipPlayer.Play(this.CancelledSpeechClip, this.Epicenter.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Transfer = false; + this.TakeOut = false; + this.Suffix = "C"; + } + else if (!this.Sabotaged) + { + AudioClipPlayer.Play(this.SpeechClip, this.Epicenter.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.TakeOutTime = 2.5f; + this.TransferTime = 7f; + this.ReturnTime = 19.33333f; + this.PutAwayTime = 24.33333f; + this.Suffix = "A"; + } + else + { + AudioClipPlayer.Play(this.SabotagedSpeechClip, this.Epicenter.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.TakeOutTime = 2.5f; + this.TransferTime = 7f; + this.ReturnTime = 16.66666f; + this.PutAwayTime = 21.5f; + this.Suffix = "B"; + } + this.Rival.CharacterAnimation.CrossFade("f02_" + this.Weekday + "_3" + this.Suffix); + this.Senpai.CharacterAnimation.CrossFade(this.Weekday + "_3" + this.Suffix); + this.Timer = 0f; + this.Phase++; + if (this.Friend != null) + { + this.Friend.CurrentDestination = this.Location[3]; + this.Friend.Pathfinding.target = this.Location[3]; + this.Friend.IdleAnim = "f02_cornerPeek_00"; + this.Friend.SlideIn = true; + } + } + else + { + this.Timer += Time.deltaTime; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().pitch = Time.timeScale; + } + if (this.Cancelled) + { + if (this.SpeechPhase < this.CancelledSpeechTime.Length && this.Timer > this.CancelledSpeechTime[this.SpeechPhase]) + { + this.EventSubtitle.text = this.CancelledSpeechText[this.SpeechPhase]; + this.SpeechPhase++; + } + } + else if (!this.Sabotaged) + { + if (this.SpeechPhase < this.SpeechTime.Length && this.Timer > this.SpeechTime[this.SpeechPhase]) + { + this.EventSubtitle.text = this.SpeechText[this.SpeechPhase]; + this.SpeechPhase++; + } + } + else + { + if (this.SpeechPhase < this.SabotagedSpeechTime.Length && this.Timer > this.SabotagedSpeechTime[this.SpeechPhase]) + { + this.EventSubtitle.text = this.SabotagedSpeechText[this.SpeechPhase]; + this.SpeechPhase++; + } + if (this.Senpai.CharacterAnimation[this.Weekday + "_3" + this.Suffix].time >= this.Senpai.CharacterAnimation[this.Weekday + "_3" + this.Suffix].length) + { + ScheduleBlock scheduleBlock = this.Senpai.ScheduleBlocks[4]; + scheduleBlock.destination = "Hangout"; + scheduleBlock.action = "Eat"; + this.Senpai.GetDestinations(); + if (this.Senpai.InEvent) + { + this.Rival.StopRotating = true; + this.LookAtSenpai = true; + this.EndSenpai(); + } + } + if (this.LookAtSenpai) + { + this.Rival.targetRotation = Quaternion.LookRotation(this.Senpai.transform.position - this.Rival.transform.position); + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.Rival.targetRotation, 10f * Time.deltaTime); + } + } + if (this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].time >= this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].length) + { + this.EndEvent(); + } + if (this.TakeOut && this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].time > this.TakeOutTime) + { + this.Rival.SmartPhone.SetActive(true); + this.TakeOut = false; + this.PutAway = true; + } + if (this.PutAway && this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].time > this.PutAwayTime) + { + this.Rival.SmartPhone.SetActive(false); + this.PutAway = false; + } + if (this.Transfer && this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].time > this.TransferTime) + { + this.OriginalRotation = this.Rival.SmartPhone.transform.localEulerAngles; + this.OriginalPosition = this.Rival.SmartPhone.transform.localPosition; + this.Rival.SmartPhone.transform.parent = this.Senpai.SmartPhone.transform.parent; + this.Rival.SmartPhone.transform.localEulerAngles = this.Senpai.SmartPhone.transform.localEulerAngles; + this.Rival.SmartPhone.transform.localPosition = this.Senpai.SmartPhone.transform.localPosition; + this.Transfer = false; + this.Return = true; + } + if (this.Return && this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].time > this.ReturnTime) + { + this.Rival.SmartPhone.transform.parent = this.Rival.ItemParent; + this.Rival.SmartPhone.transform.localEulerAngles = this.OriginalRotation; + this.Rival.SmartPhone.transform.localPosition = this.OriginalPosition; + this.Return = false; + } + if (this.Senpai.Alarmed || this.Rival.Alarmed) + { + UnityEngine.Object.Instantiate(this.AlarmDisc, this.Yandere.transform.position + Vector3.up, Quaternion.identity).GetComponent().NoScream = true; + this.EndEvent(); + } + } + if (base.enabled && (this.Phase > 0 || this.Impatient)) + { + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Epicenter.position); + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + this.Yandere.Eavesdropping = (this.Distance < 5f); + return; + } + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + } + + public void EndEvent() + { + Debug.Log("Osana's Friday lunchtime event has ended."); + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (this.Senpai.InEvent) + { + this.EndSenpai(); + } + if (!this.Rival.Ragdoll.Zs.activeInHierarchy) + { + if (!this.Rival.Alarmed) + { + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.SmartPhone.SetActive(false); + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + this.Rival.CurrentDestination = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.target = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.DistanceToDestination = 100f; + this.Rival.Pathfinding.speed = 1f; + this.Rival.StopRotating = false; + this.Rival.Hurry = false; + } + if (this.Friend != null) + { + ScheduleBlock scheduleBlock = this.Friend.ScheduleBlocks[4]; + scheduleBlock.destination = "LunchSpot"; + scheduleBlock.action = "Eat"; + this.Friend.GetDestinations(); + this.Friend.CurrentDestination = this.Friend.Destinations[this.Friend.Phase]; + this.Friend.Pathfinding.target = this.Friend.Destinations[this.Friend.Phase]; + this.Friend.DistanceToDestination = 100f; + this.Friend.IdleAnim = this.Friend.OriginalIdleAnim; + this.Friend.SlideIn = false; + Debug.Log("''Friend'' is being told to set her destination to her current phase's destination."); + } + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Spy.Prompt.Hide(); + this.Spy.Prompt.enabled = false; + if (this.Spy.Phase > 0) + { + this.Spy.End(); + } + if (this.Sabotaged) + { + this.Rival.WalkAnim = "f02_sadWalk_00"; + } + if (this.Rival.SmartPhone.transform.parent != this.Rival.ItemParent) + { + this.Rival.SmartPhone.transform.parent = this.Rival.ItemParent; + this.Rival.SmartPhone.transform.localEulerAngles = this.OriginalRotation; + this.Rival.SmartPhone.transform.localPosition = this.OriginalPosition; + } + this.Jukebox.Dip = 1f; + this.Yandere.Eavesdropping = false; + this.EventSubtitle.text = string.Empty; + base.enabled = false; + } + + private void EndSenpai() + { + if (!this.Senpai.Alarmed) + { + this.Senpai.Pathfinding.canSearch = true; + this.Senpai.Pathfinding.canMove = true; + this.Senpai.Routine = true; + } + this.Senpai.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Senpai.SmartPhone.SetActive(false); + this.Senpai.InEvent = false; + this.Senpai.Private = false; + this.Senpai.CurrentDestination = this.Senpai.Destinations[this.Senpai.Phase]; + this.Senpai.Pathfinding.target = this.Senpai.Destinations[this.Senpai.Phase]; + this.Senpai.DistanceToDestination = 100f; + if (this.Sabotaged) + { + DatingGlobals.RivalSabotaged++; + Debug.Log("Sabotage Progress: " + DatingGlobals.RivalSabotaged + "/5"); + } + } + + public StudentManagerScript StudentManager; + + public AudioSoftwareScript AudioSoftware; + + public JukeboxScript Jukebox; + + public UILabel EventSubtitle; + + public YandereScript Yandere; + + public ClockScript Clock; + + public SpyScript Spy; + + public StudentScript Friend; + + public StudentScript Senpai; + + public StudentScript Rival; + + public Transform[] Location; + + public Transform Epicenter; + + public AudioClip CancelledSpeechClip; + + public string[] CancelledSpeechText; + + public float[] CancelledSpeechTime; + + public AudioClip SabotagedSpeechClip; + + public string[] SabotagedSpeechText; + + public float[] SabotagedSpeechTime; + + public AudioClip SpeechClip; + + public string[] SpeechText; + + public float[] SpeechTime; + + public GameObject AlarmDisc; + + public GameObject VoiceClip; + + public bool LookAtSenpai; + + public bool EventActive; + + public bool Cancelled; + + public bool Impatient; + + public bool Sabotaged; + + public bool Transfer; + + public bool TakeOut; + + public bool PutAway; + + public bool Return; + + public Vector3 OriginalRotation; + + public Vector3 OriginalPosition; + + public float TransferTime; + + public float ReturnTime; + + public float TakeOutTime; + + public float PutAwayTime; + + public float Distance; + + public float Scale; + + public float Timer; + + public DayOfWeek EventDay; + + public int SpeechPhase = 1; + + public int FriendID = 10; + + public int RivalID = 11; + + public int Phase; + + public int Frame; + + public string Weekday = string.Empty; + + public string Suffix = string.Empty; } diff --git a/OsanaMatrixScript.cs b/OsanaMatrixScript.cs new file mode 100644 index 0000000..7aa498f --- /dev/null +++ b/OsanaMatrixScript.cs @@ -0,0 +1,33 @@ +using System; +using UnityEngine; + +public class OsanaMatrixScript : MonoBehaviour +{ + private void Update() + { + if (UnityEngine.Input.GetKeyDown("z")) + { + this.Phase++; + } + if (this.Phase == 2) + { + this.MatrixEffect.Fade = Mathf.MoveTowards(this.MatrixEffect.Fade, 1f, Time.deltaTime); + return; + } + if (this.Phase == 3) + { + this.MatrixEffect.Fade = Mathf.MoveTowards(this.MatrixEffect.Fade, 0f, Time.deltaTime); + return; + } + if (this.Phase == 4) + { + this.Rivals.SetActive(true); + } + } + + public CameraFilterPack_3D_Matrix MatrixEffect; + + public GameObject Rivals; + + public int Phase = 1; +} diff --git a/OsanaMondayBeforeClassEventScript.cs b/OsanaMondayBeforeClassEventScript.cs index 1377b9b..a180864 100644 --- a/OsanaMondayBeforeClassEventScript.cs +++ b/OsanaMondayBeforeClassEventScript.cs @@ -14,6 +14,211 @@ public class OsanaMondayBeforeClassEventScript : MonoBehaviour } } + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0) + { + if (this.Clock.Period == 1) + { + if (this.StudentManager.Students[this.RivalID] != null) + { + if (this.Rival == null) + { + this.Rival = this.StudentManager.Students[this.RivalID]; + } + else if (this.Rival.enabled && this.Rival.Indoors && !this.Rival.Alarmed && !this.Rival.WitnessedCorpse && !this.Rival.WitnessedMurder) + { + Debug.Log("Osana's before class event has begun. Putting two bento boxes on her desk."); + this.Rival.CharacterAnimation["f02_pondering_00"].speed = 0.65f; + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Destination; + this.Rival.CurrentDestination = this.Destination; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = false; + this.Rival.InEvent = true; + if (this.Rival.Follower != null) + { + Debug.Log("Setting Raibaru's InEvent to true!"); + this.Rival.Follower.TargetDistance = 1.5f; + this.Rival.Follower.InEvent = true; + } + this.Phase++; + } + } + else + { + base.enabled = false; + } + } + else + { + base.enabled = false; + } + } + this.Frame++; + } + else if (this.Phase == 1) + { + if (this.Rival.DistanceToDestination < 0.5f) + { + AudioClipPlayer.Play(this.SpeechClip, this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade("f02_pondering_00"); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Bentos[1].SetActive(true); + this.Bentos[2].SetActive(true); + this.Phase++; + } + if (this.Rival.Follower != null) + { + if (this.Rival.Follower.DistanceToDestination >= this.Rival.Follower.TargetDistance + 0.1f) + { + this.Rival.Follower.CharacterAnimation.CrossFade(this.Rival.Follower.WalkAnim); + } + else + { + this.Rival.Follower.CharacterAnimation.CrossFade(this.Rival.Follower.IdleAnim); + } + } + } + else + { + this.Rival.MoveTowardsTarget(this.Rival.CurrentDestination.position); + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.Rival.CurrentDestination.rotation, 10f * Time.deltaTime); + if (this.Rival.Follower != null) + { + if (this.Rival.Follower.DistanceToDestination >= this.Rival.Follower.TargetDistance) + { + this.Rival.Follower.CharacterAnimation.CrossFade(this.Rival.Follower.WalkAnim); + } + else + { + this.Rival.Follower.CharacterAnimation.CrossFade(this.Rival.Follower.IdleAnim); + } + } + this.Timer += Time.deltaTime; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().pitch = Time.timeScale; + } + if (this.SpeechPhase < this.SpeechTime.Length) + { + if (this.Timer > this.SpeechTime[this.SpeechPhase]) + { + if (this.Rival.Follower == null) + { + this.EndEvent(); + } + else + { + this.EventSubtitle.text = this.SpeechText[this.SpeechPhase]; + this.SpeechPhase++; + } + } + } + else if (this.Rival.CharacterAnimation["f02_pondering_00"].time > this.Rival.CharacterAnimation["f02_pondering_00"].length) + { + this.EndEvent(); + } + if (this.Rival.Alarmed || this.Rival.Splashed || (this.Rival.Follower != null && this.Rival.Follower.DramaticReaction)) + { + UnityEngine.Object.Instantiate(this.AlarmDisc, this.Yandere.transform.position + Vector3.up, Quaternion.identity).GetComponent().NoScream = true; + this.EndEvent(); + } + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Rival.transform.position); + if (base.enabled) + { + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + } + } + if (this.Phase > 0) + { + if (this.Clock.Period > 1) + { + this.EndEvent(); + } + if (!this.Yandere.NoDebug && UnityEngine.Input.GetKeyDown(KeyCode.LeftControl)) + { + this.Bentos[1].SetActive(true); + this.Bentos[2].SetActive(true); + this.EndEvent(); + } + } + } + + public void EndEvent() + { + Debug.Log("Osana's before class event ended."); + this.Bentos[1].GetComponent().enabled = true; + this.Bentos[2].GetComponent().enabled = true; + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (!this.Rival.Alarmed) + { + this.Rival.CurrentDestination = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.target = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + else + { + Debug.Log("The event ended specifically because Osana was alarmed."); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.DistanceToDestination = 999f; + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Rival.CharacterAnimation["f02_pondering_00"].speed = 1f; + this.Jukebox.Dip = 1f; + if (this.Rival.Follower != null) + { + this.Rival.Follower.TargetDistance = 1f; + this.Rival.Follower.InEvent = false; + } + this.EventSubtitle.text = string.Empty; + this.NextEvent.enabled = true; + base.enabled = false; + } + public StudentManagerScript StudentManager; public EventManagerScript NextEvent; diff --git a/OsanaMondayLunchEventScript.cs b/OsanaMondayLunchEventScript.cs index 84a63e6..bbd24c7 100644 --- a/OsanaMondayLunchEventScript.cs +++ b/OsanaMondayLunchEventScript.cs @@ -3,4 +3,496 @@ using UnityEngine; public class OsanaMondayLunchEventScript : MonoBehaviour { + private void Start() + { + this.OriginalPosition = this.Epicenter.position; + this.EventSubtitle.transform.localScale = Vector3.zero; + if (DateGlobals.Weekday != DayOfWeek.Monday) + { + base.gameObject.SetActive(false); + base.enabled = false; + } + } + + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0 && this.StudentManager.Students[this.RivalID] != null && this.StudentManager.Students[this.RivalID].enabled && this.StudentManager.Students[1].gameObject.activeInHierarchy && this.Clock.Period == 3) + { + Debug.Log("Osana's lunchtime event has begun."); + if (this.ClubEvent.enabled) + { + this.ClubEvent.EndEvent(); + } + this.DisableBentos(); + this.Bento[1].gameObject.SetActive(true); + this.Bento[2].gameObject.SetActive(true); + this.Senpai = this.StudentManager.Students[1]; + this.Rival = this.StudentManager.Students[this.RivalID]; + this.Friend = this.StudentManager.Students[this.FriendID]; + this.Senpai.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Senpai.CharacterAnimation.Play(this.Senpai.WalkAnim); + this.Senpai.Pathfinding.target = this.Location[1]; + this.Senpai.CurrentDestination = this.Location[1]; + this.Senpai.Pathfinding.canSearch = true; + this.Senpai.Pathfinding.canMove = true; + this.Senpai.Routine = false; + this.Senpai.InEvent = true; + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.Play(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location[0]; + this.Rival.CurrentDestination = this.Location[0]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = false; + this.Rival.InEvent = true; + this.Rival.EmptyHands(); + this.Spy.Prompt.enabled = true; + if (this.Friend != null) + { + this.Friend.EmptyHands(); + } + this.Phase++; + } + this.Frame++; + } + else if (this.Phase == 1) + { + if (this.Rival.DistanceToDestination < 0.5f) + { + this.EventSubtitle.text = this.SpeechText[this.SpeechPhase]; + this.SpeechPhase++; + AudioClipPlayer.Play(this.SpeechClip[0], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade("f02_pondering_00"); + this.Epicenter.position = this.Rival.transform.position; + this.Phase++; + } + } + else if (this.Phase == 2) + { + this.Rival.MoveTowardsTarget(this.Rival.CurrentDestination.position); + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.Rival.CurrentDestination.rotation, 10f * Time.deltaTime); + if (this.Rival.CharacterAnimation["f02_pondering_00"].time >= this.Rival.CharacterAnimation["f02_pondering_00"].length) + { + this.Epicenter.position = this.OriginalPosition; + this.EventSubtitle.text = string.Empty; + this.Rival.CharacterAnimation.Play(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location[2]; + this.Rival.CurrentDestination = this.Location[2]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Bento[1].gameObject.SetActive(false); + this.Bento[2].gameObject.SetActive(false); + this.Phase++; + } + } + else if (this.Phase == 3) + { + if (this.Senpai.DistanceToDestination < 0.5f && this.Rival.DistanceToDestination < 0.5f) + { + if (this.Friend != null) + { + this.Friend.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Friend.CharacterAnimation.Play(this.Friend.WalkAnim); + this.Friend.Pathfinding.target = this.Location[3]; + this.Friend.CurrentDestination = this.Location[3]; + this.Friend.Pathfinding.canSearch = true; + this.Friend.Pathfinding.canMove = true; + this.Friend.Routine = false; + this.Friend.InEvent = true; + } + AudioClipPlayer.Play(this.SpeechClip[1], this.Epicenter.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Senpai.CharacterAnimation.CrossFade("Monday_2A"); + this.Rival.CharacterAnimation.CrossFade("f02_Monday_2A"); + this.Rival.Bento.transform.localEulerAngles = new Vector3(15f, this.Rival.Bento.transform.localEulerAngles.y, this.Rival.Bento.transform.localEulerAngles.z); + this.Rival.Bento.transform.localPosition = new Vector3(-0.02f, this.Rival.Bento.transform.localPosition.y, this.Rival.Bento.transform.localPosition.z); + this.Rival.Bento.SetActive(true); + this.Senpai.Pathfinding.canSearch = false; + this.Senpai.Pathfinding.canMove = false; + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Phase++; + } + else + { + if (this.Senpai.DistanceToDestination < 0.5f) + { + this.Senpai.CharacterAnimation.CrossFade("thinking_00"); + this.Senpai.MoveTowardsTarget(this.Senpai.CurrentDestination.position); + this.Senpai.transform.rotation = Quaternion.Slerp(this.Senpai.transform.rotation, this.Senpai.CurrentDestination.rotation, 10f * Time.deltaTime); + this.Senpai.Pathfinding.canSearch = false; + this.Senpai.Pathfinding.canMove = false; + } + if (this.Rival.DistanceToDestination < 0.5f) + { + this.Rival.CharacterAnimation.CrossFade("f02_pondering_00"); + this.Rival.MoveTowardsTarget(this.Rival.CurrentDestination.position); + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.Rival.CurrentDestination.rotation, 10f * Time.deltaTime); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + } + } + } + else if (this.Phase == 4) + { + this.Timer += Time.deltaTime; + this.Senpai.MoveTowardsTarget(this.Senpai.CurrentDestination.position); + this.Senpai.transform.rotation = Quaternion.Slerp(this.Senpai.transform.rotation, this.Senpai.CurrentDestination.rotation, 10f * Time.deltaTime); + this.Rival.MoveTowardsTarget(this.Rival.CurrentDestination.position); + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.Rival.CurrentDestination.rotation, 10f * Time.deltaTime); + if (this.Timer > 21.5f) + { + this.Senpai.Bento.transform.localPosition = new Vector3(-0.01652f, -0.02516f, -0.08239f); + this.Senpai.Bento.transform.localEulerAngles = new Vector3(-35f, 116f, 165f); + this.RotationX = -35f; + this.RotationY = 115f; + this.RotationZ = 165f; + this.Senpai.Bento.SetActive(true); + this.Rival.Bento.SetActive(false); + this.Phase++; + } + } + else if (this.Phase == 5) + { + this.Timer += Time.deltaTime; + this.RotationX = Mathf.Lerp(this.RotationX, 6f, Time.deltaTime); + this.RotationY = Mathf.Lerp(this.RotationY, 153f, Time.deltaTime); + this.RotationZ = Mathf.Lerp(this.RotationZ, 102.5f, Time.deltaTime); + this.Senpai.Bento.transform.localPosition = Vector3.Lerp(this.Senpai.Bento.transform.localPosition, new Vector3(-0.045f, -0.08f, -0.025f), Time.deltaTime); + this.Senpai.Bento.transform.localEulerAngles = new Vector3(this.RotationX, this.RotationY, this.RotationZ); + if (this.Timer > 29.833334f) + { + this.Senpai.Lid.transform.parent = this.Senpai.RightHand; + this.Senpai.Lid.transform.localPosition = new Vector3(-0.025f, -0.025f, -0.015f); + this.Senpai.Lid.transform.localEulerAngles = new Vector3(41.5f, -60f, -180f); + } + if (this.Timer > 30f && (float)this.Bento[1].Poison > 0f) + { + this.Senpai.CharacterAnimation.CrossFade("Monday_2B"); + this.Rival.CharacterAnimation.CrossFade("f02_Monday_2B"); + this.Sabotaged = true; + this.SpeechPhase = 0; + } + if (this.Timer > 30.4333324f) + { + this.Senpai.Lid.transform.parent = null; + this.Senpai.Lid.transform.position = new Vector3(-0.31f, 12.501f, -29.335f); + this.Senpai.Lid.transform.eulerAngles = new Vector3(0f, 0f, 0f); + } + if (this.Timer > 31f) + { + this.Senpai.Chopsticks[0].SetActive(true); + this.Senpai.Chopsticks[1].SetActive(true); + this.Phase++; + } + } + else if (this.Phase == 6) + { + this.Timer += Time.deltaTime; + if (!this.Sabotaged) + { + if (this.Timer > 37.15f) + { + AudioClipPlayer.Play(this.SpeechClip[2], this.Epicenter.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Phase++; + } + } + else if (this.Timer > 41f) + { + AudioClipPlayer.Play(this.SpeechClip[3], this.Epicenter.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Phase++; + } + } + else if (this.Phase == 7) + { + this.Timer += Time.deltaTime; + if (!this.Sabotaged) + { + if (this.Senpai.CharacterAnimation["Monday_2A"].time > this.Senpai.CharacterAnimation["Monday_2A"].length) + { + this.EndEvent(); + } + } + else + { + if (this.Timer > 44.5f && this.Senpai.Bento.transform.parent != null) + { + this.Senpai.Bento.transform.parent = null; + this.Senpai.Bento.transform.position = new Vector3(-0.853f, 12.501f, -29.33333f); + this.Senpai.Bento.transform.eulerAngles = new Vector3(0f, 180f, 0f); + this.Senpai.Chopsticks[0].SetActive(false); + this.Senpai.Chopsticks[1].SetActive(false); + } + if (this.Senpai.InEvent && this.Senpai.CharacterAnimation["Monday_2B"].time > this.Senpai.CharacterAnimation["Monday_2B"].length) + { + this.Senpai.WalkAnim = "stomachPainWalk_00"; + this.Senpai.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Senpai.Pathfinding.target = this.StudentManager.MaleVomitSpots[3]; + this.Senpai.CurrentDestination = this.StudentManager.MaleVomitSpots[3]; + this.Senpai.CharacterAnimation.CrossFade(this.Senpai.WalkAnim); + this.Senpai.Pathfinding.canSearch = true; + this.Senpai.Pathfinding.canMove = true; + this.Senpai.Pathfinding.speed = 2f; + this.Senpai.Distracted = true; + this.Senpai.Vomiting = true; + this.Senpai.InEvent = false; + this.Senpai.Routine = false; + this.Senpai.Private = true; + DatingGlobals.RivalSabotaged++; + Debug.Log("Sabotage Progress: " + DatingGlobals.RivalSabotaged + "/5"); + } + if (this.Rival.CharacterAnimation["f02_Monday_2B"].time > this.Rival.CharacterAnimation["f02_Monday_2B"].length) + { + this.EndEvent(); + } + } + } + if (this.Phase > 3) + { + if (!this.Sabotaged) + { + if (this.SpeechPhase < this.SpeechTime.Length && this.Timer > this.SpeechTime[this.SpeechPhase]) + { + this.EventSubtitle.text = this.SpeechText[this.SpeechPhase]; + this.SpeechPhase++; + } + } + else if (this.SpeechPhase < this.SabotagedSpeechTime.Length && this.Timer > 41f + this.SabotagedSpeechTime[this.SpeechPhase]) + { + this.EventSubtitle.text = this.SabotagedSpeechText[this.SpeechPhase]; + this.SpeechPhase++; + } + if (this.Friend.DistanceToDestination < 1f) + { + this.Friend.CharacterAnimation.CrossFade("f02_cornerPeek_00"); + this.Friend.Pathfinding.canSearch = false; + this.Friend.Pathfinding.canMove = false; + this.Friend.MyBento.gameObject.SetActive(true); + this.Friend.MyBento.transform.parent = null; + this.Friend.MyBento.transform.position = this.Bento[3].transform.position; + this.Friend.MyBento.transform.eulerAngles = this.Bento[3].transform.eulerAngles; + this.Friend.MyBento.Prompt.enabled = true; + this.SettleFriend(); + } + } + if (this.Phase > 0) + { + if (this.Senpai.Alarmed || this.Rival.Alarmed) + { + UnityEngine.Object.Instantiate(this.AlarmDisc, this.Yandere.transform.position + Vector3.up, Quaternion.identity).GetComponent().NoScream = true; + this.EndEvent(); + } + if (this.Clock.Period > 3) + { + this.EndEvent(); + } + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().pitch = Time.timeScale; + } + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Epicenter.position); + if (base.enabled) + { + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + if (this.Phase > 3) + { + this.Yandere.Eavesdropping = (this.Distance < 5f); + return; + } + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + } + } + } + + private void SettleFriend() + { + this.Friend.MoveTowardsTarget(this.Location[3].position); + if (Quaternion.Angle(this.Friend.transform.rotation, this.Location[3].rotation) > 1f) + { + this.Friend.transform.rotation = Quaternion.Slerp(this.Friend.transform.rotation, this.Location[3].rotation, 10f * Time.deltaTime); + } + } + + private void EndEvent() + { + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (this.Senpai.InEvent) + { + this.Senpai.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Senpai.InEvent = false; + this.Senpai.Private = false; + this.Senpai.Pathfinding.canSearch = true; + this.Senpai.Pathfinding.canMove = true; + this.Senpai.TargetDistance = 1f; + this.Senpai.Routine = true; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.TargetDistance = 1f; + this.Rival.Routine = true; + if (this.Rival.Alarmed || this.Senpai.Alarmed) + { + this.Senpai.Pathfinding.canSearch = false; + this.Senpai.Pathfinding.canMove = false; + this.Senpai.TargetDistance = 0.5f; + this.Senpai.Routine = !this.Senpai.Alarmed; + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Rival.TargetDistance = 0.5f; + this.Rival.Routine = !this.Rival.Alarmed; + } + if (this.Friend != null) + { + if (!this.Friend.Alarmed) + { + this.Friend.Pathfinding.canSearch = true; + this.Friend.Pathfinding.canMove = true; + this.Friend.Routine = true; + } + this.Friend.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Friend.Prompt.enabled = true; + this.Friend.InEvent = false; + this.Friend.Private = false; + ScheduleBlock scheduleBlock = this.Friend.ScheduleBlocks[4]; + scheduleBlock.destination = "LunchSpot"; + scheduleBlock.action = "Eat"; + this.Friend.GetDestinations(); + this.Friend.CurrentDestination = this.Friend.Destinations[this.Friend.Phase]; + this.Friend.Pathfinding.target = this.Friend.Destinations[this.Friend.Phase]; + this.Friend.DistanceToDestination = 100f; + this.Friend.MyBento.gameObject.SetActive(false); + this.Friend.MyBento.transform.parent = this.Friend.LeftHand; + this.Friend.MyBento.transform.localPosition = new Vector3(-0.025f, -0.105f, 0f); + this.Friend.MyBento.transform.localEulerAngles = new Vector3(0f, 165f, 82.5f); + Debug.Log("''Friend'' is being told to set her destination to her current phase's destination."); + } + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Spy.Prompt.Hide(); + this.Spy.Prompt.enabled = false; + if (this.Spy.Phase > 0) + { + this.Spy.End(); + } + this.EventSubtitle.text = string.Empty; + this.Yandere.Eavesdropping = false; + base.enabled = false; + this.Jukebox.Dip = 1f; + Debug.Log("Ending Osana's Monday Lunch Event."); + this.DisableBentos(); + } + + private void DisableBentos() + { + this.Bento[1].Prompt.Hide(); + this.Bento[1].Prompt.enabled = false; + this.Bento[2].Prompt.Hide(); + this.Bento[2].Prompt.enabled = false; + this.Bento[1].gameObject.SetActive(false); + this.Bento[2].gameObject.SetActive(false); + this.Bento[1].enabled = false; + this.Bento[2].enabled = false; + } + + public StudentManagerScript StudentManager; + + public OsanaClubEventScript ClubEvent; + + public JukeboxScript Jukebox; + + public UILabel EventSubtitle; + + public YandereScript Yandere; + + public ClockScript Clock; + + public SpyScript Spy; + + public StudentScript Senpai; + + public StudentScript Friend; + + public StudentScript Rival; + + public BentoScript[] Bento; + + public string[] SabotagedSpeechText; + + public string[] SpeechText; + + public float[] SabotagedSpeechTime; + + public float[] SpeechTime; + + public AudioClip[] SpeechClip; + + public Transform[] Location; + + public Transform Epicenter; + + public GameObject AlarmDisc; + + public GameObject VoiceClip; + + public Vector3 OriginalPosition; + + public bool Sabotaged; + + public float Distance; + + public float Scale; + + public float Timer; + + public float RotationX; + + public float RotationY; + + public float RotationZ; + + public int SpeechPhase = 1; + + public int DebugPoison; + + public int FriendID = 6; + + public int RivalID = 11; + + public int Phase; + + public int Frame; } diff --git a/OsanaMorningFriendEventScript.cs b/OsanaMorningFriendEventScript.cs index d1f95f0..1ca8827 100644 --- a/OsanaMorningFriendEventScript.cs +++ b/OsanaMorningFriendEventScript.cs @@ -3,6 +3,309 @@ using UnityEngine; public class OsanaMorningFriendEventScript : MonoBehaviour { + private void Start() + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.LosingFriend) + { + if ((float)StudentGlobals.GetStudentReputation(10) > -33.33333f || PlayerGlobals.RaibaruLoner) + { + base.enabled = false; + return; + } + } + else if ((float)StudentGlobals.GetStudentReputation(10) <= -33.33333f || DateGlobals.Weekday != this.EventDay || HomeGlobals.LateForSchool || this.StudentManager.YandereLate || DatingGlobals.SuitorProgress == 2 || StudentGlobals.MemorialStudents > 0 || PlayerGlobals.RaibaruLoner) + { + base.enabled = false; + } + } + + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0 && this.StudentManager.Students[this.RivalID] != null && this.StudentManager.Students[this.FriendID] != null) + { + if (this.Friend == null) + { + this.Friend = this.StudentManager.Students[this.FriendID]; + } + if (this.Rival == null) + { + this.Rival = this.StudentManager.Students[this.RivalID]; + } + if (this.Clock.Period == 1 && !this.StudentManager.Students[1].Alarmed && !this.Friend.DramaticReaction && !this.Friend.Alarmed && !this.Rival.Alarmed && this.Rival.enabled && !this.OtherEvent.enabled) + { + Debug.Log("Osana's ''talk with friend before going to the lockers'' event has begun."); + this.Friend.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Friend.CharacterAnimation.CrossFade(this.Friend.WalkAnim); + this.Friend.Pathfinding.target = this.Location[1]; + this.Friend.CurrentDestination = this.Location[1]; + this.Friend.Pathfinding.canSearch = true; + this.Friend.Pathfinding.canMove = true; + this.Friend.Routine = false; + this.Friend.InEvent = true; + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location[2]; + this.Rival.CurrentDestination = this.Location[2]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = false; + this.Rival.InEvent = true; + if (!this.LosingFriend) + { + this.Friend.Private = true; + this.Rival.Private = true; + if (!this.OtherEvent.NaturalEnd) + { + this.SpeechClip = this.InterruptedClip; + this.SpeechText = this.InterruptedSpeech; + this.SpeechTime = this.InterruptedTime; + this.EventAnim = this.InterruptedAnim; + this.Speaker = this.InterruptedSpeaker; + } + bool flag = false; + if (StudentGlobals.GetStudentDead(81) || StudentGlobals.GetStudentKidnapped(81) || StudentGlobals.GetStudentArrested(81) || StudentGlobals.GetStudentExpelled(81) || (float)StudentGlobals.GetStudentReputation(81) < -33.33333f) + { + Debug.Log("Musume's unavailable."); + flag = true; + } + if (DateGlobals.Weekday == DayOfWeek.Friday && flag && this.OtherEvent.NaturalEnd) + { + this.SpeechClip = this.AltSpeechClip; + this.SpeechText = this.AltSpeechText; + this.SpeechTime = this.AltSpeechTime; + this.EventAnim = this.AltEventAnim; + this.Speaker = this.AltSpeaker; + } + } + this.Phase++; + } + } + this.Frame++; + return; + } + if (this.Phase == 1) + { + this.Friend.Pathfinding.canSearch = true; + this.Friend.Pathfinding.canMove = true; + if (this.Rival.DistanceToDestination < 0.5f) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.IdleAnim); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.SettleRival(); + } + if (this.Friend.DistanceToDestination < 0.5f) + { + this.Friend.CharacterAnimation.CrossFade(this.Friend.IdleAnim); + this.Friend.Pathfinding.canSearch = false; + this.Friend.Pathfinding.canMove = false; + this.SettleFriend(); + } + if (this.Rival.DistanceToDestination < 0.5f && this.Friend.DistanceToDestination < 0.5f) + { + AudioClipPlayer.Play(this.SpeechClip, this.Friend.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[this.SpeechPhase]; + this.PlayRelevantAnim(); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Rival.Obstacle.enabled = true; + this.Friend.Pathfinding.canSearch = false; + this.Friend.Pathfinding.canMove = false; + this.Friend.Obstacle.enabled = true; + this.Phase++; + } + } + else if (this.Phase == 2) + { + if (this.CurrentSpeaker != null && this.SpeechPhase > 0 && this.CurrentSpeaker.CharacterAnimation[this.EventAnim[this.SpeechPhase - 1]].time >= this.CurrentSpeaker.CharacterAnimation[this.EventAnim[this.SpeechPhase - 1]].length - 1f) + { + this.CurrentSpeaker.CharacterAnimation.CrossFade(this.CurrentSpeaker.IdleAnim, 1f); + } + this.Timer += Time.deltaTime; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().pitch = Time.timeScale; + } + if (this.SpeechPhase < this.SpeechTime.Length && this.Timer > this.SpeechTime[this.SpeechPhase]) + { + this.EventSubtitle.text = this.SpeechText[this.SpeechPhase]; + this.PlayRelevantAnim(); + this.SpeechPhase++; + } + this.SettleRival(); + this.SettleFriend(); + if (this.Timer > this.SpeechClip.length) + { + this.EndEvent(); + } + } + if (this.Rival.Alarmed || this.Friend.Alarmed || this.Friend.DramaticReaction) + { + Debug.Log("The event ended naturally because a character was alarmed."); + GameObject gameObject = UnityEngine.Object.Instantiate(this.AlarmDisc, this.Yandere.transform.position + Vector3.up, Quaternion.identity); + gameObject.GetComponent().NoScream = true; + gameObject.transform.localScale = new Vector3(200f, 1f, 200f); + this.EndEvent(); + } + if (!this.Yandere.NoDebug && UnityEngine.Input.GetKeyDown(KeyCode.LeftControl)) + { + this.EndEvent(); + if (this.Rival.ShoeRemoval.Locker == null) + { + this.Rival.ShoeRemoval.Start(); + } + this.Rival.ShoeRemoval.PutOnShoes(); + } + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Epicenter.position); + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + if (this.Phase > 1) + { + this.Yandere.Eavesdropping = (this.Distance < 3f); + } + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + if (this.VoiceClip == null) + { + this.EventSubtitle.text = string.Empty; + } + } + + public void EndEvent() + { + Debug.Log("Osana's ''talk with friend before going to the lockers'' event has ended."); + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (this.Rival != null) + { + if (!this.Rival.Alarmed) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.DistanceToDestination = 100f; + this.Rival.CurrentDestination = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.target = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + if (this.Rival.Alarmed) + { + this.Rival.ReturnToRoutineAfter = true; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.Obstacle.enabled = false; + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + } + if (this.Friend != null) + { + if (!this.Friend.Alarmed && !this.Friend.DramaticReaction) + { + this.Friend.CharacterAnimation.CrossFade(this.Friend.WalkAnim); + this.Friend.DistanceToDestination = 100f; + this.Friend.CurrentDestination = this.Friend.Destinations[this.Friend.Phase]; + this.Friend.Pathfinding.target = this.Friend.Destinations[this.Friend.Phase]; + this.Friend.Pathfinding.canSearch = true; + this.Friend.Pathfinding.canMove = true; + this.Friend.Routine = true; + this.Friend.Calm = false; + } + this.Friend.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Friend.Obstacle.enabled = false; + this.Friend.Prompt.enabled = true; + this.Friend.InEvent = false; + this.Friend.Private = false; + if (this.Rival.Alarmed) + { + this.Friend.FocusOnYandere = true; + } + } + this.Spy.Prompt.enabled = false; + this.Spy.Prompt.Hide(); + if (this.Spy.Phase > 0) + { + this.Spy.End(); + } + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Yandere.Eavesdropping = false; + this.EventSubtitle.text = string.Empty; + this.Jukebox.Dip = 1f; + base.enabled = false; + if (this.LosingFriend) + { + Debug.Log("Raibaru will no longer hang out with Osana."); + this.EndOfDay.RaibaruLoner = true; + Debug.Log("Raibaru has become a loner, so Osana's schedule has changed."); + ScheduleBlock scheduleBlock = this.Rival.ScheduleBlocks[2]; + scheduleBlock.destination = "Patrol"; + scheduleBlock.action = "Patrol"; + ScheduleBlock scheduleBlock2 = this.Rival.ScheduleBlocks[7]; + scheduleBlock2.destination = "Patrol"; + scheduleBlock2.action = "Patrol"; + this.Rival.GetDestinations(); + } + } + + private void SettleRival() + { + this.Rival.MoveTowardsTarget(this.Location[2].position); + if (Quaternion.Angle(this.Rival.transform.rotation, this.Location[2].rotation) > 1f) + { + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.Location[2].rotation, 10f * Time.deltaTime); + } + } + + private void SettleFriend() + { + this.Friend.MoveTowardsTarget(this.Location[1].position); + this.Friend.transform.LookAt(this.Rival.transform.position); + } + + private void PlayRelevantAnim() + { + if (this.Speaker[this.SpeechPhase] == 1) + { + this.Rival.CharacterAnimation.CrossFade(this.EventAnim[this.SpeechPhase]); + this.Friend.CharacterAnimation.CrossFade(this.Friend.IdleAnim); + this.CurrentSpeaker = this.Rival; + return; + } + this.Rival.CharacterAnimation.CrossFade(this.Rival.IdleAnim); + this.Friend.CharacterAnimation.CrossFade(this.EventAnim[this.SpeechPhase]); + this.CurrentSpeaker = this.Friend; + } + public RivalMorningEventManagerScript OtherEvent; public StudentManagerScript StudentManager; diff --git a/OsanaPoolEventScript.cs b/OsanaPoolEventScript.cs index 5a5a7db..c31dd8e 100644 --- a/OsanaPoolEventScript.cs +++ b/OsanaPoolEventScript.cs @@ -3,4 +3,462 @@ using UnityEngine; public class OsanaPoolEventScript : MonoBehaviour { + private void Start() + { + if (DateGlobals.Weekday != this.EventDay) + { + base.enabled = false; + } + } + + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0 && this.StudentManager.Students[this.RivalID] != null && this.StudentManager.Students[this.RivalID].enabled && this.Clock.Period == 3) + { + Debug.Log("Osana's pool event has begun."); + if (this.StudentManager.Students[this.FriendID] != null && this.StudentManager.Students[this.FriendID].FollowTarget != null) + { + this.Friend = this.StudentManager.Students[this.FriendID]; + } + this.Rival = this.StudentManager.Students[this.RivalID]; + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.StudentManager.FemaleStripSpot; + this.Rival.CurrentDestination = this.StudentManager.FemaleStripSpot; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Pen.SetActive(false); + this.Rival.Routine = false; + this.Rival.InEvent = true; + this.Rival.SmartPhone.SetActive(false); + this.Phase++; + } + this.Frame++; + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) + { + if (this.Phase == 1) + { + this.Yandere.transform.position = this.StudentManager.FemaleStripSpot.position + new Vector3(-2f, 0f, 0f); + this.Rival.transform.position = this.StudentManager.FemaleStripSpot.position + new Vector3(-1f, 0f, 0f); + } + else if (this.Phase == 3) + { + this.Rival.transform.position = this.Location[1].position + new Vector3(1f, 0f, 0f); + this.Yandere.transform.position = this.Location[1].position + new Vector3(2f, 0f, 0f); + this.Weight.transform.position = this.Location[1].position + new Vector3(3f, 0f, 0f); + } + else if (this.Phase == 5) + { + this.Timer += 60f; + } + else if (this.Phase == 6) + { + this.Timer += 600f; + } + else if (this.Phase == 7) + { + this.Timer += 60f; + } + Physics.SyncTransforms(); + } + if (this.Phase == 1) + { + if (this.Rival.DistanceToDestination < 0.5f) + { + if (this.StudentManager.CommunalLocker.Student == null) + { + this.Rival.StudentManager.CommunalLocker.Open = true; + this.Rival.StudentManager.CommunalLocker.Student = this.Rival; + this.Rival.StudentManager.CommunalLocker.SpawnSteam(); + this.Rival.Schoolwear = 2; + this.Phase++; + } + else + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.IdleAnim); + } + } + } + else if (this.Phase == 2) + { + if (!this.Rival.StudentManager.CommunalLocker.SteamCountdown) + { + this.StudentManager.CommunalLocker.Student = null; + if (this.Friend != null) + { + ScheduleBlock scheduleBlock = this.Friend.ScheduleBlocks[this.Friend.Phase]; + scheduleBlock.destination = "Sunbathe"; + scheduleBlock.action = "Sunbathe"; + this.Friend.Actions[this.Friend.Phase] = StudentActionType.Sunbathe; + this.Friend.CurrentAction = StudentActionType.Sunbathe; + this.Friend.GetDestinations(); + this.Friend.CurrentDestination = this.StudentManager.FemaleStripSpot; + this.Friend.Pathfinding.target = this.StudentManager.FemaleStripSpot; + this.Friend.Pathfinding.canSearch = true; + this.Friend.Pathfinding.canMove = true; + } + this.Rival.Pathfinding.target = this.Location[1]; + this.Rival.CurrentDestination = this.Location[1]; + this.Phase++; + } + } + else if (this.Phase == 3) + { + if (this.Rival.DistanceToDestination < 0.5f) + { + AudioClipPlayer.Play(this.SpeechClip[1], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[1]; + this.Rival.CharacterAnimation["f02_" + this.EventAnim[1]].time = 0f; + this.Rival.CharacterAnimation.Play("f02_" + this.EventAnim[1]); + this.Rival.OsanaHair.GetComponent().Play("Hair_" + this.EventAnim[1]); + this.Rival.OsanaHair.transform.parent = this.Rival.transform; + this.Rival.OsanaHair.transform.localEulerAngles = Vector3.zero; + this.Rival.OsanaHair.transform.localPosition = Vector3.zero; + this.Rival.OsanaHair.transform.localScale = new Vector3(1f, 1f, 1f); + this.Rival.OsanaHairL.enabled = false; + this.Rival.OsanaHairR.enabled = false; + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Rival.Pathfinding.speed = 0f; + this.Phase++; + } + else + { + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Pathfinding.speed = 1f; + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + } + } + else if (this.Phase == 4) + { + this.Timer += Time.deltaTime; + if (this.Timer > 5.53333f) + { + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[2]); + this.Rival.OsanaHair.GetComponent().CrossFade("Hair_" + this.EventAnim[2]); + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 5) + { + this.Timer += Time.deltaTime; + if (this.Timer > 10f) + { + AudioClipPlayer.Play(this.SpeechClip[2], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[2]; + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[3]); + this.Rival.OsanaHair.GetComponent().CrossFade("Hair_" + this.EventAnim[3]); + this.Rival.Ragdoll.Zs.SetActive(true); + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 6) + { + if (!this.Murdering) + { + this.Timer += Time.deltaTime; + if (this.Clock.HourTime > 13.375f) + { + AudioClipPlayer.Play(this.SpeechClip[3], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[3]; + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[2]); + this.Rival.OsanaHair.GetComponent().CrossFade("Hair_" + this.EventAnim[2]); + this.Prompt.Hide(); + this.Prompt.gameObject.SetActive(false); + this.Rival.Ragdoll.Zs.SetActive(false); + this.Timer = 0f; + this.Phase++; + } + } + } + else if (this.Phase == 7) + { + this.Timer += Time.deltaTime; + if (this.Timer > 5f) + { + AudioClipPlayer.Play(this.SpeechClip[4], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[4]; + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[4]); + this.Rival.OsanaHair.GetComponent().CrossFade("Hair_" + this.EventAnim[4]); + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 8) + { + this.Timer += Time.deltaTime; + if (this.Timer > 4.33333f) + { + this.Rival.OsanaHair.GetComponent().Stop(); + this.Rival.OsanaHair.transform.parent = this.Rival.Head; + this.Rival.OsanaHair.transform.localEulerAngles = Vector3.zero; + this.Rival.OsanaHair.transform.localPosition = new Vector3(0f, -1.442789f, 0.01900469f); + this.Rival.OsanaHair.transform.localScale = new Vector3(1f, 1f, 1f); + this.Rival.OsanaHairL.enabled = true; + this.Rival.OsanaHairR.enabled = true; + this.Rival.Pathfinding.target = this.StudentManager.FemaleStripSpot; + this.Rival.CurrentDestination = this.StudentManager.FemaleStripSpot; + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + if (this.Friend != null) + { + ScheduleBlock scheduleBlock2 = this.Friend.ScheduleBlocks[this.Friend.Phase]; + scheduleBlock2.destination = "Follow"; + scheduleBlock2.action = "Follow"; + this.Friend.GetDestinations(); + this.Friend.CurrentDestination = this.Friend.FollowTarget.transform; + this.Friend.Pathfinding.target = this.Friend.FollowTarget.transform; + this.Friend.Pathfinding.canSearch = true; + this.Friend.Pathfinding.canMove = true; + } + this.Phase++; + } + } + else if (this.Phase == 9) + { + if (this.Rival.DistanceToDestination < 0.5f) + { + if (this.StudentManager.CommunalLocker.Student == null) + { + this.Rival.StudentManager.CommunalLocker.Open = true; + this.Rival.StudentManager.CommunalLocker.Student = this.Rival; + this.Rival.StudentManager.CommunalLocker.SpawnSteam(); + this.Rival.Schoolwear = 1; + if (this.Friend != null) + { + this.StudentManager.CommunalLocker.SpawnSteamNoSideEffects(this.Friend); + } + this.Phase++; + } + else + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.IdleAnim); + } + } + } + else if (this.Phase == 10 && !this.Rival.StudentManager.CommunalLocker.SteamCountdown) + { + this.Rival.StudentManager.CommunalLocker.Student = null; + this.EndEvent(); + } + if (this.Phase == 6) + { + if (this.Yandere.PickUp != null) + { + this.Prompt.enabled = this.Yandere.PickUp.Weight; + } + else + { + this.Prompt.enabled = false; + } + } + if (this.Prompt.Circle[0].fillAmount == 0f) + { + this.Prompt.Hide(); + this.Prompt.gameObject.SetActive(false); + this.Murdering = true; + this.Rival.Blind = true; + this.Yandere.CanMove = false; + this.Rival.Ragdoll.Zs.SetActive(false); + this.Yandere.MurderousActionTimer = 999f; + this.Yandere.CharacterAnimation.CrossFade("f02_" + this.EventAnim[5]); + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[6]); + this.Rival.OsanaHair.GetComponent().CrossFade("Hair_" + this.EventAnim[6]); + } + if (this.Murdering) + { + this.Yandere.MoveTowardsTarget(this.Location[2].position); + this.Yandere.transform.rotation = Quaternion.Slerp(this.Yandere.transform.rotation, this.Location[2].rotation, Time.deltaTime * 10f); + if (this.Yandere.CharacterAnimation["f02_" + this.EventAnim[5]].time > 1f && this.Weight.transform.parent != this.Location[3]) + { + this.Yandere.EmptyHands(); + this.Weight.transform.parent = this.Location[3]; + this.Weight.transform.localPosition = Vector3.zero; + this.Weight.transform.localEulerAngles = Vector3.zero; + this.Weight.GetComponent().Play("Weight_" + this.EventAnim[5]); + this.Weight.GetComponent()["Weight_" + this.EventAnim[5]].time = this.Yandere.CharacterAnimation["f02_" + this.EventAnim[5]].time; + } + if (this.MurderPhase == 1) + { + if (this.Yandere.CharacterAnimation["f02_" + this.EventAnim[5]].time > 10f) + { + this.Rival.SpawnAlarmDisc(); + AudioClipPlayer.Play(this.SpeechClip[5], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[5]; + this.MurderPhase++; + } + } + else if (this.MurderPhase == 2) + { + if (this.Yandere.CharacterAnimation["f02_" + this.EventAnim[5]].time > 14.5f) + { + GameObject gameObject = UnityEngine.Object.Instantiate(this.BigSplash, this.Location[4].position, Quaternion.identity); + gameObject.transform.eulerAngles = new Vector3(-90f, gameObject.transform.eulerAngles.y, gameObject.transform.eulerAngles.z); + this.MurderPhase++; + } + } + else if (this.MurderPhase == 3 && this.Yandere.CharacterAnimation["f02_" + this.EventAnim[5]].time > 14.833333f) + { + GameObject gameObject2 = UnityEngine.Object.Instantiate(this.BigSplash, this.Location[4].position, Quaternion.identity); + gameObject2.transform.eulerAngles = new Vector3(-90f, gameObject2.transform.eulerAngles.y, gameObject2.transform.eulerAngles.z); + this.MurderPhase++; + } + if (this.Yandere.CharacterAnimation["f02_" + this.EventAnim[5]].time > this.Yandere.CharacterAnimation["f02_" + this.EventAnim[5]].length) + { + this.Yandere.MurderousActionTimer = 0f; + this.Yandere.CanMove = true; + this.Murdering = false; + this.Rival.BecomeRagdoll(); + this.Rival.DeathType = DeathType.Drowning; + } + } + if (this.Clock.HourTime > 13.5f) + { + this.EndEvent(); + } + if (this.Rival.Alarmed) + { + this.EndEvent(); + } + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Rival.transform.position); + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + if (this.VoiceClip == null) + { + this.EventSubtitle.text = string.Empty; + } + } + + public void EndEvent() + { + Debug.Log("Osana's pool event has ended."); + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (!this.Rival.Alarmed) + { + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.Ragdoll.Zs.SetActive(false); + this.Rival.Obstacle.enabled = false; + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Rival.OsanaHair.GetComponent().Stop(); + this.Rival.OsanaHair.transform.parent = this.Rival.Head; + this.Rival.OsanaHair.transform.localEulerAngles = Vector3.zero; + this.Rival.OsanaHair.transform.localPosition = new Vector3(0f, -1.442789f, 0.01900469f); + this.Rival.OsanaHair.transform.localScale = new Vector3(1f, 1f, 1f); + this.Rival.OsanaHairL.enabled = true; + this.Rival.OsanaHairR.enabled = true; + this.Rival.Schoolwear = 1; + this.Rival.ChangeSchoolwear(); + if (this.Friend != null) + { + ScheduleBlock scheduleBlock = this.Friend.ScheduleBlocks[this.Friend.Phase]; + scheduleBlock.destination = "Follow"; + scheduleBlock.action = "Follow"; + this.Friend.GetDestinations(); + if (this.Friend.FollowTarget != null) + { + this.Friend.CurrentDestination = this.Friend.FollowTarget.transform; + this.Friend.Pathfinding.target = this.Friend.FollowTarget.transform; + } + this.Friend.Pathfinding.canSearch = true; + this.Friend.Pathfinding.canMove = true; + } + this.EventSubtitle.text = string.Empty; + base.enabled = false; + this.Jukebox.Dip = 1f; + } + + public StudentManagerScript StudentManager; + + public JukeboxScript Jukebox; + + public UILabel EventSubtitle; + + public YandereScript Yandere; + + public PromptScript Prompt; + + public ClockScript Clock; + + public StudentScript Friend; + + public StudentScript Rival; + + public Transform[] Location; + + public AudioClip[] SpeechClip; + + public string[] SpeechText; + + public string[] EventAnim; + + public GameObject AlarmDisc; + + public GameObject BigSplash; + + public GameObject VoiceClip; + + public GameObject Weight; + + public bool Murdering; + + public float Distance; + + public float Scale; + + public float Timer; + + public DayOfWeek EventDay; + + public int MurderPhase = 1; + + public int FriendID = 10; + + public int RivalID = 11; + + public int Phase; + + public int Frame; } diff --git a/OsanaReleaseDateScript.cs b/OsanaReleaseDateScript.cs new file mode 100644 index 0000000..cf812b4 --- /dev/null +++ b/OsanaReleaseDateScript.cs @@ -0,0 +1,80 @@ +using System; +using UnityEngine; + +public class OsanaReleaseDateScript : MonoBehaviour +{ + private void Start() + { + Time.timeScale = 1f; + foreach (UISprite uisprite in this.BlackRectangles) + { + if (uisprite != null) + { + uisprite.alpha = 1f; + } + } + } + + private void Update() + { + if (UnityEngine.Input.GetKeyDown("-")) + { + Time.timeScale -= 1f; + } + if (UnityEngine.Input.GetKeyDown("=")) + { + Time.timeScale += 1f; + } + if (this.ChooseRectangle) + { + if (this.LettersRevealed < 33) + { + this.RandomID = UnityEngine.Random.Range(1, this.BlackRectangles.Length); + for (;;) + { + if (this.BlackRectangles[this.RandomID].alpha != 0f) + { + if (this.RandomID <= 28) + { + break; + } + if (this.RandomID >= 34) + { + break; + } + } + this.RandomID = UnityEngine.Random.Range(1, this.BlackRectangles.Length); + } + } + else + { + this.RandomID = UnityEngine.Random.Range(28, 34); + while (this.BlackRectangles[this.RandomID].alpha == 0f) + { + this.RandomID = UnityEngine.Random.Range(1, this.BlackRectangles.Length); + } + } + this.ChooseRectangle = false; + return; + } + this.BlackRectangles[this.RandomID].alpha = Mathf.MoveTowards(this.BlackRectangles[this.RandomID].alpha, 0f, Time.deltaTime * 0.6333333f); + if (this.BlackRectangles[this.RandomID].alpha == 0f) + { + this.LettersRevealed++; + if (this.LettersRevealed < 38) + { + this.ChooseRectangle = true; + return; + } + base.enabled = false; + } + } + + public UISprite[] BlackRectangles; + + public bool ChooseRectangle = true; + + public int LettersRevealed; + + public int RandomID; +} diff --git a/OsanaThursdayAfterClassEventScript.cs b/OsanaThursdayAfterClassEventScript.cs index f52ecba..5c1adc6 100644 --- a/OsanaThursdayAfterClassEventScript.cs +++ b/OsanaThursdayAfterClassEventScript.cs @@ -3,6 +3,275 @@ using UnityEngine; public class OsanaThursdayAfterClassEventScript : MonoBehaviour { + private void Start() + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (DateGlobals.Weekday != this.EventDay) + { + base.enabled = false; + } + } + + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0 && this.StudentManager.Students[this.RivalID] != null) + { + if (this.Rival == null) + { + this.Rival = this.StudentManager.Students[this.RivalID]; + } + if (this.StudentManager.Students[this.FriendID] != null && !PlayerGlobals.RaibaruLoner) + { + this.Friend = this.StudentManager.Students[this.FriendID]; + } + if (this.Clock.Period == 6 && this.Rival.enabled && !this.Rival.InEvent && !this.Rival.Phoneless) + { + Debug.Log("Osana's Thursday after class event has begun."); + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.Play(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location; + this.Rival.CurrentDestination = this.Location; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = false; + this.Rival.InEvent = true; + this.Rival.Prompt.Label[0].text = " Talk"; + this.Rival.Scrubber.SetActive(false); + this.Rival.Eraser.SetActive(false); + this.Phase++; + } + } + this.Frame++; + return; + } + if (this.Phase == 1) + { + if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) + { + this.Yandere.transform.position = this.Location.position + new Vector3(2f, 0f, 2f); + this.Rival.transform.position = this.Location.position + new Vector3(1f, 0f, 1f); + } + if (this.Rival.DistanceToDestination < 0.5f) + { + AudioClipPlayer.Play(this.SpeechClip[1], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade(this.EventAnim[1]); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Rival.Obstacle.enabled = true; + this.Phase++; + if (this.Friend != null) + { + ScheduleBlock scheduleBlock = this.Friend.ScheduleBlocks[7]; + scheduleBlock.destination = "Sketch"; + scheduleBlock.action = "Sketch"; + this.Friend.GetDestinations(); + this.Friend.SketchPosition = this.FriendLocation; + this.Friend.CurrentDestination = this.Friend.SketchPosition; + this.Friend.Pathfinding.target = this.Friend.SketchPosition; + this.Friend.Restless = true; + } + } + } + else if (this.Phase == 2) + { + this.Rival.transform.position = Vector3.Lerp(this.Rival.transform.position, this.Rival.CurrentDestination.position, 10f * Time.deltaTime); + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.Rival.CurrentDestination.rotation, 10f * Time.deltaTime); + if ((double)this.Rival.CharacterAnimation[this.EventAnim[1]].time >= 3.2) + { + this.EventSubtitle.text = this.SpeechText[1]; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 3) + { + if (this.Rival.CharacterAnimation[this.EventAnim[1]].time >= 6f) + { + this.Rival.SmartPhoneScreen.enabled = true; + this.Rival.SmartPhone.SetActive(true); + this.Phase++; + } + } + else if (this.Phase == 4) + { + if ((double)this.Rival.CharacterAnimation[this.EventAnim[1]].time >= 13.33333) + { + this.OriginalPosition = this.Rival.SmartPhone.transform.localPosition; + this.OriginalRotation = this.Rival.SmartPhone.transform.localEulerAngles; + this.Rival.SmartPhone.transform.parent = null; + this.Rival.SmartPhone.transform.position = new Vector3(0.5f, 12.5042f, -29.365f); + this.Rival.SmartPhone.transform.eulerAngles = new Vector3(0f, 180f, 180f); + this.Phase++; + } + } + else if (this.Phase == 5) + { + if (this.Rival.CharacterAnimation[this.EventAnim[1]].time >= this.Rival.CharacterAnimation[this.EventAnim[1]].length) + { + this.Rival.CharacterAnimation.Play(this.EventAnim[2]); + this.PhoneMinigame.Prompt.enabled = true; + this.Rival.Ragdoll.Zs.SetActive(true); + this.EventSubtitle.text = ""; + this.Rival.Distracted = true; + this.Phase++; + this.StudentManager.UpdateMe(this.RivalID); + } + } + else if (this.Phase == 6) + { + if (!this.Sabotaged && !this.PhoneMinigame.Tampering) + { + if (this.Friend != null && !this.FriendWarned) + { + if (this.FriendWarningTimer == 0f) + { + if (Vector3.Distance(this.Yandere.transform.position, this.Friend.transform.position) < 5f) + { + AudioClipPlayer.Play(this.SpeechClip[3], this.Friend.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[3]; + this.FriendWarningTimer += Time.deltaTime; + } + } + else + { + this.FriendWarningTimer += Time.deltaTime; + if (this.FriendWarningTimer > 5f) + { + this.FriendWarned = true; + } + } + } + if ((double)this.Clock.HourTime > 17.2) + { + AudioClipPlayer.Play(this.SpeechClip[2], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade(this.EventAnim[3]); + this.Rival.Ragdoll.Zs.SetActive(false); + this.Rival.Hurry = true; + this.Phase++; + this.PhoneMinigame.Prompt.enabled = false; + this.PhoneMinigame.Prompt.Hide(); + } + } + } + else if (this.Phase == 7) + { + if ((double)this.Rival.CharacterAnimation[this.EventAnim[3]].time >= 2.5) + { + this.Rival.SmartPhone.transform.parent = this.Rival.ItemParent; + this.Rival.SmartPhone.transform.localPosition = this.OriginalPosition; + this.Rival.SmartPhone.transform.localEulerAngles = this.OriginalRotation; + this.Phase++; + } + } + else if (this.Phase == 8) + { + if ((double)this.Rival.CharacterAnimation[this.EventAnim[3]].time >= 3.5) + { + this.Rival.SmartPhone.SetActive(false); + this.Phase++; + } + } + else if (this.Phase == 9) + { + if ((double)this.Rival.CharacterAnimation[this.EventAnim[3]].time >= 4.65) + { + this.EventSubtitle.text = this.SpeechText[2]; + this.Phase++; + } + } + else if (this.Phase == 10 && this.Rival.CharacterAnimation[this.EventAnim[3]].time >= this.Rival.CharacterAnimation[this.EventAnim[3]].length) + { + this.EndEvent(); + } + if (this.Rival.Alarmed) + { + this.EndEvent(); + } + if (!this.Sabotaged) + { + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Rival.transform.position); + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + if (this.VoiceClip == null) + { + this.EventSubtitle.text = string.Empty; + } + } + } + + private void EndEvent() + { + Debug.Log("Osana's Thursday after class event has ended."); + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (!this.Rival.Alarmed) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.DistanceToDestination = 100f; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.SmartPhoneScreen.enabled = false; + this.Rival.Ragdoll.Zs.SetActive(false); + this.Rival.Obstacle.enabled = false; + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + this.Rival.SmartPhone.transform.parent = this.Rival.ItemParent; + this.Rival.SmartPhone.transform.localPosition = this.OriginalPosition; + this.Rival.SmartPhone.transform.localEulerAngles = this.OriginalRotation; + if (this.Friend != null) + { + ScheduleBlock scheduleBlock = this.Friend.ScheduleBlocks[7]; + scheduleBlock.destination = "Follow"; + scheduleBlock.action = "Follow"; + this.Friend.GetDestinations(); + this.Friend.CurrentDestination = this.Friend.FollowTarget.transform; + this.Friend.Pathfinding.target = this.Friend.FollowTarget.transform; + this.Friend.Restless = false; + this.Friend.EmptyHands(); + } + this.PhoneMinigame.Prompt.enabled = false; + this.PhoneMinigame.Prompt.Hide(); + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Jukebox.Dip = 1f; + this.EventSubtitle.text = string.Empty; + base.enabled = false; + } + public StudentManagerScript StudentManager; public PhoneMinigameScript PhoneMinigame; diff --git a/OsanaTuesdayLunchEventScript.cs b/OsanaTuesdayLunchEventScript.cs index b73b9b3..4e83a32 100644 --- a/OsanaTuesdayLunchEventScript.cs +++ b/OsanaTuesdayLunchEventScript.cs @@ -3,4 +3,409 @@ using UnityEngine; public class OsanaTuesdayLunchEventScript : MonoBehaviour { + private void Start() + { + this.EventSubtitle.transform.localScale = Vector3.zero; + this.PushPrompt.gameObject.SetActive(false); + if (DateGlobals.Weekday != this.EventDay) + { + base.enabled = false; + } + } + + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0 && this.StudentManager.Students[this.RivalID] != null && this.StudentManager.Students[this.RivalID].enabled && this.Clock.Period == 3) + { + Debug.Log("Osana's Tuesday lunchtime event has begun."); + this.Rival = this.StudentManager.Students[this.RivalID]; + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.Play(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location[1]; + this.Rival.CurrentDestination = this.Location[1]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = false; + this.Rival.InEvent = true; + this.Rival.EmptyHands(); + if (this.StudentManager.Students[this.FriendID] != null && !PlayerGlobals.RaibaruLoner) + { + this.Friend = this.StudentManager.Students[this.FriendID]; + this.StudentManager.Patrols.List[10].GetChild(0).localEulerAngles = new Vector3(0f, 180f, 0f); + this.StudentManager.Patrols.List[10].GetChild(1).localEulerAngles = new Vector3(0f, -135f, 0f); + this.StudentManager.Patrols.List[10].GetChild(2).localEulerAngles = new Vector3(0f, 180f, 0f); + this.StudentManager.Patrols.List[10].GetChild(3).localEulerAngles = new Vector3(0f, 135f, 0f); + ScheduleBlock scheduleBlock = this.Friend.ScheduleBlocks[4]; + scheduleBlock.destination = "Patrol"; + scheduleBlock.action = "Patrol"; + this.Friend.GetDestinations(); + } + this.Phase++; + } + this.Frame++; + return; + } + if (this.Phase == 1) + { + if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) + { + this.Yandere.transform.position = new Vector3(0f, 0.1f, -6f); + this.Rival.transform.position = new Vector3(0f, 0.1f, -5f); + } + if (this.Rival.DistanceToDestination < 0.5f) + { + AudioClipPlayer.Play(this.SpeechClip[1], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[1]); + this.Rival.AnimatedBook.GetComponent().CrossFade(this.EventAnim[1]); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Rival.Obstacle.enabled = true; + this.Phase++; + } + } + else if (this.Phase == 2) + { + if (this.Rival.CharacterAnimation["f02_" + this.EventAnim[1]].time >= 0.833333f) + { + this.Rival.AnimatedBook.SetActive(true); + } + if (this.Rival.CharacterAnimation["f02_" + this.EventAnim[1]].time >= 5f) + { + this.EventSubtitle.text = this.SpeechText[1]; + } + if (this.Rival.CharacterAnimation["f02_" + this.EventAnim[1]].time >= this.Rival.CharacterAnimation["f02_" + this.EventAnim[1]].length) + { + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[2]); + this.Rival.AnimatedBook.GetComponent().CrossFade(this.EventAnim[2]); + this.Phase++; + } + } + else if (this.Phase == 3) + { + this.Timer += Time.deltaTime; + if (this.Timer > 60f) + { + AudioClipPlayer.Play(this.SpeechClip[2], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[3]); + this.Rival.AnimatedBook.GetComponent().CrossFade(this.EventAnim[3]); + this.EventSubtitle.text = this.SpeechText[2]; + this.StretchPhase = 2; + this.Phase++; + } + } + else if (this.Phase == 4) + { + if (this.Rival.CharacterAnimation["f02_" + this.EventAnim[3]].time >= this.Rival.CharacterAnimation["f02_" + this.EventAnim[3]].length) + { + this.Rival.AnimatedBook.transform.parent = null; + this.PushPrompt.gameObject.SetActive(true); + this.PushPrompt.enabled = true; + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location[this.StretchPhase]; + this.Rival.CurrentDestination = this.Location[this.StretchPhase]; + this.Rival.DistanceToDestination = 100f; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Phase++; + } + } + else if (this.Phase == 5) + { + if (this.Rival.DistanceToDestination < 0.5f) + { + if (this.StretchPhase == 2) + { + AudioClipPlayer.Play(this.SpeechClip[3], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[3]; + } + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[4]); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Phase++; + } + } + else if (this.Phase == 6) + { + if (this.Rival.CharacterAnimation["f02_" + this.EventAnim[4]].time >= this.Rival.CharacterAnimation["f02_" + this.EventAnim[4]].length) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.StretchPhase++; + if (this.StretchPhase < 6) + { + this.Rival.Pathfinding.target = this.Location[this.StretchPhase]; + this.Rival.CurrentDestination = this.Location[this.StretchPhase]; + this.Rival.DistanceToDestination = 100f; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Phase--; + } + else + { + this.PushPrompt.gameObject.SetActive(false); + if (!this.Sabotaged) + { + this.Rival.Pathfinding.target = this.Location[1]; + this.Rival.CurrentDestination = this.Location[1]; + this.Rival.DistanceToDestination = 100f; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + } + else + { + this.Rival.Pathfinding.target = this.Location[7]; + this.Rival.CurrentDestination = this.Location[7]; + this.Rival.DistanceToDestination = 100f; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + if (this.Friend != null) + { + ScheduleBlock scheduleBlock2 = this.Friend.ScheduleBlocks[4]; + scheduleBlock2.destination = "Follow"; + scheduleBlock2.action = "Follow"; + ScheduleBlock scheduleBlock3 = this.Friend.ScheduleBlocks[6]; + scheduleBlock3.destination = "Follow"; + scheduleBlock3.action = "Follow"; + this.Friend.GetDestinations(); + } + } + this.Phase++; + } + } + } + else if (this.Phase == 7) + { + if (!this.Sabotaged) + { + if (this.Rival.DistanceToDestination < 0.5f) + { + AudioClipPlayer.Play(this.SpeechClip[4], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[5]); + this.Rival.AnimatedBook.GetComponent().CrossFade(this.EventAnim[5]); + this.EventSubtitle.text = this.SpeechText[4]; + this.Phase++; + } + } + else if (this.Rival.DistanceToDestination < 0.5f) + { + this.Rival.WalkAnim = "f02_sadWalk_00"; + this.Rival.SitAnim = "f02_sadDeskSit_00"; + AudioClipPlayer.Play(this.SpeechClip[6], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[8]); + this.Rival.AnimatedBook.GetComponent().CrossFade(this.EventAnim[8]); + this.EventSubtitle.text = this.SpeechText[6]; + this.Rival.Depressed = true; + this.Phase = 11; + } + } + else if (this.Phase == 8) + { + if (this.Rival.CharacterAnimation["f02_" + this.EventAnim[5]].time >= this.Rival.CharacterAnimation["f02_" + this.EventAnim[5]].length) + { + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[2]); + this.Rival.AnimatedBook.GetComponent().CrossFade(this.EventAnim[2]); + this.Phase++; + } + } + else if (this.Phase == 9) + { + if (this.Clock.HourTime > 13.375f) + { + AudioClipPlayer.Play(this.SpeechClip[5], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim[6]); + this.Rival.AnimatedBook.GetComponent().CrossFade(this.EventAnim[6]); + this.EventSubtitle.text = this.SpeechText[5]; + this.Phase++; + } + } + else if (this.Phase == 10) + { + if (this.Rival.AnimatedBook.activeInHierarchy && this.Rival.CharacterAnimation["f02_" + this.EventAnim[6]].time > 2f) + { + this.Rival.AnimatedBook.SetActive(false); + } + if (this.Rival.CharacterAnimation["f02_" + this.EventAnim[6]].time >= this.Rival.CharacterAnimation["f02_" + this.EventAnim[6]].length) + { + this.EndEvent(); + } + } + else if (this.Phase == 11) + { + if (this.Rival.AnimatedBook.activeInHierarchy && this.Rival.CharacterAnimation["f02_" + this.EventAnim[8]].time > 7f) + { + this.Rival.AnimatedBook.SetActive(false); + } + if (this.Rival.CharacterAnimation["f02_" + this.EventAnim[8]].time >= this.Rival.CharacterAnimation["f02_" + this.EventAnim[8]].length) + { + this.Rival.Destinations[4] = this.Location[8]; + if (this.Friend != null) + { + this.Friend.Destinations[4] = this.Location[9]; + this.StudentManager.LunchSpots.List[this.FriendID] = this.Location[9]; + } + this.EndEvent(); + } + } + if (this.PushPrompt.Circle[0].fillAmount == 0f) + { + this.PushPrompt.Hide(); + this.PushPrompt.gameObject.SetActive(false); + this.Sabotaging = true; + this.Yandere.CanMove = false; + this.Yandere.CharacterAnimation.CrossFade("f02_" + this.EventAnim[7]); + this.Rival.AnimatedBook.GetComponent().Play(this.EventAnim[7]); + this.Rival.AnimatedBook.transform.eulerAngles = new Vector3(this.Rival.AnimatedBook.transform.eulerAngles.x, 0f, this.Rival.AnimatedBook.transform.eulerAngles.z); + this.Rival.AnimatedBook.transform.position = new Vector3(this.Rival.AnimatedBook.transform.position.x, this.Rival.AnimatedBook.transform.position.y, -2.8f); + this.AfterClassEvent.Sabotaged = true; + } + if (this.Sabotaging) + { + this.Yandere.MoveTowardsTarget(this.Location[6].position); + this.Yandere.transform.rotation = Quaternion.Slerp(this.Yandere.transform.rotation, this.Location[6].rotation, Time.deltaTime * 10f); + if (this.Yandere.CharacterAnimation["f02_" + this.EventAnim[7]].time > 1.5f && this.Yandere.CharacterAnimation["f02_" + this.EventAnim[7]].time < 2f && !this.MyAudio.isPlaying) + { + this.MyAudio.Play(); + } + if (this.Yandere.CharacterAnimation["f02_" + this.EventAnim[7]].time > this.Yandere.CharacterAnimation["f02_" + this.EventAnim[7]].length) + { + this.Yandere.CanMove = true; + this.Sabotaging = false; + this.Sabotaged = true; + } + } + if (this.Clock.Period > 3) + { + this.EndEvent(); + } + if (this.Rival.Alarmed) + { + this.EndEvent(); + } + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Rival.transform.position); + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + if (this.VoiceClip == null) + { + this.EventSubtitle.text = string.Empty; + } + } + + private void EndEvent() + { + Debug.Log("Osana's Tuesday lunchtime event ended."); + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (!this.Rival.Alarmed) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.DistanceToDestination = 100f; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + if (this.Friend != null) + { + ScheduleBlock scheduleBlock = this.Friend.ScheduleBlocks[4]; + scheduleBlock.destination = "Follow"; + scheduleBlock.action = "Follow"; + this.Friend.GetDestinations(); + this.Friend.Pathfinding.target = this.Friend.FollowTarget.transform; + this.Friend.CurrentDestination = this.Friend.FollowTarget.transform; + Debug.Log("Raibaru was told to resume ''Follow'' protocol."); + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.AnimatedBook.SetActive(false); + this.Rival.Obstacle.enabled = false; + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Jukebox.Dip = 1f; + this.EventSubtitle.text = string.Empty; + base.enabled = false; + } + + public RivalAfterClassEventManagerScript AfterClassEvent; + + public StudentManagerScript StudentManager; + + public JukeboxScript Jukebox; + + public PromptScript PushPrompt; + + public UILabel EventSubtitle; + + public YandereScript Yandere; + + public ClockScript Clock; + + public StudentScript Friend; + + public StudentScript Rival; + + public Transform[] Location; + + public AudioSource MyAudio; + + public AudioClip[] SpeechClip; + + public string[] SpeechText; + + public string[] EventAnim; + + public GameObject AlarmDisc; + + public GameObject VoiceClip; + + public bool Sabotaging; + + public bool Sabotaged; + + public float Distance; + + public float Scale; + + public float Timer; + + public DayOfWeek EventDay; + + public int StretchPhase; + + public int FriendID = 10; + + public int RivalID = 11; + + public int Phase; + + public int Frame; } diff --git a/OsanaVendingMachineEventScript.cs b/OsanaVendingMachineEventScript.cs index f88e65c..21886f4 100644 --- a/OsanaVendingMachineEventScript.cs +++ b/OsanaVendingMachineEventScript.cs @@ -3,4 +3,262 @@ using UnityEngine; public class OsanaVendingMachineEventScript : MonoBehaviour { + private void Start() + { + this.EventSubtitle.transform.localScale = Vector3.zero; + } + + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0 && this.StudentManager.Students[this.RivalID] != null) + { + if (this.Rival == null) + { + this.Rival = this.StudentManager.Students[this.RivalID]; + } + if (this.Rival.enabled && this.Rival.SnackPhase == 1) + { + Debug.Log("Osana's vending machine event has begun."); + AudioClipPlayer.Play(this.SpeechClip[0], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[0]; + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.Play(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location; + this.Rival.CurrentDestination = this.Location; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.EatingSnack = false; + this.Rival.Routine = false; + this.Rival.InEvent = true; + this.Rival.EmptyHands(); + this.Phase++; + } + } + this.Frame++; + return; + } + if (this.Rival.DistanceToDestination < this.MinimumDistance) + { + this.Rival.MoveTowardsTarget(this.Location.position); + if (Quaternion.Angle(this.Rival.transform.rotation, this.Location.rotation) > 1f) + { + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.Location.rotation, 10f * Time.deltaTime); + } + } + if (this.Phase == 1) + { + if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) + { + this.Yandere.transform.position = this.Location.position + new Vector3(2f, 0f, 2f); + this.Rival.transform.position = this.Location.position + new Vector3(1f, 0f, 1f); + } + if (this.Rival.DistanceToDestination < 0.5f) + { + AudioClipPlayer.Play(this.SpeechClip[1], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[1]; + this.Rival.CharacterAnimation.CrossFade(this.EventAnim[1]); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Rival.Obstacle.enabled = true; + this.Phase++; + } + } + else if (this.Phase == 2) + { + if (this.Rival.CharacterAnimation[this.EventAnim[1]].time >= this.Rival.CharacterAnimation[this.EventAnim[1]].length) + { + this.Rival.CharacterAnimation[this.EventAnim[2]].time = 7f; + this.Rival.CharacterAnimation.CrossFade(this.EventAnim[2]); + this.Phase++; + } + } + else if (this.Phase == 3) + { + this.Timer += Time.deltaTime; + if (this.Timer > 5f) + { + AudioClipPlayer.Play(this.SpeechClip[3], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[3]; + this.Rival.CharacterAnimation[this.EventAnim[3]].time = 7f; + this.Rival.CharacterAnimation.CrossFade(this.EventAnim[3]); + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 4) + { + this.Timer += Time.deltaTime; + if (this.Timer > 5f) + { + AudioClipPlayer.Play(this.SpeechClip[4], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation[this.EventAnim[4]].speed = 0f; + this.Rival.CharacterAnimation.CrossFade(this.EventAnim[4]); + this.MinimumDistance = 1f; + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 5) + { + this.Timer += Time.deltaTime; + if (this.Timer > 0.5f) + { + this.Rival.CharacterAnimation[this.EventAnim[4]].speed = 1f; + this.OsanaVandalismCollider.SetActive(true); + } + else + { + this.Location.position = Vector3.MoveTowards(this.Location.position, new Vector3(-2f, 4f, -31.7f), Time.deltaTime * 5f); + } + if (this.Rival.CharacterAnimation[this.EventAnim[4]].time > this.Rival.CharacterAnimation[this.EventAnim[4]].length) + { + this.Rival.CharacterAnimation[this.EventAnim[4]].time = 0f; + } + if (this.Timer > 5.5f) + { + this.Rival.CharacterAnimation[this.EventAnim[4]].speed = 0f; + this.OsanaVandalismCollider.SetActive(false); + } + if (this.Timer > 6f) + { + AudioClipPlayer.Play(this.SpeechClip[5], this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText[5]; + this.Rival.CharacterAnimation[this.EventAnim[5]].time = 0f; + this.Rival.CharacterAnimation.CrossFade(this.EventAnim[5]); + this.Timer = 0f; + this.Phase++; + } + } + else if (this.Phase == 6) + { + this.Timer += Time.deltaTime; + if (this.Timer > 5f) + { + this.EndEvent(); + } + } + if (this.Clock.Period > this.StartPeriod) + { + this.EndEvent(); + } + if (this.Rival.Alarmed) + { + this.EndEvent(); + } + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Rival.transform.position); + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + if (this.VoiceClip == null) + { + this.EventSubtitle.text = string.Empty; + } + } + + private void EndEvent() + { + Debug.Log("Osana's vending machine event has ended."); + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (!this.Rival.Alarmed) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.DistanceToDestination = 100f; + this.Rival.CurrentDestination = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.target = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.Obstacle.enabled = false; + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.OsanaVandalismCollider.SetActive(false); + this.Jukebox.Dip = 1f; + this.EventSubtitle.text = string.Empty; + base.enabled = false; + } + + public StudentManagerScript StudentManager; + + public JukeboxScript Jukebox; + + public UILabel EventSubtitle; + + public YandereScript Yandere; + + public ClockScript Clock; + + public StudentScript Rival; + + public Transform Location; + + public AudioSource MyAudio; + + public AudioClip[] SpeechClip; + + public AudioClip Bang; + + public string[] SpeechText; + + public string[] EventAnim; + + public GameObject OsanaVandalismCollider; + + public GameObject AlarmDisc; + + public GameObject VoiceClip; + + public float MinimumDistance = 0.5f; + + public float Distance; + + public float Scale; + + public float Timer; + + public DayOfWeek EventDay; + + public int StartPeriod; + + public int RivalID = 11; + + public int Phase; + + public int Frame; + + public bool PlaySound; } diff --git a/OsanaWednesdayLunchEventScript.cs b/OsanaWednesdayLunchEventScript.cs index 207ff4e..e85f18d 100644 --- a/OsanaWednesdayLunchEventScript.cs +++ b/OsanaWednesdayLunchEventScript.cs @@ -3,4 +3,187 @@ using UnityEngine; public class OsanaWednesdayLunchEventScript : MonoBehaviour { + private void Start() + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (DateGlobals.Weekday != this.EventDay) + { + base.enabled = false; + } + } + + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0 && this.StudentManager.Students[this.RivalID] != null) + { + if (this.Rival == null) + { + this.Rival = this.StudentManager.Students[this.RivalID]; + } + if ((this.Clock.Period == 3 || this.Clock.Period == 6) && this.Rival.enabled && !this.Rival.InEvent && !this.Rival.Phoneless) + { + Debug.Log("Osana's Wednesday lunchtime event has begun."); + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.Play(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location; + this.Rival.CurrentDestination = this.Location; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = false; + this.Rival.InEvent = true; + this.Rival.EmptyHands(); + this.StartPeriod = this.Clock.Period; + this.Phase++; + } + } + this.Frame++; + return; + } + if (this.Phase == 1) + { + if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) + { + this.Yandere.transform.position = this.Location.position + new Vector3(2f, 0f, 2f); + this.Rival.transform.position = this.Location.position + new Vector3(1f, 0f, 1f); + } + if (this.Rival.DistanceToDestination < 0.5f) + { + AudioClipPlayer.Play(this.SpeechClip, this.Rival.transform.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.EventSubtitle.text = this.SpeechText; + this.Rival.CharacterAnimation.CrossFade("f02_" + this.EventAnim); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Rival.Obstacle.enabled = true; + this.Phase++; + } + } + else if (this.Phase == 2) + { + if ((double)this.Rival.CharacterAnimation["f02_" + this.EventAnim].time >= 1.33333) + { + this.Rival.SmartPhone.SetActive(true); + this.Phase++; + } + } + else if (this.Phase == 3) + { + if ((double)this.Rival.CharacterAnimation["f02_" + this.EventAnim].time >= 6.833333) + { + this.Rival.SmartPhone.SetActive(false); + this.Phase++; + } + } + else if (this.Phase == 4 && this.Rival.CharacterAnimation["f02_" + this.EventAnim].time >= this.Rival.CharacterAnimation["f02_" + this.EventAnim].length) + { + this.EndEvent(); + } + if (this.Clock.Period > this.StartPeriod) + { + this.EndEvent(); + } + if (this.Rival.Alarmed) + { + this.EndEvent(); + } + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Rival.transform.position); + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + if (this.VoiceClip == null) + { + this.EventSubtitle.text = string.Empty; + } + } + + private void EndEvent() + { + Debug.Log("Osana's Wednesday lunchtime event has ended."); + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (!this.Rival.Alarmed) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.DistanceToDestination = 100f; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.Obstacle.enabled = false; + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Jukebox.Dip = 1f; + this.EventSubtitle.text = string.Empty; + base.enabled = false; + } + + public StudentManagerScript StudentManager; + + public JukeboxScript Jukebox; + + public UILabel EventSubtitle; + + public YandereScript Yandere; + + public ClockScript Clock; + + public StudentScript Rival; + + public Transform Location; + + public AudioClip SpeechClip; + + public string SpeechText; + + public string EventAnim; + + public GameObject AlarmDisc; + + public GameObject VoiceClip; + + public float Distance; + + public float Scale; + + public DayOfWeek EventDay; + + public int StartPeriod; + + public int RivalID = 11; + + public int Phase; + + public int Frame; } diff --git a/PauseScreenScript.cs b/PauseScreenScript.cs index d92fc90..5f3a59d 100644 --- a/PauseScreenScript.cs +++ b/PauseScreenScript.cs @@ -28,11 +28,11 @@ public class PauseScreenScript : MonoBehaviour this.PhotoGallery.gameObject.SetActive(false); this.SaveLoadMenu.gameObject.SetActive(false); this.ServiceMenu.gameObject.SetActive(false); + this.NewSettings.gameObject.SetActive(false); this.AudioMenu.gameObject.SetActive(false); this.FavorMenu.gameObject.SetActive(false); this.Tutorials.gameObject.SetActive(false); this.PassTime.gameObject.SetActive(false); - this.Settings.gameObject.SetActive(false); this.TaskList.gameObject.SetActive(false); this.Stats.gameObject.SetActive(false); this.LoadingScreen.SetActive(false); @@ -41,19 +41,17 @@ public class PauseScreenScript : MonoBehaviour this.StudentInfo.SetActive(false); this.DropsMenu.SetActive(false); this.MainMenu.SetActive(true); - if (SceneManager.GetActiveScene().name == "SchoolScene") - { - this.Schemes.UpdateInstructions(); - } - else + if (!(SceneManager.GetActiveScene().name == "SchoolScene")) { this.MissionModeIcons.SetActive(false); UISprite uisprite = this.PhoneIcons[5]; uisprite.color = new Color(uisprite.color.r, uisprite.color.g, uisprite.color.b, 0.5f); - UISprite uisprite2 = this.PhoneIcons[9]; + UISprite uisprite2 = this.PhoneIcons[8]; uisprite2.color = new Color(uisprite2.color.r, uisprite2.color.g, uisprite2.color.b, 0.5f); - UISprite uisprite3 = this.PhoneIcons[11]; + UISprite uisprite3 = this.PhoneIcons[9]; uisprite3.color = new Color(uisprite3.color.r, uisprite3.color.g, uisprite3.color.b, 0.5f); + UISprite uisprite4 = this.PhoneIcons[11]; + uisprite4.color = new Color(uisprite4.color.r, uisprite4.color.g, uisprite4.color.b, 0.5f); if (this.NewMissionModeWindow != null) { this.NewMissionModeWindow.SetActive(false); @@ -61,12 +59,12 @@ public class PauseScreenScript : MonoBehaviour } if (MissionModeGlobals.MissionMode) { - UISprite uisprite4 = this.PhoneIcons[7]; - uisprite4.color = new Color(uisprite4.color.r, uisprite4.color.g, uisprite4.color.b, 0.5f); - UISprite uisprite5 = this.PhoneIcons[9]; + UISprite uisprite5 = this.PhoneIcons[7]; uisprite5.color = new Color(uisprite5.color.r, uisprite5.color.g, uisprite5.color.b, 0.5f); - UISprite uisprite6 = this.PhoneIcons[10]; - uisprite6.color = new Color(uisprite6.color.r, uisprite6.color.g, uisprite6.color.b, 1f); + UISprite uisprite6 = this.PhoneIcons[9]; + uisprite6.color = new Color(uisprite6.color.r, uisprite6.color.g, uisprite6.color.b, 0.5f); + UISprite uisprite7 = this.PhoneIcons[10]; + uisprite7.color = new Color(uisprite7.color.r, uisprite7.color.g, uisprite7.color.b, 1f); } this.UpdateSelection(); this.CorrectingTime = false; @@ -112,9 +110,8 @@ public class PauseScreenScript : MonoBehaviour { this.Yandere.StopAiming(); this.PromptParent.localScale = Vector3.zero; - this.Yandere.Obscurance.enabled = false; this.Yandere.YandereVision = false; - this.ScreenBlur.enabled = true; + this.Yandere.Blur.enabled = true; this.Yandere.YandereTimer = 0f; this.Yandere.Mopping = false; this.Panel.enabled = true; @@ -218,13 +215,13 @@ public class PauseScreenScript : MonoBehaviour } else if (!this.Sideways) { - if (!this.Settings.gameObject.activeInHierarchy) + if (!this.NewSettings.gameObject.activeInHierarchy) { base.transform.localPosition = Vector3.Lerp(base.transform.localPosition, new Vector3(0f, 50f, 0f), this.Speed); } else { - base.transform.localPosition = Vector3.Lerp(base.transform.localPosition, new Vector3(-762.5f, 50f, 0f), this.Speed); + base.transform.localPosition = Vector3.Lerp(base.transform.localPosition, new Vector3(1320f, 0f, 0f), this.Speed); } base.transform.localScale = Vector3.Lerp(base.transform.localScale, new Vector3(0.9133334f, 0.9133334f, 0.9133334f), this.Speed); base.transform.localEulerAngles = new Vector3(base.transform.localEulerAngles.x, base.transform.localEulerAngles.y, Mathf.Lerp(base.transform.localEulerAngles.z, 0f, this.Speed)); @@ -382,19 +379,17 @@ public class PauseScreenScript : MonoBehaviour } else if (this.Selected == 8) { - this.Settings.gameObject.SetActive(true); - if (this.ScreenBlur != null) + this.NewSettings.gameObject.SetActive(true); + if (this.Yandere.Blur != null) { - this.ScreenBlur.enabled = false; + this.Yandere.Blur.enabled = false; } - this.Settings.UpdateText(); + this.NewSettings.NewTitleScreen.Speed = 3f; + this.NewSettings.enabled = true; + this.NewSettings.Cursor.alpha = 0f; + this.NewSettings.Selection = 1; + this.NewSettings.UpdateLabels(); this.MainMenu.SetActive(false); - this.PromptBar.ClearButtons(); - this.PromptBar.Label[1].text = "Back"; - this.PromptBar.Label[4].text = "Choose"; - this.PromptBar.Label[5].text = "Change"; - this.PromptBar.UpdateButtons(); - this.PromptBar.Show = true; } else if (this.Selected == 9) { @@ -503,7 +498,7 @@ public class PauseScreenScript : MonoBehaviour this.Yandere.PickUp.Drop(); } this.Yandere.Unequip(); - this.ScreenBlur.enabled = false; + this.Yandere.Blur.enabled = false; this.RPGCamera.enabled = true; this.PassTime.gameObject.SetActive(false); this.MainMenu.SetActive(true); @@ -556,7 +551,7 @@ public class PauseScreenScript : MonoBehaviour { if (UnityEngine.Input.GetButtonDown("A")) { - SceneManager.LoadScene("TitleScene"); + SceneManager.LoadScene("NewTitleScene"); } else if (UnityEngine.Input.GetButtonDown("B")) { @@ -595,7 +590,7 @@ public class PauseScreenScript : MonoBehaviour this.RPGCamera.enabled = false; this.Yandere.StopAiming(); } - this.ScreenBlur.enabled = true; + this.Yandere.Blur.enabled = true; this.Panel.enabled = true; this.BypassPhone = true; this.Quitting = true; @@ -608,7 +603,7 @@ public class PauseScreenScript : MonoBehaviour if (!this.Home) { this.PromptParent.localScale = new Vector3(1f, 1f, 1f); - this.ScreenBlur.enabled = false; + this.Yandere.Blur.enabled = false; this.CorrectingTime = true; if (!this.Yandere.Talking && !this.Yandere.Dismembering) { @@ -695,6 +690,8 @@ public class PauseScreenScript : MonoBehaviour public MissionModeScript MissionMode; + public NewSettingsScript NewSettings; + public HomeCameraScript HomeCamera; public ServicesScript ServiceMenu; @@ -709,8 +706,6 @@ public class PauseScreenScript : MonoBehaviour public PassTimeScript PassTime; - public SettingsScript Settings; - public TaskListScript TaskList; public SchemesScript Schemes; @@ -725,8 +720,6 @@ public class PauseScreenScript : MonoBehaviour public StatsScript Stats; - public Blur ScreenBlur; - public MapScript Map; public UILabel SelectionLabel; diff --git a/PhoneEventScript.cs b/PhoneEventScript.cs index 7f12f03..fcbd7eb 100644 --- a/PhoneEventScript.cs +++ b/PhoneEventScript.cs @@ -14,18 +14,10 @@ public class PhoneEventScript : MonoBehaviour { base.enabled = false; } - if (this.EventStudentID == 11) - { - base.enabled = false; - } } private void OnAwake() { - if (this.EventStudentID == 11) - { - base.enabled = false; - } } private void Update() @@ -38,56 +30,68 @@ public class PhoneEventScript : MonoBehaviour } else if (this.Clock.HourTime > this.EventTime) { - this.EventStudent = this.StudentManager.Students[this.EventStudentID]; - if (this.EventStudent != null && !this.EventStudent.InEvent && this.EventStudent.DistanceToDestination < 1f && !this.StudentManager.CommunalLocker.RivalPhone.Stolen) + if (this.EventStudent == null) + { + this.EventStudent = this.StudentManager.Students[this.EventStudentID]; + } + if (this.EventStudent != null && !this.EventStudent.InEvent && !this.EventStudent.Meeting && this.EventStudent.DistanceToDestination < 1f && !this.EventStudent.Phoneless) { - this.EventStudent.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; - if (this.EventStudentID == 11) + this.Timer += Time.deltaTime; + if (this.Timer > 1f) { - this.EventFriend = this.StudentManager.Students[this.EventFriendID]; - if (this.EventFriend != null && this.EventFriend.CurrentAction == StudentActionType.Follow) + if (this.OsanaClubEvent != null) { - this.EventFriend.CharacterAnimation.CrossFade(this.EventFriend.IdleAnim); - this.EventFriend.Pathfinding.canSearch = false; - this.EventFriend.Pathfinding.canMove = false; - this.EventFriend.TargetDistance = 0.5f; - this.EventFriend.SpeechLines.Stop(); - this.EventFriend.PhoneEvent = this; - this.EventFriend.CanTalk = false; - this.EventFriend.Routine = false; - this.EventFriend.InEvent = true; - this.EventFriend.Prompt.Hide(); + Debug.Log("Osana's Monday morning phone event has begun."); } - } - if (this.EventStudent.Routine && !this.EventStudent.Distracted && !this.EventStudent.Talking && !this.EventStudent.Meeting && !this.EventStudent.Investigating && this.EventStudent.Indoors) - { - if (!this.EventStudent.WitnessedMurder) + this.EventStudent.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + if (this.EventStudentID == 11) { - this.EventStudent.CurrentDestination = this.EventStudent.Destinations[this.EventStudent.Phase]; - this.EventStudent.Pathfinding.target = this.EventStudent.Destinations[this.EventStudent.Phase]; - this.EventStudent.Obstacle.checkTime = 99f; - this.EventStudent.SpeechLines.Stop(); - this.EventStudent.PhoneEvent = this; - this.EventStudent.CanTalk = false; - this.EventStudent.InEvent = true; - this.EventStudent.Prompt.Hide(); - this.EventCheck = false; - this.EventActive = true; - if (this.EventStudent.Following) + this.EventFriend = this.StudentManager.Students[this.EventFriendID]; + if (this.EventFriend != null && this.EventFriend.CurrentAction == StudentActionType.Follow) { - this.EventStudent.Pathfinding.canMove = true; - this.EventStudent.Pathfinding.speed = 1f; - this.EventStudent.Following = false; - this.EventStudent.Routine = true; - this.Yandere.Follower = null; - this.Yandere.Followers--; - this.EventStudent.Subtitle.UpdateLabel(SubtitleType.StopFollowApology, 0, 3f); - this.EventStudent.Prompt.Label[0].text = " Talk"; + this.EventFriend.CharacterAnimation.CrossFade(this.EventFriend.IdleAnim); + this.EventFriend.Pathfinding.canSearch = false; + this.EventFriend.Pathfinding.canMove = false; + this.EventFriend.TargetDistance = 0.5f; + this.EventFriend.SpeechLines.Stop(); + this.EventFriend.PhoneEvent = this; + this.EventFriend.CanTalk = false; + this.EventFriend.Routine = false; + this.EventFriend.InEvent = true; + this.EventFriend.Prompt.Hide(); } } - else + if (this.EventStudent.enabled && this.EventStudent.Routine && !this.EventStudent.Distracted && !this.EventStudent.Talking && !this.EventStudent.Meeting && !this.EventStudent.Investigating && this.EventStudent.Indoors) { - base.enabled = false; + if (!this.EventStudent.WitnessedMurder) + { + this.EventStudent.CurrentDestination = this.EventStudent.Destinations[this.EventStudent.Phase]; + this.EventStudent.Pathfinding.target = this.EventStudent.Destinations[this.EventStudent.Phase]; + this.EventStudent.Obstacle.checkTime = 99f; + this.EventStudent.SpeechLines.Stop(); + this.EventStudent.PhoneEvent = this; + this.EventStudent.CanTalk = false; + this.EventStudent.InEvent = true; + this.EventStudent.Prompt.Hide(); + this.EventCheck = false; + this.EventActive = true; + this.Timer = 0f; + if (this.EventStudent.Following) + { + this.EventStudent.Pathfinding.canMove = true; + this.EventStudent.Pathfinding.speed = 1f; + this.EventStudent.Following = false; + this.EventStudent.Routine = true; + this.Yandere.Follower = null; + this.Yandere.Followers--; + this.EventStudent.Subtitle.UpdateLabel(SubtitleType.StopFollowApology, 0, 3f); + this.EventStudent.Prompt.Label[0].text = " Talk"; + } + } + else + { + base.enabled = false; + } } } } diff --git a/PhoneScript.cs b/PhoneScript.cs index 3792af9..c2ee766 100644 --- a/PhoneScript.cs +++ b/PhoneScript.cs @@ -38,6 +38,7 @@ public class PhoneScript : MonoBehaviour this.Speaker = this.OsanaMessages.OsanaSpeakers; this.Text = this.OsanaMessages.OsanaTexts; this.Height = this.OsanaMessages.OsanaHeights; + EventGlobals.OsanaConversation = true; EventGlobals.LivingRoom = true; } else @@ -167,14 +168,23 @@ public class PhoneScript : MonoBehaviour { if (DateGlobals.Week == 2) { + GameGlobals.TransitionToPostCredits = true; SceneManager.LoadScene("CreditsScene"); } else if (DateGlobals.Weekday == DayOfWeek.Sunday) { - SceneManager.LoadScene("OsanaWarningScene"); + if (DateGlobals.PassDays < 1) + { + DateGlobals.PassDays = 1; + } + SceneManager.LoadScene("CalendarScene"); } else if (!EventGlobals.BefriendConversation && !EventGlobals.LivingRoom) { + if (DateGlobals.PassDays < 1) + { + DateGlobals.PassDays = 1; + } SceneManager.LoadScene("CalendarScene"); } else if (EventGlobals.LivingRoom) diff --git a/PoliceScript.cs b/PoliceScript.cs index c9d6ef1..2a66332 100644 --- a/PoliceScript.cs +++ b/PoliceScript.cs @@ -366,7 +366,7 @@ public class PoliceScript : MonoBehaviour this.LowRep = true; return; } - if (true && DateGlobals.Weekday == DayOfWeek.Friday) + if (false && DateGlobals.Weekday == DayOfWeek.Friday) { this.ResultsLabels[0].text = "This is the part where the game will determine whether or not the player has eliminated their rival."; this.ResultsLabels[1].text = "This game is still in development."; @@ -520,7 +520,7 @@ public class PoliceScript : MonoBehaviour { if (!this.StudentManager.RivalEliminated) { - this.ResultsLabels[0].text = "Ayano has failed to eliminate Osana before Friday evening."; + this.ResultsLabels[0].text = "It is 6:00 PM on Friday."; this.ResultsLabels[1].text = "Osana asks Senpai to meet her under the cherry tree behind the school."; this.ResultsLabels[2].text = "As cherry blossoms fall around them..."; this.ResultsLabels[3].text = "...Osana confesses her feelings for Senpai."; @@ -898,6 +898,8 @@ public class PoliceScript : MonoBehaviour public bool ShowResults; + public bool SuicideNote; + public bool GameOver; public bool DayOver; @@ -934,6 +936,8 @@ public class PoliceScript : MonoBehaviour public int BodyParts; + public int SuicideID; + public int Witnesses; public int Corpses; diff --git a/PortalScript.cs b/PortalScript.cs index e7d7a0c..51584fb 100644 --- a/PortalScript.cs +++ b/PortalScript.cs @@ -360,10 +360,41 @@ public class PortalScript : MonoBehaviour this.MorningEvents[i].EndEvent(); } } + for (int i = 0; i < this.FriendEvents.Length; i++) + { + if (this.FriendEvents[i].enabled) + { + this.FriendEvents[i].EndEvent(); + } + } + if (this.OsanaEvent.enabled) + { + this.OsanaEvent.EndEvent(); + } + if (this.OsanaClubEvent.enabled) + { + this.OsanaClubEvent.EndEvent(); + } + if (this.OsanaFridayEvent1.enabled) + { + this.OsanaFridayEvent1.EndEvent(); + } + if (this.OsanaFridayEvent2.enabled) + { + this.OsanaFridayEvent2.EndEvent(); + } } public void EndLaterEvents() { + if (this.OsanaPoolEvent.Phase > 0) + { + this.OsanaPoolEvent.EndEvent(); + } + if (this.OsanaFridayLunchEvent.enabled) + { + this.OsanaFridayLunchEvent.EndEvent(); + } } public RivalMorningEventManagerScript[] MorningEvents; diff --git a/PoseModeScript.cs b/PoseModeScript.cs index cced550..042807d 100644 --- a/PoseModeScript.cs +++ b/PoseModeScript.cs @@ -302,10 +302,6 @@ public class PoseModeScript : MonoBehaviour { this.Student.Cosmetic.Direction = 1; this.Student.Cosmetic.Hairstyle++; - if (this.Student.Cosmetic.Hairstyle == 20) - { - this.Student.Cosmetic.Hairstyle += 2; - } if (!this.Student.Male) { if (!this.Student.Teacher) @@ -331,10 +327,6 @@ public class PoseModeScript : MonoBehaviour { this.Student.Cosmetic.Direction = -1; this.Student.Cosmetic.Hairstyle--; - if (this.Student.Cosmetic.Hairstyle == 21) - { - this.Student.Cosmetic.Hairstyle -= 2; - } if (this.Student.Cosmetic.Hairstyle == 0) { if (!this.Student.Male) diff --git a/PostCreditsScript.cs b/PostCreditsScript.cs index ac6cc45..b2d6d80 100644 --- a/PostCreditsScript.cs +++ b/PostCreditsScript.cs @@ -1,6 +1,168 @@ using System; using UnityEngine; +using UnityEngine.SceneManagement; public class PostCreditsScript : MonoBehaviour { + private void Start() + { + this.Darkness.color = new Color(0f, 0f, 0f, 1f); + this.Subtitle.text = ""; + Time.timeScale = 1f; + this.Logo.gameObject.SetActive(false); + this.LovesickLogo.SetActive(false); + } + + private void Update() + { + this.SkipTimer += Time.deltaTime; + if (this.SkipTimer > 5f) + { + this.SkipPanel.alpha -= Time.deltaTime; + } + if (this.EndEarly) + { + this.Alpha = Mathf.MoveTowards(this.Alpha, 1f, Time.deltaTime * 0.5f); + this.SkipPanel.alpha -= Time.deltaTime; + this.Headmaster.volume -= Time.deltaTime; + this.Jukebox.volume -= Time.deltaTime; + this.Buzzing.volume -= Time.deltaTime; + this.Darkness.material.color = new Color(0f, 0f, 0f, this.Alpha); + this.Subtitle.text = ""; + if (this.Alpha == 1f) + { + SceneManager.LoadScene("ThanksForPlayingScene"); + } + } + else if (UnityEngine.Input.GetButton("X")) + { + this.SkipPanel.alpha = 1f; + this.SkipTimer = 0f; + this.SkipCircle.fillAmount -= Time.deltaTime; + if (this.SkipCircle.fillAmount == 0f) + { + this.EndEarly = true; + } + } + else + { + this.SkipCircle.fillAmount = 1f; + } + if (UnityEngine.Input.GetKeyDown("=")) + { + Time.timeScale += 1f; + } + if (UnityEngine.Input.GetKeyDown("-")) + { + Time.timeScale -= 1f; + } + this.Speed += Time.deltaTime * 0.001f; + base.transform.position = Vector3.Lerp(base.transform.position, this.Destination.position, Time.deltaTime * this.Speed); + this.Rotation = Mathf.Lerp(this.Rotation, -45f, Time.deltaTime * this.Speed); + base.transform.eulerAngles = new Vector3(0f, this.Rotation, 0f); + if (this.Headmaster.time > 69f) + { + this.Jukebox.volume -= Time.deltaTime * 0.2f; + } + if (this.Phase == 0) + { + if (UnityEngine.Input.GetKeyDown("space")) + { + this.Alpha = 0f; + } + this.Alpha = Mathf.MoveTowards(this.Alpha, 0f, Time.deltaTime * 0.2f); + this.Darkness.color = new Color(0f, 0f, 0f, this.Alpha); + if (this.Alpha == 0f) + { + this.Subtitle.text = this.Lines[this.SpeechID]; + this.Headmaster.Play(); + this.SpeechID++; + this.Phase++; + return; + } + } + else if (this.Phase == 1) + { + if (UnityEngine.Input.GetKeyDown("space")) + { + this.Headmaster.time = 68f; + } + this.Headmaster.pitch = Time.timeScale; + if (this.Headmaster.time >= this.Times[this.SpeechID]) + { + this.Subtitle.text = this.Lines[this.SpeechID]; + this.SpeechID++; + if (this.SpeechID == 16) + { + this.Darkness.color = new Color(0f, 0f, 0f, 1f); + return; + } + if (this.SpeechID == 17) + { + this.Jukebox.clip = this.CinematicHit; + this.Jukebox.volume = 1f; + this.Jukebox.Play(); + this.Logo.gameObject.SetActive(true); + this.Phase++; + return; + } + } + } + else if (this.Phase == 2) + { + this.Timer += Time.deltaTime; + if (this.Timer > 13f) + { + SceneManager.LoadScene("ThanksForPlayingScene"); + } + else if (this.Timer > 5f) + { + this.Logo.alpha -= Time.deltaTime * 0.2f; + } + this.Logo.transform.localScale += new Vector3(Time.deltaTime * 0.02f, Time.deltaTime * 0.02f, Time.deltaTime * 0.02f); + this.LovesickLogo.transform.localScale += new Vector3(Time.deltaTime * 0.02f, Time.deltaTime * 0.02f, Time.deltaTime * 0.02f); + } + } + + public GameObject LovesickLogo; + + public UITexture Logo; + + public UIPanel SkipPanel; + + public AudioSource Headmaster; + + public AudioSource Jukebox; + + public AudioSource Buzzing; + + public AudioClip CinematicHit; + + public Transform Destination; + + public UISprite SkipCircle; + + public UISprite Darkness; + + public UILabel Subtitle; + + public string[] Lines; + + public float[] Times; + + public float SkipTimer; + + public float Rotation; + + public float Alpha; + + public float Speed; + + public float Timer; + + public bool EndEarly; + + public int SpeechID; + + public int Phase; } diff --git a/PracticeWindowScript.cs b/PracticeWindowScript.cs index 1b72a4b..6c994a1 100644 --- a/PracticeWindowScript.cs +++ b/PracticeWindowScript.cs @@ -105,7 +105,7 @@ public class PracticeWindowScript : MonoBehaviour this.StudentManager.Students[46].Hearts.Stop(); for (int k = 1; k < 5; k++) { - if (this.StudentManager.Students[46 + k] != null && this.StudentManager.Students[46 + k].Alive) + if (this.StudentManager.Students[46 + k] != null && this.StudentManager.Students[46 + k].Alive && this.StudentManager.Students[46 + k].Routine) { this.StudentManager.Students[46 + k].transform.position = this.KneelSpot[k].position; this.StudentManager.Students[46 + k].transform.eulerAngles = this.KneelSpot[k].eulerAngles; diff --git a/PrayScript.cs b/PrayScript.cs index 9699ef6..8fd99f6 100644 --- a/PrayScript.cs +++ b/PrayScript.cs @@ -9,23 +9,9 @@ public class PrayScript : MonoBehaviour { this.VictimLabel.color = new Color(this.VictimLabel.color.r, this.VictimLabel.color.g, this.VictimLabel.color.b, 0.5f); } + this.GenderPrompt.gameObject.SetActive(true); this.PrayWindow.localScale = Vector3.zero; - if (MissionModeGlobals.MissionMode || GameGlobals.AlphabetMode) - { - this.Disable(); - } - if (GameGlobals.LoveSick || GameGlobals.AlphabetMode) - { - this.Disable(); - } - } - - private void Disable() - { - this.GenderPrompt.gameObject.SetActive(false); - base.enabled = false; - this.Prompt.enabled = false; - this.Prompt.Hide(); + this.Prompt.enabled = true; } private void Update() @@ -88,7 +74,6 @@ public class PrayScript : MonoBehaviour this.Show = true; this.Yandere.ShoulderCamera.OverShoulder = true; this.Yandere.WeaponMenu.KeyboardShow = false; - this.Yandere.Obscurance.enabled = false; this.Yandere.WeaponMenu.Show = false; this.Yandere.YandereVision = false; this.Yandere.CanMove = false; diff --git a/PromptBarScript.cs b/PromptBarScript.cs index ca18aa1..5d190c8 100644 --- a/PromptBarScript.cs +++ b/PromptBarScript.cs @@ -54,6 +54,7 @@ public class PromptBarScript : MonoBehaviour while (this.ID < this.Label.Length) { this.Button[this.ID].enabled = (this.Label[this.ID].text.Length > 0); + this.ButtonLabel[this.ID].enabled = (this.Label[this.ID].text.Length > 0); this.ID++; } } @@ -63,6 +64,7 @@ public class PromptBarScript : MonoBehaviour this.ID = 0; while (this.ID < this.Label.Length) { + this.ButtonLabel[this.ID].enabled = false; this.Label[this.ID].text = string.Empty; this.Button[this.ID].enabled = false; this.ID++; @@ -73,6 +75,8 @@ public class PromptBarScript : MonoBehaviour public UILabel[] Label; + public UILabel[] ButtonLabel; + public UIPanel Panel; public bool Show; diff --git a/PromptScript.cs b/PromptScript.cs index c91eda0..43cef4b 100644 --- a/PromptScript.cs +++ b/PromptScript.cs @@ -5,9 +5,16 @@ public class PromptScript : MonoBehaviour { private void Awake() { - bool student = this.Student; - this.MinimumDistanceSqr = this.MinimumDistance; - this.MaximumDistanceSqr = this.MaximumDistance; + if (this.MyStudent == null) + { + this.MinimumDistanceSqr = this.MinimumDistance * this.MinimumDistance; + this.MaximumDistanceSqr = this.MaximumDistance * this.MaximumDistance; + } + else + { + this.MinimumDistanceSqr = this.MinimumDistance; + this.MaximumDistanceSqr = this.MaximumDistance; + } this.DistanceSqr = float.PositiveInfinity; this.OwnerType = this.DecideOwnerType(); if (this.RaycastTarget == null) @@ -85,6 +92,17 @@ public class PromptScript : MonoBehaviour this.AcceptingInput[this.ID] = true; this.ID++; } + if (this.Student && !this.Door) + { + this.BloodMask = 4; + this.BloodMask |= 512; + this.BloodMask |= 8192; + this.BloodMask |= 16384; + this.BloodMask |= 65536; + this.BloodMask |= 2097152; + this.BloodMask = ~this.BloodMask; + return; + } this.BloodMask = 2; this.BloodMask |= 4; this.BloodMask |= 512; diff --git a/QualityManagerScript.cs b/QualityManagerScript.cs index 13bf7b4..90777b3 100644 --- a/QualityManagerScript.cs +++ b/QualityManagerScript.cs @@ -7,15 +7,14 @@ public class QualityManagerScript : MonoBehaviour { public void Start() { + OptionGlobals.DisableOutlines = false; + OptionGlobals.RimLight = true; if (SceneManager.GetActiveScene().name != "SchoolScene") { this.DoNothing = true; } if (!this.DoNothing) { - DepthOfField34[] components = Camera.main.GetComponents(); - this.ExperimentalDepthOfField34 = components[1]; - this.ToggleExperiment(); if (OptionGlobals.ParticleCount == 0) { OptionGlobals.ParticleCount = 3; @@ -33,22 +32,25 @@ public class QualityManagerScript : MonoBehaviour { OptionGlobals.Sensitivity = 3; } + if (this.ColorGrading == null) + { + CameraFilterPack_Colors_Adjust_PreFilters[] components = this.StudentManager.MainCamera.GetComponents(); + this.ColorGrading = components[2]; + } + OptionGlobals.DepthOfField = this.Yandere.PauseScreen.NewSettings.Profile.depthOfField.enabled; this.ToggleRun(); this.UpdateFog(); this.UpdateAnims(); - this.UpdateBloom(); + this.UpdateVsync(); + this.UpdateGrass(); this.UpdateShadows(); this.UpdateFPSIndex(); this.UpdateParticles(); - this.UpdateObscurance(); - this.UpdatePostAliasing(); this.UpdateDrawDistance(); + this.UpdateOpaqueWindows(); this.UpdateLowDetailStudents(); this.Settings.ToggleBackground(); - if (!OptionGlobals.DepthOfField) - { - this.ToggleExperiment(); - } + bool depthOfField = OptionGlobals.DepthOfField; } } @@ -284,6 +286,41 @@ public class QualityManagerScript : MonoBehaviour } } + public void UpdateOpaqueWindows() + { + if (!this.DoNothing) + { + if (OptionGlobals.OpaqueWindows) + { + this.StudentManager.TransparentWindows = false; + this.StudentManager.SetWindowsOpaque(); + } + else + { + this.StudentManager.WindowOccluder.open = true; + this.StudentManager.TransparentWindows = true; + this.StudentManager.SetWindowsTransparent(); + } + this.StudentManager.LateUpdate(); + } + } + + public void UpdateColorGrading() + { + if (!this.DoNothing) + { + this.ColorGrading.enabled = OptionGlobals.ColorGrading; + } + } + + public void UpdateGrass() + { + if (!this.DoNothing) + { + this.Grass.SetActive(OptionGlobals.ToggleGrass); + } + } + public void UpdateLowDetailStudents() { if (OptionGlobals.LowDetailStudents > 10) @@ -353,6 +390,16 @@ public class QualityManagerScript : MonoBehaviour } } + public void UpdateVsync() + { + if (!OptionGlobals.Vsync) + { + QualitySettings.vSyncCount = 0; + return; + } + QualitySettings.vSyncCount = 1; + } + public void UpdateFog() { if (!this.DoNothing) @@ -417,124 +464,138 @@ public class QualityManagerScript : MonoBehaviour } } - public void RimLight() + public void UpdateOutlinesAndRimlight() { + if (OptionGlobals.DisableOutlines) + { + if (OptionGlobals.RimLight) + { + this.NewHairShader = this.ToonRimLight; + this.NewBodyShader = this.ToonRimLightOverlay; + } + else + { + this.NewHairShader = this.Toon; + this.NewBodyShader = this.ToonOverlay; + } + } + else if (OptionGlobals.RimLight) + { + this.NewHairShader = this.ToonOutlineRimLight; + this.NewBodyShader = this.ToonOutlineRimLightOverlay; + } + else + { + this.NewHairShader = this.ToonOutline; + this.NewBodyShader = this.ToonOutlineOverlay; + } if (!this.DoNothing) { - if (!this.RimLightActive) + for (int i = 1; i < this.StudentManager.Students.Length; i++) { - this.RimLightActive = true; - for (int i = 1; i < this.StudentManager.Students.Length; i++) + StudentScript studentScript = this.StudentManager.Students[i]; + if (studentScript != null && studentScript.gameObject.activeInHierarchy) { - StudentScript studentScript = this.StudentManager.Students[i]; - if (studentScript != null && studentScript.gameObject.activeInHierarchy) + studentScript.MyRenderer.materials[0].shader = this.NewBodyShader; + studentScript.MyRenderer.materials[1].shader = this.NewBodyShader; + studentScript.MyRenderer.materials[2].shader = this.NewBodyShader; + this.AdjustRimLight(studentScript.MyRenderer.materials[0]); + this.AdjustRimLight(studentScript.MyRenderer.materials[1]); + this.AdjustRimLight(studentScript.MyRenderer.materials[2]); + if (!studentScript.Male) { - this.NewHairShader = this.ToonOutlineRimLight; - this.NewBodyShader = this.ToonOutlineRimLight; - studentScript.MyRenderer.materials[0].shader = this.ToonOutlineRimLight; - studentScript.MyRenderer.materials[1].shader = this.ToonOutlineRimLight; - studentScript.MyRenderer.materials[2].shader = this.ToonOutlineRimLight; - this.AdjustRimLight(studentScript.MyRenderer.materials[0]); - this.AdjustRimLight(studentScript.MyRenderer.materials[1]); - this.AdjustRimLight(studentScript.MyRenderer.materials[2]); - if (!studentScript.Male) + if (!studentScript.Teacher) { - if (!studentScript.Teacher) + if (studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle] != null) { - if (studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle] != null) + if (studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials.Length == 1) { - if (studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials.Length == 1) - { - studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].material.shader = this.ToonOutlineRimLight; - this.AdjustRimLight(studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].material); - } - else - { - studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[0].shader = this.ToonOutlineRimLight; - studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[1].shader = this.ToonOutlineRimLight; - this.AdjustRimLight(studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[0]); - this.AdjustRimLight(studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[1]); - } + studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].material.shader = this.NewBodyShader; + this.AdjustRimLight(studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].material); } - if (studentScript.Cosmetic.Accessory > 0 && studentScript.Cosmetic.FemaleAccessories[studentScript.Cosmetic.Accessory].GetComponent() != null) + else { - studentScript.Cosmetic.FemaleAccessories[studentScript.Cosmetic.Accessory].GetComponent().material.shader = this.ToonOutlineRimLight; - this.AdjustRimLight(studentScript.Cosmetic.FemaleAccessories[studentScript.Cosmetic.Accessory].GetComponent().material); + studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[0].shader = this.NewBodyShader; + studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[1].shader = this.NewBodyShader; + this.AdjustRimLight(studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[0]); + this.AdjustRimLight(studentScript.Cosmetic.FemaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[1]); } } - else + if (studentScript.Cosmetic.Accessory > 0 && studentScript.Cosmetic.FemaleAccessories[studentScript.Cosmetic.Accessory].GetComponent() != null) { - studentScript.Cosmetic.TeacherHairRenderers[studentScript.Cosmetic.Hairstyle].material.shader = this.ToonOutlineRimLight; - this.AdjustRimLight(studentScript.Cosmetic.TeacherHairRenderers[studentScript.Cosmetic.Hairstyle].material); + studentScript.Cosmetic.FemaleAccessories[studentScript.Cosmetic.Accessory].GetComponent().material.shader = this.NewBodyShader; + this.AdjustRimLight(studentScript.Cosmetic.FemaleAccessories[studentScript.Cosmetic.Accessory].GetComponent().material); } } else { - if (studentScript.Cosmetic.Hairstyle > 0) + studentScript.Cosmetic.TeacherHairRenderers[studentScript.Cosmetic.Hairstyle].material.shader = this.NewBodyShader; + this.AdjustRimLight(studentScript.Cosmetic.TeacherHairRenderers[studentScript.Cosmetic.Hairstyle].material); + } + } + else + { + if (studentScript.Cosmetic.Hairstyle > 0) + { + if (studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials.Length == 1) { - if (studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials.Length == 1) - { - studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].material.shader = this.ToonOutlineRimLight; - this.AdjustRimLight(studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].material); - } - else - { - studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[0].shader = this.ToonOutlineRimLight; - studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[1].shader = this.ToonOutlineRimLight; - this.AdjustRimLight(studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[0]); - this.AdjustRimLight(studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[1]); - } + studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].material.shader = this.NewBodyShader; + this.AdjustRimLight(studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].material); } - if (studentScript.Cosmetic.Accessory > 0) + else { - Renderer component = studentScript.Cosmetic.MaleAccessories[studentScript.Cosmetic.Accessory].GetComponent(); - if (component != null) - { - component.material.shader = this.ToonOutlineRimLight; - this.AdjustRimLight(component.material); - } + studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[0].shader = this.NewBodyShader; + studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[1].shader = this.NewBodyShader; + this.AdjustRimLight(studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[0]); + this.AdjustRimLight(studentScript.Cosmetic.MaleHairRenderers[studentScript.Cosmetic.Hairstyle].materials[1]); } } - if (!studentScript.Teacher && studentScript.Cosmetic.Club > ClubType.None && studentScript.Cosmetic.Club != ClubType.Council && studentScript.Cosmetic.Club != ClubType.Bully && studentScript.Cosmetic.Club != ClubType.Delinquent && studentScript.Cosmetic.ClubAccessories[(int)studentScript.Cosmetic.Club] != null) + if (studentScript.Cosmetic.Accessory > 0) { - Renderer component2 = studentScript.Cosmetic.ClubAccessories[(int)studentScript.Cosmetic.Club].GetComponent(); - if (component2 != null) + Renderer component = studentScript.Cosmetic.MaleAccessories[studentScript.Cosmetic.Accessory].GetComponent(); + if (component != null) { - component2.material.shader = this.ToonOutlineRimLight; - this.AdjustRimLight(component2.material); + component.material.shader = this.NewBodyShader; + this.AdjustRimLight(component.material); } } } - } - this.Yandere.MyRenderer.materials[0].shader = this.ToonOutlineRimLight; - this.Yandere.MyRenderer.materials[1].shader = this.ToonOutlineRimLight; - this.Yandere.MyRenderer.materials[2].shader = this.ToonOutlineRimLight; - this.AdjustRimLight(this.Yandere.MyRenderer.materials[0]); - this.AdjustRimLight(this.Yandere.MyRenderer.materials[1]); - this.AdjustRimLight(this.Yandere.MyRenderer.materials[2]); - for (int j = 1; j < this.Yandere.Hairstyles.Length; j++) - { - Renderer component3 = this.Yandere.Hairstyles[j].GetComponent(); - if (component3 != null) + if (!studentScript.Teacher && studentScript.Cosmetic.Club > ClubType.None && studentScript.Cosmetic.Club != ClubType.Council && studentScript.Cosmetic.Club != ClubType.Bully && studentScript.Cosmetic.Club != ClubType.Delinquent && studentScript.Cosmetic.ClubAccessories[(int)studentScript.Cosmetic.Club] != null) { - this.YandereHairRenderer.material.shader = this.ToonOutlineRimLight; - component3.material.shader = this.ToonOutlineRimLight; - this.AdjustRimLight(this.YandereHairRenderer.material); - this.AdjustRimLight(component3.material); + Renderer component2 = studentScript.Cosmetic.ClubAccessories[(int)studentScript.Cosmetic.Club].GetComponent(); + if (component2 != null) + { + component2.material.shader = this.NewBodyShader; + this.AdjustRimLight(component2.material); + } } } - this.Nemesis.Cosmetic.MyRenderer.materials[0].shader = this.ToonOutlineRimLight; - this.Nemesis.Cosmetic.MyRenderer.materials[1].shader = this.ToonOutlineRimLight; - this.Nemesis.Cosmetic.MyRenderer.materials[2].shader = this.ToonOutlineRimLight; - this.Nemesis.NemesisHair.GetComponent().material.shader = this.ToonOutlineRimLight; - this.AdjustRimLight(this.Nemesis.Cosmetic.MyRenderer.materials[0]); - this.AdjustRimLight(this.Nemesis.Cosmetic.MyRenderer.materials[1]); - this.AdjustRimLight(this.Nemesis.Cosmetic.MyRenderer.materials[2]); - this.AdjustRimLight(this.Nemesis.NemesisHair.GetComponent().material); - return; } - this.RimLightActive = false; - this.UpdateOutlines(); + this.Yandere.MyRenderer.materials[0].shader = this.NewBodyShader; + this.Yandere.MyRenderer.materials[1].shader = this.NewBodyShader; + this.Yandere.MyRenderer.materials[2].shader = this.NewBodyShader; + this.AdjustRimLight(this.Yandere.MyRenderer.materials[0]); + this.AdjustRimLight(this.Yandere.MyRenderer.materials[1]); + this.AdjustRimLight(this.Yandere.MyRenderer.materials[2]); + for (int j = 1; j < this.Yandere.Hairstyles.Length; j++) + { + Renderer component3 = this.Yandere.Hairstyles[j].GetComponent(); + if (component3 != null) + { + this.YandereHairRenderer.material.shader = this.NewBodyShader; + component3.material.shader = this.NewBodyShader; + this.AdjustRimLight(this.YandereHairRenderer.material); + this.AdjustRimLight(component3.material); + } + } + this.Nemesis.Cosmetic.MyRenderer.materials[0].shader = this.NewBodyShader; + this.Nemesis.Cosmetic.MyRenderer.materials[1].shader = this.NewBodyShader; + this.Nemesis.Cosmetic.MyRenderer.materials[2].shader = this.NewBodyShader; + this.Nemesis.NemesisHair.GetComponent().material.shader = this.NewBodyShader; + this.AdjustRimLight(this.Nemesis.Cosmetic.MyRenderer.materials[0]); + this.AdjustRimLight(this.Nemesis.Cosmetic.MyRenderer.materials[1]); + this.AdjustRimLight(this.Nemesis.Cosmetic.MyRenderer.materials[2]); + this.AdjustRimLight(this.Nemesis.NemesisHair.GetComponent().material); } } @@ -556,6 +617,8 @@ public class QualityManagerScript : MonoBehaviour } } + public CameraFilterPack_Colors_Adjust_PreFilters ColorGrading; + public AntialiasingAsPostEffect PostAliasing; public StudentManagerScript StudentManager; @@ -570,6 +633,8 @@ public class QualityManagerScript : MonoBehaviour public Bloom BloomEffect; + public GameObject Grass; + public Light Sun; public ParticleSystem EastRomanceBlossoms; @@ -594,22 +659,26 @@ public class QualityManagerScript : MonoBehaviour public Shader Toon; - public Shader ToonOutline; - public Shader ToonOverlay; + public Shader ToonOutline; + public Shader ToonOutlineOverlay; + public Shader ToonRimLight; + + public Shader ToonRimLightOverlay; + public Shader ToonOutlineRimLight; + public Shader ToonOutlineRimLightOverlay; + public BloomAndLensFlares ExperimentalBloomAndLensFlares; public DepthOfField34 ExperimentalDepthOfField34; public SSAOEffect ExperimentalSSAOEffect; - public bool RimLightActive; - public bool DoNothing; private static readonly int[] FPSValues = new int[] diff --git a/RivalAfterClassEventManagerScript.cs b/RivalAfterClassEventManagerScript.cs index 749d3cd..61f2d7f 100644 --- a/RivalAfterClassEventManagerScript.cs +++ b/RivalAfterClassEventManagerScript.cs @@ -3,4 +3,503 @@ using UnityEngine; public class RivalAfterClassEventManagerScript : MonoBehaviour { + private void Start() + { + this.EventSubtitle.transform.localScale = Vector3.zero; + this.Spy.Prompt.enabled = false; + this.Spy.Prompt.Hide(); + if (DateGlobals.Weekday != this.EventDay) + { + base.enabled = false; + } + } + + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0) + { + this.Senpai = this.StudentManager.Students[1]; + if (this.StudentManager.Students[this.RivalID] != null) + { + this.Rival = this.StudentManager.Students[this.RivalID]; + } + else + { + base.enabled = false; + } + } + if (this.Frame > 1 && this.Clock.HourTime > 17.25f && this.Senpai.gameObject.activeInHierarchy && this.Rival != null) + { + if ((this.Senpai.Leaving || this.Senpai.CurrentDestination == this.StudentManager.Exit) && !this.Senpai.InEvent) + { + this.Senpai.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Senpai.CharacterAnimation.CrossFade(this.Senpai.WalkAnim); + this.Senpai.Pathfinding.target = this.Location[1]; + this.Senpai.CurrentDestination = this.Location[1]; + this.Senpai.Pathfinding.canSearch = true; + this.Senpai.Pathfinding.canMove = true; + this.Senpai.InEvent = true; + this.Senpai.DistanceToDestination = 100f; + this.Spy.Prompt.enabled = true; + } + if ((this.Rival.Leaving || this.Rival.CurrentDestination == this.StudentManager.Exit) && this.Rival.enabled && !this.Rival.InEvent) + { + Debug.Log("Osana's Wednesday after school event has begun."); + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.CrossFade(this.Rival.WalkAnim); + this.Rival.Pathfinding.target = this.Location[2]; + this.Rival.CurrentDestination = this.Location[2]; + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.InEvent = true; + this.Rival.DistanceToDestination = 100f; + this.Spy.Prompt.enabled = true; + } + if (this.Senpai.CurrentDestination == this.Location[1] && this.Senpai.DistanceToDestination < 0.5f) + { + if (!this.Impatient) + { + this.Senpai.CharacterAnimation.CrossFade("waiting_00"); + this.Senpai.Pathfinding.canSearch = false; + this.Senpai.Pathfinding.canMove = false; + if (this.Clock.HourTime > 17.916666f) + { + AudioClipPlayer.Play(this.ImpatientSpeechClip, this.Epicenter.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Senpai.CharacterAnimation.CrossFade("impatience_00"); + this.EventSubtitle.text = this.ImpatientSpeechText; + this.Impatient = true; + } + } + else if (this.Senpai.CharacterAnimation["impatience_00"].time >= this.Senpai.CharacterAnimation["impatience_00"].length) + { + DatingGlobals.RivalSabotaged++; + Debug.Log("Sabotage Progress: " + DatingGlobals.RivalSabotaged + "/5"); + this.EndEvent(); + } + } + if (this.Rival.CurrentDestination == this.Location[2] && this.Rival.DistanceToDestination < 0.5f) + { + this.Rival.CharacterAnimation.CrossFade(this.Rival.IdleAnim); + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + } + if (this.Rival.CurrentDestination == this.Location[2] && this.Senpai.CurrentDestination == this.Location[1] && this.Senpai.DistanceToDestination < 0.5f && this.Rival.DistanceToDestination < 0.5f && !this.Impatient) + { + this.Phase++; + } + } + this.Frame++; + } + else if (this.Phase == 1) + { + if (this.StudentManager.Students[this.FriendID] != null && this.Rival.Follower != null && !PlayerGlobals.RaibaruLoner) + { + this.Friend = this.StudentManager.Students[this.FriendID]; + this.Friend.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Friend.Pathfinding.target = this.Location[3]; + this.Friend.CurrentDestination = this.Location[3]; + this.Friend.ManualRotation = true; + this.Friend.Cheer.enabled = true; + this.Friend.InEvent = true; + } + if (this.EventDay == DayOfWeek.Tuesday) + { + this.Rival.EventBook.SetActive(true); + if (!this.Sabotaged) + { + AudioClipPlayer.Play(this.SpeechClip, this.Epicenter.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.TransferTime = 8.5f; + this.Suffix = "A"; + } + else + { + AudioClipPlayer.Play(this.SabotagedSpeechClip, this.Epicenter.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.TransferTime = 11f; + this.Suffix = "B"; + } + } + else if (this.EventDay == DayOfWeek.Wednesday) + { + this.Sabotaged = this.Rival.LewdPhotos; + if (this.Rival.Phoneless) + { + this.Cancelled = true; + } + if (this.Cancelled) + { + AudioClipPlayer.Play(this.CancelledSpeechClip, this.Epicenter.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Transfer = false; + this.TakeOut = false; + this.Suffix = "C"; + } + else if (!this.Sabotaged) + { + AudioClipPlayer.Play(this.SpeechClip, this.Epicenter.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.TransferTime = 4.833333f; + this.ReturnTime = 35f; + this.TakeOutTime = 0.75f; + this.PutAwayTime = 36.5f; + this.Suffix = "A"; + } + else + { + AudioClipPlayer.Play(this.SabotagedSpeechClip, this.Epicenter.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.TransferTime = 4.833333f; + this.ReturnTime = 26.5f; + this.TakeOutTime = 0.75f; + this.PutAwayTime = 50f; + this.Suffix = "B"; + } + } + else if (this.EventDay == DayOfWeek.Thursday) + { + AudioClipPlayer.Play(this.SpeechClip, this.Epicenter.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Suffix = "A"; + } + this.Rival.CharacterAnimation.CrossFade("f02_" + this.Weekday + "_3" + this.Suffix); + if (this.EventDay == DayOfWeek.Thursday) + { + this.Senpai.CharacterAnimation.CrossFade(this.Senpai.IdleAnim); + } + else + { + this.Senpai.CharacterAnimation.CrossFade(this.Weekday + "_3" + this.Suffix); + } + this.Timer = 0f; + this.Phase++; + } + else + { + this.Timer += Time.deltaTime; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().pitch = Time.timeScale; + } + if (this.Cancelled) + { + if (this.SpeechPhase < this.CancelledSpeechTime.Length && this.Timer > this.CancelledSpeechTime[this.SpeechPhase]) + { + this.EventSubtitle.text = this.CancelledSpeechText[this.SpeechPhase]; + this.SpeechPhase++; + } + } + else if (!this.Sabotaged) + { + if (this.SpeechPhase < this.SpeechTime.Length && this.Timer > this.SpeechTime[this.SpeechPhase]) + { + this.EventSubtitle.text = this.SpeechText[this.SpeechPhase]; + this.SpeechPhase++; + } + } + else + { + if (this.SpeechPhase < this.SabotagedSpeechTime.Length && this.Timer > this.SabotagedSpeechTime[this.SpeechPhase]) + { + this.EventSubtitle.text = this.SabotagedSpeechText[this.SpeechPhase]; + this.SpeechPhase++; + } + if (this.Senpai.CharacterAnimation[this.Weekday + "_3" + this.Suffix].time >= this.Senpai.CharacterAnimation[this.Weekday + "_3" + this.Suffix].length) + { + this.Rival.StopRotating = true; + this.LookAtSenpai = true; + this.EndSenpai(); + } + if (this.LookAtSenpai) + { + this.Rival.targetRotation = Quaternion.LookRotation(this.Senpai.transform.position - this.Rival.transform.position); + this.Rival.transform.rotation = Quaternion.Slerp(this.Rival.transform.rotation, this.Rival.targetRotation, 10f * Time.deltaTime); + } + } + if (this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].time >= this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].length) + { + this.NaturalEnd = true; + this.EndEvent(); + } + if (this.TakeOut && this.EventDay == DayOfWeek.Wednesday && this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].time > this.TakeOutTime) + { + this.Rival.SmartPhone.SetActive(true); + this.TakeOut = false; + this.PutAway = true; + } + if (this.PutAway && this.EventDay == DayOfWeek.Wednesday && this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].time > this.PutAwayTime) + { + this.Rival.SmartPhone.SetActive(false); + this.PutAway = false; + } + if (this.Transfer) + { + if (this.EventDay == DayOfWeek.Tuesday) + { + if (this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].time > this.TransferTime) + { + this.Rival.EventBook.SetActive(false); + this.Senpai.EventBook.SetActive(true); + this.Transfer = false; + this.Return = true; + } + } + else if (this.EventDay == DayOfWeek.Wednesday && this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].time > this.TransferTime) + { + this.Rival.SmartPhone.SetActive(false); + this.Senpai.SmartPhone.SetActive(true); + this.Transfer = false; + this.Return = true; + } + } + if (this.Return && this.EventDay == DayOfWeek.Wednesday && this.Rival.CharacterAnimation["f02_" + this.Weekday + "_3" + this.Suffix].time > this.ReturnTime) + { + this.Rival.SmartPhone.SetActive(true); + this.Senpai.SmartPhone.SetActive(false); + this.Return = false; + } + if (this.Senpai.Alarmed || this.Rival.Alarmed) + { + UnityEngine.Object.Instantiate(this.AlarmDisc, this.Yandere.transform.position + Vector3.up, Quaternion.identity).GetComponent().NoScream = true; + this.EndEvent(); + } + } + if (this.Phase > 0 || this.Impatient) + { + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Epicenter.position); + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + this.Yandere.Eavesdropping = (this.Distance < 5f); + } + else + { + this.EventSubtitle.transform.localScale = Vector3.zero; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + } + if (this.Phase > 0) + { + if (this.Friend != null) + { + if (this.Friend.DistanceToDestination < 1f) + { + this.Friend.CharacterAnimation.CrossFade("f02_cornerPeek_00"); + this.Friend.MoveTowardsTarget(this.Friend.CurrentDestination.position); + this.Friend.targetRotation = this.Friend.CurrentDestination.rotation; + this.Friend.transform.rotation = Quaternion.Slerp(this.Friend.transform.rotation, this.Friend.targetRotation, 10f * Time.deltaTime); + this.Friend.MyController.radius = 0f; + return; + } + this.Friend.CharacterAnimation.CrossFade(this.Friend.SprintAnim); + this.Friend.Pathfinding.speed = 4f; + return; + } + else if (this.StudentManager.Students[this.FriendID] != null && !PlayerGlobals.RaibaruLoner) + { + this.Friend = this.StudentManager.Students[this.FriendID]; + } + } + } + + private void EndEvent() + { + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (this.Senpai.InEvent) + { + this.EndSenpai(); + } + if (!this.Rival.Ragdoll.Zs.activeInHierarchy) + { + if (!this.Rival.Alarmed) + { + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.EventBook.SetActive(false); + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + this.Rival.CurrentDestination = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.Pathfinding.target = this.Rival.Destinations[this.Rival.Phase]; + this.Rival.DistanceToDestination = 100f; + this.Rival.Pathfinding.speed = 1f; + this.Rival.Hurry = false; + } + if (this.Friend != null && this.Friend.CurrentAction == StudentActionType.Follow) + { + if (!this.Friend.Alarmed && !this.Friend.DramaticReaction) + { + this.Friend.Pathfinding.canSearch = true; + this.Friend.Pathfinding.canMove = true; + } + if (this.NaturalEnd) + { + this.Friend.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Friend.Pathfinding.target = this.Rival.transform; + this.Friend.CurrentDestination = this.Rival.transform; + this.Friend.Pathfinding.canSearch = true; + this.Friend.Pathfinding.canMove = true; + this.Friend.MyController.radius = 0.1f; + this.Friend.ManualRotation = false; + this.Friend.Prompt.enabled = true; + this.Friend.InEvent = false; + this.Friend.Private = false; + } + this.Friend.Cheer.enabled = false; + } + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Spy.Prompt.Hide(); + this.Spy.Prompt.enabled = false; + if (this.Spy.Phase > 0) + { + this.Spy.End(); + } + if (this.Sabotaged) + { + this.Rival.WalkAnim = "f02_sadWalk_00"; + DatingGlobals.RivalSabotaged++; + Debug.Log("Sabotage Progress: " + DatingGlobals.RivalSabotaged + "/5"); + } + this.Yandere.Eavesdropping = false; + this.EventSubtitle.text = string.Empty; + base.enabled = false; + this.Jukebox.Dip = 1f; + } + + private void EndSenpai() + { + if (!this.Senpai.Alarmed) + { + this.Senpai.Pathfinding.canSearch = true; + this.Senpai.Pathfinding.canMove = true; + this.Senpai.Routine = true; + } + this.Senpai.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Senpai.EventBook.SetActive(false); + this.Senpai.InEvent = false; + this.Senpai.Private = false; + this.Senpai.CurrentDestination = this.Senpai.Destinations[this.Senpai.Phase]; + this.Senpai.Pathfinding.target = this.Senpai.Destinations[this.Senpai.Phase]; + this.Senpai.DistanceToDestination = 100f; + } + + public StudentManagerScript StudentManager; + + public JukeboxScript Jukebox; + + public UILabel EventSubtitle; + + public YandereScript Yandere; + + public ClockScript Clock; + + public SpyScript Spy; + + public StudentScript Friend; + + public StudentScript Senpai; + + public StudentScript Rival; + + public Transform[] Location; + + public Transform Epicenter; + + public AudioClip CancelledSpeechClip; + + public string[] CancelledSpeechText; + + public float[] CancelledSpeechTime; + + public AudioClip SabotagedSpeechClip; + + public string[] SabotagedSpeechText; + + public float[] SabotagedSpeechTime; + + public AudioClip SpeechClip; + + public string[] SpeechText; + + public float[] SpeechTime; + + public AudioClip ImpatientSpeechClip; + + public string ImpatientSpeechText; + + public GameObject AlarmDisc; + + public GameObject VoiceClip; + + public bool LookAtSenpai; + + public bool EventActive; + + public bool NaturalEnd; + + public bool Cancelled; + + public bool Impatient; + + public bool Sabotaged; + + public bool Transfer; + + public bool TakeOut; + + public bool PutAway; + + public bool Return; + + public float TransferTime; + + public float ReturnTime; + + public float TakeOutTime; + + public float PutAwayTime; + + public float Distance; + + public float Scale; + + public float Timer; + + public DayOfWeek EventDay; + + public int SpeechPhase = 1; + + public int FriendID = 10; + + public int RivalID = 11; + + public int Phase; + + public int Frame; + + public string Weekday = string.Empty; + + public string Suffix = string.Empty; } diff --git a/RivalBagScript.cs b/RivalBagScript.cs index 2f11e40..205f56f 100644 --- a/RivalBagScript.cs +++ b/RivalBagScript.cs @@ -5,9 +5,6 @@ public class RivalBagScript : MonoBehaviour { private void Start() { - this.Prompt.enabled = false; - this.Prompt.Hide(); - base.enabled = false; } private void Update() diff --git a/RivalEliminationType.cs b/RivalEliminationType.cs index 15d03e9..91f36b0 100644 --- a/RivalEliminationType.cs +++ b/RivalEliminationType.cs @@ -3,11 +3,16 @@ public enum RivalEliminationType { None, - Dead, - Vanished, + Murdered, + MurderedWitnessed, Arrested, - Ruined, + Befriended, Expelled, + Matchmade, Rejected, - Befriended + Ruined, + SuicideBully, + SuicideFake, + Vanished, + Accident } diff --git a/RivalMorningEventManagerScript.cs b/RivalMorningEventManagerScript.cs index 96ab671..e0ab3de 100644 --- a/RivalMorningEventManagerScript.cs +++ b/RivalMorningEventManagerScript.cs @@ -3,7 +3,332 @@ using UnityEngine; public class RivalMorningEventManagerScript : MonoBehaviour { + private void Start() + { + this.EventSubtitle.transform.localScale = Vector3.zero; + this.Spy.Prompt.enabled = true; + if (DateGlobals.Weekday == DayOfWeek.Sunday) + { + DateGlobals.Weekday = DayOfWeek.Monday; + } + if (DateGlobals.Weekday != this.EventDay || HomeGlobals.LateForSchool || this.StudentManager.YandereLate || DatingGlobals.SuitorProgress == 2 || StudentGlobals.MemorialStudents > 0) + { + base.enabled = false; + } + if (base.enabled && (float)StudentGlobals.GetStudentReputation(10) <= -33.33333f) + { + this.OsanaLoseFriendEvent.OtherEvent = this; + } + } + + private void Update() + { + if (this.Phase == 0) + { + if (this.Frame > 0 && this.StudentManager.Students[this.RivalID] != null && this.StudentManager.Students[1].gameObject.activeInHierarchy && this.StudentManager.Students[this.RivalID] != null) + { + Debug.Log("Osana's morning Senpai interaction event is now taking place."); + if (this.StudentManager.Students[this.FriendID] != null && !PlayerGlobals.RaibaruLoner) + { + this.Friend = this.StudentManager.Students[this.FriendID]; + if (this.Friend.Investigating) + { + this.Friend.StopInvestigating(); + } + if ((float)StudentGlobals.GetStudentReputation(10) > -33.33333f) + { + this.Friend.CharacterAnimation.Play("f02_cornerPeek_00"); + this.Friend.Cheer.enabled = true; + } + else + { + this.Friend.CharacterAnimation.Play(this.Friend.BulliedIdleAnim); + } + this.Friend.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Friend.transform.position = this.Location[3].position; + this.Friend.transform.eulerAngles = this.Location[3].eulerAngles; + this.Friend.Pathfinding.canSearch = false; + this.Friend.Pathfinding.canMove = false; + this.Friend.Routine = false; + this.Friend.InEvent = true; + this.Friend.Spawned = true; + } + this.Senpai = this.StudentManager.Students[1]; + this.Rival = this.StudentManager.Students[this.RivalID]; + this.Senpai.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Senpai.CharacterAnimation.Play(this.Senpai.IdleAnim); + this.Senpai.transform.position = this.Location[1].position; + this.Senpai.transform.eulerAngles = this.Location[1].eulerAngles; + this.Senpai.Pathfinding.canSearch = false; + this.Senpai.Pathfinding.canMove = false; + this.Senpai.Routine = false; + this.Senpai.InEvent = true; + this.Senpai.Spawned = true; + this.Senpai.Prompt.Hide(); + this.Senpai.Prompt.enabled = false; + if (this.Rival.Investigating) + { + this.Rival.StopInvestigating(); + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; + this.Rival.CharacterAnimation.Play(this.Rival.IdleAnim); + this.Rival.transform.position = this.Location[2].position; + this.Rival.transform.eulerAngles = this.Location[2].eulerAngles; + this.Rival.Pathfinding.canSearch = false; + this.Rival.Pathfinding.canMove = false; + this.Rival.Routine = false; + this.Rival.InEvent = true; + this.Rival.Spawned = true; + this.Rival.Private = true; + this.Rival.Prompt.Hide(); + this.Rival.Prompt.enabled = false; + this.Spy.Prompt.enabled = true; + this.Phase++; + if (this.EventDay == DayOfWeek.Tuesday) + { + this.StudentManager.Students[1].EventBook.SetActive(true); + } + } + this.Frame++; + } + else if (this.Phase == 1) + { + this.Timer += Time.deltaTime; + if (this.Timer > 1f) + { + AudioClipPlayer.Play(this.SpeechClip, this.Epicenter.position + Vector3.up * 1.5f, 5f, 10f, out this.VoiceClip, this.Yandere.transform.position.y); + this.Rival.CharacterAnimation.CrossFade("f02_" + this.Weekday + "_1"); + this.Senpai.CharacterAnimation.CrossFade(this.Weekday + "_1"); + this.Timer = 0f; + this.Phase++; + } + } + else + { + this.Timer += Time.deltaTime; + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().pitch = Time.timeScale; + } + if (this.SpeechPhase < this.SpeechTime.Length) + { + if (this.Timer > this.SpeechTime[this.SpeechPhase]) + { + this.EventSubtitle.text = this.SpeechText[this.SpeechPhase]; + this.SpeechPhase++; + } + } + else if (this.Senpai.CharacterAnimation[this.Weekday + "_1"].time >= this.Senpai.CharacterAnimation[this.Weekday + "_1"].length) + { + Debug.Log("This rival morning event ended naturally because the animation finished playing."); + this.NaturalEnd = true; + this.EndEvent(); + } + if (this.Transfer && this.Rival.CharacterAnimation["f02_" + this.Weekday + "_1"].time > this.TransferTime) + { + this.Senpai.EventBook.SetActive(false); + this.Rival.EventBook.SetActive(true); + this.Transfer = false; + } + if (this.Clock.Period > 1) + { + Debug.Log("The event ended because the school period has advanced."); + this.EndEvent(); + } + if (this.Senpai.Alarmed || this.Rival.Alarmed || (this.Friend != null && this.Friend.DramaticReaction)) + { + Debug.Log("The event ended naturally because a character was alarmed."); + GameObject gameObject = UnityEngine.Object.Instantiate(this.AlarmDisc, this.Rival.transform.position + Vector3.up, Quaternion.identity); + gameObject.GetComponent().NoScream = true; + gameObject.transform.localScale = new Vector3(150f, 1f, 150f); + gameObject.GetComponent().FocusOnYandere = true; + gameObject.GetComponent().Hesitation = 0.6f; + this.EndEvent(); + } + if (!this.Yandere.NoDebug && UnityEngine.Input.GetKeyDown(KeyCode.LeftControl)) + { + this.EndEvent(); + } + this.Distance = Vector3.Distance(this.Yandere.transform.position, this.Epicenter.position); + if (base.enabled) + { + if (this.Distance - 4f < 15f) + { + this.Scale = Mathf.Abs(1f - (this.Distance - 4f) / 15f); + if (this.Scale < 0f) + { + this.Scale = 0f; + } + if (this.Scale > 1f) + { + this.Scale = 1f; + } + this.Jukebox.Dip = 1f - 0.5f * this.Scale; + this.EventSubtitle.transform.localScale = new Vector3(this.Scale, this.Scale, this.Scale); + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = this.Scale; + } + this.Yandere.Eavesdropping = (this.Distance < 3f); + } + else + { + if (this.Distance - 4f < 16f) + { + this.EventSubtitle.transform.localScale = Vector3.zero; + } + if (this.VoiceClip != null) + { + this.VoiceClip.GetComponent().volume = 0f; + } + } + } + } + if (this.End) + { + Debug.Log("The event ended naturally because the ''End'' variable was set to ''true''."); + this.EndEvent(); + } + } + public void EndEvent() { + Debug.Log("Osana's morning ''Talk with Senpai'' event has ended."); + if (this.Phase > 0) + { + if (this.EventDay == DayOfWeek.Tuesday) + { + ScheduleBlock scheduleBlock = this.Senpai.ScheduleBlocks[2]; + scheduleBlock.destination = "Patrol"; + scheduleBlock.action = "Patrol"; + ScheduleBlock scheduleBlock2 = this.Senpai.ScheduleBlocks[7]; + scheduleBlock2.destination = "Patrol"; + scheduleBlock2.action = "Patrol"; + this.Senpai.GetDestinations(); + } + if (this.VoiceClip != null) + { + UnityEngine.Object.Destroy(this.VoiceClip); + } + if (!this.Senpai.Alarmed) + { + this.Senpai.Pathfinding.canSearch = true; + this.Senpai.Pathfinding.canMove = true; + this.Senpai.Routine = true; + } + this.Senpai.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Senpai.EventBook.SetActive(false); + this.Senpai.InEvent = false; + this.Senpai.Private = false; + if (!this.Rival.Alarmed) + { + this.Rival.Pathfinding.canSearch = true; + this.Rival.Pathfinding.canMove = true; + this.Rival.Routine = true; + } + this.Rival.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Rival.EventBook.SetActive(false); + this.Rival.Prompt.enabled = true; + this.Rival.InEvent = false; + this.Rival.Private = false; + if (this.Friend != null) + { + if (!this.Friend.Alarmed && !this.Friend.DramaticReaction) + { + this.Friend.Pathfinding.canSearch = true; + this.Friend.Pathfinding.canMove = true; + this.Friend.Routine = true; + } + if (this.NaturalEnd) + { + this.Friend.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; + this.Friend.Prompt.enabled = true; + this.Friend.InEvent = false; + this.Friend.Private = false; + } + else + { + this.Friend.Pathfinding.target = this.Location[3]; + this.Friend.CurrentDestination = this.Location[3]; + } + this.Friend.Cheer.enabled = false; + } + if (!this.StudentManager.Stop) + { + this.StudentManager.UpdateStudents(0); + } + this.Spy.Prompt.Hide(); + this.Spy.Prompt.enabled = false; + if (this.Spy.Phase > 0) + { + this.Spy.End(); + } + this.Yandere.Eavesdropping = false; + this.EventSubtitle.text = string.Empty; + base.enabled = false; + this.Jukebox.Dip = 1f; + } } + + public OsanaMorningFriendEventScript OsanaLoseFriendEvent; + + public StudentManagerScript StudentManager; + + public JukeboxScript Jukebox; + + public UILabel EventSubtitle; + + public YandereScript Yandere; + + public ClockScript Clock; + + public SpyScript Spy; + + public StudentScript Friend; + + public StudentScript Senpai; + + public StudentScript Rival; + + public Transform[] Location; + + public Transform Epicenter; + + public AudioClip SpeechClip; + + public string[] SpeechText; + + public float[] SpeechTime; + + public GameObject AlarmDisc; + + public GameObject VoiceClip; + + public bool NaturalEnd; + + public bool Transfer; + + public bool End; + + public float TransferTime; + + public float Distance; + + public float Scale; + + public float Timer; + + public DayOfWeek EventDay; + + public int SpeechPhase = 1; + + public int FriendID = 6; + + public int RivalID = 11; + + public int Phase; + + public int Frame; + + public string Weekday = string.Empty; } diff --git a/SaveLoadMenuScript.cs b/SaveLoadMenuScript.cs index 8ca6d9d..75e81bc 100644 --- a/SaveLoadMenuScript.cs +++ b/SaveLoadMenuScript.cs @@ -50,7 +50,7 @@ public class SaveLoadMenuScript : MonoBehaviour GameGlobals.Profile = 1; this.Profile = 1; } - this.PauseScreen.ScreenBlur.enabled = true; + this.PauseScreen.Yandere.Blur.enabled = true; this.UICamera.enabled = true; this.StudentManager.Save(); base.StartCoroutine(this.GetThumbnails()); @@ -190,7 +190,7 @@ public class SaveLoadMenuScript : MonoBehaviour this.Selected, "_Thumbnail.png" })); - this.PauseScreen.ScreenBlur.enabled = false; + this.PauseScreen.Yandere.Blur.enabled = false; this.UICamera.enabled = false; this.GrabScreenshot = true; } diff --git a/SceneNames.cs b/SceneNames.cs index f657a0e..bbd149e 100644 --- a/SceneNames.cs +++ b/SceneNames.cs @@ -66,6 +66,8 @@ public static class SceneNames public const string WalkToSchoolScene = "WalkToSchoolScene"; + public const string SuicideScene = "SuicideScene"; + public const string NoAnimationWarningScene = "NoAnimationWarningScene"; public const string BusStopScene = "BusStopScene"; @@ -81,4 +83,6 @@ public static class SceneNames public const string StalkerHouseScene = "StalkerHouseScene"; public const string GenocideScene = "GenocideScene"; + + public const string NewTitleScene = "NewTitleScene"; } diff --git a/SchemesScript.cs b/SchemesScript.cs index afacdb3..15a365e 100644 --- a/SchemesScript.cs +++ b/SchemesScript.cs @@ -13,37 +13,51 @@ public class SchemesScript : MonoBehaviour this.SchemeNameLabels[i].text = this.SchemeNames[i]; } } - this.SchemeNameLabels[1].color = new Color(0f, 0f, 0f, 0.5f); - this.SchemeNameLabels[2].color = new Color(0f, 0f, 0f, 0.5f); - this.SchemeNameLabels[3].color = new Color(0f, 0f, 0f, 0.5f); - this.SchemeNameLabels[4].color = new Color(0f, 0f, 0f, 0.5f); - this.SchemeNameLabels[5].color = new Color(0f, 0f, 0f, 0.5f); + this.DisableScheme[1] = true; + this.DisableScheme[2] = true; + this.DisableScheme[3] = true; + this.DisableScheme[4] = true; + this.DisableScheme[5] = true; + this.DisableScheme[21] = true; + this.DisableScheme[22] = true; + this.DisableScheme[23] = true; + this.DisableScheme[24] = true; + this.DisableScheme[25] = true; if (DateGlobals.Weekday == DayOfWeek.Monday) { - this.SchemeNameLabels[1].color = new Color(0f, 0f, 0f, 1f); + this.DisableScheme[1] = false; + this.DisableScheme[21] = false; } if (DateGlobals.Weekday == DayOfWeek.Tuesday) { - this.SchemeNameLabels[2].color = new Color(0f, 0f, 0f, 1f); + this.DisableScheme[2] = false; + this.DisableScheme[22] = false; } if (DateGlobals.Weekday == DayOfWeek.Wednesday) { - this.SchemeNameLabels[3].color = new Color(0f, 0f, 0f, 1f); + this.DisableScheme[3] = false; + this.DisableScheme[23] = false; } if (DateGlobals.Weekday == DayOfWeek.Thursday) { - this.SchemeNameLabels[4].color = new Color(0f, 0f, 0f, 1f); + this.DisableScheme[4] = false; + this.DisableScheme[24] = false; } if (DateGlobals.Weekday == DayOfWeek.Friday) { - this.SchemeNameLabels[5].color = new Color(0f, 0f, 0f, 1f); + this.DisableScheme[5] = false; + this.DisableScheme[25] = false; } if (DateGlobals.Weekday != DayOfWeek.Monday) { - this.SchemeNameLabels[6].color = new Color(0f, 0f, 0f, 1f); - this.SchemeNameLabels[7].color = new Color(0f, 0f, 0f, 1f); + this.DisableScheme[6] = true; + } + if (DateGlobals.Weekday != DayOfWeek.Thursday) + { + this.DisableScheme[20] = true; } this.NextStepInput.SetActive(false); + this.UpdateSchemeInfo(); } private void Update() @@ -213,6 +227,14 @@ public class SchemesScript : MonoBehaviour this.SchemeNameLabels[i].text = this.SchemeNames[i + this.ListPosition]; this.SchemeCostLabels[i].text = string.Concat(this.SchemeCosts[i + this.ListPosition]); this.SchemeDeadlineLabels[i].text = this.SchemeDeadlines[i + this.ListPosition]; + if (this.DisableScheme[i + this.ListPosition]) + { + this.SchemeNameLabels[i].color = new Color(0f, 0f, 0f, 0.5f); + } + else + { + this.SchemeNameLabels[i].color = new Color(0f, 0f, 0f, 1f); + } if (this.SchemeManager.CurrentScheme == i + this.ListPosition) { this.Exclamations[i].enabled = true; @@ -266,7 +288,7 @@ public class SchemesScript : MonoBehaviour this.Arrow.gameObject.SetActive(false); this.HUDIcon.gameObject.SetActive(false); this.HUDInstructions.text = string.Empty; - SchemeGlobals.CurrentScheme = 0; + this.SchemeManager.CurrentScheme = 0; } } else @@ -399,6 +421,8 @@ public class SchemesScript : MonoBehaviour public Transform[] Scheme5Destinations; + public bool[] DisableScheme; + public GameObject HUDIcon; public UILabel HUDInstructions; diff --git a/ServicesScript.cs b/ServicesScript.cs index 05fbd93..1d309f7 100644 --- a/ServicesScript.cs +++ b/ServicesScript.cs @@ -104,6 +104,7 @@ public class ServicesScript : MonoBehaviour SchemeGlobals.SetServicePurchased(this.Selected, true); for (int i = 1; i < 26; i++) { + ConversationGlobals.SetTopicDiscovered(i, true); ConversationGlobals.SetTopicLearnedByStudent(i, 11, true); } this.Purchase(); diff --git a/SettingsScript.cs b/SettingsScript.cs index 63acbad..7409032 100644 --- a/SettingsScript.cs +++ b/SettingsScript.cs @@ -6,25 +6,6 @@ public class SettingsScript : MonoBehaviour { private void Update() { - if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) - { - OptionGlobals.DepthOfField = !OptionGlobals.DepthOfField; - this.QualityManager.ToggleExperiment(); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.R)) - { - OptionGlobals.RimLight = !OptionGlobals.RimLight; - this.QualityManager.RimLight(); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Z)) - { - this.StudentManager.OpaqueWindows = !this.StudentManager.OpaqueWindows; - this.StudentManager.LateUpdate(); - if (!this.StudentManager.OpaqueWindows && !this.StudentManager.WindowOccluder.open) - { - this.StudentManager.SetWindowsOpaque(); - } - } if (UnityEngine.Input.GetKeyDown(KeyCode.B)) { this.ToggleBackground(); @@ -297,9 +278,9 @@ public class SettingsScript : MonoBehaviour this.PromptBar.Label[1].text = "Exit"; this.PromptBar.Label[4].text = "Choose"; this.PromptBar.UpdateButtons(); - if (this.PauseScreen.ScreenBlur != null) + if (this.PauseScreen.Yandere.Blur != null) { - this.PauseScreen.ScreenBlur.enabled = true; + this.PauseScreen.Yandere.Blur.enabled = true; } this.PauseScreen.MainMenu.SetActive(true); this.PauseScreen.Sideways = false; diff --git a/ShoePairScript.cs b/ShoePairScript.cs index 5892f0a..f07ea21 100644 --- a/ShoePairScript.cs +++ b/ShoePairScript.cs @@ -6,21 +6,26 @@ public class ShoePairScript : MonoBehaviour private void Start() { this.Police = GameObject.Find("Police").GetComponent(); - if (this.Prompt.Yandere.Class.LanguageGrade + this.Prompt.Yandere.Class.LanguageBonus < 1) - { - this.Prompt.enabled = false; - } this.Note.SetActive(false); } private void Update() { + if (this.Prompt.Yandere.Class.LanguageGrade + this.Prompt.Yandere.Class.LanguageBonus < 1) + { + this.Prompt.enabled = false; + } + else + { + this.Prompt.enabled = true; + } if (this.Prompt.Circle[0].fillAmount == 0f) { this.Prompt.Hide(); this.Prompt.enabled = false; - this.Police.Suicide = true; + this.Police.SuicideNote = true; this.Note.SetActive(true); + base.enabled = false; } } diff --git a/ShoulderCameraScript.cs b/ShoulderCameraScript.cs index 4bf2593..ed3bf66 100644 --- a/ShoulderCameraScript.cs +++ b/ShoulderCameraScript.cs @@ -37,6 +37,7 @@ public class ShoulderCameraScript : MonoBehaviour { if (this.NoticedTimer == 0f) { + this.Yandere.CameraEffects.UpdateDOF(1f); base.GetComponent().cullingMask &= -8193; StudentScript component = this.Yandere.Senpai.GetComponent(); if (component.Teacher) @@ -115,6 +116,7 @@ public class ShoulderCameraScript : MonoBehaviour this.Yandere.EyeShrink = Mathf.MoveTowards(this.Yandere.EyeShrink, 0.5f, Time.deltaTime * 0.125f); } this.NoticedPOV.Translate(Vector3.forward * Time.deltaTime * 0.075f); + this.Yandere.CameraEffects.UpdateDOF(0.75f); if (this.GoingToCounselor) { this.Yandere.CharacterAnimation.CrossFade("f02_disappointed_00"); diff --git a/ShutterScript.cs b/ShutterScript.cs index 9d31d64..d3ec292 100644 --- a/ShutterScript.cs +++ b/ShutterScript.cs @@ -155,7 +155,7 @@ public class ShutterScript : MonoBehaviour this.ReactionDistance = this.FaceStudent.VisionDistance; } bool enabled = this.FaceStudent.ShoeRemoval.enabled; - if (!this.FaceStudent.Alarmed && !this.FaceStudent.Dying && !this.FaceStudent.Distracted && !this.FaceStudent.InEvent && !this.FaceStudent.Wet && this.FaceStudent.Schoolwear > 0 && !this.FaceStudent.Fleeing && !this.FaceStudent.Following && !enabled && !this.FaceStudent.HoldingHands && this.FaceStudent.Actions[this.FaceStudent.Phase] != StudentActionType.Mourn && !this.FaceStudent.Guarding && !this.FaceStudent.Confessing && !this.FaceStudent.DiscCheck && !this.FaceStudent.TurnOffRadio && !this.FaceStudent.Investigating && !this.FaceStudent.Distracting && !this.FaceStudent.WitnessedLimb && !this.FaceStudent.WitnessedWeapon && !this.FaceStudent.WitnessedBloodPool && !this.FaceStudent.WitnessedBloodyWeapon && Vector3.Distance(this.Yandere.transform.position, gameObject.transform.position) < this.ReactionDistance && this.FaceStudent.CanSeeObject(this.Yandere.gameObject, this.Yandere.transform.position + Vector3.up)) + if (!this.FaceStudent.Alarmed && !this.FaceStudent.Dying && !this.FaceStudent.Distracted && !this.FaceStudent.InEvent && !this.FaceStudent.Wet && this.FaceStudent.Schoolwear > 0 && !this.FaceStudent.Fleeing && !this.FaceStudent.Following && !enabled && !this.FaceStudent.HoldingHands && this.FaceStudent.Actions[this.FaceStudent.Phase] != StudentActionType.Mourn && !this.FaceStudent.Guarding && !this.FaceStudent.Confessing && !this.FaceStudent.DiscCheck && !this.FaceStudent.TurnOffRadio && !this.FaceStudent.Investigating && !this.FaceStudent.Distracting && !this.FaceStudent.WitnessedLimb && !this.FaceStudent.WitnessedWeapon && !this.FaceStudent.WitnessedBloodPool && !this.FaceStudent.WitnessedBloodyWeapon && !this.FaceStudent.SentHome && Vector3.Distance(this.Yandere.transform.position, gameObject.transform.position) < this.ReactionDistance && this.FaceStudent.CanSeeObject(this.Yandere.gameObject, this.Yandere.transform.position + Vector3.up)) { if (this.MissionMode) { diff --git a/SniperScript.cs b/SniperScript.cs index d620448..21b0a6e 100644 --- a/SniperScript.cs +++ b/SniperScript.cs @@ -3,24 +3,4 @@ using UnityEngine; public class SniperScript : MonoBehaviour { - private void Update() - { - this.Timer += Time.deltaTime; - if (this.Timer > 10f) - { - if (this.StudentManager.Students[10] != null) - { - this.StudentManager.Students[10].BecomeRagdoll(); - } - if (this.StudentManager.Students[11] != null) - { - this.StudentManager.Students[11].BecomeRagdoll(); - } - UnityEngine.Object.Destroy(base.gameObject); - } - } - - public StudentManagerScript StudentManager; - - public float Timer; } diff --git a/SponsorScript.cs b/SponsorScript.cs index 513f2ec..1b25e62 100644 --- a/SponsorScript.cs +++ b/SponsorScript.cs @@ -23,7 +23,7 @@ public class SponsorScript : MonoBehaviour this.Darkness.color = new Color(this.Darkness.color.r, this.Darkness.color.g, this.Darkness.color.b, Mathf.MoveTowards(this.Darkness.color.a, 1f, Time.deltaTime)); if (this.Darkness.color.a == 1f) { - SceneManager.LoadScene("TitleScene"); + SceneManager.LoadScene("NewTitleScene"); } } diff --git a/StalkerIntroScript.cs b/StalkerIntroScript.cs index 9714ade..6283575 100644 --- a/StalkerIntroScript.cs +++ b/StalkerIntroScript.cs @@ -14,7 +14,7 @@ public class StalkerIntroScript : MonoBehaviour this.CameraFocus.parent = base.transform; this.CameraFocus.localPosition = new Vector3(0f, 0f, 100f); this.CameraFocus.parent = null; - this.UpdateDOF(3f); + this.UpdateDOF(4f); this.DOF = 4f; this.Alpha = 1f; this.Yandere.Start(); @@ -56,7 +56,7 @@ public class StalkerIntroScript : MonoBehaviour this.Speed += Time.deltaTime; base.transform.position = Vector3.Lerp(base.transform.position, new Vector3(11.5f, 1f, 13f), Time.deltaTime * this.Speed); this.CameraFocus.position = Vector3.Lerp(this.CameraFocus.position, new Vector3(13.62132f, 1f, 15.12132f), Time.deltaTime * this.Speed); - this.DOF = Mathf.Lerp(this.DOF, 2f, Time.deltaTime * this.Speed); + this.DOF = Mathf.MoveTowards(this.DOF, 1.2f, Time.deltaTime * this.Speed); this.UpdateDOF(this.DOF); base.transform.LookAt(this.CameraFocus); if (this.Yandere.MyAnimation["f02_jumpOverWall_00"].time > 13f) diff --git a/StreetManagerScript.cs b/StreetManagerScript.cs index 6da9982..c1eca7b 100644 --- a/StreetManagerScript.cs +++ b/StreetManagerScript.cs @@ -29,6 +29,12 @@ public class StreetManagerScript : MonoBehaviour this.Couple.SetActive(false); } this.Sunlight.shadows = LightShadows.None; + if (!HomeGlobals.Night) + { + this.Day = true; + this.Clock.HourLabel.text = "6:00 AM"; + this.Sunlight.shadows = LightShadows.Soft; + } } private void Update() @@ -127,7 +133,7 @@ public class StreetManagerScript : MonoBehaviour this.Day = !this.Day; if (this.Day) { - this.Clock.HourLabel.text = "12:00 PM"; + this.Clock.HourLabel.text = "6:00 AM"; this.Sunlight.shadows = LightShadows.Soft; } else diff --git a/StreetShopInterfaceScript.cs b/StreetShopInterfaceScript.cs index 463cb0a..7d99762 100644 --- a/StreetShopInterfaceScript.cs +++ b/StreetShopInterfaceScript.cs @@ -102,7 +102,7 @@ public class StreetShopInterfaceScript : MonoBehaviour } else { - this.BlurAmount = Mathf.Lerp(this.BlurAmount, 0.6f, Time.deltaTime * 10f); + this.BlurAmount = Mathf.Lerp(this.BlurAmount, 2f, Time.deltaTime * 10f); this.MaidWindow.localScale = Vector3.Lerp(this.MaidWindow.localScale, new Vector3(0f, 0f, 0f), Time.deltaTime * 10f); } } @@ -119,6 +119,10 @@ public class StreetShopInterfaceScript : MonoBehaviour public void UpdateHighlight() { this.Highlight.localPosition = new Vector3(-50f, (float)(50 - 50 * this.Selected), 0f); + if (this.Descs[this.Selected] != "") + { + this.DescriptionLabel.text = this.Descs[this.Selected]; + } } public void CheckStore() @@ -358,6 +362,8 @@ public class StreetShopInterfaceScript : MonoBehaviour public UILabel SpeechBubbleLabel; + public UILabel DescriptionLabel; + public UILabel StoreNameLabel; public UILabel MoneyLabel; @@ -374,6 +380,8 @@ public class StreetShopInterfaceScript : MonoBehaviour public bool[] AdultProducts; + public string[] Descs; + public float[] Costs; public UITexture Shopkeeper; @@ -386,6 +394,8 @@ public class StreetShopInterfaceScript : MonoBehaviour public Transform Interface; + public GameObject DescriptionBox; + public GameObject FakeIDBox; public AudioSource Jukebox; diff --git a/StreetShopScript.cs b/StreetShopScript.cs index 7885ae9..5bcb2d6 100644 --- a/StreetShopScript.cs +++ b/StreetShopScript.cs @@ -132,6 +132,15 @@ public class StreetShopScript : MonoBehaviour private void UpdateShopInterface() { + if (this.Descs[1] != "") + { + this.StreetShopInterface.DescriptionBox.SetActive(true); + this.StreetShopInterface.DescriptionLabel.text = this.Descs[1]; + } + else + { + this.StreetShopInterface.DescriptionBox.SetActive(false); + } this.Yandere.MainCamera.GetComponent().enabled = false; this.StreetShopInterface.StoreNameLabel.text = this.StoreName; this.StreetShopInterface.MoneyLabel.text = "$" + PlayerGlobals.Money.ToString("F2", NumberFormatInfo.InvariantInfo); @@ -143,6 +152,7 @@ public class StreetShopScript : MonoBehaviour this.StreetShopInterface.AdultProducts = this.AdultProducts; this.StreetShopInterface.SpeechPhase = 0; this.StreetShopInterface.Costs = this.Costs; + this.StreetShopInterface.Descs = this.Descs; this.StreetShopInterface.Limit = this.Limit; this.StreetShopInterface.Selected = 1; this.StreetShopInterface.Timer = 0f; @@ -199,6 +209,8 @@ public class StreetShopScript : MonoBehaviour public bool[] AdultProducts; + public string[] Descs; + public string[] Products; public float[] Costs; diff --git a/StruggleBarScript.cs b/StruggleBarScript.cs index f965406..99e3bc8 100644 --- a/StruggleBarScript.cs +++ b/StruggleBarScript.cs @@ -85,34 +85,21 @@ public class StruggleBarScript : MonoBehaviour if (this.AttackTimer == 0f) { this.Yandere.Blur.enabled = true; - this.Yandere.Blur.blurSize = 0f; - this.Yandere.Blur.blurIterations = 0; + this.Yandere.Blur.Size = 1f; } this.AttackTimer += Time.deltaTime; if (this.AttackTimer < 2.5f) { - this.Yandere.Blur.blurSize = Mathf.MoveTowards(this.Yandere.Blur.blurSize, 10f, Time.deltaTime * 10f); - if (this.Yandere.Blur.blurSize > (float)this.Yandere.Blur.blurIterations) - { - this.Yandere.Blur.blurIterations++; - return; - } + this.Yandere.Blur.Size = Mathf.MoveTowards(this.Yandere.Blur.Size, 16f, Time.deltaTime * 10f); + return; } - else + this.Yandere.Blur.Size = Mathf.Lerp(this.Yandere.Blur.Size, 1f, Time.deltaTime * 32f); + if (this.AttackTimer >= 3f) { - this.Yandere.Blur.blurSize = Mathf.Lerp(this.Yandere.Blur.blurSize, 0f, Time.deltaTime * 10f); - if (this.Yandere.Blur.blurSize < (float)this.Yandere.Blur.blurIterations) - { - this.Yandere.Blur.blurIterations--; - } - if (this.AttackTimer >= 3f) - { - base.gameObject.SetActive(false); - this.Yandere.Blur.enabled = false; - this.Yandere.Blur.blurSize = 0f; - this.Yandere.Blur.blurIterations = 0; - this.AttackTimer = 0f; - } + base.gameObject.SetActive(false); + this.Yandere.Blur.enabled = false; + this.Yandere.Blur.Size = 1f; + this.AttackTimer = 0f; } } } diff --git a/StudentInfoMenuScript.cs b/StudentInfoMenuScript.cs index f714d37..35e991f 100644 --- a/StudentInfoMenuScript.cs +++ b/StudentInfoMenuScript.cs @@ -306,7 +306,7 @@ public class StudentInfoMenuScript : MonoBehaviour this.PromptBar.Label[0].text = string.Empty; this.PromptBar.UpdateButtons(); } - if (this.Targeting && (this.StudentID == 1 || this.StudentID > 97 || StudentGlobals.GetStudentDead(this.StudentID) || !this.StudentManager.Students[this.StudentID].gameObject.activeInHierarchy || this.StudentManager.Students[this.StudentID].InEvent || this.StudentManager.Students[this.StudentID].Tranquil)) + if (this.Targeting && (this.StudentID == 1 || this.StudentID > 97 || StudentGlobals.GetStudentDead(this.StudentID) || (this.StudentManager.Students[this.StudentID] != null && !this.StudentManager.Students[this.StudentID].gameObject.activeInHierarchy) || (this.StudentManager.Students[this.StudentID] != null && this.StudentManager.Students[this.StudentID].InEvent) || (this.StudentManager.Students[this.StudentID] != null && this.StudentManager.Students[this.StudentID].Tranquil))) { this.PromptBar.Label[0].text = string.Empty; this.PromptBar.UpdateButtons(); @@ -317,7 +317,7 @@ public class StudentInfoMenuScript : MonoBehaviour if (this.StudentManager.Students[this.StudentID] != null) { StudentScript studentScript = this.StudentManager.Students[this.StudentID]; - if (this.StudentID == 1 || StudentGlobals.GetStudentDead(this.StudentID) || (this.StudentID < 98 && studentScript.SentHome) || (this.StudentID > 97 || StudentGlobals.StudentSlave == this.StudentID || (studentScript.Club == ClubType.MartialArts && studentScript.ClubAttire)) || (studentScript.Club == ClubType.Sports && studentScript.ClubAttire) || this.StudentManager.Students[this.StudentID].CameraReacting || !StudentGlobals.GetStudentPhotographed(this.StudentID)) + if (this.StudentID == 1 || StudentGlobals.GetStudentDead(this.StudentID) || (this.StudentID < 98 && studentScript.SentHome) || (this.StudentID > 97 || StudentGlobals.StudentSlave == this.StudentID || (studentScript.Club == ClubType.MartialArts && studentScript.ClubAttire)) || (studentScript.Club == ClubType.Sports && studentScript.ClubAttire) || this.StudentManager.Students[this.StudentID].CameraReacting || !StudentGlobals.GetStudentPhotographed(this.StudentID) || this.StudentManager.Students[this.StudentID].Phoneless) { this.PromptBar.Label[0].text = string.Empty; this.PromptBar.UpdateButtons(); diff --git a/StudentInfoScript.cs b/StudentInfoScript.cs index b9f7e71..49b2f84 100644 --- a/StudentInfoScript.cs +++ b/StudentInfoScript.cs @@ -392,15 +392,18 @@ public class StudentInfoScript : MonoBehaviour this.UpdateRepChart(); this.ShowRep = !this.ShowRep; } - if (UnityEngine.Input.GetKeyDown(KeyCode.Equals)) + if (!this.Yandere.NoDebug) { - StudentGlobals.SetStudentReputation(this.CurrentStudent, StudentGlobals.GetStudentReputation(this.CurrentStudent) + 10); - this.UpdateInfo(this.CurrentStudent); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Minus)) - { - StudentGlobals.SetStudentReputation(this.CurrentStudent, StudentGlobals.GetStudentReputation(this.CurrentStudent) - 10); - this.UpdateInfo(this.CurrentStudent); + if (UnityEngine.Input.GetKeyDown(KeyCode.Equals)) + { + StudentGlobals.SetStudentReputation(this.CurrentStudent, StudentGlobals.GetStudentReputation(this.CurrentStudent) + 10); + this.UpdateInfo(this.CurrentStudent); + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Minus)) + { + StudentGlobals.SetStudentReputation(this.CurrentStudent, StudentGlobals.GetStudentReputation(this.CurrentStudent) - 10); + this.UpdateInfo(this.CurrentStudent); + } } StudentInfoMenuScript studentInfoMenu = this.StudentInfoMenu; if (!studentInfoMenu.CyberBullying && !studentInfoMenu.CyberStalking && !studentInfoMenu.FindingLocker && !studentInfoMenu.UsingLifeNote && !studentInfoMenu.GettingInfo && !studentInfoMenu.MatchMaking && !studentInfoMenu.Distracting && !studentInfoMenu.SendingHome && !studentInfoMenu.Gossiping && !studentInfoMenu.Targeting && !studentInfoMenu.Dead) @@ -453,8 +456,16 @@ public class StudentInfoScript : MonoBehaviour Debug.Log("EventGlobals.Event1 is: " + EventGlobals.Event1.ToString()); if (ID == 11) { - this.Strings[1] = (this.Yandere.Police.EndOfDay.LearnedOsanaInfo1 ? "May be a victim of blackmail." : "?????"); - this.Strings[2] = (this.Yandere.Police.EndOfDay.LearnedOsanaInfo2 ? "Has a stalker." : "?????"); + if (this.Yandere != null) + { + this.Strings[1] = (this.Yandere.Police.EndOfDay.LearnedOsanaInfo1 ? "May be a victim of blackmail." : "?????"); + this.Strings[2] = (this.Yandere.Police.EndOfDay.LearnedOsanaInfo2 ? "Has a stalker." : "?????"); + } + else + { + this.Strings[1] = "?????"; + this.Strings[2] = "?????"; + } this.InfoLabel.text = this.Strings[1] + "\n\n" + this.Strings[2]; return; } diff --git a/StudentJson.cs b/StudentJson.cs index 0471b39..6cc8714 100644 --- a/StudentJson.cs +++ b/StudentJson.cs @@ -64,13 +64,6 @@ public class StudentJson : JsonData { studentJson.scheduleBlocks[k] = new ScheduleBlock(array3[k], array4[k], array5[k]); } - if (num == 10 || num == 11) - { - for (int l = 0; l < studentJson.scheduleBlocks.Length; l++) - { - studentJson.scheduleBlocks[l] = null; - } - } studentJson.success = true; } return array; diff --git a/StudentManagerScript.cs b/StudentManagerScript.cs index e122200..10294f5 100644 --- a/StudentManagerScript.cs +++ b/StudentManagerScript.cs @@ -5,17 +5,28 @@ public class StudentManagerScript : MonoBehaviour { private void Start() { + if (PlayerPrefs.GetInt("LoadingSave") == 1) + { + this.ReturnedFromSave = true; + } if (GameGlobals.RivalEliminationID > 0) { this.RivalEliminated = true; } StudentGlobals.SetStudentPhotographed(this.RivalID, true); - this.Police.EndOfDay.LearnedOsanaInfo1 = EventGlobals.OsanaEvent1; - this.Police.EndOfDay.LearnedOsanaInfo2 = EventGlobals.OsanaEvent2; + if (this.Police != null) + { + this.Police.EndOfDay.LearnedOsanaInfo1 = EventGlobals.OsanaEvent1; + this.Police.EndOfDay.LearnedOsanaInfo2 = EventGlobals.OsanaEvent2; + } this.LoveSick = GameGlobals.LoveSick; this.MetalDetectors = SchoolGlobals.HighSecurity; this.RoofFenceUp = SchoolGlobals.RoofFence; - SchemeGlobals.DeleteAll(); + this.Schemes.HUDIcon.gameObject.SetActive(false); + this.Schemes.HUDInstructions.text = string.Empty; + this.Schemes.SchemeManager.CurrentScheme = 0; + this.Schemes.NextStepInput.SetActive(false); + SchemeGlobals.CurrentScheme = 0; if (ClubGlobals.GetClubClosed(ClubType.LightMusic)) { this.SpawnPositions[51].position = new Vector3(3f, 0f, -95f); @@ -212,6 +223,7 @@ public class StudentManagerScript : MonoBehaviour this.Graffiti[3].SetActive(false); this.Graffiti[4].SetActive(false); this.Graffiti[5].SetActive(false); + this.RivalChan.SetActive(false); } } else @@ -233,7 +245,11 @@ public class StudentManagerScript : MonoBehaviour this.NWStairs = GameObject.Find("NWStairs").GetComponent(); this.SEStairs = GameObject.Find("SEStairs").GetComponent(); this.SWStairs = GameObject.Find("SWStairs").GetComponent(); - this.Yandere.Class.GetStats(); + if (!this.ReturnedFromSave) + { + this.Yandere.Class.GetStats(); + } + this.Yandere.CameraEffects.UpdateDOF(2f); } } @@ -253,7 +269,6 @@ public class StudentManagerScript : MonoBehaviour } this.Atmosphere = SchoolGlobals.SchoolAtmosphere; } - this.Vignettes = Camera.main.GetComponents(); float num = 1f - this.Atmosphere; if (!this.TakingPortraits) { @@ -263,9 +278,6 @@ public class StudentManagerScript : MonoBehaviour this.HandSelectiveGreyscale.desaturation = num; this.SmartphoneSelectiveGreyscale.desaturation = num; } - this.Vignettes[2].intensity = num * 5f; - this.Vignettes[2].blur = num; - this.Vignettes[2].chromaticAberration = num * 5f; float num2 = 1f - num; RenderSettings.fogColor = new Color(num2, num2, num2, 1f); Camera.main.backgroundColor = new Color(num2, num2, num2, 1f); @@ -301,10 +313,7 @@ public class StudentManagerScript : MonoBehaviour this.DetermineVictim(); } this.UpdateStudents(0); - if (!OptionGlobals.RimLight) - { - this.QualityManager.RimLight(); - } + this.QualityManager.UpdateOutlinesAndRimlight(); this.ID = 26; while (this.ID < 31) { @@ -350,6 +359,11 @@ public class StudentManagerScript : MonoBehaviour this.ID++; } this.ClubManager.ActivateClubBenefit(); + if (GameGlobals.CensorPanties) + { + this.CensorStudents(); + this.Yandere.DebugMenu.transform.parent.GetComponent().Censor(); + } } if ((double)this.Clock.HourTime > 16.9) { @@ -646,13 +660,16 @@ public class StudentManagerScript : MonoBehaviour } } } - if (this.Yandere.transform.position.z < -50f) + if (this.PlazaOccluder != null) { - this.PlazaOccluder.open = false; - } - else - { - this.PlazaOccluder.open = true; + if (this.Yandere.transform.position.z < -50f) + { + this.PlazaOccluder.open = false; + } + else + { + this.PlazaOccluder.open = true; + } } this.YandereVisible = false; } @@ -660,11 +677,11 @@ public class StudentManagerScript : MonoBehaviour public void SpawnStudent(int spawnID) { bool flag = false; - if (this.JSON.Students[spawnID].Club != ClubType.Delinquent && StudentGlobals.GetStudentReputation(spawnID) < -100) + if (spawnID > 11 && spawnID < 21) { flag = true; } - if (spawnID > 9 && spawnID < 21) + if (this.JSON.Students[spawnID].Club != ClubType.Delinquent && StudentGlobals.GetStudentReputation(spawnID) < -100) { flag = true; } @@ -750,10 +767,6 @@ public class StudentManagerScript : MonoBehaviour { this.RedString.Target = studentScript.LeftPinky; } - if (this.JSON.Students[spawnID].Persona == PersonaType.Protective || this.JSON.Students[spawnID].Hairstyle == "20" || this.JSON.Students[spawnID].Hairstyle == "21") - { - UnityEngine.Object.Destroy(studentScript); - } if (num == 0) { this.GirlsSpawned++; @@ -763,12 +776,6 @@ public class StudentManagerScript : MonoBehaviour } this.NPCsSpawned++; this.ForceSpawn = false; - if (this.Students[10] != null || this.Students[11] != null) - { - UnityEngine.Object.Destroy(this.Students[10].gameObject); - UnityEngine.Object.Destroy(this.Students[11].gameObject); - UnityEngine.Object.Destroy(base.gameObject); - } } public void UpdateStudents(int SpecificStudent = 0) @@ -1056,6 +1063,10 @@ public class StudentManagerScript : MonoBehaviour StudentScript studentScript = this.Students[this.ID]; if (studentScript != null) { + if (studentScript.Meeting) + { + studentScript.StopMeeting(); + } if (studentScript.WitnessedBloodPool && !studentScript.WitnessedMurder && !studentScript.WitnessedCorpse) { studentScript.Fleeing = false; @@ -1464,7 +1475,6 @@ public class StudentManagerScript : MonoBehaviour StudentScript studentScript = this.Students[this.ID]; if (studentScript != null) { - Debug.Log(this.Students[this.ID].Name + "'s expelled status is set to: " + StudentGlobals.GetStudentExpelled(this.ID).ToString()); if (!studentScript.Dying && !studentScript.Replaced && studentScript.Spawned && !StudentGlobals.GetStudentExpelled(this.ID) && !studentScript.Ragdoll.Disposed) { studentScript.gameObject.SetActive(true); @@ -1768,7 +1778,7 @@ public class StudentManagerScript : MonoBehaviour StudentScript studentScript = this.Students[this.ID]; if (studentScript != null && !studentScript.Male && studentScript.Club != ClubType.Teacher && studentScript.Club != ClubType.GymTeacher && studentScript.Club != ClubType.Nurse) { - if (this.Censor) + if (GameGlobals.CensorPanties) { studentScript.Cosmetic.CensorPanties(); } @@ -2539,13 +2549,8 @@ public class StudentManagerScript : MonoBehaviour { int profile = GameGlobals.Profile; int @int = PlayerPrefs.GetInt("SaveSlot"); - Debug.Log(string.Concat(new object[] - { - "At the moment of saving, Himari's Phase was: ", - this.Students[72].Phase, - " and her PatrolID was: ", - this.Students[72].PatrolID - })); + Debug.Log("At the moment of saving, Class.BiologyGrade is: " + this.Yandere.Class.BiologyGrade); + Debug.Log("At the moment of saving, ClassGlobals.BiologyGrade is: " + ClassGlobals.BiologyGrade); this.BloodParent.RecordAllBlood(); YanSave.SaveData(string.Concat(new object[] { @@ -2569,13 +2574,9 @@ public class StudentManagerScript : MonoBehaviour Debug.Log("Now loading save data."); int profile = GameGlobals.Profile; int @int = PlayerPrefs.GetInt("SaveSlot"); - Debug.Log(string.Concat(new object[] - { - "Before loading data, Himari's Phase was: ", - this.Students[72].Phase, - " and her PatrolID was: ", - this.Students[72].PatrolID - })); + Debug.Log("Before loading, Class.BiologyGrade was: " + this.Yandere.Class.BiologyGrade); + Debug.Log("Before loading, ClassGlobals.BiologyGrade was: " + ClassGlobals.BiologyGrade); + this.Yandere.Class.gameObject.SetActive(true); YanSave.LoadData(string.Concat(new object[] { "Profile_", @@ -2583,13 +2584,9 @@ public class StudentManagerScript : MonoBehaviour "_Slot_", @int }), false); - Debug.Log(string.Concat(new object[] - { - "After loading data, Himari's Phase was: ", - this.Students[72].Phase, - " and her PatrolID was: ", - this.Students[72].PatrolID - })); + this.Yandere.Class.gameObject.SetActive(false); + Debug.Log("After loading, Class.BiologyGrade is: " + this.Yandere.Class.BiologyGrade); + Debug.Log("After loading, ClassGlobals.BiologyGrade is: " + ClassGlobals.BiologyGrade); Physics.SyncTransforms(); this.ID = 1; while (this.ID < 101) @@ -3017,36 +3014,49 @@ public class StudentManagerScript : MonoBehaviour } } + public void SetWindowsTransparent() + { + Debug.Log("Setting all windows transparent!"); + this.Window.sharedMaterial.color = new Color(1f, 1f, 1f, 0.5f); + this.Window.sharedMaterial.shader = Shader.Find("Transparent/Diffuse"); + this.TransWindows = true; + } + public void SetWindowsOpaque() { - this.WindowOccluder.open = !this.WindowOccluder.open; - if (this.WindowOccluder.open) - { - this.Window.sharedMaterial.color = new Color(1f, 1f, 1f, 0.5f); - this.Window.sharedMaterial.shader = Shader.Find("Transparent/Diffuse"); - return; - } + Debug.Log("Setting all windows opaque!"); this.Window.sharedMaterial.color = new Color(1f, 1f, 1f, 1f); this.Window.sharedMaterial.shader = Shader.Find("Diffuse"); + this.TransWindows = false; } public void LateUpdate() { - if (this.OpaqueWindows) + if (this.TransparentWindows) { if (this.Yandere.transform.position.y > 0.1f && this.Yandere.transform.position.y < 11f) { - if (this.WindowOccluder.open) + if (!this.TransWindows) { - this.SetWindowsOpaque(); + this.SetWindowsTransparent(); return; } } - else if (!this.WindowOccluder.open) + else if (this.TransWindows) { this.SetWindowsOpaque(); + return; } } + else + { + if (this.Yandere.transform.position.y > 0.1f && this.Yandere.transform.position.y < 11f) + { + this.WindowOccluder.open = false; + return; + } + this.WindowOccluder.open = true; + } } public void UpdateSkirts(bool Status) @@ -3193,6 +3203,8 @@ public class StudentManagerScript : MonoBehaviour public GhostScript GhostChan; + public SchemesScript Schemes; + public YandereScript Yandere; public ListScript MeetSpots; @@ -3587,6 +3599,8 @@ public class StudentManagerScript : MonoBehaviour public bool ControllerShrink; + public bool ReturnedFromSave; + public bool DisableFarAnims; public bool GameOverIminent; @@ -3631,8 +3645,6 @@ public class StudentManagerScript : MonoBehaviour public bool Meeting; - public bool Censor; - public bool Spooky; public bool Bully; @@ -3742,7 +3754,9 @@ public class StudentManagerScript : MonoBehaviour public OcclusionPortal WindowOccluder; - public bool OpaqueWindows; + public bool TransparentWindows; + + public bool TransWindows; public Renderer Window; } diff --git a/StudentScript.cs b/StudentScript.cs index 072e249..f7bfa16 100644 --- a/StudentScript.cs +++ b/StudentScript.cs @@ -222,7 +222,7 @@ public class StudentScript : MonoBehaviour { this.BecomeTeacher(); } - if (this.StudentManager.Censor && !this.Teacher) + if (GameGlobals.CensorPanties && !this.Teacher) { this.Cosmetic.CensorPanties(); } @@ -291,6 +291,12 @@ public class StudentScript : MonoBehaviour { this.RelaxAnim = "crossarms_00"; this.CameraAnims = this.HeroAnims; + this.Curious = true; + this.Crush = 11; + if (this.StudentManager.Students[11] == null) + { + this.Curious = false; + } } else if (this.StudentID == 7) { @@ -317,11 +323,104 @@ public class StudentScript : MonoBehaviour } else if (this.StudentID == 10) { - UnityEngine.Object.Destroy(base.gameObject); + this.LovestruckTarget = 11; + if (this.StudentManager.Students[11] != null && DatingGlobals.SuitorProgress < 2 && (float)StudentGlobals.GetStudentReputation(10) > -33.33333f) + { + this.StudentManager.Patrols.List[this.StudentID].parent = this.StudentManager.Students[11].transform; + this.StudentManager.Patrols.List[this.StudentID].localEulerAngles = new Vector3(0f, 0f, 0f); + this.StudentManager.Patrols.List[this.StudentID].localPosition = new Vector3(0f, 0f, 0f); + this.VisionDistance = 12f; + this.VomitPhase = -1; + this.Indoors = true; + this.Spawned = true; + this.Calm = true; + if (this.ShoeRemoval.Locker == null) + { + this.ShoeRemoval.Start(); + } + this.ShoeRemoval.PutOnShoes(); + this.FollowTarget = this.StudentManager.Students[11]; + this.FollowTarget.Follower = this; + this.IdleAnim = "f02_idleGirly_00"; + this.WalkAnim = "f02_walkGirly_00"; + this.PatrolAnim = "f02_stretch_00"; + this.OriginalIdleAnim = this.IdleAnim; + } + else + { + Debug.Log("Due to the circumstances, we're changing Raibaru's destinations."); + if (this.StudentManager.Students[11] == null) + { + this.RaibaruOsanaDeathScheduleChanges(); + } + else if ((float)StudentGlobals.GetStudentReputation(10) <= -33.33333f) + { + ScheduleBlock scheduleBlock6 = this.ScheduleBlocks[2]; + scheduleBlock6.destination = "Seat"; + scheduleBlock6.action = "Sit"; + scheduleBlock6.time = 8f; + ScheduleBlock scheduleBlock7 = this.ScheduleBlocks[4]; + scheduleBlock7.destination = "Seat"; + scheduleBlock7.action = "Sit"; + this.IdleAnim = this.BulliedIdleAnim; + this.WalkAnim = this.BulliedWalkAnim; + this.OriginalIdleAnim = this.IdleAnim; + } + else if (DatingGlobals.SuitorProgress == 2) + { + ScheduleBlock scheduleBlock8 = this.ScheduleBlocks[2]; + scheduleBlock8.destination = "Peek"; + scheduleBlock8.action = "Peek"; + scheduleBlock8.time = 8f; + ScheduleBlock scheduleBlock9 = this.ScheduleBlocks[4]; + scheduleBlock9.destination = "LunchSpot"; + scheduleBlock9.action = "Eat"; + } + this.RaibaruStopsFollowingOsana(); + this.TargetDistance = 0.5f; + } + this.PhotoPatience = 0f; + this.OriginalWalkAnim = this.WalkAnim; } else if (this.StudentID == 11) { - UnityEngine.Object.Destroy(base.gameObject); + this.SmartPhone.transform.localPosition = new Vector3(-0.0075f, -0.0025f, -0.0075f); + this.SmartPhone.transform.localEulerAngles = new Vector3(5f, -150f, 170f); + this.SmartPhone.GetComponent().material.mainTexture = this.OsanaPhoneTexture; + this.IdleAnim = "f02_tsunIdle_00"; + this.WalkAnim = "f02_tsunWalk_00"; + this.TaskAnims[0] = "f02_Task33_Line0"; + this.TaskAnims[1] = "f02_Task33_Line1"; + this.TaskAnims[2] = "f02_Task33_Line2"; + this.TaskAnims[3] = "f02_Task33_Line3"; + this.TaskAnims[4] = "f02_Task33_Line4"; + this.TaskAnims[5] = "f02_Task33_Line5"; + this.LovestruckTarget = 1; + this.PhotoPatience = 0f; + if (this.StudentManager.Students[10] == null) + { + Debug.Log("Raibaru has been killed/arrested/vanished, so Osana's schedule has changed."); + ScheduleBlock scheduleBlock10 = this.ScheduleBlocks[2]; + scheduleBlock10.destination = "Mourn"; + scheduleBlock10.action = "Mourn"; + ScheduleBlock scheduleBlock11 = this.ScheduleBlocks[7]; + scheduleBlock11.destination = "Mourn"; + scheduleBlock11.action = "Mourn"; + this.IdleAnim = this.BulliedIdleAnim; + this.WalkAnim = this.BulliedWalkAnim; + } + else if (PlayerGlobals.RaibaruLoner) + { + Debug.Log("Raibaru has become a loner, so Osana's schedule has changed."); + ScheduleBlock scheduleBlock12 = this.ScheduleBlocks[2]; + scheduleBlock12.destination = "Patrol"; + scheduleBlock12.action = "Patrol"; + ScheduleBlock scheduleBlock13 = this.ScheduleBlocks[7]; + scheduleBlock13.destination = "Patrol"; + scheduleBlock13.action = "Patrol"; + this.PatrolAnim = "f02_pondering_00"; + } + this.OriginalWalkAnim = this.WalkAnim; } else if (this.StudentID == 24 && this.StudentID == 25) { @@ -392,33 +491,33 @@ public class StudentScript : MonoBehaviour this.Persona = PersonaType.Loner; if (!SchoolGlobals.RoofFence) { - ScheduleBlock scheduleBlock6 = this.ScheduleBlocks[2]; - scheduleBlock6.destination = "Sulk"; - scheduleBlock6.action = "Sulk"; - ScheduleBlock scheduleBlock7 = this.ScheduleBlocks[4]; - scheduleBlock7.destination = "Sulk"; - scheduleBlock7.action = "Sulk"; - ScheduleBlock scheduleBlock8 = this.ScheduleBlocks[7]; - scheduleBlock8.destination = "Sulk"; - scheduleBlock8.action = "Sulk"; - ScheduleBlock scheduleBlock9 = this.ScheduleBlocks[8]; - scheduleBlock9.destination = "Sulk"; - scheduleBlock9.action = "Sulk"; + ScheduleBlock scheduleBlock14 = this.ScheduleBlocks[2]; + scheduleBlock14.destination = "Sulk"; + scheduleBlock14.action = "Sulk"; + ScheduleBlock scheduleBlock15 = this.ScheduleBlocks[4]; + scheduleBlock15.destination = "Sulk"; + scheduleBlock15.action = "Sulk"; + ScheduleBlock scheduleBlock16 = this.ScheduleBlocks[7]; + scheduleBlock16.destination = "Sulk"; + scheduleBlock16.action = "Sulk"; + ScheduleBlock scheduleBlock17 = this.ScheduleBlocks[8]; + scheduleBlock17.destination = "Sulk"; + scheduleBlock17.action = "Sulk"; } else { - ScheduleBlock scheduleBlock10 = this.ScheduleBlocks[2]; - scheduleBlock10.destination = "Seat"; - scheduleBlock10.action = "Sit"; - ScheduleBlock scheduleBlock11 = this.ScheduleBlocks[4]; - scheduleBlock11.destination = "Seat"; - scheduleBlock11.action = "Sit"; - ScheduleBlock scheduleBlock12 = this.ScheduleBlocks[7]; - scheduleBlock12.destination = "Seat"; - scheduleBlock12.action = "Sit"; - ScheduleBlock scheduleBlock13 = this.ScheduleBlocks[8]; - scheduleBlock13.destination = "Seat"; - scheduleBlock13.action = "Sit"; + ScheduleBlock scheduleBlock18 = this.ScheduleBlocks[2]; + scheduleBlock18.destination = "Seat"; + scheduleBlock18.action = "Sit"; + ScheduleBlock scheduleBlock19 = this.ScheduleBlocks[4]; + scheduleBlock19.destination = "Seat"; + scheduleBlock19.action = "Sit"; + ScheduleBlock scheduleBlock20 = this.ScheduleBlocks[7]; + scheduleBlock20.destination = "Seat"; + scheduleBlock20.action = "Sit"; + ScheduleBlock scheduleBlock21 = this.ScheduleBlocks[8]; + scheduleBlock21.destination = "Seat"; + scheduleBlock21.action = "Sit"; } } } @@ -501,6 +600,22 @@ public class StudentScript : MonoBehaviour this.IdleAnim = "f02_idleGirly_00"; this.WalkAnim = "f02_walkGirly_00"; } + if ((this.StudentID == 6 || this.StudentID == 11) && DatingGlobals.SuitorProgress == 2) + { + this.Partner = ((this.StudentID == 11) ? this.StudentManager.Students[6] : this.StudentManager.Students[11]); + ScheduleBlock scheduleBlock22 = this.ScheduleBlocks[2]; + scheduleBlock22.destination = "Cuddle"; + scheduleBlock22.action = "Cuddle"; + ScheduleBlock scheduleBlock23 = this.ScheduleBlocks[4]; + scheduleBlock23.destination = "Cuddle"; + scheduleBlock23.action = "Cuddle"; + ScheduleBlock scheduleBlock24 = this.ScheduleBlocks[6]; + scheduleBlock24.destination = "Locker"; + scheduleBlock24.action = "Shoes"; + ScheduleBlock scheduleBlock25 = this.ScheduleBlocks[7]; + scheduleBlock25.destination = "Exit"; + scheduleBlock25.action = "Exit"; + } this.OriginalWalkAnim = this.WalkAnim; if (StudentGlobals.GetStudentGrudge(this.StudentID)) { @@ -557,29 +672,29 @@ public class StudentScript : MonoBehaviour } if (!this.Grudge) { - ScheduleBlock scheduleBlock14 = this.ScheduleBlocks[2]; - scheduleBlock14.destination = "Sleuth"; - scheduleBlock14.action = "Sleuth"; - ScheduleBlock scheduleBlock15 = this.ScheduleBlocks[4]; - scheduleBlock15.destination = "Sleuth"; - scheduleBlock15.action = "Sleuth"; - ScheduleBlock scheduleBlock16 = this.ScheduleBlocks[7]; - scheduleBlock16.destination = "Sleuth"; - scheduleBlock16.action = "Sleuth"; + ScheduleBlock scheduleBlock26 = this.ScheduleBlocks[2]; + scheduleBlock26.destination = "Sleuth"; + scheduleBlock26.action = "Sleuth"; + ScheduleBlock scheduleBlock27 = this.ScheduleBlocks[4]; + scheduleBlock27.destination = "Sleuth"; + scheduleBlock27.action = "Sleuth"; + ScheduleBlock scheduleBlock28 = this.ScheduleBlocks[7]; + scheduleBlock28.destination = "Sleuth"; + scheduleBlock28.action = "Sleuth"; } else { this.StalkTarget = this.Yandere.transform; this.SleuthTarget = this.Yandere.transform; - ScheduleBlock scheduleBlock17 = this.ScheduleBlocks[2]; - scheduleBlock17.destination = "Stalk"; - scheduleBlock17.action = "Stalk"; - ScheduleBlock scheduleBlock18 = this.ScheduleBlocks[4]; - scheduleBlock18.destination = "Stalk"; - scheduleBlock18.action = "Stalk"; - ScheduleBlock scheduleBlock19 = this.ScheduleBlocks[7]; - scheduleBlock19.destination = "Stalk"; - scheduleBlock19.action = "Stalk"; + ScheduleBlock scheduleBlock29 = this.ScheduleBlocks[2]; + scheduleBlock29.destination = "Stalk"; + scheduleBlock29.action = "Stalk"; + ScheduleBlock scheduleBlock30 = this.ScheduleBlocks[4]; + scheduleBlock30.destination = "Stalk"; + scheduleBlock30.action = "Stalk"; + ScheduleBlock scheduleBlock31 = this.ScheduleBlocks[7]; + scheduleBlock31.destination = "Stalk"; + scheduleBlock31.action = "Stalk"; } } else if (SchoolGlobals.SchoolAtmosphere <= 0.9f) @@ -655,9 +770,9 @@ public class StudentScript : MonoBehaviour if (this.StudentID == this.StudentManager.RivalID) { this.RivalPrefix = "Rival "; - if (DateGlobals.Weekday == DayOfWeek.Friday) + if (DateGlobals.Weekday == DayOfWeek.Friday && GameGlobals.RivalEliminationID != 4) { - Debug.Log("It's Friday, and " + this.Name + " should leave a note in Senpai's locker ar 5:00 PM."); + Debug.Log("It's Friday, and " + this.Name + " should leave a note in Senpai's locker at 5:00 PM."); this.ScheduleBlocks[7].time = 17f; } } @@ -721,9 +836,9 @@ public class StudentScript : MonoBehaviour if (DateGlobals.Weekday == DayOfWeek.Friday) { Debug.Log("It's Friday, so the art club is changing their club activity to painting the cherry tree."); - ScheduleBlock scheduleBlock20 = this.ScheduleBlocks[7]; - scheduleBlock20.destination = "Paint"; - scheduleBlock20.action = "Paint"; + ScheduleBlock scheduleBlock32 = this.ScheduleBlocks[7]; + scheduleBlock32.destination = "Paint"; + scheduleBlock32.action = "Paint"; } this.ClubMemberID = this.StudentID - 40; this.Painting = this.StudentManager.FridayPaintings[this.ClubMemberID]; @@ -1019,15 +1134,15 @@ public class StudentScript : MonoBehaviour { if (this.StudentID < 86) { - ScheduleBlock scheduleBlock21 = this.ScheduleBlocks[6]; - scheduleBlock21.destination = "Meeting"; - scheduleBlock21.action = "Meeting"; + ScheduleBlock scheduleBlock33 = this.ScheduleBlocks[6]; + scheduleBlock33.destination = "Meeting"; + scheduleBlock33.action = "Meeting"; } else { - ScheduleBlock scheduleBlock22 = this.ScheduleBlocks[5]; - scheduleBlock22.destination = "Meeting"; - scheduleBlock22.action = "Meeting"; + ScheduleBlock scheduleBlock34 = this.ScheduleBlocks[5]; + scheduleBlock34.destination = "Meeting"; + scheduleBlock34.action = "Meeting"; } this.GetDestinations(); } @@ -1053,11 +1168,6 @@ public class StudentScript : MonoBehaviour this.LongHair[2] = null; } } - if (this.StudentID > 9 && this.StudentID < 21) - { - Debug.Log("Destroying a character who should not exist."); - UnityEngine.Object.Destroy(base.gameObject); - } this.CharacterAnimation.Sample(); } @@ -1126,95 +1236,87 @@ public class StudentScript : MonoBehaviour { get { - Debug.Log("Student#" + this.StudentID + " has been asked to display a subtitle about their task."); if (this.StudentID == 6) { - if (!false) - { - return SubtitleType.TaskGenericLine; - } return SubtitleType.Task6Line; } - else + if (this.StudentID == 8) { - if (this.StudentID == 8) - { - return SubtitleType.Task8Line; - } - if (this.StudentID == 11) - { - return SubtitleType.Task11Line; - } - if (this.StudentID == 13) - { - return SubtitleType.Task13Line; - } - if (this.StudentID == 14) - { - return SubtitleType.Task14Line; - } - if (this.StudentID == 15) - { - return SubtitleType.Task15Line; - } - if (this.StudentID == 25) - { - return SubtitleType.Task25Line; - } - if (this.StudentID == 28) - { - return SubtitleType.Task28Line; - } - if (this.StudentID == 30) - { - return SubtitleType.Task30Line; - } - if (this.StudentID == 36) - { - return SubtitleType.Task36Line; - } - if (this.StudentID == 37) - { - return SubtitleType.Task37Line; - } - if (this.StudentID == 38) - { - return SubtitleType.Task38Line; - } - if (this.StudentID == 46) - { - return SubtitleType.Task46Line; - } - if (this.StudentID == 52) - { - return SubtitleType.Task52Line; - } - if (this.StudentID == 76) - { - return SubtitleType.Task76Line; - } - if (this.StudentID == 77) - { - return SubtitleType.Task77Line; - } - if (this.StudentID == 78) - { - return SubtitleType.Task78Line; - } - if (this.StudentID == 79) - { - return SubtitleType.Task79Line; - } - if (this.StudentID == 80) - { - return SubtitleType.Task80Line; - } - if (this.StudentID == 81) - { - return SubtitleType.Task81Line; - } - return SubtitleType.TaskGenericLine; + return SubtitleType.Task8Line; + } + if (this.StudentID == 11) + { + return SubtitleType.Task11Line; + } + if (this.StudentID == 13) + { + return SubtitleType.Task13Line; + } + if (this.StudentID == 14) + { + return SubtitleType.Task14Line; + } + if (this.StudentID == 15) + { + return SubtitleType.Task15Line; + } + if (this.StudentID == 25) + { + return SubtitleType.Task25Line; + } + if (this.StudentID == 28) + { + return SubtitleType.Task28Line; } + if (this.StudentID == 30) + { + return SubtitleType.Task30Line; + } + if (this.StudentID == 36) + { + return SubtitleType.Task36Line; + } + if (this.StudentID == 37) + { + return SubtitleType.Task37Line; + } + if (this.StudentID == 38) + { + return SubtitleType.Task38Line; + } + if (this.StudentID == 46) + { + return SubtitleType.Task46Line; + } + if (this.StudentID == 52) + { + return SubtitleType.Task52Line; + } + if (this.StudentID == 76) + { + return SubtitleType.Task76Line; + } + if (this.StudentID == 77) + { + return SubtitleType.Task77Line; + } + if (this.StudentID == 78) + { + return SubtitleType.Task78Line; + } + if (this.StudentID == 79) + { + return SubtitleType.Task79Line; + } + if (this.StudentID == 80) + { + return SubtitleType.Task80Line; + } + if (this.StudentID == 81) + { + return SubtitleType.Task81Line; + } + return SubtitleType.TaskGenericLine; } } @@ -1677,6 +1779,10 @@ public class StudentScript : MonoBehaviour if (this.Schoolwear > 1 && this.Destinations[this.Phase] == this.MyLocker) { this.Phase++; + if (this.StudentID == this.StudentManager.RivalID && DateGlobals.Weekday == DayOfWeek.Friday) + { + this.Phase--; + } } if (this.Actions[this.Phase] == StudentActionType.SitAndTakeNotes && this.Schoolwear == 2) { @@ -1709,11 +1815,12 @@ public class StudentScript : MonoBehaviour { if (this.StudentID == this.StudentManager.RivalID && DateGlobals.Weekday == DayOfWeek.Friday) { - Debug.Log("This is the part where Osana decides to put a note in someone's locker."); + Debug.Log("This is the part where Osana decides whether or not she should put a note in someone's locker."); this.CharacterAnimation.CrossFade(this.WalkAnim); } - if (this.Actions[this.Phase] == StudentActionType.ChangeShoes) + if ((this.StudentManager.LoveManager.ConfessToSuitor || GameGlobals.RivalEliminationID != 4) && this.Actions[this.Phase] == StudentActionType.ChangeShoes) { + Debug.Log("Osana's current action is ''ChangingShoes''."); if (this.StudentManager.LoveManager.ConfessToSuitor) { this.CurrentDestination = this.StudentManager.SuitorLocker; @@ -1795,13 +1902,12 @@ public class StudentScript : MonoBehaviour this.ReadPhase = 0; if (!this.ReturningFromSave) { - Debug.Log("This student believes we are NOT returning from a save, so PatrolID has been set to 0."); this.PatrolID = 0; } if (this.Phase == this.PhaseFromSave) { - Debug.Log("This student has returned to the phase they were at when the game was saved."); - if (this.Destinations[this.Phase] == this.StudentManager.Patrols.List[this.StudentID].GetChild(0)) + Debug.Log("Student #" + this.StudentID + " was patrolling when the game was saved, and is being told to return to that patrol."); + if (this.StudentManager.Patrols.List[this.StudentID] != null && this.Destinations[this.Phase] == this.StudentManager.Patrols.List[this.StudentID].GetChild(0)) { this.Destinations[this.Phase] = this.StudentManager.Patrols.List[this.StudentID].GetChild(this.PatrolID); this.CurrentDestination = this.StudentManager.Patrols.List[this.StudentID].GetChild(this.PatrolID); @@ -1949,30 +2055,38 @@ public class StudentScript : MonoBehaviour { this.GetSleuthTarget(); } - if (this.Actions[this.Phase] == StudentActionType.Follow) + if (this.StudentID == 10) { - this.Obstacle.enabled = false; - this.MyController.radius = 0f; - if (this.FollowTarget != null) + if (this.Actions[this.Phase] == StudentActionType.Follow) { - if (this.FollowTarget.Wet && this.FollowTarget.DistanceToDestination < 5f) + this.Obstacle.enabled = false; + this.MyController.radius = 0f; + if (this.FollowTarget != null) { - this.TargetDistance = 4f; + if (this.FollowTarget.Wet && this.FollowTarget.DistanceToDestination < 5f) + { + this.TargetDistance = 4f; + } + else + { + this.TargetDistance = 1f; + } + } + if (this.DistanceToDestination > 2f && !this.Calm) + { + this.Pathfinding.speed = 5f; + this.SpeechLines.Stop(); } else { - this.TargetDistance = 1f; + this.Pathfinding.speed = 1f; + this.SpeechLines.Stop(); } } - if (this.DistanceToDestination > 2f && !this.Calm) + else if (this.Actions[this.Phase] == StudentActionType.Sketch && this.FollowTarget.Attacked) { - this.Pathfinding.speed = 5f; - this.SpeechLines.Stop(); - } - else - { - this.Pathfinding.speed = 1f; - this.SpeechLines.Stop(); + this.AwareOfMurder = true; + this.Alarm = 200f; } } if (this.CuriosityPhase == 1 && this.Actions[this.Phase] == StudentActionType.Relax && this.StudentManager.Students[this.Crush].Private) @@ -2084,7 +2198,7 @@ public class StudentScript : MonoBehaviour } } } - else if (this.StudentID == 10 && this.InEvent && this.CurrentAction != StudentActionType.Follow) + else if (this.StudentID == 10 && this.InEvent && this.CurrentAction == StudentActionType.Socializing) { if (!this.Hurry) { @@ -2126,10 +2240,15 @@ public class StudentScript : MonoBehaviour { this.CurrentDestination = this.StudentManager.Patrols.List[this.StudentID].GetChild(this.PatrolID); this.Pathfinding.target = this.CurrentDestination; - return; } } } + if (this.Meeting) + { + this.CharacterAnimation.CrossFade(this.SprintAnim); + this.Pathfinding.speed = 4f; + return; + } } else { @@ -2168,6 +2287,12 @@ public class StudentScript : MonoBehaviour this.targetRotation = Quaternion.LookRotation(this.FollowTarget.transform.position - base.transform.position); base.transform.rotation = Quaternion.Slerp(base.transform.rotation, this.targetRotation, 10f * Time.deltaTime); } + if (this.FollowTarget.Attacked) + { + Debug.Log("Raibaru should be aware that Osana is being attacked."); + this.AwareOfMurder = true; + this.Alarm = 200f; + } } } else if (!flag) @@ -3158,7 +3283,6 @@ public class StudentScript : MonoBehaviour this.SciencePhase++; if (this.SciencePhase == 1) { - Debug.Log(this.Name + " should be going to a closet now."); this.ClubTimer = 50f; this.Destinations[this.Phase] = this.StudentManager.SupplySpots[this.StudentID - 61]; this.CurrentDestination = this.StudentManager.SupplySpots[this.StudentID - 61]; @@ -3172,7 +3296,6 @@ public class StudentScript : MonoBehaviour } return; } - Debug.Log(this.Name + " should be going to their original clubroom position now."); this.SciencePhase = 0; this.ClubTimer = 0f; this.Destinations[this.Phase] = this.StudentManager.Clubs.List[this.StudentID]; @@ -3488,12 +3611,16 @@ public class StudentScript : MonoBehaviour if (this.FollowTarget != null && ((this.FollowTarget.CurrentAction != StudentActionType.SitAndEatBento && !this.FollowTarget.Dying) || this.Clock.HourTime > 13.375f)) { Debug.Log("Osana is no longer eating, so Raibaru is now following Osana."); + this.CharacterAnimation.CrossFade(this.WalkAnim); this.EmptyHands(); this.Pathfinding.canSearch = true; this.Pathfinding.canMove = true; ScheduleBlock scheduleBlock3 = this.ScheduleBlocks[4]; scheduleBlock3.destination = "Follow"; scheduleBlock3.action = "Follow"; + ScheduleBlock scheduleBlock4 = this.ScheduleBlocks[5]; + scheduleBlock4.destination = "Follow"; + scheduleBlock4.action = "Follow"; this.GetDestinations(); this.Pathfinding.target = this.FollowTarget.transform; this.CurrentDestination = this.FollowTarget.transform; @@ -3654,9 +3781,9 @@ public class StudentScript : MonoBehaviour this.MyBento.Tampered = false; this.Distracted = true; this.Private = true; - ScheduleBlock scheduleBlock4 = this.ScheduleBlocks[4]; - scheduleBlock4.destination = "InfirmaryBed"; - scheduleBlock4.action = "Relax"; + ScheduleBlock scheduleBlock5 = this.ScheduleBlocks[4]; + scheduleBlock5.destination = "InfirmaryBed"; + scheduleBlock5.action = "Relax"; this.GetDestinations(); this.CurrentDestination = this.Destinations[this.Phase]; this.Pathfinding.target = this.Destinations[this.Phase]; @@ -3764,9 +3891,9 @@ public class StudentScript : MonoBehaviour if (this.SewTimer > 20f) { this.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; - ScheduleBlock scheduleBlock5 = this.ScheduleBlocks[this.Phase]; - scheduleBlock5.destination = "Sketch"; - scheduleBlock5.action = "Sketch"; + ScheduleBlock scheduleBlock6 = this.ScheduleBlocks[this.Phase]; + scheduleBlock6.destination = "Sketch"; + scheduleBlock6.action = "Sketch"; this.GetDestinations(); this.CurrentDestination = this.SketchPosition; this.Pathfinding.target = this.SketchPosition; @@ -4011,9 +4138,9 @@ public class StudentScript : MonoBehaviour else if (this.GraffitiPhase == 4) { this.DistanceToDestination = 100f; - ScheduleBlock scheduleBlock6 = this.ScheduleBlocks[2]; - scheduleBlock6.destination = "Patrol"; - scheduleBlock6.action = "Patrol"; + ScheduleBlock scheduleBlock7 = this.ScheduleBlocks[2]; + scheduleBlock7.destination = "Patrol"; + scheduleBlock7.action = "Patrol"; this.GetDestinations(); this.CurrentDestination = this.Destinations[this.Phase]; this.Pathfinding.target = this.Destinations[this.Phase]; @@ -4028,9 +4155,9 @@ public class StudentScript : MonoBehaviour { this.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; this.DistanceToDestination = 100f; - ScheduleBlock scheduleBlock7 = this.ScheduleBlocks[4]; - scheduleBlock7.destination = "Patrol"; - scheduleBlock7.action = "Patrol"; + ScheduleBlock scheduleBlock8 = this.ScheduleBlocks[4]; + scheduleBlock8.destination = "Patrol"; + scheduleBlock8.action = "Patrol"; this.GetDestinations(); this.CurrentDestination = this.Destinations[this.Phase]; this.Pathfinding.target = this.Destinations[this.Phase]; @@ -4051,9 +4178,9 @@ public class StudentScript : MonoBehaviour } if (this.StudentManager.Students[81] == null) { - ScheduleBlock scheduleBlock8 = this.ScheduleBlocks[4]; - scheduleBlock8.destination = "Patrol"; - scheduleBlock8.action = "Patrol"; + ScheduleBlock scheduleBlock9 = this.ScheduleBlocks[4]; + scheduleBlock9.destination = "Patrol"; + scheduleBlock9.action = "Patrol"; this.GetDestinations(); this.CurrentDestination = this.Destinations[this.Phase]; this.Pathfinding.target = this.Destinations[this.Phase]; @@ -4106,9 +4233,9 @@ public class StudentScript : MonoBehaviour { this.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; this.StudentManager.Students[this.StudentManager.VictimID].Routine = true; - ScheduleBlock scheduleBlock9 = this.ScheduleBlocks[4]; - scheduleBlock9.destination = "LunchSpot"; - scheduleBlock9.action = "Wait"; + ScheduleBlock scheduleBlock10 = this.ScheduleBlocks[4]; + scheduleBlock10.destination = "LunchSpot"; + scheduleBlock10.action = "Wait"; this.GetDestinations(); this.CurrentDestination = this.Destinations[this.Phase]; this.Pathfinding.target = this.Destinations[this.Phase]; @@ -4144,9 +4271,9 @@ public class StudentScript : MonoBehaviour { this.CharacterAnimation.cullingType = AnimationCullingType.BasedOnRenderers; this.DistanceToDestination = 100f; - ScheduleBlock scheduleBlock10 = this.ScheduleBlocks[4]; - scheduleBlock10.destination = "Patrol"; - scheduleBlock10.action = "Patrol"; + ScheduleBlock scheduleBlock11 = this.ScheduleBlocks[4]; + scheduleBlock11.destination = "Patrol"; + scheduleBlock11.action = "Patrol"; this.GetDestinations(); this.CurrentDestination = this.Destinations[this.Phase]; this.Pathfinding.target = this.Destinations[this.Phase]; @@ -4185,9 +4312,9 @@ public class StudentScript : MonoBehaviour if (this.FollowTarget.Routine && !this.FollowTarget.InEvent && this.FollowTarget.CurrentAction == StudentActionType.SitAndTakeNotes && this.FollowTarget.DistanceToDestination < 1f) { Debug.Log("Raibaru just changed her destination to class."); - ScheduleBlock scheduleBlock11 = this.ScheduleBlocks[this.Phase]; - scheduleBlock11.destination = "Seat"; - scheduleBlock11.action = "SitAndTakeNotes"; + ScheduleBlock scheduleBlock12 = this.ScheduleBlocks[this.Phase]; + scheduleBlock12.destination = "Seat"; + scheduleBlock12.action = "SitAndTakeNotes"; this.Actions[this.Phase] = StudentActionType.SitAndTakeNotes; this.CurrentAction = StudentActionType.SitAndTakeNotes; this.GetDestinations(); @@ -4198,9 +4325,9 @@ public class StudentScript : MonoBehaviour if (this.FollowTarget.Routine && !this.FollowTarget.InEvent && this.FollowTarget.CurrentAction == StudentActionType.SitAndEatBento && this.FollowTarget.DistanceToDestination < 1f) { Debug.Log("Raibaru just changed her destination to lunch."); - ScheduleBlock scheduleBlock12 = this.ScheduleBlocks[this.Phase]; - scheduleBlock12.destination = "LunchSpot"; - scheduleBlock12.action = "SitAndEatBento"; + ScheduleBlock scheduleBlock13 = this.ScheduleBlocks[this.Phase]; + scheduleBlock13.destination = "LunchSpot"; + scheduleBlock13.action = "SitAndEatBento"; this.Actions[this.Phase] = StudentActionType.SitAndEatBento; this.CurrentAction = StudentActionType.SitAndEatBento; this.GetDestinations(); @@ -4211,9 +4338,9 @@ public class StudentScript : MonoBehaviour if (this.FollowTarget.Routine && !this.FollowTarget.InEvent && this.FollowTarget.Phase == 8 && this.FollowTarget.DistanceToDestination < 1f) { Debug.Log("Raibaru just changed her destination to the lockers."); - ScheduleBlock scheduleBlock13 = this.ScheduleBlocks[this.Phase]; - scheduleBlock13.destination = "Locker"; - scheduleBlock13.action = "Shoes"; + ScheduleBlock scheduleBlock14 = this.ScheduleBlocks[this.Phase]; + scheduleBlock14.destination = "Locker"; + scheduleBlock14.action = "Shoes"; this.Actions[this.Phase] = StudentActionType.ChangeShoes; this.CurrentAction = StudentActionType.ChangeShoes; this.GetDestinations(); @@ -4232,10 +4359,10 @@ public class StudentScript : MonoBehaviour if (this.FollowTarget.ConfessPhase == 5) { Debug.Log("Raibaru just changed her action to Sketch and her destination to Paint."); - ScheduleBlock scheduleBlock14 = this.ScheduleBlocks[this.Phase]; - scheduleBlock14.destination = "Paint"; - scheduleBlock14.action = "Sketch"; - scheduleBlock14.time = 99f; + ScheduleBlock scheduleBlock15 = this.ScheduleBlocks[this.Phase]; + scheduleBlock15.destination = "Paint"; + scheduleBlock15.action = "Sketch"; + scheduleBlock15.time = 99f; this.GetDestinations(); this.CurrentDestination = this.Destinations[this.Phase]; this.Pathfinding.target = this.Destinations[this.Phase]; @@ -4248,7 +4375,7 @@ public class StudentScript : MonoBehaviour { this.MoveTowardsTarget(this.CurrentDestination.position); } - if (!this.FollowTarget.gameObject.activeInHierarchy) + if (!this.FollowTarget.gameObject.activeInHierarchy || !this.FollowTarget.enabled) { this.SnackTimer += Time.deltaTime; if (this.SnackTimer > 1f) @@ -4373,9 +4500,9 @@ public class StudentScript : MonoBehaviour if (this.SewTimer > 20f) { this.CharacterAnimation.cullingType = AnimationCullingType.AlwaysAnimate; - ScheduleBlock scheduleBlock15 = this.ScheduleBlocks[this.Phase]; - scheduleBlock15.destination = "Patrol"; - scheduleBlock15.action = "Patrol"; + ScheduleBlock scheduleBlock16 = this.ScheduleBlocks[this.Phase]; + scheduleBlock16.destination = "Patrol"; + scheduleBlock16.action = "Patrol"; this.GetDestinations(); this.EmptyHands(); this.PatrolID = 1; @@ -4793,7 +4920,6 @@ public class StudentScript : MonoBehaviour this.Pathfinding.canMove = true; if (this.Yandere.Chased && this.Yandere.Pursuer == this) { - Debug.Log(this.Name + " is chasing Yandere-chan."); this.Pathfinding.repathRate = 0f; this.Pathfinding.speed = 5f; this.ChaseTimer += Time.deltaTime; @@ -5225,6 +5351,118 @@ public class StudentScript : MonoBehaviour this.ReportPhase++; } } + else if (this.Persona == PersonaType.Lovestruck) + { + if (this.ReportPhase < 3 && this.StudentManager.Students[this.LovestruckTarget].Fleeing) + { + Debug.Log("Lovestruck Target is fleeing, so destination is being set to Exit."); + this.Pathfinding.target = this.StudentManager.Exit; + this.CurrentDestination = this.StudentManager.Exit; + this.ReportPhase = 3; + } + if (this.ReportPhase == 1) + { + if (!this.StudentManager.Students[this.LovestruckTarget].gameObject.activeInHierarchy) + { + this.Subtitle.UpdateLabel(SubtitleType.RaibaruRivalDeathReaction, 5, 10f); + this.Pathfinding.target = this.StudentManager.Exit; + this.CurrentDestination = this.StudentManager.Exit; + this.Pathfinding.enabled = true; + this.ReportPhase = 3; + } + else if (!this.StudentManager.Students[this.LovestruckTarget].Alive) + { + this.CurrentDestination = this.Corpse.Student.Hips; + this.Pathfinding.target = this.Corpse.Student.Hips; + this.SpecialRivalDeathReaction = true; + this.WitnessRivalDiePhase = 1; + this.Fleeing = false; + this.Routine = false; + this.TargetDistance = 0.5f; + } + else + { + if (this.StudentManager.Students[this.LovestruckTarget].Male) + { + this.StudentManager.Students[this.LovestruckTarget].CharacterAnimation.CrossFade("surprised_00"); + } + else + { + this.StudentManager.Students[this.LovestruckTarget].CharacterAnimation.CrossFade("f02_surprised_00"); + } + this.StudentManager.Students[this.LovestruckTarget].EmptyHands(); + this.CharacterAnimation.CrossFade(this.ScaredAnim); + this.StudentManager.Students[this.LovestruckTarget].Pathfinding.canSearch = false; + this.StudentManager.Students[this.LovestruckTarget].Pathfinding.canMove = false; + this.StudentManager.Students[this.LovestruckTarget].Pathfinding.enabled = false; + this.StudentManager.Students[this.LovestruckTarget].Investigating = false; + this.StudentManager.Students[this.LovestruckTarget].CheckingNote = false; + this.StudentManager.Students[this.LovestruckTarget].Meeting = false; + this.StudentManager.Students[this.LovestruckTarget].Routine = false; + this.Pathfinding.enabled = false; + if (this.WitnessedMurder && !this.SawMask) + { + this.Yandere.Jukebox.gameObject.active = false; + this.Yandere.MainCamera.enabled = false; + this.Yandere.RPGCamera.enabled = false; + this.Yandere.Jukebox.Volume = 0f; + this.Yandere.CanMove = false; + this.StudentManager.LovestruckCamera.transform.parent = base.transform; + this.StudentManager.LovestruckCamera.transform.localPosition = new Vector3(1f, 1f, -1f); + this.StudentManager.LovestruckCamera.transform.localEulerAngles = new Vector3(0f, -30f, 0f); + this.StudentManager.LovestruckCamera.active = true; + } + if (this.WitnessedMurder && !this.SawMask) + { + this.Subtitle.UpdateLabel(SubtitleType.LovestruckMurderReport, 0, 5f); + } + else if (this.LovestruckTarget == 1) + { + this.Subtitle.UpdateLabel(SubtitleType.LovestruckCorpseReport, 0, 5f); + } + else + { + this.Subtitle.UpdateLabel(SubtitleType.LovestruckCorpseReport, 1, 5f); + } + this.ReportPhase++; + } + } + else if (this.ReportPhase == 2) + { + this.targetRotation = Quaternion.LookRotation(new Vector3(this.StudentManager.Students[this.LovestruckTarget].transform.position.x, base.transform.position.y, this.StudentManager.Students[this.LovestruckTarget].transform.position.z) - base.transform.position); + base.transform.rotation = Quaternion.Slerp(base.transform.rotation, this.targetRotation, 10f * Time.deltaTime); + this.targetRotation = Quaternion.LookRotation(new Vector3(base.transform.position.x, this.StudentManager.Students[this.LovestruckTarget].transform.position.y, base.transform.position.z) - this.StudentManager.Students[this.LovestruckTarget].transform.position); + this.StudentManager.Students[this.LovestruckTarget].transform.rotation = Quaternion.Slerp(this.StudentManager.Students[this.LovestruckTarget].transform.rotation, this.targetRotation, 10f * Time.deltaTime); + this.ReportTimer += Time.deltaTime; + if (this.ReportTimer > 5f) + { + if (this.WitnessedMurder && !this.SawMask) + { + this.Yandere.ShoulderCamera.HeartbrokenCamera.SetActive(true); + this.Yandere.Police.EndOfDay.Heartbroken.Exposed = true; + this.Yandere.Character.GetComponent().CrossFade("f02_down_22"); + this.Yandere.Collapse = true; + this.StudentManager.StopMoving(); + this.ReportPhase++; + } + else + { + Debug.Log("Both reporter and Lovestruck Target should be heading to the Exit."); + this.StudentManager.Students[this.LovestruckTarget].Pathfinding.target = this.StudentManager.Exit; + this.StudentManager.Students[this.LovestruckTarget].CurrentDestination = this.StudentManager.Exit; + this.StudentManager.Students[this.LovestruckTarget].CharacterAnimation.CrossFade(this.StudentManager.Students[this.LovestruckTarget].SprintAnim); + this.StudentManager.Students[this.LovestruckTarget].Pathfinding.canSearch = true; + this.StudentManager.Students[this.LovestruckTarget].Pathfinding.canMove = true; + this.StudentManager.Students[this.LovestruckTarget].Pathfinding.enabled = true; + this.StudentManager.Students[this.LovestruckTarget].Pathfinding.speed = 4f; + this.Pathfinding.target = this.StudentManager.Exit; + this.CurrentDestination = this.StudentManager.Exit; + this.Pathfinding.enabled = true; + this.ReportPhase++; + } + } + } + } else if (this.Persona == PersonaType.Dangerous) { if (!this.Yandere.Attacking && !this.StudentManager.PinningDown && !this.Yandere.Struggling && !this.Yandere.Noticed) @@ -5236,6 +5474,33 @@ public class StudentScript : MonoBehaviour this.CharacterAnimation.CrossFade(this.ReadyToFightAnim); } } + else if (this.Persona == PersonaType.Protective) + { + if (!this.Yandere.Dumping && !this.Yandere.Attacking) + { + Debug.Log("A protective student is taking down Yandere-chan."); + if (this.Yandere.Aiming) + { + this.Yandere.StopAiming(); + } + this.Yandere.Mopping = false; + this.Yandere.EmptyHands(); + this.Subtitle.PreviousSubtitle = SubtitleType.AcceptFood; + this.Subtitle.UpdateLabel(SubtitleType.ObstacleMurderReaction, 4, 0f); + this.AttackReaction(); + this.CharacterAnimation["f02_moCounterB_00"].time = 6f; + this.Yandere.CharacterAnimation["f02_moCounterA_00"].time = 6f; + this.Yandere.ShoulderCamera.ObstacleCounter = true; + this.Yandere.ShoulderCamera.Timer = 6f; + this.Police.Show = false; + this.Yandere.CameraEffects.MurderWitnessed(); + this.Yandere.Jukebox.GameOver(); + } + else + { + this.CharacterAnimation.CrossFade(this.ReadyToFightAnim); + } + } else if (this.Persona == PersonaType.Violent) { if (!this.Yandere.Attacking && !this.Yandere.Struggling && !this.Yandere.Dumping && !this.StudentManager.PinningDown && !this.RespectEarned) @@ -6303,6 +6568,7 @@ public class StudentScript : MonoBehaviour this.HuntTarget.Shoving = false; this.HuntTarget.Tripped = false; this.HuntTarget.Wet = false; + this.HuntTarget.Blind = true; this.HuntTarget.Hunter = this; this.HuntTarget.Prompt.Hide(); this.HuntTarget.Prompt.enabled = false; @@ -6488,6 +6754,15 @@ public class StudentScript : MonoBehaviour this.HuntTarget.Ragdoll.Disturbing = false; this.HuntTarget.Ragdoll.MurderSuicide = true; this.HuntTarget.DeathType = DeathType.Weapon; + if (this.HuntTarget.Follower != null) + { + Debug.Log("This mind-broken slave just killed someone who had a follower."); + if (this.HuntTarget.Follower.WitnessedMindBrokenMurder) + { + Debug.Log("The follower's ''Corpse'' variable is being set to: " + this.HuntTarget.Ragdoll.Student.Name); + this.HuntTarget.Follower.Corpse = this.HuntTarget.Ragdoll; + } + } if (this.BloodSprayCollider != null) { this.BloodSprayCollider.SetActive(false); @@ -6813,21 +7088,20 @@ public class StudentScript : MonoBehaviour this.PatrolTimer += Time.deltaTime * this.CharacterAnimation[this.PatrolAnim].speed; if (this.PatrolTimer > 5f) { - this.StudentManager.CommunalLocker.RivalPhone.ReturnToOrigin(); - ScheduleBlock scheduleBlock16 = this.ScheduleBlocks[2]; - scheduleBlock16.destination = "Hangout"; - scheduleBlock16.action = "Hangout"; + ScheduleBlock scheduleBlock17 = this.ScheduleBlocks[2]; + scheduleBlock17.destination = "Hangout"; + scheduleBlock17.action = "Hangout"; if (this.Club == ClubType.Cooking) { - scheduleBlock16.destination = "Club"; - scheduleBlock16.action = "Club"; + scheduleBlock17.destination = "Club"; + scheduleBlock17.action = "Club"; } - ScheduleBlock scheduleBlock17 = this.ScheduleBlocks[4]; - scheduleBlock17.destination = "LunchSpot"; - scheduleBlock17.action = "Eat"; - ScheduleBlock scheduleBlock18 = this.ScheduleBlocks[7]; - scheduleBlock18.destination = "Hangout"; - scheduleBlock18.action = "Hangout"; + ScheduleBlock scheduleBlock18 = this.ScheduleBlocks[4]; + scheduleBlock18.destination = "LunchSpot"; + scheduleBlock18.action = "Eat"; + ScheduleBlock scheduleBlock19 = this.ScheduleBlocks[7]; + scheduleBlock19.destination = "Hangout"; + scheduleBlock19.action = "Hangout"; this.GetDestinations(); Array.Copy(this.OriginalActions, this.Actions, this.OriginalActions.Length); this.CurrentDestination = this.Destinations[this.Phase]; @@ -6838,6 +7112,7 @@ public class StudentScript : MonoBehaviour this.EndSearch = false; this.Phoneless = false; this.Routine = true; + this.StudentManager.CommunalLocker.RivalPhone.ReturnToOrigin(); } } if (this.Shoving) @@ -7111,9 +7386,9 @@ public class StudentScript : MonoBehaviour { this.Pathfinding.canSearch = true; this.Pathfinding.canMove = true; - ScheduleBlock scheduleBlock19 = this.ScheduleBlocks[this.Phase]; - scheduleBlock19.destination = "InfirmarySeat"; - scheduleBlock19.action = "Relax"; + ScheduleBlock scheduleBlock20 = this.ScheduleBlocks[this.Phase]; + scheduleBlock20.destination = "InfirmarySeat"; + scheduleBlock20.action = "Relax"; this.GetDestinations(); this.CurrentDestination = this.Destinations[this.Phase]; this.Pathfinding.target = this.Destinations[this.Phase]; @@ -7520,6 +7795,172 @@ public class StudentScript : MonoBehaviour } } } + if (this.SenpaiWitnessingRivalDie) + { + this.Fleeing = false; + Debug.Log("Senpai is watching Osana die. Phase is: " + this.WitnessRivalDiePhase); + if (this.DistanceToDestination < 1f) + { + this.Pathfinding.canSearch = false; + this.Pathfinding.canMove = false; + } + if (this.WitnessRivalDiePhase == 0) + { + this.CharacterAnimation.CrossFade("witnessPoisoning_00"); + this.MoveTowardsTarget(this.CurrentDestination.position); + this.Chopsticks[0].SetActive(true); + this.Chopsticks[1].SetActive(true); + this.Bento.SetActive(true); + this.Pathfinding.canSearch = false; + this.Pathfinding.canMove = false; + base.transform.rotation = Quaternion.Slerp(base.transform.rotation, this.CurrentDestination.rotation, 10f * Time.deltaTime); + if (this.CharacterAnimation["witnessPoisoning_00"].time >= 18.5f && this.Bento.activeInHierarchy) + { + this.Chopsticks[0].SetActive(false); + this.Chopsticks[1].SetActive(false); + this.Bento.SetActive(false); + this.WitnessRivalDiePhase++; + } + } + else if (this.WitnessRivalDiePhase == 1) + { + if (this.CharacterAnimation["witnessPoisoning_00"].time >= 22.5f) + { + this.Subtitle.UpdateLabel(SubtitleType.SenpaiRivalDeathReaction, 0, 8f); + this.WitnessRivalDiePhase++; + } + } + else if (this.WitnessRivalDiePhase == 2) + { + if (this.CharacterAnimation["witnessPoisoning_00"].time >= this.CharacterAnimation["witnessPoisoning_00"].length) + { + base.transform.position = new Vector3(this.Hips.position.x, base.transform.position.y, this.Hips.position.z); + Physics.SyncTransforms(); + this.CharacterAnimation.Play("senpaiRivalCorpseReaction_00"); + this.TargetDistance = 1.5f; + this.WitnessRivalDiePhase++; + this.RivalDeathTimer = 0f; + } + } + else if (this.WitnessRivalDiePhase == 3) + { + this.TargetDistance = 1.5f; + if (this.DistanceToDestination <= this.TargetDistance) + { + this.CharacterAnimation.Play("senpaiRivalCorpseReaction_00"); + this.Pathfinding.canSearch = false; + this.Pathfinding.canMove = false; + if (this.WitnessedCorpse) + { + base.transform.LookAt(this.StudentManager.Students[11].Head.position); + base.transform.eulerAngles = new Vector3(0f, base.transform.eulerAngles.y - 90f, 0f); + } + } + if (this.RivalDeathTimer == 0f) + { + this.Subtitle.UpdateLabel(SubtitleType.SenpaiRivalDeathReaction, 2, 15f); + } + this.RivalDeathTimer += Time.deltaTime; + if (this.CharacterAnimation["senpaiRivalCorpseReaction_00"].time >= this.CharacterAnimation["senpaiRivalCorpseReaction_00"].length) + { + this.Subtitle.UpdateLabel(SubtitleType.SenpaiRivalDeathReaction, 3, 15f); + this.CharacterAnimation.CrossFade("kneelPhone_00"); + this.SmartPhone.SetActive(true); + this.WitnessRivalDiePhase++; + this.RivalDeathTimer = 0f; + } + } + else if (this.WitnessRivalDiePhase == 4) + { + this.CharacterAnimation.CrossFade("kneelPhone_00"); + this.RivalDeathTimer += Time.deltaTime; + if (this.RivalDeathTimer > this.Subtitle.SenpaiRivalDeathReactionClips[3].length) + { + this.Subtitle.UpdateLabel(SubtitleType.SenpaiRivalDeathReaction, 4, 10f); + this.CharacterAnimation.CrossFade("senpaiRivalCorpseCry_00"); + this.SmartPhone.SetActive(false); + this.WitnessRivalDiePhase++; + this.Police.Called = true; + this.Police.Show = true; + } + } + } + if (this.SpecialRivalDeathReaction) + { + if (this.WitnessRivalDiePhase == 1) + { + if (this.DistanceToDestination <= 1f) + { + this.CharacterAnimation.CrossFade("f02_friendCorpseReaction_00"); + this.Pathfinding.canSearch = false; + this.Pathfinding.canMove = false; + if (this.StudentID == this.StudentManager.ObstacleID) + { + base.transform.LookAt(this.StudentManager.Students[11].Head.position); + } + else + { + base.transform.LookAt(this.StudentManager.Students[10].Head.position); + } + base.transform.eulerAngles = new Vector3(0f, base.transform.eulerAngles.y - 90f, 0f); + } + else + { + this.CharacterAnimation.CrossFade(this.RunAnim); + this.Pathfinding.canSearch = true; + this.Pathfinding.canMove = true; + this.Pathfinding.speed = 4f; + } + if (this.RivalDeathTimer == 0f) + { + this.Subtitle.PreviousSubtitle = SubtitleType.AcceptFood; + if (this.StudentID == this.StudentManager.ObstacleID) + { + this.Subtitle.UpdateLabel(SubtitleType.RaibaruRivalDeathReaction, 2, 15f); + } + else + { + this.Subtitle.UpdateLabel(SubtitleType.OsanaObstacleDeathReaction, 2, 15f); + } + } + this.RivalDeathTimer += Time.deltaTime; + if (this.CharacterAnimation["f02_friendCorpseReaction_00"].time >= this.CharacterAnimation["f02_friendCorpseReaction_00"].length) + { + if (this.StudentID == this.StudentManager.ObstacleID) + { + this.Subtitle.UpdateLabel(SubtitleType.RaibaruRivalDeathReaction, 3, 10f); + } + else + { + this.Subtitle.UpdateLabel(SubtitleType.OsanaObstacleDeathReaction, 3, 10f); + } + this.CharacterAnimation.CrossFade("f02_kneelPhone_00"); + this.SmartPhone.SetActive(true); + this.WitnessRivalDiePhase++; + this.RivalDeathTimer = 0f; + } + } + else if (this.WitnessRivalDiePhase == 2) + { + this.RivalDeathTimer += Time.deltaTime; + if (this.RivalDeathTimer > this.Subtitle.OsanaObstacleDeathReactionClips[3].length) + { + if (this.StudentID == this.StudentManager.ObstacleID) + { + this.Subtitle.UpdateLabel(SubtitleType.RaibaruRivalDeathReaction, 4, 10f); + } + else + { + this.Subtitle.UpdateLabel(SubtitleType.OsanaObstacleDeathReaction, 4, 10f); + } + this.CharacterAnimation.CrossFade("f02_friendCorpseCry_00"); + this.SmartPhone.SetActive(false); + this.WitnessRivalDiePhase++; + this.Police.Called = true; + this.Police.Show = true; + } + } + } if (this.SolvingPuzzle) { this.PuzzleTimer += Time.deltaTime; @@ -7961,7 +8402,7 @@ public class StudentScript : MonoBehaviour { targetPoint = this.Yandere.Head.position + new Vector3(0f, 0.25f, 0f); } - if (flag4 && this.CanSeeObject(this.Yandere.gameObject, targetPoint)) + if ((flag4 && this.CanSeeObject(this.Yandere.gameObject, targetPoint)) || this.AwareOfMurder) { this.YandereVisible = true; if (this.Yandere.Attacking || this.Yandere.Cauterizing || this.Yandere.Struggling || (this.WitnessedCorpse && this.Yandere.NearBodies > 0 && this.Yandere.Bloodiness + (float)this.Yandere.GloveBlood > 0f && !this.Yandere.Paint) || (this.WitnessedCorpse && this.Yandere.NearBodies > 0 && this.Yandere.Armed) || (this.WitnessedCorpse && this.Yandere.NearBodies > 0 && this.Yandere.Sanity < 66.66666f) || (this.Yandere.Carrying || this.Yandere.Dragging || this.Yandere.MurderousActionTimer > 0f || (this.Guarding && this.Yandere.Bloodiness + (float)this.Yandere.GloveBlood > 0f && !this.Yandere.Paint)) || (this.Guarding && this.Yandere.Armed) || (this.Guarding && this.Yandere.Sanity < 66.66666f) || (!this.StudentManager.CombatMinigame.Practice && this.Club == ClubType.Council && this.Yandere.DelinquentFighting && this.StudentManager.CombatMinigame.Path < 4 && !this.Yandere.SeenByAuthority) || (!this.StudentManager.CombatMinigame.Practice && this.Teacher && this.Yandere.DelinquentFighting && this.StudentManager.CombatMinigame.Path < 4 && !this.Yandere.SeenByAuthority) || (flag3 && this.Yandere.PickUp != null && this.Yandere.PickUp.Mop != null && this.Yandere.PickUp.Mop.Bloodiness > 0f) || (flag3 && this.Yandere.PickUp != null && this.Yandere.PickUp.BodyPart != null) || (this.Yandere.PickUp != null && this.Teacher && this.Yandere.PickUp.Clothing && this.Yandere.PickUp.Evidence) || (this.StudentManager.Atmosphere < 0.33333f && this.Yandere.Bloodiness + (float)this.Yandere.GloveBlood > 0f && this.Yandere.Armed)) @@ -8659,8 +9100,13 @@ public class StudentScript : MonoBehaviour this.Subtitle.UpdateLabel(SubtitleType.ClassApology, 0, 3f); this.Prompt.Circle[0].fillAmount = 1f; } - else if (this.InEvent || !this.CanTalk || this.GoAway || this.Fleeing || (this.Meeting && !this.Drownable) || this.Wet || this.TurnOffRadio || this.InvestigatingBloodPool || (this.MyPlate != null && this.MyPlate.parent == this.RightHand) || flag2 || this.ReturningMisplacedWeapon || (this.FollowTarget != null && TaskGlobals.GetTaskStatus(46) != 1) || this.Actions[this.Phase] == StudentActionType.Bully || this.Actions[this.Phase] == StudentActionType.Graffiti || this.NoMentor) + else if (this.InEvent || !this.CanTalk || this.GoAway || this.Fleeing || (this.Meeting && !this.Drownable) || this.Wet || this.TurnOffRadio || this.InvestigatingBloodPool || (this.MyPlate != null && this.MyPlate.parent == this.RightHand) || flag2 || this.ReturningMisplacedWeapon || this.NoMentor || (this.FollowTarget != null && this.FollowTarget.InEvent) || (this.FollowTarget != null && TaskGlobals.GetTaskStatus(46) == 1 && this.Clock.Period == 3) || (this.FollowTarget != null && TaskGlobals.GetTaskStatus(46) == 1 && this.Clock.Period == 5) || (this.FollowTarget != null && TaskGlobals.GetTaskStatus(46) != 1) || this.Actions[this.Phase] == StudentActionType.Bully || this.Actions[this.Phase] == StudentActionType.Graffiti) { + if (this.FollowTarget != null && TaskGlobals.GetTaskStatus(46) == 1 && (this.Clock.Period == 3 || this.Clock.Period == 5)) + { + this.Yandere.NotificationManager.CustomText = "Martial Arts Club is not training now"; + this.Yandere.NotificationManager.DisplayNotification(NotificationType.Custom); + } this.Subtitle.UpdateLabel(SubtitleType.EventApology, 1, 3f); this.Prompt.Circle[0].fillAmount = 1f; } @@ -8757,10 +9203,9 @@ public class StudentScript : MonoBehaviour } else if (this.StudentID == 10 && TaskGlobals.GetTaskStatus(46) == 1) { - Debug.Log("The status of Budo's Task is: " + TaskGlobals.GetTaskStatus(46)); + this.Interaction = StudentInteractionType.Idle; this.Yandere.Interaction = YandereInteractionType.TaskInquiry; this.Yandere.TalkTimer = 5f; - this.Interaction = StudentInteractionType.Idle; } else { @@ -8848,7 +9293,6 @@ public class StudentScript : MonoBehaviour this.Obstacle.enabled = true; this.Giggle = null; this.Yandere.WeaponMenu.KeyboardShow = false; - this.Yandere.Obscurance.enabled = false; this.Yandere.WeaponMenu.Show = false; this.Yandere.YandereVision = false; this.Yandere.CanMove = false; @@ -8912,7 +9356,7 @@ public class StudentScript : MonoBehaviour bool flag6 = false; if (this.Club == ClubType.Delinquent && !this.Injured && !this.Yandere.AttackManager.Stealth && !this.RespectEarned && !this.SolvingPuzzle) { - Debug.Log(this.Name + " knows that Yandere-chan is tyring to attack him."); + Debug.Log(this.Name + " knows that Yandere-chan is tyring to attack them."); flag6 = true; this.Fleeing = false; this.Patience = 1; @@ -8987,7 +9431,6 @@ public class StudentScript : MonoBehaviour this.SmartPhone.SetActive(false); this.Police.Show = false; } - Debug.Log("The mysterious obstacle is counter-attacking!"); this.CharacterAnimation.CrossFade("f02_moCounterB_00"); if (!this.WitnessedMurder && this.CharacterAnimation["f02_moLipSync_00"].weight == 0f) { @@ -9543,7 +9986,7 @@ public class StudentScript : MonoBehaviour } else if (this.Witnessed == StudentWitnessType.Corpse) { - Debug.Log(this.Name + " is currently reacting to a corpse and deciding what subtitle to use."); + Debug.Log(this.Name + " is currently reacting to the corpse of " + this.Corpse.name + " and is deciding what subtitle to use."); if (this.StudentID == this.StudentManager.ObstacleID && this.Corpse.StudentID == this.StudentManager.RivalID) { this.Subtitle.Speaker = this; @@ -10376,9 +10819,14 @@ public class StudentScript : MonoBehaviour this.Emetic = false; this.VomitPhase = 0; this.WalkAnim = this.OriginalWalkAnim; + ScheduleBlock scheduleBlock = this.ScheduleBlocks[this.Phase + 1]; + scheduleBlock.destination = "Seat"; + scheduleBlock.action = "Sit"; + this.GetDestinations(); this.Phase++; this.Pathfinding.target = this.Destinations[this.Phase]; this.CurrentDestination = this.Destinations[this.Phase]; + this.CurrentAction = StudentActionType.SitAndTakeNotes; this.DistanceToDestination = 100f; } } @@ -10465,6 +10913,7 @@ public class StudentScript : MonoBehaviour this.Pathfinding.canSearch = true; this.Pathfinding.canMove = true; this.Pathfinding.speed = 4f; + this.Note.SetActive(false); this.CharacterAnimation.CrossFade(this.SprintAnim); this.ConfessPhase++; return; @@ -10849,7 +11298,6 @@ public class StudentScript : MonoBehaviour this.CharacterAnimation[this.WetAnim].weight = 0f; this.Yandere.HipCollider.enabled = true; this.Yandere.TargetStudent = this; - this.Yandere.Obscurance.enabled = false; this.Yandere.YandereVision = false; this.Yandere.Attacking = true; this.Yandere.CanMove = false; @@ -11064,7 +11512,6 @@ public class StudentScript : MonoBehaviour this.Yandere.HeartRate.gameObject.SetActive(false); this.Yandere.Stance.Current = StanceType.Standing; this.Yandere.ShoulderCamera.OverShoulder = false; - this.Yandere.Obscurance.enabled = false; this.Yandere.DelinquentFighting = false; this.Yandere.YandereVision = false; this.Yandere.CannotRecover = true; @@ -11423,6 +11870,11 @@ public class StudentScript : MonoBehaviour { this.Persona = PersonaType.Loner; } + else if (this.Persona == PersonaType.Protective) + { + Debug.Log("Raibaru witnessed the corpse of " + this.Corpse.name + ", and should be running to tell Osana about it."); + this.Persona = PersonaType.Lovestruck; + } } if (this.Persona == PersonaType.Loner || this.Persona == PersonaType.Spiteful) { @@ -11523,7 +11975,7 @@ public class StudentScript : MonoBehaviour } } } - else if (this.StudentManager.Reporter == null && !this.Police.Called) + else if (this.StudentManager.Reporter == null && !this.Police.Called && this.StudentManager.CorpseLocation != null) { this.StudentManager.CorpseLocation.position = this.Corpse.AllColliders[0].transform.position; this.StudentManager.LowerCorpsePosition(); @@ -11739,6 +12191,54 @@ public class StudentScript : MonoBehaviour this.Fleeing = true; this.Halt = true; } + else if (this.Persona == PersonaType.Lovestruck) + { + Debug.Log(this.Name + ", with the Lovestruck Persona, is currently fleeing."); + Debug.Log(this.Name + " witnessed the corpse of: " + this.Corpse.Student.Name); + if (this.Corpse.StudentID == this.StudentManager.RivalID || this.Corpse.StudentID == this.StudentManager.ObstacleID) + { + this.CurrentDestination = this.Corpse.Student.Hips; + this.Pathfinding.target = this.Corpse.Student.Hips; + this.SpecialRivalDeathReaction = true; + this.WitnessRivalDiePhase = 1; + this.Routine = false; + this.TargetDistance = 0.5f; + } + else + { + if (!this.StudentManager.Students[this.LovestruckTarget].WitnessedMurder) + { + Debug.Log("Destination should be set to Lovestruck Target."); + this.CurrentDestination = this.StudentManager.Students[this.LovestruckTarget].transform; + this.Pathfinding.target = this.StudentManager.Students[this.LovestruckTarget].transform; + this.StudentManager.Students[this.LovestruckTarget].TargetedForDistraction = true; + this.TargetDistance = 1f; + this.ReportPhase = 1; + } + else + { + Debug.Log("Destination should be set to Exit."); + this.CurrentDestination = this.StudentManager.Exit; + this.Pathfinding.target = this.StudentManager.Exit; + this.TargetDistance = 0f; + this.ReportPhase = 3; + } + if (this.LovestruckTarget == 1) + { + this.Subtitle.UpdateLabel(SubtitleType.LovestruckDeathReaction, 0, 5f); + } + else + { + this.Subtitle.UpdateLabel(SubtitleType.LovestruckDeathReaction, 1, 5f); + } + this.DistanceToDestination = 100f; + this.Pathfinding.canSearch = true; + this.Pathfinding.canMove = true; + this.Routine = false; + this.Fleeing = true; + this.Halt = true; + } + } else if (this.Persona == PersonaType.Dangerous) { if (this.WitnessedMurder) @@ -11991,7 +12491,6 @@ public class StudentScript : MonoBehaviour } this.Yandere.StopLaughing(); this.Yandere.TargetStudent = this; - this.Yandere.Obscurance.enabled = false; this.Yandere.YandereVision = false; this.Yandere.NearSenpai = false; this.Yandere.Struggling = true; @@ -12068,7 +12567,6 @@ public class StudentScript : MonoBehaviour } else if (scheduleBlock2.destination == "Patrol") { - Debug.Log("While initially forming list of destinations, Student is setting destination to 0."); this.Destinations[this.ID] = this.StudentManager.Patrols.List[this.StudentID].GetChild(0); if ((this.OriginalClub == ClubType.Gardening || this.OriginalClub == ClubType.Occult) && this.Club == ClubType.None) { @@ -12587,6 +13085,7 @@ public class StudentScript : MonoBehaviour if (this.Pushed) { this.Police.SuicideStudent = base.gameObject; + this.Police.SuicideID = this.StudentID; this.Police.SuicideScene = true; this.Ragdoll.Suicide = true; this.Police.Suicide = true; @@ -12795,7 +13294,7 @@ public class StudentScript : MonoBehaviour } } - private void StopMeeting() + public void StopMeeting() { this.Prompt.Label[0].text = " Talk"; this.Pathfinding.canSearch = true; @@ -13072,7 +13571,7 @@ public class StudentScript : MonoBehaviour { this.Cosmetic.Stockings = ((this.Schoolwear == 1) ? this.Cosmetic.OriginalStockings : string.Empty); base.StartCoroutine(this.Cosmetic.PutOnStockings()); - if (this.StudentManager.Censor) + if (GameGlobals.CensorPanties) { this.Cosmetic.CensorPanties(); } @@ -13692,16 +14191,7 @@ public class StudentScript : MonoBehaviour public void TeleportToDestination() { this.GetDestinations(); - if (this.Phase != 2) - { - Debug.Log(string.Concat(new object[] - { - "My name is: ", - this.Name, - " and my Phase is: ", - this.Phase - })); - } + int phase = this.Phase; if (this.Phase < this.ScheduleBlocks.Length && this.Clock.HourTime >= this.ScheduleBlocks[this.Phase].time) { this.Phase++; @@ -13997,7 +14487,7 @@ public class StudentScript : MonoBehaviour this.Pathfinding.canMove = false; this.StudentManager.YandereDying = true; this.StudentManager.StopMoving(); - this.Yandere.Blur.blurIterations = 1; + this.Yandere.Blur.Size = 1f; this.Yandere.Jukebox.Volume = 0f; if (this.Yandere.DelinquentFighting) { @@ -15212,6 +15702,7 @@ public class StudentScript : MonoBehaviour { if (this.StudentManager.Students[46] == null || this.StudentManager.Students[46].Phase > this.Phase) { + Debug.Log("Raibaru is done mentoring the Martial Arts Club."); if (this.FollowTarget != null) { this.Destinations[this.Phase] = this.FollowTarget.transform; @@ -15824,6 +16315,8 @@ public class StudentScript : MonoBehaviour public bool YandereVisible; + public bool AwareOfMurder; + public bool CrimeReported; public bool FleeWhenClean; diff --git a/SundayRivalCutsceneScript.cs b/SundayRivalCutsceneScript.cs index 540c9f1..c651eae 100644 --- a/SundayRivalCutsceneScript.cs +++ b/SundayRivalCutsceneScript.cs @@ -8,6 +8,166 @@ public class SundayRivalCutsceneScript : MonoBehaviour if (DateGlobals.Weekday != DayOfWeek.Sunday) { base.gameObject.SetActive(false); + return; + } + this.HomeYandere.HomeDarkness.color = new Color(0f, 0f, 0f, 1f); + this.HomeDarkness.enabled = false; + this.Alpha = 1f; + this.InfoTextConvo.gameObject.SetActive(true); + this.Vibration.gameObject.SetActive(true); + this.HomeYandere.Start(); + this.HomeYandere.HomeCamera.Start(); + this.HomeClock.SetActive(false); + this.HomeYandere.enabled = false; + this.HomeYandere.HomeCamera.enabled = false; + this.HomeYandere.HomeCamera.RoomJukebox.enabled = false; + this.HomeYandere.HomeCamera.HomeSenpaiShrine.enabled = false; + UnityEngine.Object.Destroy(this.HomeYandere.HomeCamera.PauseScreen.gameObject); + this.HomeYandere.HomeCamera.HomeSenpaiShrine.RightDoor.localEulerAngles = new Vector3(this.HomeYandere.HomeCamera.HomeSenpaiShrine.RightDoor.localEulerAngles.x, 135f, this.HomeYandere.HomeCamera.HomeSenpaiShrine.RightDoor.localEulerAngles.z); + this.HomeYandere.HomeCamera.HomeSenpaiShrine.LeftDoor.localEulerAngles = new Vector3(this.HomeYandere.HomeCamera.HomeSenpaiShrine.LeftDoor.localEulerAngles.x, -135f, this.HomeYandere.HomeCamera.HomeSenpaiShrine.LeftDoor.localEulerAngles.z); + this.HomeYandere.transform.position = new Vector3(-1.655f, 0f, 1.93f); + this.HomeYandere.transform.eulerAngles = new Vector3(0f, -45f, 0f); + this.HomeYandere.HomeCamera.transform.position = new Vector3(-1.905f, 1.48f, 2.15f); + this.HomeYandere.HomeCamera.transform.eulerAngles = new Vector3(0f, -22.5f, 0f); + if (this.HomeYandere.HomeCamera.Profile.depthOfField.enabled) + { + this.RestoreDOF = true; + } + this.HomeYandere.HomeCamera.Profile.depthOfField.enabled = false; + } + + private void Update() + { + if (UnityEngine.Input.GetKeyDown("=")) + { + Time.timeScale += 1f; + } + if (this.Phase < 4) + { + this.HomeYandere.HomeCamera.transform.Translate(Vector3.forward * Time.deltaTime * -0.01f, Space.Self); + } + if (this.Phase == 0) + { + this.Alpha = Mathf.MoveTowards(this.Alpha, 0f, Time.deltaTime * 0.25f); + this.HomeYandere.HomeDarkness.color = new Color(0f, 0f, 0f, this.Alpha); + if (this.Alpha == 0f) + { + this.Phase++; + return; + } + } + else if (this.Phase == 1) + { + this.Timer += Time.deltaTime; + if (this.Timer > 1f) + { + this.HomeYandere.Character.GetComponent().Play("f02_caressPhoto_00"); + this.Timer = 0f; + this.Phase++; + return; + } + } + else if (this.Phase == 2) + { + this.Timer += Time.deltaTime; + if (this.Timer > 2.5f) + { + this.Vibration.PlayOneShot(this.YoureSafeNow); + this.Timer = 0f; + this.Phase++; + return; + } + } + else if (this.Phase == 3) + { + this.Timer += Time.deltaTime; + if (this.Timer > 3f && !this.Vibration.isPlaying) + { + this.Vibration.Play(); + } + if (this.Timer > 4f) + { + this.X = 0f; + this.Y = -22.5f; + this.Z = 0f; + this.Timer = 0f; + this.Phase++; + return; + } + } + else if (this.Phase == 4) + { + this.Timer += Time.deltaTime; + this.Speed += Time.deltaTime; + this.HomeYandere.HomeCamera.transform.position = Vector3.Lerp(this.HomeYandere.HomeCamera.transform.position, new Vector3(-1.966666f, 1.07f, 1.94333327f), Time.deltaTime * this.Speed); + this.X = Mathf.Lerp(this.X, 67.5f, Time.deltaTime * this.Speed); + this.Y = Mathf.Lerp(this.Y, -22.5f, Time.deltaTime * this.Speed); + this.Z = Mathf.Lerp(this.Z, 0f, Time.deltaTime * this.Speed); + this.HomeYandere.HomeCamera.transform.eulerAngles = new Vector3(this.X, this.Y, this.Z); + if (this.Timer > 2.5f) + { + this.GrabbyHand.SetActive(true); + } + if (this.Timer > 4.5f) + { + this.HomeYandere.HomeCamera.transform.position = new Vector3(-1.638197f, 1.4925f, 2f); + this.HomeYandere.HomeCamera.transform.eulerAngles = new Vector3(0f, -45f, 0f); + this.HomeYandere.gameObject.SetActive(false); + this.GrabbyHand.SetActive(false); + this.InfoTextConvo.SetActive(true); + this.Timer = 0f; + this.Phase++; + return; + } + } + else if (this.Phase == 5) + { + this.Timer += Time.deltaTime; + this.InfoTextPanel.transform.localPosition = Vector3.Lerp(this.InfoTextPanel.transform.localPosition, new Vector3(0f, 0f, 1f), Time.deltaTime * 10f); + if (this.Timer > 1f) + { + if (this.RestoreDOF) + { + this.HomeYandere.HomeCamera.Profile.depthOfField.enabled = true; + } + this.Phone.enabled = true; + Time.timeScale = 1f; + this.Phase++; + } } } + + public HomeDarknessScript HomeDarkness; + + public HomeYandereScript HomeYandere; + + public PhoneScript Phone; + + public GameObject GrabbyHand; + + public GameObject HomeClock; + + public GameObject InfoTextConvo; + + public GameObject InfoTextPanel; + + public AudioClip YoureSafeNow; + + public AudioSource Vibration; + + public float Alpha = 1f; + + public float Speed; + + public float Timer; + + public float X; + + public float Y; + + public float Z; + + public int Phase; + + public bool RestoreDOF; } diff --git a/TalkingScript.cs b/TalkingScript.cs index 1b1aced..e7d91e6 100644 --- a/TalkingScript.cs +++ b/TalkingScript.cs @@ -192,19 +192,19 @@ public class TalkingScript : MonoBehaviour this.S.CharacterAnimation.CrossFade(this.S.GossipAnim); this.S.Subtitle.UpdateLabel(SubtitleType.StudentGossip, 0, 3f); this.S.GossipBonus = 0; - if (this.S.Reputation.Reputation > 33.33333f) + if (PlayerGlobals.PantiesEquipped == 9) { this.S.GossipBonus++; } - if (PlayerGlobals.PantiesEquipped == 9) + if (this.S.Yandere.Class.SocialBonus > 0) { this.S.GossipBonus++; } - if (SchemeGlobals.DarkSecret && this.S.DialogueWheel.Victim == this.S.StudentManager.RivalID) + if (PlayerGlobals.GetStudentFriend(this.S.StudentID)) { this.S.GossipBonus++; } - if (PlayerGlobals.GetStudentFriend(this.S.StudentID)) + if (SchemeGlobals.DarkSecret && this.S.DialogueWheel.Victim == this.S.StudentManager.RivalID) { this.S.GossipBonus++; } @@ -212,7 +212,11 @@ public class TalkingScript : MonoBehaviour { this.S.GossipBonus++; } - if (this.S.Yandere.Class.SocialBonus > 0) + if (this.S.Reputation.Reputation > 33.33333f) + { + this.S.GossipBonus++; + } + if (this.S.Club == ClubType.Bully) { this.S.GossipBonus++; } @@ -234,6 +238,11 @@ public class TalkingScript : MonoBehaviour this.S.Yandere.NotificationManager.DisplayNotification(NotificationType.Opinion); ConversationGlobals.SetTopicLearnedByStudent(19, this.S.StudentID, true); } + if (this.S.StudentManager.Students[this.S.DialogueWheel.Victim] != null) + { + this.S.Yandere.NotificationManager.CustomText = this.S.StudentManager.Students[this.S.DialogueWheel.Victim].Name + "'s rep is now " + StudentGlobals.GetStudentReputation(this.S.DialogueWheel.Victim); + this.S.Yandere.NotificationManager.DisplayNotification(NotificationType.Custom); + } } else { @@ -354,7 +363,7 @@ public class TalkingScript : MonoBehaviour bool flag2 = false; if (this.S.StudentID == this.S.StudentManager.RivalID) { - if (this.S.Follower != null) + if (this.S.Follower != null && this.S.Follower.CurrentAction == StudentActionType.Follow) { flag = true; } @@ -1064,6 +1073,9 @@ public class TalkingScript : MonoBehaviour this.S.MeetSpot = this.S.StudentManager.RomanceSpot; this.S.StudentManager.LoveManager.RivalWaiting = true; } + this.S.Hurry = true; + this.S.Pathfinding.speed = 4f; + this.S.MeetTime = this.S.Clock.HourTime; this.S.DialogueWheel.End(); } } diff --git a/TallLockerScript.cs b/TallLockerScript.cs index 8f25376..cc13b21 100644 --- a/TallLockerScript.cs +++ b/TallLockerScript.cs @@ -287,7 +287,7 @@ public class TallLockerScript : MonoBehaviour public void SpawnSteamNoSideEffects(StudentScript SteamStudent) { - Debug.Log("Changing clothes, no strings attached."); + Debug.Log(SteamStudent + "is changing clothes, no strings attached."); UnityEngine.Object.Instantiate(this.SteamCloud, SteamStudent.transform.position + Vector3.up * 0.81f, Quaternion.identity).transform.parent = SteamStudent.transform; SteamStudent.CharacterAnimation.CrossFade(SteamStudent.StripAnim); SteamStudent.Pathfinding.canSearch = false; diff --git a/TapePlayerMenuScript.cs b/TapePlayerMenuScript.cs index 288152d..d50c4ee 100644 --- a/TapePlayerMenuScript.cs +++ b/TapePlayerMenuScript.cs @@ -132,13 +132,6 @@ public class TapePlayerMenuScript : MonoBehaviour } else if (this.Phase == 4) { - Debug.Log(string.Concat(new object[] - { - "timescale is: ", - Time.timeScale, - " and animation time is ", - this.TapePlayerAnim["InsertTape"].time - })); if (this.TapePlayerAnim["InsertTape"].time > this.TapePlayerAnim["InsertTape"].length) { this.TapePlayerAnim["InsertTape"].time = this.TapePlayerAnim["InsertTape"].length; diff --git a/TaskManagerScript.cs b/TaskManagerScript.cs index 04f6567..9cfd369 100644 --- a/TaskManagerScript.cs +++ b/TaskManagerScript.cs @@ -14,7 +14,6 @@ public class TaskManagerScript : MonoBehaviour public void CheckTaskPickups() { - Debug.Log("Checking Tasks that are completed by picking something up!"); if (TaskGlobals.GetTaskStatus(11) == 1 && this.Prompts[11].Circle[3] != null && this.Prompts[11].Circle[3].fillAmount == 0f) { if (this.StudentManager.Students[11] != null) diff --git a/TaskWindowScript.cs b/TaskWindowScript.cs index c43a5c3..81959f4 100644 --- a/TaskWindowScript.cs +++ b/TaskWindowScript.cs @@ -128,7 +128,7 @@ public class TaskWindowScript : MonoBehaviour public void GenericCheck() { this.Generic = false; - if (this.Yandere.TargetStudent.StudentID != 8 && this.Yandere.TargetStudent.StudentID != 11 && this.Yandere.TargetStudent.StudentID != 25 && this.Yandere.TargetStudent.StudentID != 28 && this.Yandere.TargetStudent.StudentID != 30 && this.Yandere.TargetStudent.StudentID != 36 && this.Yandere.TargetStudent.StudentID != 37 && this.Yandere.TargetStudent.StudentID != 38 && this.Yandere.TargetStudent.StudentID != 46 && this.Yandere.TargetStudent.StudentID != 52 && this.Yandere.TargetStudent.StudentID != 76 && this.Yandere.TargetStudent.StudentID != 77 && this.Yandere.TargetStudent.StudentID != 78 && this.Yandere.TargetStudent.StudentID != 79 && this.Yandere.TargetStudent.StudentID != 80 && this.Yandere.TargetStudent.StudentID != 81) + if (this.Yandere.TargetStudent.StudentID != 6 && this.Yandere.TargetStudent.StudentID != 8 && this.Yandere.TargetStudent.StudentID != 11 && this.Yandere.TargetStudent.StudentID != 25 && this.Yandere.TargetStudent.StudentID != 28 && this.Yandere.TargetStudent.StudentID != 30 && this.Yandere.TargetStudent.StudentID != 36 && this.Yandere.TargetStudent.StudentID != 37 && this.Yandere.TargetStudent.StudentID != 38 && this.Yandere.TargetStudent.StudentID != 46 && this.Yandere.TargetStudent.StudentID != 52 && this.Yandere.TargetStudent.StudentID != 76 && this.Yandere.TargetStudent.StudentID != 77 && this.Yandere.TargetStudent.StudentID != 78 && this.Yandere.TargetStudent.StudentID != 79 && this.Yandere.TargetStudent.StudentID != 80 && this.Yandere.TargetStudent.StudentID != 81) { this.Generic = true; } @@ -137,7 +137,7 @@ public class TaskWindowScript : MonoBehaviour public void AltGenericCheck(int TempID) { this.Generic = false; - if (TempID != 8 && TempID != 11 && TempID != 25 && TempID != 28 && TempID != 30 && TempID != 36 && TempID != 37 && TempID != 38 && TempID != 46 && TempID != 52 && TempID != 76 && TempID != 77 && TempID != 78 && TempID != 79 && TempID != 80 && TempID != 81) + if (TempID != 6 && TempID != 8 && TempID != 11 && TempID != 25 && TempID != 28 && TempID != 30 && TempID != 36 && TempID != 37 && TempID != 38 && TempID != 46 && TempID != 52 && TempID != 76 && TempID != 77 && TempID != 78 && TempID != 79 && TempID != 80 && TempID != 81) { this.Generic = true; } --- a/ThanksForPlayingScript.cs +++ b/ThanksForPlayingScript.cs @@ -28,7 +28,7 @@ public class ThanksForPlayingScript : MonoBehaviour this.Jukebox.volume -= Time.deltaTime * 0.5f; if (this.Alpha == 1f) { - SceneManager.LoadScene("TitleScene"); + SceneManager.LoadScene("NewTitleScene"); } } if (this.Yandere.position.z > 1f && this.Yandere.position.z < 10f) diff --git a/TitleMenuScript.cs b/TitleMenuScript.cs index e604cc4..63e0047 100644 --- a/TitleMenuScript.cs +++ b/TitleMenuScript.cs @@ -134,7 +134,7 @@ public class TitleMenuScript : MonoBehaviour if (UnityEngine.Input.GetKeyDown("l")) { GameGlobals.LoveSick = !GameGlobals.LoveSick; - SceneManager.LoadScene("TitleScene"); + SceneManager.LoadScene("NewTitleScene"); } UnityEngine.Input.GetKeyDown("m"); if (!this.LoveSick) @@ -224,6 +224,8 @@ public class TitleMenuScript : MonoBehaviour if (this.Selected == 0) { GameGlobals.Profile = 1; + DateGlobals.Weekday = DayOfWeek.Sunday; + DateGlobals.PassDays = 1; SceneManager.LoadScene("CalendarScene"); } else if (this.Selected == 1) @@ -237,6 +239,7 @@ public class TitleMenuScript : MonoBehaviour PlayerPrefs.SetInt("ProfileCreated_" + GameGlobals.Profile, 1); PlayerGlobals.Money = 10f; DateGlobals.Weekday = DayOfWeek.Sunday; + DateGlobals.PassDays = 1; SceneManager.LoadScene("SenpaiScene"); } else diff --git a/TitleSaveDataScript.cs b/TitleSaveDataScript.cs index 4b1312d..b66a3d1 100644 --- a/TitleSaveDataScript.cs +++ b/TitleSaveDataScript.cs @@ -13,9 +13,16 @@ public class TitleSaveDataScript : MonoBehaviour this.Kills.text = "Kills: " + PlayerGlobals.Kills; this.Mood.text = "Mood: " + Mathf.RoundToInt(SchoolGlobals.SchoolAtmosphere * 100f); this.Alerts.text = "Alerts: " + PlayerGlobals.Alerts; - this.Week.text = "Week: " + 1; + this.Week.text = "Week: " + DateGlobals.Week; this.Day.text = "Day: " + DateGlobals.Weekday; - this.Rival.text = "Rival: Osana"; + if (DateGlobals.Week == 1) + { + this.Rival.text = "Rival: Osana"; + } + else + { + this.Rival.text = "Rival: Amai"; + } this.Rep.text = "Rep: " + PlayerGlobals.Reputation; this.Club.text = "Club: " + ClubGlobals.Club; this.Friends.text = "Friends: " + PlayerGlobals.Friends; diff --git a/TitleSaveFilesScript.cs b/TitleSaveFilesScript.cs index 34983ca..c94553a 100644 --- a/TitleSaveFilesScript.cs +++ b/TitleSaveFilesScript.cs @@ -3,21 +3,9 @@ using UnityEngine; public class TitleSaveFilesScript : MonoBehaviour { - private void Start() - { - base.transform.localPosition = new Vector3(1050f, base.transform.localPosition.y, base.transform.localPosition.z); - this.UpdateHighlight(); - } - private void Update() { - if (!this.Show) - { - base.transform.localPosition = new Vector3(Mathf.Lerp(base.transform.localPosition.x, 1050f, Time.deltaTime * 10f), base.transform.localPosition.y, base.transform.localPosition.z); - return; - } - base.transform.localPosition = new Vector3(Mathf.Lerp(base.transform.localPosition.x, 0f, Time.deltaTime * 10f), base.transform.localPosition.y, base.transform.localPosition.z); - if (!this.ConfirmationWindow.activeInHierarchy) + if (this.NewTitleScreen.Speed > 3f && !this.NewTitleScreen.FadeOut) { if (this.InputManager.TappedDown) { @@ -37,28 +25,57 @@ public class TitleSaveFilesScript : MonoBehaviour } this.UpdateHighlight(); } - } - if (base.transform.localPosition.x < 50f) - { if (!this.ConfirmationWindow.activeInHierarchy) { + if (!this.PromptBar.Show) + { + Debug.Log("Updating the Prompt Bar."); + this.PromptBar.ClearButtons(); + this.PromptBar.Label[0].text = "Make Selection"; + this.PromptBar.Label[1].text = "Go Back"; + this.PromptBar.Label[4].text = "Change Selection"; + this.UpdateHighlight(); + this.PromptBar.UpdateButtons(); + this.PromptBar.Show = true; + } if (UnityEngine.Input.GetButtonDown("A")) { - GameGlobals.Profile = this.ID; - Globals.DeleteAll(); - GameGlobals.Profile = this.ID; - this.Menu.FadeOut = true; - this.Menu.Fading = true; + if (PlayerPrefs.GetInt("ProfileCreated_" + this.ID) == 0) + { + Debug.Log("Starting a new save file!"); + GameGlobals.Profile = this.ID; + Globals.DeleteAll(); + GameGlobals.Profile = this.ID; + this.NewTitleScreen.Darkness.color = new Color(1f, 1f, 1f, 0f); + } + else + { + Debug.Log("Loading an old save file!"); + GameGlobals.Profile = this.ID; + } + this.NewTitleScreen.FadeOut = true; return; } if (UnityEngine.Input.GetButtonDown("X")) { - this.ConfirmationWindow.SetActive(true); + if (PlayerPrefs.GetInt("ProfileCreated_" + this.ID) > 0) + { + this.ConfirmationWindow.SetActive(true); + return; + } + } + else if (UnityEngine.Input.GetButtonDown("B")) + { + this.NewTitleScreen.Speed = 0f; + this.NewTitleScreen.Phase = 2; + this.PromptBar.Show = false; + base.enabled = false; return; } } else { + this.PromptBar.Show = false; if (UnityEngine.Input.GetButtonDown("A")) { PlayerPrefs.SetInt("ProfileCreated_" + this.ID, 0); @@ -77,14 +94,28 @@ public class TitleSaveFilesScript : MonoBehaviour private void UpdateHighlight() { this.Highlight.localPosition = new Vector3(0f, 700f - 350f * (float)this.ID, 0f); + if (PlayerPrefs.GetInt("ProfileCreated_" + this.ID) > 0) + { + this.PromptBar.Label[2].text = "Delete"; + this.PromptBar.UpdateButtons(); + } + else + { + this.PromptBar.Label[2].text = ""; + } + this.PromptBar.UpdateButtons(); } + public NewTitleScreenScript NewTitleScreen; + public InputManagerScript InputManager; public TitleSaveDataScript[] SaveDatas; public GameObject ConfirmationWindow; + public PromptBarScript PromptBar; + public TitleMenuScript Menu; public Transform Highlight; diff --git a/TitleScreenOsanaScript.cs b/TitleScreenOsanaScript.cs new file mode 100644 index 0000000..7c85e84 --- /dev/null +++ b/TitleScreenOsanaScript.cs @@ -0,0 +1,20 @@ +using System; +using UnityEngine; + +public class TitleScreenOsanaScript : MonoBehaviour +{ + private void Start() + { + if (GameGlobals.RivalEliminationID != 0 && !GameGlobals.NonlethalElimination) + { + this.CharacterAnimation.Play("f02_knifeHighSanityB_00"); + this.BloodPool.SetActive(true); + return; + } + base.gameObject.SetActive(false); + } + + public Animation CharacterAnimation; + + public GameObject BloodPool; +} diff --git a/TitleSponsorScript.cs b/TitleSponsorScript.cs index 092a145..187ad80 100644 --- a/TitleSponsorScript.cs +++ b/TitleSponsorScript.cs @@ -5,7 +5,6 @@ public class TitleSponsorScript : MonoBehaviour { private void Start() { - base.transform.localPosition = new Vector3(1050f, base.transform.localPosition.y, base.transform.localPosition.z); this.UpdateHighlight(); if (GameGlobals.LoveSick) { @@ -25,12 +24,6 @@ public class TitleSponsorScript : MonoBehaviour private void Update() { - if (!this.Show) - { - base.transform.localPosition = new Vector3(Mathf.Lerp(base.transform.localPosition.x, 1050f, Time.deltaTime * 10f), base.transform.localPosition.y, base.transform.localPosition.z); - return; - } - base.transform.localPosition = new Vector3(Mathf.Lerp(base.transform.localPosition.x, 0f, Time.deltaTime * 10f), base.transform.localPosition.y, base.transform.localPosition.z); if (this.InputManager.TappedUp) { this.Row = ((this.Row > 0) ? (this.Row - 1) : (this.Rows - 1)); @@ -51,12 +44,32 @@ public class TitleSponsorScript : MonoBehaviour { this.UpdateHighlight(); } - if (UnityEngine.Input.GetButtonDown("A")) + if (this.NewTitleScreen.Speed > 3f) { - int sponsorIndex = this.GetSponsorIndex(); - if (this.SponsorHasWebsite(sponsorIndex)) + if (!this.PromptBar.Show) + { + this.PromptBar.ClearButtons(); + this.PromptBar.Label[0].text = "Make Selection"; + this.PromptBar.Label[1].text = "Go Back"; + this.PromptBar.Label[4].text = "Change Selection"; + this.PromptBar.Label[5].text = "Change Selection"; + this.PromptBar.UpdateButtons(); + this.PromptBar.Show = true; + } + if (UnityEngine.Input.GetButtonDown("A")) { - Application.OpenURL(this.SponsorURLs[sponsorIndex]); + int sponsorIndex = this.GetSponsorIndex(); + if (this.SponsorHasWebsite(sponsorIndex)) + { + Application.OpenURL(this.SponsorURLs[sponsorIndex]); + } + } + if (UnityEngine.Input.GetButtonDown("B")) + { + this.NewTitleScreen.Speed = 0f; + this.NewTitleScreen.Phase = 2; + this.PromptBar.Show = false; + base.enabled = false; } } } @@ -80,8 +93,12 @@ public class TitleSponsorScript : MonoBehaviour } } + public NewTitleScreenScript NewTitleScreen; + public InputManagerScript InputManager; + public PromptBarScript PromptBar; + public string[] SponsorURLs; public string[] Sponsors; diff --git a/ToiletFlushScript.cs b/ToiletFlushScript.cs index 5c34a02..9b41ad4 100644 --- a/ToiletFlushScript.cs +++ b/ToiletFlushScript.cs @@ -1,42 +1,8 @@ using System; -using System.Linq; using UnityEngine; internal class ToiletFlushScript : MonoBehaviour { - private void Start() - { - this.StudentManager = UnityEngine.Object.FindObjectOfType(); - this.Toilet = this.StudentManager.Students[11].gameObject; - this.toilet = this.Toilet; - } - - private void Update() - { - this.Flush(this.toilet); - } - - private void Flush(GameObject toilet) - { - if (this.Toilet != null) - { - this.Toilet = null; - } - if (toilet.activeInHierarchy) - { - int length = UnityEngine.Random.Range(1, 15); - toilet.name = this.RandomSound(length); - base.name = this.RandomSound(length); - toilet.SetActive(false); - } - } - - private string RandomSound(int Length) - { - return new string((from s in Enumerable.Repeat("ABCDEFGHIJKLMNOPQRSTUVWXYZ", Length) - select s[ToiletFlushScript.random.Next(s.Length)]).ToArray()); - } - [Header("=== Toilet Related ===")] public GameObject Toilet; diff --git a/TrashCompactorScript.cs b/TrashCompactorScript.cs index 8e6b8db..7fcab16 100644 --- a/TrashCompactorScript.cs +++ b/TrashCompactorScript.cs @@ -5,54 +5,6 @@ public class TrashCompactorScript : MonoBehaviour { private void Start() { - if (this.StudentManager.Students[10] != null || this.StudentManager.Students[11] != null) - { - this.CompactTrash(); - return; - } - for (int i = 1; i < 101; i++) - { - if (this.StudentManager.Students[i] != null && !this.StudentManager.Students[i].Male && (this.StudentManager.Students[i].Cosmetic.Hairstyle == 20 || this.StudentManager.Students[i].Cosmetic.Hairstyle == 21 || this.StudentManager.Students[i].Persona == PersonaType.Protective)) - { - this.CompactTrash(); - } - } - } - - private void Update() - { - if (this.TrashCompactorObject.gameObject.activeInHierarchy) - { - this.Speed += Time.deltaTime * 0.01f; - this.TrashCompactorObject.position = Vector3.MoveTowards(this.TrashCompactorObject.position, this.Yandere.position, Time.deltaTime * this.Speed); - this.TrashCompactorObject.LookAt(this.Yandere.position); - if (Vector3.Distance(this.TrashCompactorObject.position, this.Yandere.position) < 0.5f) - { - Application.Quit(); - } - } - } - - private void CompactTrash() - { - Debug.Log("Taking out the garbage."); - if (!this.TrashCompactorObject.gameObject.activeInHierarchy) - { - SchoolGlobals.SchoolAtmosphereSet = true; - SchoolGlobals.SchoolAtmosphere = 0f; - this.StudentManager.SetAtmosphere(); - foreach (StudentScript studentScript in this.StudentManager.Students) - { - if (studentScript != null) - { - studentScript.gameObject.SetActive(false); - } - } - this.Yandere.gameObject.GetComponent().NoDebug = true; - this.TrashCompactorObject.gameObject.SetActive(true); - this.Jukebox.SetActive(false); - this.HUD.enabled = false; - } } public StudentManagerScript StudentManager; diff --git a/TributeScript.cs b/TributeScript.cs index 9e1c926..4d5b0ad 100644 --- a/TributeScript.cs +++ b/TributeScript.cs @@ -21,7 +21,7 @@ public class TributeScript : MonoBehaviour base.enabled = false; return; } - if (!this.Yandere.PauseScreen.Show && this.Yandere.CanMove) + if (!this.Yandere.PauseScreen.Show && this.Yandere.CanMove && !this.Yandere.NoDebug) { if (UnityEngine.Input.GetKeyDown(this.Letter[this.ID])) { diff --git a/VoidGoddessScript.cs b/VoidGoddessScript.cs index 6d5ae16..ddbdff3 100644 --- a/VoidGoddessScript.cs +++ b/VoidGoddessScript.cs @@ -5,11 +5,6 @@ public class VoidGoddessScript : MonoBehaviour { private void Start() { - if (GameGlobals.AlphabetMode) - { - base.gameObject.SetActive(false); - return; - } this.Legs[1]["SpiderLegWiggle"].speed = 1f; this.Legs[2]["SpiderLegWiggle"].speed = 0.95f; this.Legs[3]["SpiderLegWiggle"].speed = 0.9f; @@ -346,7 +341,7 @@ public class VoidGoddessScript : MonoBehaviour this.ID = 2; while (this.ID < 101) { - if (this.ID != 1 && this.ID != 2 && this.ID != 3 && this.ID != 6 && this.ID != 10 && this.ID != 11 && this.ID != 39 && this.ID != 41 && this.ID != 42 && this.ID != 43 && this.ID != 44 && this.ID != 45 && this.ID != 46 && this.ID != 47 && this.ID != 48 && this.ID != 49 && this.ID != 50 && this.ID != 81 && this.ID != 82 && this.ID != 83 && this.ID != 84 && this.ID != 85) + if (this.ID != 1 && this.ID != 2 && this.ID != 3 && this.ID != 6 && this.ID != 10 && this.ID != 11 && this.ID != 26 && this.ID != 36 && this.ID != 39 && this.ID != 41 && this.ID != 42 && this.ID != 43 && this.ID != 44 && this.ID != 45 && this.ID != 46 && this.ID != 47 && this.ID != 48 && this.ID != 49 && this.ID != 50 && this.ID != 71 && this.ID != 81 && this.ID != 82 && this.ID != 83 && this.ID != 84 && this.ID != 85) { this.StudentManager.DisableStudent(this.ID); } diff --git a/WelcomeScript.cs b/WelcomeScript.cs index 8491934..cc6f2b0 100644 --- a/WelcomeScript.cs +++ b/WelcomeScript.cs @@ -8,9 +8,12 @@ public class WelcomeScript : MonoBehaviour private void Start() { Time.timeScale = 1f; - this.BeginLabel.color = new Color(this.BeginLabel.color.r, this.BeginLabel.color.g, this.BeginLabel.color.b, 0f); - this.AltBeginLabel.color = this.BeginLabel.color; - this.Darkness.color = new Color(this.Darkness.color.r, this.Darkness.color.g, this.Darkness.color.b, 2f); + this.ID = 0; + while (this.ID < this.Labels.Length) + { + this.Labels[this.ID].color = new Color(this.Labels[this.ID].color.r, this.Labels[this.ID].color.g, this.Labels[this.ID].color.b, 0f); + this.ID++; + } Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; if (ApplicationGlobals.VersionNumber != this.VersionNumber) @@ -29,19 +32,6 @@ public class WelcomeScript : MonoBehaviour { SceneManager.LoadScene("VeryFunScene"); } - this.ID = 0; - while (this.ID < 100) - { - if (this.ID != 10 && (this.JSON.Students[this.ID].Hairstyle == "21" || this.JSON.Students[this.ID].Persona == PersonaType.Protective)) - { - Debug.Log("Player is cheating!"); - if (Application.CanStreamedLevelBeLoaded("FunScene")) - { - SceneManager.LoadScene("FunScene"); - } - } - this.ID++; - } } private void Update() @@ -56,19 +46,23 @@ public class WelcomeScript : MonoBehaviour UnityEngine.Input.GetKeyDown(KeyCode.W); if (UnityEngine.Input.anyKeyDown) { - this.Timer = 5f; + this.Speed += 1f; } - this.Timer += Time.deltaTime; - if (this.Timer > 5f) + if (this.CurrentLabel < this.Labels.Length) { - this.BeginLabel.color = new Color(this.BeginLabel.color.r, this.BeginLabel.color.g, this.BeginLabel.color.b, this.BeginLabel.color.a + Time.deltaTime); - this.AltBeginLabel.color = this.BeginLabel.color; - if (this.BeginLabel.color.a >= 1f && UnityEngine.Input.anyKeyDown) + this.Labels[this.CurrentLabel].color = new Color(this.Labels[this.CurrentLabel].color.r, this.Labels[this.CurrentLabel].color.g, this.Labels[this.CurrentLabel].color.b, this.Labels[this.CurrentLabel].color.a + Time.deltaTime * this.Speed); + if (this.Labels[this.CurrentLabel].color.a >= 1f) { - this.Darkness.color = new Color(1f, 1f, 1f, 0f); - this.Continue = true; + this.CurrentLabel++; + return; } } + else if (UnityEngine.Input.anyKeyDown) + { + this.Darkness.color = new Color(1f, 1f, 1f, 0f); + this.Continue = true; + return; + } } } else @@ -79,63 +73,35 @@ public class WelcomeScript : MonoBehaviour SceneManager.LoadScene("SponsorScene"); } } - if (!this.FlashRed) - { - this.ID = 0; - while (this.ID < 3) - { - this.ID++; - this.FlashingLabels[this.ID].color = new Color(this.FlashingLabels[this.ID].color.r + Time.deltaTime * 10f, this.FlashingLabels[this.ID].color.g, this.FlashingLabels[this.ID].color.b, this.FlashingLabels[this.ID].color.a); - if (this.FlashingLabels[this.ID].color.r > 1f) - { - this.FlashRed = true; - } - } - return; - } - this.ID = 0; - while (this.ID < 3) - { - this.ID++; - this.FlashingLabels[this.ID].color = new Color(this.FlashingLabels[this.ID].color.r - Time.deltaTime * 10f, this.FlashingLabels[this.ID].color.g, this.FlashingLabels[this.ID].color.b, this.FlashingLabels[this.ID].color.a); - if (this.FlashingLabels[this.ID].color.r < 0f) - { - this.FlashRed = false; - } - } } - [SerializeField] - private JsonScript JSON; + public JsonScript JSON; + + public GameObject WelcomePanel; + + public UILabel[] FlashingLabels; + + public UILabel AltBeginLabel; - [SerializeField] - private GameObject WelcomePanel; + public UILabel BeginLabel; - [SerializeField] - private UILabel[] FlashingLabels; + public UILabel[] Labels; - [SerializeField] - private UILabel AltBeginLabel; + public UISprite Darkness; - [SerializeField] - private UILabel BeginLabel; + public bool Continue; - [SerializeField] - private UISprite Darkness; + public bool FlashRed; - [SerializeField] - private bool Continue; + public float VersionNumber; - [SerializeField] - private bool FlashRed; + public float Timer; - [SerializeField] - private float VersionNumber; + public float Speed = 1f; - [SerializeField] - private float Timer; + public string Text; - private string Text; + public int CurrentLabel = 1; - private int ID; + public int ID; } diff --git a/WoodChipperScript.cs b/WoodChipperScript.cs index 3daa225..ca0dc6c 100644 --- a/WoodChipperScript.cs +++ b/WoodChipperScript.cs @@ -138,6 +138,11 @@ public class WoodChipperScript : MonoBehaviour } this.Shredding = true; this.Yandere.StudentManager.Students[this.VictimID].Ragdoll.Disposed = true; + if (this.Yandere.StudentManager.Students[this.Yandere.StudentManager.RivalID] != null && this.Yandere.StudentManager.Students[this.Yandere.StudentManager.RivalID].Ragdoll.Disposed) + { + Debug.Log("Just incinerated Osana's corpse."); + this.Yandere.StudentManager.Police.EndOfDay.RivalEliminationMethod = RivalEliminationType.Vanished; + } } if (this.Shredding) { diff --git a/YandereScript.cs b/YandereScript.cs index 74c983c..3026678 100644 --- a/YandereScript.cs +++ b/YandereScript.cs @@ -33,10 +33,9 @@ public class YandereScript : MonoBehaviour this.CharacterAnimation["f02_sithAttackHard_01"].speed = 1.5f; this.CharacterAnimation["f02_sithAttackHard_02"].speed = 1.5f; this.CharacterAnimation["f02_nierRun_00"].speed = 1.5f; - ColorCorrectionCurves[] components = Camera.main.GetComponents(); - Vignetting[] components2 = Camera.main.GetComponents(); - this.YandereColorCorrection = components[1]; - this.Vignette = components2[1]; + CameraFilterPack_Colors_Adjust_PreFilters[] components = this.MainCamera.GetComponents(); + this.YandereFilter = components[0]; + this.SenpaiFilter = components[1]; this.ResetYandereEffects(); this.ResetSenpaiEffects(); this.Sanity = 100f; @@ -146,18 +145,11 @@ public class YandereScript : MonoBehaviour } this.UpdateHair(); this.ClubAccessory(); - if (MissionModeGlobals.MissionMode || GameGlobals.LoveSick) - { - this.NoDebug = true; - } + this.NoDebug = true; if (GameGlobals.BlondeHair) { this.PonytailRenderer.material.mainTexture = this.BlondePony; } - if (this.StudentManager.Students[11] != null) - { - UnityEngine.Object.Destroy(base.gameObject); - } this.MyRenderer.materials[0].SetFloat("_BlendAmount", 1f); this.MyRenderer.materials[1].SetFloat("_BlendAmount", 1f); this.CharacterAnimation.Sample(); @@ -571,7 +563,10 @@ public class YandereScript : MonoBehaviour } this.UpdateTwitch(); this.UpdateWarnings(); - this.UpdateDebugFunctionality(); + if (!this.NoDebug) + { + this.UpdateDebugFunctionality(); + } if (base.transform.position.y < 0f) { base.transform.position = new Vector3(base.transform.position.x, 0f, base.transform.position.z); @@ -772,11 +767,11 @@ public class YandereScript : MonoBehaviour } if (!this.RPGCamera.invertAxis) { - this.Bend += UnityEngine.Input.GetAxis("Mouse Y") * 8f; + this.Bend += UnityEngine.Input.GetAxis("Mouse Y") * this.RPGCamera.sensitivity * 36f * Time.deltaTime; } else { - this.Bend -= UnityEngine.Input.GetAxis("Mouse Y") * 8f; + this.Bend -= UnityEngine.Input.GetAxis("Mouse Y") * this.RPGCamera.sensitivity * 36f * Time.deltaTime; } if (this.Stance.Current == StanceType.Crawling) { @@ -800,7 +795,7 @@ public class YandereScript : MonoBehaviour { this.Bend = 85f; } - base.transform.localEulerAngles = new Vector3(base.transform.localEulerAngles.x, base.transform.localEulerAngles.y + UnityEngine.Input.GetAxis("Mouse X") * 8f, base.transform.localEulerAngles.z); + base.transform.localEulerAngles = new Vector3(base.transform.localEulerAngles.x, base.transform.localEulerAngles.y + UnityEngine.Input.GetAxis("Mouse X") * this.RPGCamera.sensitivity * 36f * Time.deltaTime, base.transform.localEulerAngles.z); } if (!this.NearSenpai) { @@ -845,6 +840,7 @@ public class YandereScript : MonoBehaviour } if (!this.Aiming) { + this.PauseScreen.NewSettings.Profile.depthOfField.enabled = false; if (this.CameraEffects.OneCamera) { this.MainCamera.clearFlags = CameraClearFlags.Color; @@ -866,7 +862,6 @@ public class YandereScript : MonoBehaviour } this.HandCamera.gameObject.SetActive(true); this.ShoulderCamera.AimingCamera = true; - this.Obscurance.enabled = false; this.YandereVision = false; this.Blur.enabled = true; this.Mopping = false; @@ -994,7 +989,6 @@ public class YandereScript : MonoBehaviour } if (this.YandereVision) { - this.Obscurance.enabled = false; this.YandereVision = false; } } @@ -1152,7 +1146,6 @@ public class YandereScript : MonoBehaviour { if (UnityEngine.Input.GetButtonDown("RS")) { - this.Obscurance.enabled = false; this.CrouchButtonDown = true; this.YandereVision = false; this.Stance.Current = StanceType.Crouching; @@ -1173,7 +1166,6 @@ public class YandereScript : MonoBehaviour if (!this.Selfie) { this.EmptyHands(); - this.Obscurance.enabled = false; this.YandereVision = false; this.Stance.Current = StanceType.Crawling; this.CrawlTimer = 0f; @@ -2304,11 +2296,7 @@ public class YandereScript : MonoBehaviour if ((double)this.CharacterAnimation["f02_sprayed_00"].time > 0.66666) { this.Blur.enabled = true; - this.Blur.blurSize += Time.deltaTime; - if (this.Blur.blurSize > (float)this.Blur.blurIterations) - { - this.Blur.blurIterations++; - } + this.Blur.Size += Time.deltaTime; } if (this.CharacterAnimation["f02_sprayed_00"].time > 5f) { @@ -3028,6 +3016,7 @@ public class YandereScript : MonoBehaviour if (this.CharacterAnimation["f02_poisoning_00"].time >= this.CharacterAnimation["f02_poisoning_00"].length) { this.CharacterAnimation["f02_poisoning_00"].speed = 1f; + this.Poisons[this.PoisonType].SetActive(false); this.PoisonSpot = null; this.Poisoning = false; this.CanMove = true; @@ -3056,7 +3045,6 @@ public class YandereScript : MonoBehaviour if (!this.NearSenpai && this.StudentManager.Students[1].Pathfinding.speed < 7.5f) { this.StudentManager.TutorialWindow.ShowSenpaiMessage = true; - this.DepthOfField.focalSize = 150f; this.NearSenpai = true; } if (this.Laughing) @@ -3069,7 +3057,6 @@ public class YandereScript : MonoBehaviour } } this.Stance.Current = StanceType.Standing; - this.Obscurance.enabled = false; this.YandereVision = false; this.Mopping = false; this.Uncrouch(); @@ -3088,21 +3075,10 @@ public class YandereScript : MonoBehaviour } if (this.NearSenpai && !this.Noticed) { - this.DepthOfField.enabled = true; - this.DepthOfField.focalSize = Mathf.Lerp(this.DepthOfField.focalSize, 0f, Time.deltaTime * 10f); - this.DepthOfField.focalZStartCurve = Mathf.Lerp(this.DepthOfField.focalZStartCurve, 20f, Time.deltaTime * 10f); - this.DepthOfField.focalZEndCurve = Mathf.Lerp(this.DepthOfField.focalZEndCurve, 20f, Time.deltaTime * 10f); - this.DepthOfField.objectFocus = this.Senpai.transform; - this.ColorCorrection.enabled = true; + this.SenpaiFilter.enabled = true; + this.SenpaiFilter.FadeFX = Mathf.Lerp(this.SenpaiFilter.FadeFX, 1f, Time.deltaTime * 10f); this.SenpaiFade = Mathf.Lerp(this.SenpaiFade, 0f, Time.deltaTime * 10f); this.SenpaiTint = 1f - this.SenpaiFade / 100f; - this.ColorCorrection.redChannel.MoveKey(1, new Keyframe(0.5f, 0.5f + this.SenpaiTint * 0.5f)); - this.ColorCorrection.greenChannel.MoveKey(1, new Keyframe(0.5f, 1f - this.SenpaiTint * 0.5f)); - this.ColorCorrection.blueChannel.MoveKey(1, new Keyframe(0.5f, 0.5f + this.SenpaiTint * 0.5f)); - this.ColorCorrection.redChannel.SmoothTangents(1, 0f); - this.ColorCorrection.greenChannel.SmoothTangents(1, 0f); - this.ColorCorrection.blueChannel.SmoothTangents(1, 0f); - this.ColorCorrection.UpdateTextures(); bool attacking = this.Attacking; this.SelectGrayscale.desaturation = Mathf.Lerp(this.SelectGrayscale.desaturation, 0f, Time.deltaTime * 10f); this.HeartBeat.volume = this.SenpaiTint; @@ -3124,18 +3100,9 @@ public class YandereScript : MonoBehaviour } else if (this.SenpaiFade < 99f) { - this.DepthOfField.focalSize = Mathf.Lerp(this.DepthOfField.focalSize, 150f, Time.deltaTime * 10f); - this.DepthOfField.focalZStartCurve = Mathf.Lerp(this.DepthOfField.focalZStartCurve, 0f, Time.deltaTime * 10f); - this.DepthOfField.focalZEndCurve = Mathf.Lerp(this.DepthOfField.focalZEndCurve, 0f, Time.deltaTime * 10f); + this.SenpaiFilter.FadeFX = Mathf.Lerp(this.SenpaiFilter.FadeFX, 0f, Time.deltaTime * 10f); this.SenpaiFade = Mathf.Lerp(this.SenpaiFade, 100f, Time.deltaTime * 10f); this.SenpaiTint = this.SenpaiFade / 100f; - this.ColorCorrection.redChannel.MoveKey(1, new Keyframe(0.5f, 1f - this.SenpaiTint * 0.5f)); - this.ColorCorrection.greenChannel.MoveKey(1, new Keyframe(0.5f, this.SenpaiTint * 0.5f)); - this.ColorCorrection.blueChannel.MoveKey(1, new Keyframe(0.5f, 1f - this.SenpaiTint * 0.5f)); - this.ColorCorrection.redChannel.SmoothTangents(1, 0f); - this.ColorCorrection.greenChannel.SmoothTangents(1, 0f); - this.ColorCorrection.blueChannel.SmoothTangents(1, 0f); - this.ColorCorrection.UpdateTextures(); this.SelectGrayscale.desaturation = Mathf.Lerp(this.SelectGrayscale.desaturation, this.GreyTarget, Time.deltaTime * 10f); this.CharacterAnimation["f02_shy_00"].weight = 1f - this.SenpaiTint; for (int i = 1; i < 6; i++) @@ -3153,25 +3120,15 @@ public class YandereScript : MonoBehaviour { if (!this.HighlightingR.enabled) { - this.YandereColorCorrection.enabled = true; + this.YandereFilter.enabled = true; this.HighlightingR.enabled = true; this.HighlightingB.enabled = true; - this.Obscurance.enabled = true; - this.Vignette.enabled = true; } Time.timeScale = Mathf.Lerp(Time.timeScale, 0.5f, Time.unscaledDeltaTime * 10f); + this.YandereFilter.FadeFX = Mathf.Lerp(this.YandereFilter.FadeFX, 1f, Time.deltaTime * 10f); this.YandereFade = Mathf.Lerp(this.YandereFade, 0f, Time.deltaTime * 10f); this.YandereTint = 1f - this.YandereFade / 100f; - this.YandereColorCorrection.redChannel.MoveKey(1, new Keyframe(0.5f, 0.5f - this.YandereTint * 0.25f)); - this.YandereColorCorrection.greenChannel.MoveKey(1, new Keyframe(0.5f, 0.5f - this.YandereTint * 0.25f)); - this.YandereColorCorrection.blueChannel.MoveKey(1, new Keyframe(0.5f, 0.5f + this.YandereTint * 0.25f)); - this.YandereColorCorrection.redChannel.SmoothTangents(1, 0f); - this.YandereColorCorrection.greenChannel.SmoothTangents(1, 0f); - this.YandereColorCorrection.blueChannel.SmoothTangents(1, 0f); - this.YandereColorCorrection.UpdateTextures(); - this.Vignette.intensity = Mathf.Lerp(this.Vignette.intensity, this.YandereTint * 5f, Time.deltaTime * 10f); - this.Vignette.blur = Mathf.Lerp(this.Vignette.blur, this.YandereTint, Time.deltaTime * 10f); - this.Vignette.chromaticAberration = Mathf.Lerp(this.Vignette.chromaticAberration, this.YandereTint * 5f, Time.deltaTime * 10f); + this.CameraEffects.UpdateVignette(this.YandereFilter.FadeFX); if (this.StudentManager.Tag.Target != null) { this.StudentManager.Tag.Sprite.color = new Color(1f, 0f, 0f, Mathf.Lerp(this.StudentManager.Tag.Sprite.color.a, 1f, Time.unscaledDeltaTime * 10f)); @@ -3187,7 +3144,6 @@ public class YandereScript : MonoBehaviour { this.HighlightingR.enabled = false; this.HighlightingB.enabled = false; - this.Obscurance.enabled = false; } if (this.YandereFade < 99f) { @@ -3195,18 +3151,10 @@ public class YandereScript : MonoBehaviour { Time.timeScale = Mathf.Lerp(Time.timeScale, 1f, Time.unscaledDeltaTime * 10f); } + this.YandereFilter.FadeFX = Mathf.Lerp(this.YandereFilter.FadeFX, 0f, Time.deltaTime * 10f); this.YandereFade = Mathf.Lerp(this.YandereFade, 100f, Time.deltaTime * 10f); this.YandereTint = this.YandereFade / 100f; - this.YandereColorCorrection.redChannel.MoveKey(1, new Keyframe(0.5f, this.YandereTint * 0.5f)); - this.YandereColorCorrection.greenChannel.MoveKey(1, new Keyframe(0.5f, this.YandereTint * 0.5f)); - this.YandereColorCorrection.blueChannel.MoveKey(1, new Keyframe(0.5f, 1f - this.YandereTint * 0.5f)); - this.YandereColorCorrection.redChannel.SmoothTangents(1, 0f); - this.YandereColorCorrection.greenChannel.SmoothTangents(1, 0f); - this.YandereColorCorrection.blueChannel.SmoothTangents(1, 0f); - this.YandereColorCorrection.UpdateTextures(); - this.Vignette.intensity = Mathf.Lerp(this.Vignette.intensity, 0f, Time.deltaTime * 10f); - this.Vignette.blur = Mathf.Lerp(this.Vignette.blur, 0f, Time.deltaTime * 10f); - this.Vignette.chromaticAberration = Mathf.Lerp(this.Vignette.chromaticAberration, 0f, Time.deltaTime * 10f); + this.CameraEffects.UpdateVignette(1f - this.Sanity * 0.01f); this.StudentManager.Tag.Sprite.color = new Color(1f, 0f, 0f, Mathf.Lerp(this.StudentManager.Tag.Sprite.color.a, 0f, Time.unscaledDeltaTime * 10f)); this.StudentManager.RedString.gameObject.SetActive(false); } @@ -4200,32 +4148,29 @@ public class YandereScript : MonoBehaviour this.AccessoryID--; this.UpdateAccessory(); } - if (!this.NoDebug && !this.DebugMenu.activeInHierarchy && this.CanMove && !this.DebugMenu.activeInHierarchy) + if (UnityEngine.Input.GetKeyDown("-")) { - if (UnityEngine.Input.GetKeyDown("-")) + if (Time.timeScale < 6f) { - if (Time.timeScale < 6f) - { - Time.timeScale = 1f; - } - else - { - Time.timeScale -= 5f; - } + Time.timeScale = 1f; } - if (UnityEngine.Input.GetKeyDown("=")) + else { - if (Time.timeScale < 5f) - { - Time.timeScale = 5f; - } - else + Time.timeScale -= 5f; + } + } + if (UnityEngine.Input.GetKeyDown("=")) + { + if (Time.timeScale < 5f) + { + Time.timeScale = 5f; + } + else + { + Time.timeScale += 5f; + if (Time.timeScale > 25f) { - Time.timeScale += 5f; - if (Time.timeScale > 25f) - { - Time.timeScale = 25f; - } + Time.timeScale = 25f; } } } @@ -4250,288 +4195,279 @@ public class YandereScript : MonoBehaviour this.LeftBreast.localScale = new Vector3(this.BreastSize, this.BreastSize, this.BreastSize); } } - if (!this.NoDebug) + if (this.CanMove) { - if (this.CanMove) + if (!this.Egg || this.EggBypass > 8) { - if (!this.Egg || this.EggBypass > 8) + if (base.transform.position.y < 1000f) { - if (base.transform.position.y < 1000f) + if (UnityEngine.Input.GetKeyDown(KeyCode.Slash)) + { + this.DebugMenu.SetActive(false); + this.EasterEggMenu.SetActive(!this.EasterEggMenu.activeInHierarchy); + } + if (this.EasterEggMenu.activeInHierarchy) { - if (UnityEngine.Input.GetKeyDown(KeyCode.Slash)) + if (UnityEngine.Input.GetKeyDown(KeyCode.P)) { - this.DebugMenu.SetActive(false); - this.EasterEggMenu.SetActive(!this.EasterEggMenu.activeInHierarchy); + this.Punish(); + return; } - if (this.EasterEggMenu.activeInHierarchy) + if (UnityEngine.Input.GetKeyDown(KeyCode.Z)) { - if (UnityEngine.Input.GetKeyDown(KeyCode.P)) - { - this.Punish(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Z)) - { - this.Slend(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.B)) - { - this.Bancho(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.C)) - { - this.Cirno(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.H)) - { - this.EmptyHands(); - this.Hate(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.T)) + this.Slend(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.B)) + { + this.Bancho(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.C)) + { + this.Cirno(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.H)) + { + this.EmptyHands(); + this.Hate(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.T)) + { + this.StudentManager.AttackOnTitan(); + this.AttackOnTitan(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.G)) + { + this.GaloSengen(); + return; + } + if (!UnityEngine.Input.GetKeyDown(KeyCode.J)) + { + if (UnityEngine.Input.GetKeyDown(KeyCode.K)) { - this.StudentManager.AttackOnTitan(); - this.AttackOnTitan(); + this.EasterEggMenu.SetActive(false); + this.StudentManager.Kong(); + this.DK = true; return; } - if (UnityEngine.Input.GetKeyDown(KeyCode.G)) + if (UnityEngine.Input.GetKeyDown(KeyCode.L)) { - this.GaloSengen(); + this.Agent(); return; } - if (!UnityEngine.Input.GetKeyDown(KeyCode.J)) + if (!UnityEngine.Input.GetKeyDown(KeyCode.N)) { - if (UnityEngine.Input.GetKeyDown(KeyCode.K)) + if (UnityEngine.Input.GetKeyDown(KeyCode.S)) { this.EasterEggMenu.SetActive(false); - this.StudentManager.Kong(); - this.DK = true; + this.Egg = true; + this.StudentManager.Spook(); return; } - if (UnityEngine.Input.GetKeyDown(KeyCode.L)) + if (UnityEngine.Input.GetKeyDown(KeyCode.F)) { - this.Agent(); + this.EasterEggMenu.SetActive(false); + this.Falcon(); return; } - if (!UnityEngine.Input.GetKeyDown(KeyCode.N)) + if (UnityEngine.Input.GetKeyDown(KeyCode.X)) { - if (UnityEngine.Input.GetKeyDown(KeyCode.S)) - { - this.EasterEggMenu.SetActive(false); - this.Egg = true; - this.StudentManager.Spook(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F)) - { - this.EasterEggMenu.SetActive(false); - this.Falcon(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.X)) - { - this.EasterEggMenu.SetActive(false); - this.X(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.O)) - { - this.EasterEggMenu.SetActive(false); - this.Punch(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.U)) - { - this.EasterEggMenu.SetActive(false); - this.BadTime(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Y)) - { - this.EasterEggMenu.SetActive(false); - this.CyborgNinja(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.E)) - { - this.EasterEggMenu.SetActive(false); - this.Ebola(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Q)) - { - this.EasterEggMenu.SetActive(false); - this.Samus(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.W)) - { - this.EasterEggMenu.SetActive(false); - this.Witch(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.R)) - { - this.EasterEggMenu.SetActive(false); - this.Pose(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.V)) - { - this.EasterEggMenu.SetActive(false); - this.Vaporwave(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha2)) - { - this.EasterEggMenu.SetActive(false); - this.HairBlades(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha7)) - { - this.EasterEggMenu.SetActive(false); - this.Tornado(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha8)) - { - this.EasterEggMenu.SetActive(false); - this.GenderSwap(); - return; - } - if (UnityEngine.Input.GetKeyDown("[5]")) - { - this.EasterEggMenu.SetActive(false); - this.SwapMesh(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.A)) - { - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.I)) - { - this.StudentManager.NoGravity = true; - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.D)) - { - this.EasterEggMenu.SetActive(false); - this.Sith(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.M)) - { - this.EasterEggMenu.SetActive(false); - this.Snake(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha1)) - { - this.EasterEggMenu.SetActive(false); - this.Gazer(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha3)) - { - this.StudentManager.SecurityCameras(); - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha4)) - { - this.KLK(); - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha6)) - { - this.EasterEggMenu.SetActive(false); - this.Six(); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F1)) - { - this.Weather(); - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F2)) - { - this.Horror(); - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F3)) - { - this.LifeNote(); - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F4)) - { - this.Mandere(); - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F5)) - { - this.BlackHoleChan(); - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F6)) - { - this.ElfenLied(); - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F7)) - { - this.Berserk(); - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F8)) - { - this.Nier(); - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F9)) - { - this.Ghoul(); - this.EasterEggMenu.SetActive(false); - return; - } - if (UnityEngine.Input.GetKeyDown(KeyCode.F10)) - { - this.CinematicCameraFilters.enabled = true; - this.CameraFilters.enabled = true; - this.EasterEggMenu.SetActive(false); - return; - } - if (!UnityEngine.Input.GetKeyDown(KeyCode.F11) && UnityEngine.Input.GetKeyDown(KeyCode.Space)) - { - this.EasterEggMenu.SetActive(false); - return; - } + this.EasterEggMenu.SetActive(false); + this.X(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.O)) + { + this.EasterEggMenu.SetActive(false); + this.Punch(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.U)) + { + this.EasterEggMenu.SetActive(false); + this.BadTime(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Y)) + { + this.EasterEggMenu.SetActive(false); + this.CyborgNinja(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.E)) + { + this.EasterEggMenu.SetActive(false); + this.Ebola(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Q)) + { + this.EasterEggMenu.SetActive(false); + this.Samus(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.W)) + { + this.EasterEggMenu.SetActive(false); + this.Witch(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.R)) + { + this.EasterEggMenu.SetActive(false); + this.Pose(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.V)) + { + this.EasterEggMenu.SetActive(false); + this.Vaporwave(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha2)) + { + this.EasterEggMenu.SetActive(false); + this.HairBlades(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha7)) + { + this.EasterEggMenu.SetActive(false); + this.Tornado(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha8)) + { + this.EasterEggMenu.SetActive(false); + this.GenderSwap(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.A)) + { + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.I)) + { + this.StudentManager.NoGravity = true; + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.D)) + { + this.EasterEggMenu.SetActive(false); + this.Sith(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.M)) + { + this.EasterEggMenu.SetActive(false); + this.Snake(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha1)) + { + this.EasterEggMenu.SetActive(false); + this.Gazer(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha3)) + { + this.StudentManager.SecurityCameras(); + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha4)) + { + this.KLK(); + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha6)) + { + this.EasterEggMenu.SetActive(false); + this.Six(); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.F1)) + { + this.Weather(); + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.F2)) + { + this.Horror(); + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.F3)) + { + this.LifeNote(); + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.F4)) + { + this.Mandere(); + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.F5)) + { + this.BlackHoleChan(); + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.F6)) + { + this.ElfenLied(); + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.F7)) + { + this.Berserk(); + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.F8)) + { + this.Nier(); + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.F9)) + { + this.Ghoul(); + this.EasterEggMenu.SetActive(false); + return; + } + if (UnityEngine.Input.GetKeyDown(KeyCode.F10)) + { + this.CinematicCameraFilters.enabled = true; + this.CameraFilters.enabled = true; + this.EasterEggMenu.SetActive(false); + return; + } + if (!UnityEngine.Input.GetKeyDown(KeyCode.F11) && UnityEngine.Input.GetKeyDown(KeyCode.Space)) + { + this.EasterEggMenu.SetActive(false); + return; } } } } } - else if (UnityEngine.Input.GetKeyDown(KeyCode.Slash)) - { - this.EggBypass++; - return; - } + } + else if (UnityEngine.Input.GetKeyDown(KeyCode.Slash)) + { + this.EggBypass++; + return; } } else if (UnityEngine.Input.GetKeyDown(KeyCode.Z)) @@ -4877,6 +4813,10 @@ public class YandereScript : MonoBehaviour this.Selfie = false; this.Lewd = false; this.StudentManager.UpdatePanties(false); + if (OptionGlobals.DepthOfField) + { + this.PauseScreen.NewSettings.Profile.depthOfField.enabled = true; + } } public void FixCamera() @@ -4893,18 +4833,7 @@ public class YandereScript : MonoBehaviour private void ResetSenpaiEffects() { - this.DepthOfField.focalSize = 150f; - this.DepthOfField.focalZStartCurve = 0f; - this.DepthOfField.focalZEndCurve = 0f; - this.DepthOfField.enabled = false; - this.ColorCorrection.redChannel.MoveKey(1, new Keyframe(0.5f, 0.5f)); - this.ColorCorrection.greenChannel.MoveKey(1, new Keyframe(0.5f, 0.5f)); - this.ColorCorrection.blueChannel.MoveKey(1, new Keyframe(0.5f, 0.5f)); - this.ColorCorrection.redChannel.SmoothTangents(1, 0f); - this.ColorCorrection.greenChannel.SmoothTangents(1, 0f); - this.ColorCorrection.blueChannel.SmoothTangents(1, 0f); - this.ColorCorrection.UpdateTextures(); - this.ColorCorrection.enabled = false; + this.SenpaiFilter.enabled = false; for (int i = 1; i < 6; i++) { this.CharacterAnimation[this.CreepyIdles[i]].weight = 0f; @@ -4919,19 +4848,9 @@ public class YandereScript : MonoBehaviour public void ResetYandereEffects() { - this.Obscurance.enabled = false; - this.Vignette.intensity = 0f; - this.Vignette.blur = 0f; - this.Vignette.chromaticAberration = 0f; - this.Vignette.enabled = false; - this.YandereColorCorrection.redChannel.MoveKey(1, new Keyframe(0.5f, 0.5f)); - this.YandereColorCorrection.greenChannel.MoveKey(1, new Keyframe(0.5f, 0.5f)); - this.YandereColorCorrection.blueChannel.MoveKey(1, new Keyframe(0.5f, 0.5f)); - this.YandereColorCorrection.redChannel.SmoothTangents(1, 0f); - this.YandereColorCorrection.greenChannel.SmoothTangents(1, 0f); - this.YandereColorCorrection.blueChannel.SmoothTangents(1, 0f); - this.YandereColorCorrection.UpdateTextures(); - this.YandereColorCorrection.enabled = false; + this.CameraEffects.UpdateVignette(1f - this.Sanity * 0.01f); + this.YandereFilter.FadeFX = 0f; + this.YandereFilter.enabled = false; Time.timeScale = 1f; this.YandereFade = 100f; this.StudentManager.Tag.Sprite.color = new Color(1f, 0f, 0f, 0f); @@ -5068,7 +4987,6 @@ public class YandereScript : MonoBehaviour public void StopLaughing() { - Debug.Log("Yandere-chan has been instructed to stop laughing."); this.BladeHairCollider1.enabled = false; this.BladeHairCollider2.enabled = false; if (this.Sanity < 33.33333f) @@ -6060,9 +5978,6 @@ public class YandereScript : MonoBehaviour { if (!this.Rain.activeInHierarchy) { - this.StudentManager.Clock.BloomEffect.bloomIntensity = 10f; - this.StudentManager.Clock.BloomEffect.bloomThreshhold = 0f; - this.StudentManager.Clock.UpdateBloom = true; SchoolGlobals.SchoolAtmosphere = 0f; this.StudentManager.SetAtmosphere(); this.Rain.SetActive(true); @@ -6196,7 +6111,6 @@ public class YandereScript : MonoBehaviour { this.VaporwaveVisuals.ApplyNormalView(); RenderSettings.skybox = this.VaporwaveSkybox; - this.PauseScreen.Settings.QualityManager.Obscurance.enabled = false; this.PalmTrees.SetActive(true); for (int i = 1; i < this.Trees.Length; i++) { @@ -6248,7 +6162,7 @@ public class YandereScript : MonoBehaviour this.MyRenderer.sharedMesh = this.Uniforms[StudentGlobals.FemaleUniform]; this.MyRenderer.materials[0].SetFloat("_BlendAmount", 1f); this.MyRenderer.materials[1].SetFloat("_BlendAmount", 1f); - if (this.StudentManager.Censor) + if (GameGlobals.CensorPanties) { Debug.Log("Activating shadows on Yandere-chan."); this.MyRenderer.materials[0].SetFloat("_BlendAmount1", 1f); @@ -6622,9 +6536,9 @@ public class YandereScript : MonoBehaviour public FootprintSpawnerScript LeftFootprintSpawner; - public ColorCorrectionCurves YandereColorCorrection; + public CameraFilterPack_Colors_Adjust_PreFilters YandereFilter; - public ColorCorrectionCurves ColorCorrection; + public CameraFilterPack_Colors_Adjust_PreFilters SenpaiFilter; public SelectiveGrayscale SelectGrayscale; @@ -6632,13 +6546,7 @@ public class YandereScript : MonoBehaviour public HighlightingBlitter HighlightingB; - public AmbientObscurance Obscurance; - - public DepthOfField34 DepthOfField; - - public Vignetting Vignette; - - public Blur Blur; + public CameraFilterPack_Blur_GaussianBlur Blur; public NotificationManagerScript NotificationManager; diff --git a/ZoomScript.cs b/ZoomScript.cs index 8bb2ff4..d60537f 100644 --- a/ZoomScript.cs +++ b/ZoomScript.cs @@ -25,28 +25,28 @@ public class ZoomScript : MonoBehaviour { if (this.Yandere.FlameDemonic) { - base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.Lerp(base.transform.localPosition.y, this.Height + this.Zoom + 0.4f, Time.deltaTime * 10f), base.transform.localPosition.z); + base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.MoveTowards(base.transform.localPosition.y, this.Height + this.Zoom + 0.4f, Time.deltaTime), base.transform.localPosition.z); } else if (this.Yandere.Slender) { - base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.Lerp(base.transform.localPosition.y, this.Height + this.Zoom + this.Slender, Time.deltaTime * 10f), base.transform.localPosition.z); + base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.MoveTowards(base.transform.localPosition.y, this.Height + this.Zoom + this.Slender, Time.deltaTime), base.transform.localPosition.z); } else if (this.Yandere.Stand.Stand.activeInHierarchy) { - base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.Lerp(base.transform.localPosition.y, this.Height - this.Zoom * 0.5f + this.Slender * 0.5f, Time.deltaTime * 10f), base.transform.localPosition.z); + base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.MoveTowards(base.transform.localPosition.y, this.Height - this.Zoom * 0.5f + this.Slender * 0.5f, Time.deltaTime), base.transform.localPosition.z); } else { - base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.Lerp(base.transform.localPosition.y, this.Height + this.Zoom, Time.deltaTime * 10f), base.transform.localPosition.z); + base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.MoveTowards(base.transform.localPosition.y, this.Height + this.Zoom, Time.deltaTime), base.transform.localPosition.z); } } else if (!this.Yandere.SithLord) { - base.transform.position = new Vector3(base.transform.position.x, Mathf.MoveTowards(base.transform.position.y, this.Yandere.Hips.position.y + this.Zoom, Time.deltaTime * 10f), base.transform.position.z); + base.transform.position = new Vector3(base.transform.position.x, Mathf.MoveTowards(base.transform.position.y, this.Yandere.Hips.position.y + this.Zoom, Time.deltaTime), base.transform.position.z); } else { - base.transform.position = new Vector3(base.transform.position.x, Mathf.MoveTowards(base.transform.position.y, this.Yandere.Hips.position.y, Time.deltaTime * 10f), base.transform.position.z); + base.transform.position = new Vector3(base.transform.position.x, Mathf.MoveTowards(base.transform.position.y, this.Yandere.Hips.position.y, Time.deltaTime), base.transform.position.z); } if (!this.Yandere.Aiming) { @@ -79,7 +79,11 @@ public class ZoomScript : MonoBehaviour { this.TargetZoom = 0.4f; } - this.Zoom = Mathf.Lerp(this.Zoom, this.TargetZoom, Time.deltaTime); + if (this.Zoom != this.TargetZoom) + { + this.Zoom = Mathf.MoveTowards(this.Zoom, this.TargetZoom, Time.deltaTime); + this.Yandere.CameraEffects.UpdateDOF(2f - this.Zoom * 3.75f); + } if (!this.Yandere.Possessed) { this.CameraScript.distance = 2f - this.Zoom * 3.33333f + this.Slender; @@ -160,5 +164,7 @@ public class ZoomScript : MonoBehaviour public bool OverShoulder; + public bool MoveCamera; + public GameObject TallHat; } diff --git a/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs b/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs deleted file mode 100644 index 235cd49..0000000 --- a/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs +++ /dev/null @@ -1,3 +0,0 @@ -using System; -using System.Reflection; -[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")] diff --git a/obj/Debug/Assembly-CSharp.csprojAssemblyReference.cache b/obj/Debug/Assembly-CSharp.csprojAssemblyReference.cache deleted file mode 100644 index 5c6baf6..0000000 Binary files a/obj/Debug/Assembly-CSharp.csprojAssemblyReference.cache and /dev/null differ diff --git a/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.cs b/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.cs deleted file mode 100644 index 235cd49..0000000 --- a/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.cs +++ /dev/null @@ -1,3 +0,0 @@ -using System; -using System.Reflection; -[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]