Arackulele / GrimoraMod

Grimora Mod for Inscryption
15 stars 7 forks source link

Fecundity Softlock #234

Open SarahKirksey opened 8 months ago

SarahKirksey commented 8 months ago

When doing a Kaycee's Mod Grimora run, the game will sometimes softlock when playing a card with the Fecundity sigil. This occurs during the KCM-specific speech, on the line "you tampered with one of my sigils", as seen in the following screenshot: 20231122082957_1 I have reproduced this softlock during other battles and with other cards. I have reproduced it in versions 7.4.1 and 7.4.2. I have not been able to reproduce this while DebugMenu is running.

The specific error to occur is as follows:

[Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object Stack trace: AudioController+<>c__DisplayClass43_0.b0 (UnityEngine.AudioClip x) (at <4bde92741da1454db82522c215e393a6>:0) System.Collections.Generic.List1[T].Find (System.Predicate1[T] match) (at <44afb4564e9347cf99a1865351ea8f4a>:0) AudioController.GetAudioClip (System.String soundId) (at <4bde92741da1454db82522c215e393a6>:0) AudioController.CreateAudioSourceForSound (System.String soundId, MixerGroup mixerGroup, UnityEngine.Vector3 position, System.Boolean looping) (at <4bde92741da1454db82522c215e393a6>:0) AudioController.PlaySound3D (System.String soundId, MixerGroup mixerGroup, UnityEngine.Vector3 position, System.Single volume, System.Single skipToTime, AudioParams+Pitch pitch, AudioParams+Repetition repetition, AudioParams+Randomization randomization, AudioParams+Distortion distortion, System.Boolean looping) (at <4bde92741da1454db82522c215e393a6>:0) AudioController.PlaySound2D (System.String soundId, MixerGroup mixerGroup, System.Single volume, System.Single skipToTime, AudioParams+Pitch pitch, AudioParams+Repetition repetition, AudioParams+Randomization randomization, AudioParams+Distortion distortion, System.Boolean looping) (at <4bde92741da1454db82522c215e393a6>:0) DiskCardGame.TextDisplayer.PlayVoiceSound (DiskCardGame.Emotion emotion) (at <4bde92741da1454db82522c215e393a6>:0) DiskCardGame.TextDisplayer.ShowMessage (System.String message, DiskCardGame.Emotion emotion, DiskCardGame.TextDisplayer+LetterAnimation letterAnimation, DialogueEvent+Speaker speaker, System.String[] variableStrings) (at <4bde92741da1454db82522c215e393a6>:0) DiskCardGame.TextDisplayer+d37.MoveNext () (at <4bde92741da1454db82522c215e393a6>:0) UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <3f8c35799b544274b189c23afcaaf82e>:0)

Based on what I can guess, it seems that the active hegemon is supposed to make a Leshy-specific sound that is sometimes unloaded, and attempting to play it causes a NullReferenceException that results in this softlock.

Obviously, once the Fecundity Nerf hint has played successfully once, and the corresponding flag is put into the save file, this softlock will no longer occur for that local save.