Second Contact (#363)

* second contact sprites

* Started rewriting

* Sound stuff

* foreigner textbox

* default miss message

* implement basic player textbox

* transparency support for textbox

refactor function labels to use C# convention

* avoid double function call with mistranslation

* add mistranslation textbox

* fix logic with trailing translation

* auto-positioning of translated text content

* auto-hide textboxes on start

* icon

* Added two new helper functions for pitching with semitones and cents

* All new sounds should be in now

* bunch of visual fixes

* Fixed stuff being innaccurate

* Repeating voicelines begone!

* Thump sound for bob man

* Put an animator on the crowd

* Fixed missing sprites

* Fixed anim not playing sometimes on barely

* Changed length of pass turn event from 0.5 to 1 beat long

* Downscaled Sprites

yippee

* Auto look at

* Fixed bob's textbox not appearing sometimes

* Fixed some small things

---------

Co-authored-by: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Co-authored-by: minenice55 <star.elementa@gmail.com>
Co-authored-by: Seanski2 <seanbenedit@gmail.com>
This commit is contained in:
ev
2023-03-26 23:09:55 -04:00
committed by GitHub
parent f2583d5414
commit e8aa00c5a8
191 changed files with 18835 additions and 17486 deletions

View File

@ -248,9 +248,9 @@ namespace HeavenStudio.Games
public void ForceSing(int semiTones, int semiTones1, int semiTonesPlayer)
{
leftChorusKid.currentPitch = Mathf.Pow(2f, (1f / 12f) * semiTones) * Conductor.instance.musicSource.pitch;
middleChorusKid.currentPitch = Mathf.Pow(2f, (1f / 12f) * semiTones1) * Conductor.instance.musicSource.pitch;
playerChorusKid.currentPitch = Mathf.Pow(2f, (1f / 12f) * semiTonesPlayer) * Conductor.instance.musicSource.pitch;
leftChorusKid.currentPitch = Jukebox.GetPitchFromSemiTones(semiTones, true);
middleChorusKid.currentPitch = Jukebox.GetPitchFromSemiTones(semiTones1, true);
playerChorusKid.currentPitch = Jukebox.GetPitchFromSemiTones(semiTonesPlayer, true);
leftChorusKid.StartSinging(true);
middleChorusKid.StartSinging(true);
if (!PlayerInput.Pressing() || GameManager.instance.autoplay) playerChorusKid.StartSinging(true);
@ -261,9 +261,9 @@ namespace HeavenStudio.Games
{
if (!playerChorusKid.disappeared) ScheduleInput(beat, 2.5f, InputType.STANDARD_UP, JustTogetherNow, Out, Out);
if (!playerChorusKid.disappeared) ScheduleInput(beat, 3.5f, InputType.STANDARD_DOWN, JustTogetherNowClose, MissBaton, Out);
float pitch = Mathf.Pow(2f, (1f / 12f) * semiTones) * Conductor.instance.musicSource.pitch;
float pitch1 = Mathf.Pow(2f, (1f / 12f) * semiTones1) * Conductor.instance.musicSource.pitch;
currentYellPitch = Mathf.Pow(2f, (1f / 12f) * semiTonesPlayer) * Conductor.instance.musicSource.pitch;
float pitch = Jukebox.GetPitchFromSemiTones(semiTones, true);
float pitch1 = Jukebox.GetPitchFromSemiTones(semiTones1, true);
currentYellPitch = Jukebox.GetPitchFromSemiTones(semiTonesPlayer, true);
MultiSound.Play(new MultiSound.Sound[]
{
new MultiSound.Sound("gleeClub/togetherEN-01", beat + 0.5f, conductorPitch),
@ -319,7 +319,7 @@ namespace HeavenStudio.Games
public void Sing(float beat, float length, int semiTones, int semiTones1, int semiTonesPlayer, int closeMouth, bool repeating, int semiTonesLeft2, int semiTonesLeft3, int semiTonesMiddle2)
{
float pitch = Mathf.Pow(2f, (1f / 12f) * semiTones) * Conductor.instance.musicSource.pitch;
float pitch = Jukebox.GetPitchFromSemiTones(semiTones, true);
if (!intervalStarted)
{
StartInterval(beat, length);
@ -351,17 +351,17 @@ namespace HeavenStudio.Games
if (!playerChorusKid.disappeared) ShowHeart(beat + length + beatInterval * 2 + 1);
foreach (var sing in queuedSingings)
{
float playerPitch = Mathf.Pow(2f, (1f / 12f) * sing.semiTonesPlayer) * Conductor.instance.musicSource.pitch;
float playerPitch = Jukebox.GetPitchFromSemiTones(sing.semiTonesPlayer, true);
if (!playerChorusKid.disappeared)
{
GleeClubSingInput spawnedInput = Instantiate(singInputPrefab, transform);
spawnedInput.pitch = playerPitch;
spawnedInput.Init(beat + length + sing.startBeat + beatInterval, sing.length, sing.closeMouth);
}
float pitch = Mathf.Pow(2f, (1f / 12f) * sing.semiTones) * Conductor.instance.musicSource.pitch;
float pitchLeft2 = Mathf.Pow(2f, (1f / 12f) * sing.semiTonesLeft2) * Conductor.instance.musicSource.pitch;
float pitchLeft3 = Mathf.Pow(2f, (1f / 12f) * sing.semiTonesLeft3) * Conductor.instance.musicSource.pitch;
float pitchMiddle2 = Mathf.Pow(2f, (1f / 12f) * sing.semiTonesMiddle2) * Conductor.instance.musicSource.pitch;
float pitch = Jukebox.GetPitchFromSemiTones(sing.semiTones, true);
float pitchLeft2 = Jukebox.GetPitchFromSemiTones(sing.semiTonesLeft2, true);
float pitchLeft3 = Jukebox.GetPitchFromSemiTones(sing.semiTonesLeft3, true);
float pitchMiddle2 = Jukebox.GetPitchFromSemiTones(sing.semiTonesMiddle2, true);
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
{
new BeatAction.Action(beat + length + sing.startBeat, delegate