DRHPS/code-csharp/en_US/EOTD_ArgueCutscene.cs
2025-04-08 11:31:35 +08:00

979 lines
37 KiB
C#

using System.Collections;
using UnityEngine;
public class EOTD_ArgueCutscene : MonoBehaviour
{
public int CutsceneIndex;
[Header("-- Cutscene References --")]
[SerializeField]
private CameraManager PlayerCamera;
[SerializeField]
private EOTDCutscene_Story StoryCutscene;
[SerializeField]
private GameObject SmokeCloudParticle;
[SerializeField]
private SpriteRenderer[] CharacterRenderers;
[SerializeField]
private GameObject MiddleCameraTrigger;
[Header("Characters")]
[SerializeField]
private PlayerManager Kris;
[SerializeField]
private Susie_Follower Susie;
[SerializeField]
private Susie_Follower Ralsei;
[SerializeField]
private SpriteRenderer RalseiShadow;
[Header("-- Character Move Positions --")]
[Header("Kris, Susie and Ralsei")]
[SerializeField]
private Vector3[] KrisWalkPositions;
[SerializeField]
private Vector3[] SusieWalkPositions;
[SerializeField]
private Vector3[] RalseiWalkPositions;
[Space(10f)]
[SerializeField]
private Vector3[] KrisWalkDirections;
[SerializeField]
private Vector3[] SusieWalkDirections;
[SerializeField]
private Vector3[] RalseiWalkDirections;
[Space(10f)]
[SerializeField]
private int KrisWalkIndex;
[SerializeField]
private int SusieWalkIndex;
[SerializeField]
private int RalseiWalkIndex;
[Space(10f)]
[SerializeField]
private int TargetKrisWalkIndex;
[SerializeField]
private int TargetSusieWalkIndex;
[SerializeField]
private int TargetRalseiWalkIndex;
[Header("-- Cutscene Chats --")]
[SerializeField]
private INT_Chat CutsceneChatter;
[SerializeField]
private CHATBOXTEXT[] CutsceneChats;
[Header("-- Cutscene Audio --")]
[SerializeField]
private AudioSource CutsceneSource;
[SerializeField]
private AudioClip[] CutsceneSounds;
[SerializeField]
private AudioClip MusicFinalFountain;
[SerializeField]
private AudioClip MusicGroupHug;
[SerializeField]
private AudioClip[] SmokeCloudSounds;
private int SmokeCloudSoundIndex;
private bool SmokeCloudPlayed;
private void Start()
{
Kris = PlayerManager.Instance;
Susie = PartyMemberSystem.Instance.HasMemberInParty(PartyMemberSystem.Instance.Default_SusieDarkworld).PartyMemberFollowSettings;
Ralsei = PartyMemberSystem.Instance.HasMemberInParty(PartyMemberSystem.Instance.Default_Ralsei).PartyMemberFollowSettings;
Susie.transform.position = new Vector2(-8f, 0.092f);
Ralsei.transform.position = new Vector2(-8f, -2.5f);
if (Susie == null)
{
MonoBehaviour.print("Susie Missing?");
}
if (PlayerPrefs.GetInt("EOTD_FinishedArgueCutscene", 0) == 0)
{
Susie.FollowingEnabled = false;
Ralsei.FollowingEnabled = false;
CutsceneIndex = 1;
PlayerPrefs.SetInt("EOTD_FinishedArgueCutscene", 1);
}
else
{
Susie.FollowingEnabled = false;
Ralsei.FollowingEnabled = false;
CutsceneIndex = 1;
PlayerPrefs.SetInt("EOTD_FinishedArgueCutscene", 1);
}
MusicManager.PlaySong(MusicFinalFountain, FadePreviousSong: false, 1f);
}
private void Update()
{
if (CutsceneIndex > 0)
{
CutsceneUpdate();
Kris._PlayerState = PlayerManager.PlayerState.Cutscene;
DarkworldMenu.Instance.CanOpenMenu = false;
}
if (CutsceneIndex == -1)
{
Kris._PlayerState = PlayerManager.PlayerState.Game;
DarkworldMenu.Instance.CanOpenMenu = true;
base.enabled = false;
}
}
private void CutsceneUpdate()
{
switch (CutsceneIndex)
{
case 1:
if (KrisWalkIndex < TargetKrisWalkIndex)
{
if (Kris.transform.position != KrisWalkPositions[KrisWalkIndex])
{
Kris.transform.position = Vector2.MoveTowards(Kris.transform.position, KrisWalkPositions[KrisWalkIndex], 3f * Time.deltaTime);
Kris._PMove.AnimationOverriden = true;
Kris._PMove._anim.SetBool("MOVING", value: true);
Kris._PMove._anim.SetFloat("MOVEMENTX", KrisWalkDirections[KrisWalkIndex].x);
Kris._PMove._anim.SetFloat("MOVEMENTY", KrisWalkDirections[KrisWalkIndex].y);
}
else
{
KrisWalkIndex++;
}
}
else
{
Kris._PMove._anim.SetBool("MOVING", value: false);
Kris._PMove._anim.SetFloat("MOVEMENTX", 0f);
Kris._PMove._anim.SetFloat("MOVEMENTY", 1f);
}
if (SusieWalkIndex < TargetSusieWalkIndex)
{
if (Susie.transform.position != SusieWalkPositions[SusieWalkIndex])
{
Susie.transform.position = Vector2.MoveTowards(Susie.transform.position, SusieWalkPositions[SusieWalkIndex], 3f * Time.deltaTime);
Susie.AnimationOverriden = true;
Susie.SusieAnimator.Play("Walk");
Susie.SusieAnimator.SetFloat("VelocityX", SusieWalkDirections[SusieWalkIndex].x);
Susie.SusieAnimator.SetFloat("VelocityY", SusieWalkDirections[SusieWalkIndex].y);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 1f);
}
else
{
SusieWalkIndex++;
}
}
else
{
Susie.SusieAnimator.Play("Idle");
Susie.SusieAnimator.SetFloat("VelocityX", 0f);
Susie.SusieAnimator.SetFloat("VelocityY", 1f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
if (RalseiWalkIndex < TargetRalseiWalkIndex)
{
if (Ralsei.transform.position != RalseiWalkPositions[RalseiWalkIndex])
{
Ralsei.transform.position = Vector2.MoveTowards(Ralsei.transform.position, RalseiWalkPositions[RalseiWalkIndex], 3f * Time.deltaTime);
Ralsei.SusieAnimator.Play("SadWalk");
Ralsei.AnimationOverriden = true;
Ralsei.SusieAnimator.SetFloat("VelocityX", RalseiWalkDirections[RalseiWalkIndex].x);
Ralsei.SusieAnimator.SetFloat("VelocityY", RalseiWalkDirections[RalseiWalkIndex].y);
Ralsei.SusieAnimator.SetFloat("VelocityMagnitude", 1f);
}
else
{
RalseiWalkIndex++;
}
}
else
{
Ralsei.SusieAnimator.Play("Idle");
Ralsei.SusieAnimator.SetFloat("VelocityX", 0f);
Ralsei.SusieAnimator.SetFloat("VelocityY", 1f);
Ralsei.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
if (Kris.transform.position == KrisWalkPositions[1] && Susie.transform.position == SusieWalkPositions[1] && Ralsei.transform.position == RalseiWalkPositions[1])
{
Ralsei.SusieAnimator.Play("Idle");
Ralsei.SusieAnimator.SetFloat("VelocityX", 0f);
Ralsei.SusieAnimator.SetFloat("VelocityY", 1f);
Ralsei.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
Susie.SusieAnimator.Play("Idle");
Susie.SusieAnimator.SetFloat("VelocityX", 0f);
Susie.SusieAnimator.SetFloat("VelocityY", 1f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
Kris._PMove._anim.SetBool("MOVING", value: false);
Kris._PMove._anim.SetFloat("MOVEMENTX", 0f);
Kris._PMove._anim.SetFloat("MOVEMENTY", 1f);
IncrementCutsceneIndex();
StartCoroutine(AdmitFinalTaleDelay());
}
break;
case 3:
ChatboxManager.Instance.EndText();
MusicManager.StopSong(Fade: true, 1f);
StartCoroutine(StoryDelay());
IncrementCutsceneIndex();
break;
case 5:
RunFreshChat(CutsceneChats[1], 0, ForcePosition: true, OnBottom: false);
IncrementCutsceneIndex();
break;
case 7:
StartCoroutine(KneelDelay());
IncrementCutsceneIndex();
break;
case 9:
TargetSusieWalkIndex = 3;
if (SusieWalkIndex < TargetSusieWalkIndex)
{
if (Susie.transform.position != SusieWalkPositions[SusieWalkIndex])
{
Susie.transform.position = Vector2.MoveTowards(Susie.transform.position, SusieWalkPositions[SusieWalkIndex], 3f * Time.deltaTime);
Susie.AnimationOverriden = true;
Susie.SusieAnimator.Play("Walk");
Susie.SusieAnimator.SetFloat("VelocityX", SusieWalkDirections[SusieWalkIndex].x);
Susie.SusieAnimator.SetFloat("VelocityY", SusieWalkDirections[SusieWalkIndex].y);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 1f);
}
else
{
SusieWalkIndex++;
}
}
else
{
Susie.SusieAnimator.Play("Idle");
Susie.SusieAnimator.SetFloat("VelocityX", 1f);
Susie.SusieAnimator.SetFloat("VelocityY", 0f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
TargetKrisWalkIndex = 3;
if (KrisWalkIndex < TargetKrisWalkIndex)
{
if (Kris.transform.position != KrisWalkPositions[KrisWalkIndex])
{
Kris.transform.position = Vector2.MoveTowards(Kris.transform.position, KrisWalkPositions[KrisWalkIndex], 3f * Time.deltaTime);
Kris._PMove.AnimationOverriden = true;
Kris._PMove._anim.SetBool("MOVING", value: true);
Kris._PMove._anim.SetFloat("MOVEMENTX", KrisWalkDirections[KrisWalkIndex].x);
Kris._PMove._anim.SetFloat("MOVEMENTY", KrisWalkDirections[KrisWalkIndex].y);
}
else
{
KrisWalkIndex++;
}
}
else
{
Kris._PMove._anim.SetBool("MOVING", value: false);
Kris._PMove._anim.SetFloat("MOVEMENTX", -1f);
Kris._PMove._anim.SetFloat("MOVEMENTY", 0f);
}
if (Kris.transform.position == KrisWalkPositions[2] && Susie.transform.position == SusieWalkPositions[2])
{
IncrementCutsceneIndex();
StartCoroutine(DelayUntilRalseiAdmits());
Kris._PMove._anim.SetBool("MOVING", value: false);
Kris._PMove._anim.SetFloat("MOVEMENTX", -1f);
Kris._PMove._anim.SetFloat("MOVEMENTY", 0f);
Susie.SusieAnimator.Play("Idle");
Susie.SusieAnimator.SetFloat("VelocityX", 1f);
Susie.SusieAnimator.SetFloat("VelocityY", 0f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
break;
case 11:
RalseiAnim_GetUp();
StartCoroutine(RalseiGetUpAnimation());
IncrementCutsceneIndex();
break;
case 13:
RunFreshChat(CutsceneChats[3], 0, ForcePosition: true, OnBottom: false);
IncrementCutsceneIndex();
break;
case 15:
SusieAnim_IdleHidden_Down();
StartCoroutine(DelayUntilSusieRegress());
IncrementCutsceneIndex();
break;
case 17:
TargetSusieWalkIndex = 4;
if (SusieWalkIndex < TargetSusieWalkIndex)
{
if (Susie.transform.position != SusieWalkPositions[SusieWalkIndex])
{
Susie.transform.position = Vector2.MoveTowards(Susie.transform.position, SusieWalkPositions[SusieWalkIndex], 2.5f * Time.deltaTime);
Susie.AnimationOverriden = true;
Susie.SusieAnimator.Play("WalkHidden");
Susie.SusieAnimator.SetFloat("VelocityX", SusieWalkDirections[SusieWalkIndex].x);
Susie.SusieAnimator.SetFloat("VelocityY", SusieWalkDirections[SusieWalkIndex].y);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 1f);
Kris._PMove._anim.SetBool("MOVING", value: false);
Kris._PMove._anim.SetFloat("MOVEMENTX", 0f);
Kris._PMove._anim.SetFloat("MOVEMENTY", -1f);
}
else
{
SusieWalkIndex++;
}
}
else
{
Susie.SusieAnimator.Play("IdleHidden");
Susie.SusieAnimator.SetFloat("VelocityX", 0f);
Susie.SusieAnimator.SetFloat("VelocityY", -1f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
if (Susie.transform.position == SusieWalkPositions[3])
{
RunFreshChat(CutsceneChats[5], 0, ForcePosition: true, OnBottom: false);
IncrementCutsceneIndex();
Susie.SusieAnimator.Play("IdleHidden");
Susie.SusieAnimator.SetFloat("VelocityX", 0f);
Susie.SusieAnimator.SetFloat("VelocityY", -1f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
break;
case 19:
TargetSusieWalkIndex = 5;
if (SusieWalkIndex < TargetSusieWalkIndex)
{
if (Susie.transform.position != SusieWalkPositions[SusieWalkIndex])
{
Susie.transform.position = Vector2.MoveTowards(Susie.transform.position, SusieWalkPositions[SusieWalkIndex], 2f * Time.deltaTime);
Susie.AnimationOverriden = true;
Susie.SusieAnimator.Play("WalkHidden");
Susie.SusieAnimator.SetFloat("VelocityX", SusieWalkDirections[SusieWalkIndex].x);
Susie.SusieAnimator.SetFloat("VelocityY", SusieWalkDirections[SusieWalkIndex].y);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 1f);
}
else
{
SusieWalkIndex++;
}
}
else
{
Susie.SusieAnimator.Play("IdleHidden");
Susie.SusieAnimator.SetFloat("VelocityX", -1f);
Susie.SusieAnimator.SetFloat("VelocityY", 0f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
TargetRalseiWalkIndex = 3;
if (RalseiWalkIndex < TargetRalseiWalkIndex)
{
if (Ralsei.transform.position != RalseiWalkPositions[RalseiWalkIndex])
{
Ralsei.transform.position = Vector2.MoveTowards(Ralsei.transform.position, RalseiWalkPositions[RalseiWalkIndex], 4f * Time.deltaTime);
Ralsei.SusieAnimator.Play("WalkNeutral");
Ralsei.SusieAnimator.SetFloat("VelocityX", RalseiWalkDirections[RalseiWalkIndex].x);
Ralsei.SusieAnimator.SetFloat("VelocityY", RalseiWalkDirections[RalseiWalkIndex].y);
Ralsei.SusieAnimator.SetFloat("VelocityMagnitude", 1f);
}
else
{
RalseiWalkIndex++;
}
}
else
{
Ralsei.SusieAnimator.Play("Ralsei_Stand_Point");
Ralsei.SusieAnimator.SetFloat("VelocityX", -1f);
Ralsei.SusieAnimator.SetFloat("VelocityY", 0f);
Ralsei.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
if (Susie.transform.position == SusieWalkPositions[4] && Ralsei.transform.position == RalseiWalkPositions[2])
{
RunFreshChat(CutsceneChats[6], 0, ForcePosition: true, OnBottom: false);
IncrementCutsceneIndex();
Susie.SusieAnimator.Play("IdleHidden");
Susie.SusieAnimator.SetFloat("VelocityX", -1f);
Susie.SusieAnimator.SetFloat("VelocityY", 0f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
Ralsei.SusieAnimator.Play("Ralsei_Stand_Point");
Ralsei.SusieAnimator.SetFloat("VelocityX", -1f);
Ralsei.SusieAnimator.SetFloat("VelocityY", 0f);
Ralsei.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
break;
case 21:
IncrementCutsceneIndex();
StartCoroutine(DelayUntilSusieShock());
break;
case 22:
IncrementCutsceneIndex();
ChatboxManager.Instance.EndText();
RalseiAnim_Argue_FoldedArms();
break;
case 23:
TargetSusieWalkIndex = 6;
if (SusieWalkIndex < TargetSusieWalkIndex)
{
if (Susie.transform.position != SusieWalkPositions[SusieWalkIndex])
{
Susie.transform.position = Vector2.MoveTowards(Susie.transform.position, SusieWalkPositions[SusieWalkIndex], 6f * Time.deltaTime);
Susie.AnimationOverriden = true;
Susie.SusieAnimator.Play("WalkHidden");
Susie.SusieAnimator.SetFloat("VelocityX", SusieWalkDirections[SusieWalkIndex].x);
Susie.SusieAnimator.SetFloat("VelocityY", SusieWalkDirections[SusieWalkIndex].y);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 1f);
}
else
{
SusieWalkIndex++;
}
}
else
{
Susie.SusieAnimator.Play("SusieDarkworld_Hidden_Angry_Right");
Susie.SusieAnimator.SetFloat("VelocityX", -1f);
Susie.SusieAnimator.SetFloat("VelocityY", 0f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
IncrementCutsceneIndex();
}
break;
case 25:
CutsceneSource.PlayOneShot(CutsceneSounds[6]);
Susie.SusieAnimator.Play("SusieDarkworld_EOTDArgue_SurpriseHug");
IncrementCutsceneIndex();
StartCoroutine(SusieDelayUntilHug());
break;
case 27:
TargetSusieWalkIndex = 7;
Susie.SusieAnimator.GetComponent<SPR_YSorting>().YOffset = 0;
if (SusieWalkIndex < TargetSusieWalkIndex)
{
if (Susie.transform.position != SusieWalkPositions[SusieWalkIndex])
{
Susie.transform.position = Vector2.MoveTowards(Susie.transform.position, SusieWalkPositions[SusieWalkIndex], 7f * Time.deltaTime);
Susie.AnimationOverriden = true;
Susie.SusieAnimator.Play("SusieDarkworld_EOTDArgue_HugBlur");
Susie.SusieAnimator.SetFloat("VelocityX", SusieWalkDirections[SusieWalkIndex].x);
Susie.SusieAnimator.SetFloat("VelocityY", SusieWalkDirections[SusieWalkIndex].y);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 1f);
}
else
{
SusieWalkIndex++;
}
}
else
{
Susie.SusieAnimator.Play("SusieDarkworld_Hug");
Susie.SusieAnimator.SetFloat("VelocityX", -1f);
Susie.SusieAnimator.SetFloat("VelocityY", 0f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
Ralsei.SusieAnimator.Play("Ralsei_Argue7");
CutsceneSource.PlayOneShot(CutsceneSounds[3]);
IncrementCutsceneIndex();
StartCoroutine(RalseiReactHug());
}
break;
case 29:
TargetKrisWalkIndex = 5;
if (KrisWalkIndex < TargetKrisWalkIndex)
{
if (Kris.transform.position != KrisWalkPositions[KrisWalkIndex])
{
Kris.transform.position = Vector2.MoveTowards(Kris.transform.position, KrisWalkPositions[KrisWalkIndex], 3f * Time.deltaTime);
Kris._PMove.AnimationOverriden = true;
Kris._PMove._anim.SetBool("MOVING", value: true);
Kris._PMove._anim.SetFloat("MOVEMENTX", KrisWalkDirections[KrisWalkIndex].x);
Kris._PMove._anim.SetFloat("MOVEMENTY", KrisWalkDirections[KrisWalkIndex].y);
}
else
{
KrisWalkIndex++;
}
}
else
{
Kris._PMove._anim.SetBool("MOVING", value: false);
Kris._PMove._anim.SetFloat("MOVEMENTX", 0f);
Kris._PMove._anim.SetFloat("MOVEMENTY", 1f);
Kris._PMove._anim.Play("KrisDarkworld_Hug_Left");
CutsceneSource.PlayOneShot(CutsceneSounds[7]);
IncrementCutsceneIndex();
}
break;
case 30:
IncrementCutsceneIndex();
MusicManager.Instance.source.loop = false;
MusicManager.PlaySong(MusicGroupHug, FadePreviousSong: true, 1f);
StartCoroutine(GroupHug());
break;
case 32:
StartCoroutine(DelayUntilLeadTheWay());
IncrementCutsceneIndex();
break;
case 34:
{
Vector3 vector = new Vector3(Kris.transform.position.x, 0.75f, -10f);
if (PlayerCamera.transform.position != vector)
{
PlayerCamera.transform.position = Vector3.MoveTowards(PlayerCamera.transform.position, vector, 4f * Time.deltaTime);
}
else
{
IncrementCutsceneIndex();
}
break;
}
case 35:
EndCutscene();
break;
case 2:
case 4:
case 6:
case 8:
case 10:
case 12:
case 14:
case 16:
case 18:
case 20:
case 24:
case 26:
case 28:
case 31:
case 33:
break;
}
}
private void EndCutscene()
{
CutsceneIndex = -1;
MiddleCameraTrigger.SetActive(value: false);
Kris._PlayerState = PlayerManager.PlayerState.Game;
Kris._PMove.AnimationOverriden = false;
DarkworldMenu.Instance.CanOpenMenu = true;
Susie.AnimationOverriden = false;
Ralsei.AnimationOverriden = false;
Susie.SusieAnimator.Play("Idle");
Ralsei.SusieAnimator.Play("Idle");
Susie.FollowingEnabled = true;
Ralsei.FollowingEnabled = true;
Susie.RotateSusieToDirection(new Vector2(1f, 0f));
Ralsei.RotateSusieToDirection(new Vector2(0f, -1f));
}
public void IncrementCutsceneIndex()
{
CutsceneIndex++;
}
public void IncrementCutsceneIndex_EndChat()
{
IncrementCutsceneIndex();
ChatboxManager.Instance.EndText();
}
private void RunFreshChat(CHATBOXTEXT text, int index, bool ForcePosition, bool OnBottom)
{
CutsceneChatter.FirstTextPlayed = false;
CutsceneChatter.CurrentIndex = index;
CutsceneChatter.FinishedText = false;
CutsceneChatter.Text = text;
if (ForcePosition)
{
CutsceneChatter.ManualTextboxPosition = true;
CutsceneChatter.OnBottom = OnBottom;
}
CutsceneChatter.RUN();
}
private IEnumerator AdmitFinalTaleDelay()
{
yield return new WaitForSeconds(1f);
RunFreshChat(CutsceneChats[0], 0, ForcePosition: true, OnBottom: false);
}
private IEnumerator StoryDelay()
{
yield return new WaitForSeconds(1f);
StoryCutscene.StartStory();
}
private IEnumerator KneelDelay()
{
yield return new WaitForSeconds(1.5f);
CutsceneSource.PlayOneShot(CutsceneSounds[0]);
SusieAnim_Shock_Up();
RalseiAnim_Kneel();
yield return new WaitForSeconds(0.5f);
IncrementCutsceneIndex();
}
private IEnumerator DelayUntilRalseiAdmits()
{
yield return new WaitForSeconds(0.75f);
RunFreshChat(CutsceneChats[2], 0, ForcePosition: true, OnBottom: false);
}
private IEnumerator RalseiGetUpAnimation()
{
yield return new WaitForSeconds(1.3666f);
CutsceneSource.PlayOneShot(CutsceneSounds[1]);
yield return new WaitForSeconds(7.3834f);
Ralsei.SusieAnimator.Play("IdleNeutral");
Ralsei.SusieAnimator.SetFloat("VelocityX", -1f);
Ralsei.SusieAnimator.SetFloat("VelocityY", 0f);
Ralsei.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
IncrementCutsceneIndex();
}
private IEnumerator DelayUntilSusieRegress()
{
yield return new WaitForSeconds(1f);
RunFreshChat(CutsceneChats[4], 0, ForcePosition: true, OnBottom: false);
RalseiAnim_IdleNeutral_Left();
}
private IEnumerator DelayUntilSusieShock()
{
yield return new WaitForSeconds(1.25f);
RunFreshChat(CutsceneChats[7], 0, ForcePosition: true, OnBottom: false);
}
private IEnumerator GroupHug()
{
yield return new WaitForSeconds(9.5f);
MusicManager.PlaySong(MusicFinalFountain, FadePreviousSong: true, 1f);
MusicManager.Instance.source.loop = true;
yield return new WaitForSeconds(1f);
Susie.SusieAnimator.GetComponent<SPR_YSorting>().YOffset = -1;
RalseiAnim_Idle_Down();
CutsceneSource.PlayOneShot(CutsceneSounds[5]);
Kris._PMove._anim.SetBool("MOVING", value: false);
Kris._PMove._anim.Play("DARKWORLD_KRIS_IDLE");
Kris._PMove._anim.SetFloat("MOVEMENTX", -1f);
Kris._PMove._anim.SetFloat("MOVEMENTY", 0f);
Kris.transform.position = new Vector3(3f, -3f, 0f);
Susie.SusieAnimator.Play("Idle");
Susie.SusieAnimator.SetFloat("VelocityX", 1f);
Susie.SusieAnimator.SetFloat("VelocityY", 0f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
Susie.transform.position = new Vector3(0f, -3f, 0f);
yield return new WaitForSeconds(1f);
RunFreshChat(CutsceneChats[13], 0, ForcePosition: true, OnBottom: false);
}
private IEnumerator SmokeCloudPlaySounds()
{
if (SmokeCloudSoundIndex < SmokeCloudSounds.Length)
{
CutsceneSource.PlayOneShot(SmokeCloudSounds[SmokeCloudSoundIndex]);
SmokeCloudSoundIndex++;
yield return new WaitForSeconds(0.3f);
StartCoroutine(SmokeCloudPlaySounds());
}
else
{
yield return new WaitForSeconds(0.3f);
IncrementCutsceneIndex();
}
}
private IEnumerator DelayUntilAskKris()
{
yield return new WaitForSeconds(1f);
RunFreshChat(CutsceneChats[11], 0, ForcePosition: true, OnBottom: false);
}
private IEnumerator DelayUntilKrisHugReact()
{
ChatboxManager.Instance.EndText();
CutsceneSource.PlayOneShot(CutsceneSounds[1]);
yield return new WaitForSeconds(1f);
RunFreshChat(CutsceneChats[12], 0, ForcePosition: true, OnBottom: false);
}
private IEnumerator DelayUntilGetUp()
{
yield return new WaitForSeconds(1f);
SpriteRenderer[] characterRenderers = CharacterRenderers;
for (int i = 0; i < characterRenderers.Length; i++)
{
characterRenderers[i].enabled = true;
}
Kris._PAnimation.GetComponent<SpriteRenderer>().enabled = true;
RalseiAnim_Idle_Down();
CutsceneSource.PlayOneShot(CutsceneSounds[5]);
RalseiShadow.enabled = true;
Kris._PMove._anim.SetBool("MOVING", value: false);
Kris._PMove._anim.SetFloat("MOVEMENTX", -1f);
Kris._PMove._anim.SetFloat("MOVEMENTY", 0f);
Kris.transform.position = new Vector3(3f, -3f, 0f);
Susie.SusieAnimator.Play("Idle");
Susie.SusieAnimator.SetFloat("VelocityX", 1f);
Susie.SusieAnimator.SetFloat("VelocityY", 0f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
Susie.transform.position = new Vector3(0f, -3f, 0f);
yield return new WaitForSeconds(1f);
RunFreshChat(CutsceneChats[13], 0, ForcePosition: true, OnBottom: false);
}
private IEnumerator DelayUntilLeadTheWay()
{
yield return new WaitForSeconds(1f);
RunFreshChat(CutsceneChats[13], 1, ForcePosition: true, OnBottom: false);
}
private IEnumerator SusieDelayUntilHug()
{
yield return new WaitForSeconds(2.9f);
IncrementCutsceneIndex();
}
private IEnumerator RalseiReactHug()
{
yield return new WaitForSeconds(1.5f);
Ralsei.SusieAnimator.Play("Ralsei_Argue8");
yield return new WaitForSeconds(1f);
Ralsei.SusieAnimator.Play("Ralsei_Argue9");
yield return new WaitForSeconds(1f);
Ralsei.SusieAnimator.Play("Ralsei_Argue10");
CutsceneSource.PlayOneShot(CutsceneSounds[7]);
yield return new WaitForSeconds(2f);
RunFreshChat(CutsceneChats[14], 0, ForcePosition: true, OnBottom: false);
}
public void RalseiAnim_Idle_Down()
{
Ralsei.SusieAnimator.Play("Idle");
Ralsei.SusieAnimator.SetFloat("VelocityX", 0f);
Ralsei.SusieAnimator.SetFloat("VelocityY", -1f);
Ralsei.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
public void RalseiAnim_Idle_Left()
{
Ralsei.SusieAnimator.Play("Idle");
Ralsei.SusieAnimator.SetFloat("VelocityX", -1f);
Ralsei.SusieAnimator.SetFloat("VelocityY", 0f);
Ralsei.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
public void RalseiAnim_Sad_Left()
{
Ralsei.SusieAnimator.Play("Ralsei_Sad_Left");
}
public void RalseiAnim_Stand()
{
Ralsei.SusieAnimator.Play("Ralsei_Stand_Left");
}
public void RalseiAnim_Argue1()
{
Ralsei.SusieAnimator.Play("Ralsei_Argue1");
}
public void RalseiAnim_Argue2()
{
Ralsei.SusieAnimator.Play("Ralsei_Argue2");
}
public void RalseiAnim_Argue3()
{
Ralsei.SusieAnimator.Play("Ralsei_Argue3");
}
public void RalseiAnim_Argue4()
{
Ralsei.SusieAnimator.Play("Ralsei_Argue4");
}
public void RalseiAnim_Argue5()
{
Ralsei.SusieAnimator.Play("Ralsei_Argue5");
}
public void RalseiAnim_Argue6()
{
Ralsei.SusieAnimator.Play("Ralsei_Argue6");
}
public void RalseiAnim_Shock_Left()
{
Ralsei.SusieAnimator.Play("Ralsei_Shock_Left");
}
public void RalseiAnim_Shock()
{
Ralsei.SusieAnimator.Play("Ralsei_Shock");
}
public void RalseiAnim_Blush_Down()
{
Ralsei.SusieAnimator.Play("Ralsei_Blush_Down");
}
public void RalseiAnim_Sad_Down()
{
Ralsei.SusieAnimator.Play("Ralsei_Sad_Down");
}
public void RalseiAnim_GetUp()
{
Ralsei.SusieAnimator.Play("Ralsei_GetUp");
}
public void RalseiAnim_Laugh()
{
Ralsei.SusieAnimator.Play("Ralsei_Laugh");
}
public void RalseiAnim_Kneel()
{
Ralsei.SusieAnimator.Play("Ralsei_Kneel");
}
public void RalseiAnim_Kneel_Cry()
{
Ralsei.SusieAnimator.Play("Ralsei_Kneel_Cry");
}
public void RalseiAnim_GroupHug_Idle()
{
Ralsei.SusieAnimator.Play("Ralsei_GroupHug_Idle");
}
public void RalseiAnim_GroupHug_SusieFace()
{
Ralsei.SusieAnimator.Play("Ralsei_GroupHug_SusieFace");
}
public void RalseiAnim_GroupHug_SusieDown()
{
Ralsei.SusieAnimator.Play("Ralsei_GroupHug_SusieDown");
}
public void RalseiAnim_GroupHug_Blush()
{
Ralsei.SusieAnimator.Play("Ralsei_GroupHug_Blush");
}
public void RalseiAnim_Argue_FoldedArms()
{
Ralsei.SusieAnimator.Play("Ralsei_ArgueFoldedArms");
}
public void RalseiAnim_GroupHug_LookKris()
{
Ralsei.SusieAnimator.Play("Ralsei_GroupHug_LookKris");
}
public void RalseiAnim_GroupHug_HugKris()
{
Ralsei.SusieAnimator.Play("Ralsei_GroupHug_HugKris");
StartCoroutine(DelayUntilKrisHugReact());
}
public void RalseiAnim_IdleNeutral_Down()
{
Ralsei.SusieAnimator.Play("IdleNeutral");
Ralsei.SusieAnimator.SetFloat("VelocityX", 0f);
Ralsei.SusieAnimator.SetFloat("VelocityY", -1f);
Ralsei.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
public void RalseiAnim_IdleNeutral_Left()
{
Ralsei.SusieAnimator.Play("IdleNeutral");
Ralsei.SusieAnimator.SetFloat("VelocityX", -1f);
Ralsei.SusieAnimator.SetFloat("VelocityY", 0f);
Ralsei.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
public void SusieAnim_Idle_Up()
{
Susie.SusieAnimator.Play("Idle");
Susie.SusieAnimator.SetFloat("VelocityX", 0f);
Susie.SusieAnimator.SetFloat("VelocityY", 1f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
public void SusieAnim_IdleHidden_Down()
{
Susie.SusieAnimator.Play("IdleHidden");
Susie.SusieAnimator.SetFloat("VelocityX", 0f);
Susie.SusieAnimator.SetFloat("VelocityY", -1f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
public void SusieAnim_IdleHidden_Left()
{
Susie.SusieAnimator.Play("IdleHidden");
Susie.SusieAnimator.SetFloat("VelocityX", -1f);
Susie.SusieAnimator.SetFloat("VelocityY", 0f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
public void SusieAnim_IdleHidden_Right()
{
Susie.SusieAnimator.Play("IdleHidden");
Susie.SusieAnimator.SetFloat("VelocityX", 1f);
Susie.SusieAnimator.SetFloat("VelocityY", 0f);
Susie.SusieAnimator.SetFloat("VelocityMagnitude", 0f);
}
public void SusieAnim_Scratch()
{
Susie.SusieAnimator.Play("SusieDarkworld_Scratch");
}
public void SusieAnim_HiddenConfused()
{
Susie.SusieAnimator.Play("SusieDarkworld_Hidden_Confused");
}
public void SusieAnim_HiddenAngry()
{
Susie.SusieAnimator.Play("SusieDarkworld_Hidden_Angry");
}
public void SusieAnim_HiddenAngryLeft()
{
Susie.SusieAnimator.Play("SusieDarkworld_Hidden_Angry_Left");
}
public void SusieAnim_TurnAway()
{
Susie.SusieAnimator.Play("SusieDarkworld_TurnAway");
}
public void SusieAnim_Shock_Up()
{
Susie.SusieAnimator.Play("SusieDarkworld_Shock_Up");
}
}