Decompiled source of GenshinImpactOverhaul v1.0.2
GenshinImpactOverhaul.dll
Decompiled 10 hours ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Text; using BepInEx; using BepInEx.Logging; using HarmonyLib; using LCSoundTool; using UnityEngine; using UnityEngine.VFX; using UnityEngine.Video; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("GenshinImpactOverhaul")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("GenshinImpactOverhaul")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("5695c7d4-518d-4a00-be27-60580d5b632c")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace GenshinImpactOverhaul; [BepInPlugin("GenshinImpactOverhaul", "GoblinKingShmeesGenshinOverhaul", "1.0.0")] public class GenshinImpactOverhaul : BaseUnityPlugin { public class NilouFacingDirection : MonoBehaviour { public BlobAI blobAI; public Vector3 prevPosition; private void Update() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) Vector3 val = ((Component)blobAI).transform.position - prevPosition; val.y = 0f; if (val != Vector3.zero) { Quaternion rotation = Quaternion.LookRotation(val); NilouObject.transform.rotation = rotation; } prevPosition = ((Component)blobAI).transform.position; } } private static Dictionary<Turret, Transform> turretDictionary = new Dictionary<Turret, Transform>(); private readonly Harmony harmony = new Harmony("GenshinOverhaul"); private static GenshinImpactOverhaul Instance; public static ManualLogSource mls; public static GameObject AlbedoPrefab; public static GameObject AlbedoObject; public static GameObject BennettPrefab; public static GameObject BennettObject; public static GameObject ChevPrefab; public static GameObject ChevObject; public static GameObject ChildePrefab; public static GameObject ChildeObject; public static GameObject DoriPrefab; public static GameObject DoriObject; public static GameObject FurinaPrefab; public static GameObject FurinaObject; public static GameObject IttoPrefab; public static GameObject IttoObject; public static GameObject KazuhaPrefab; public static GameObject KazuhaObject; public static GameObject KleePrefab; public static GameObject KleeObject; public static GameObject NaviaPrefab; public static GameObject NaviaObject; public static GameObject NeuvPrefab; public static GameObject NeuvObject; public static GameObject NilouPrefab; public static GameObject NilouObject; public static GameObject PaimonPrefab; public static GameObject PaimonObject; public static GameObject QiqiPrefab; public static GameObject QiqiObject; public static GameObject RaidenPrefab; public static GameObject RaidenObject; public static GameObject RazorPrefab; public static GameObject RazorObject; public static GameObject ScaraPrefab; public static GameObject ScaraObject; public static GameObject VentiPrefab; public static GameObject VentiObject; public static GameObject WrisPrefab; public static GameObject WrisObject; public static GameObject YaoyaoPrefab; public static GameObject YaoyaoObject; public static GameObject ZhongliPrefab; public static GameObject ZhongliObject; public static AssetBundle GenshinOverhaulAssetBundle; private AudioClip soundAlbedoCry1; private AudioClip soundAlbedoCry2; private AudioClip soundAlbedoCry3; private AudioClip soundAlbedoCry4; public static AudioClip soundAlbedoMaskFaceLightUp; public static AudioClip soundAlbedoLaugh1; private AudioClip soundAlbedoLaugh2; private AudioClip soundAlbedoLaugh3; private AudioClip soundAlbedoMaskPuke; private AudioClip soundAlbedoMaskAttackPlayer; private AudioClip soundBennettBeep; private AudioClip soundBennettTrigger; private AudioClip soundBennettPressLandmine; public static AudioClip BennetNoise; private AudioClip soundChevShotgunReloadNutcracker; private AudioClip soundChevNutcrackerHitEye; public static AudioClip soundChevNutcrackerAngry; private AudioClip soundChevNutcrackerDie; private AudioClip soundChevNutcrackerTurn; private AudioClip soundChevKick; private AudioClip soundChevStopTurning1; private AudioClip soundChevStopTurning2; private AudioClip soundChevStopTurning3; public static AudioClip soundChildeFrighten1; public static AudioClip soundChildeFrighten3; public static AudioClip soundChildeNervous; public static AudioClip soundChildeRattleTail; public static AudioClip soundChildePuffSFX; public static AudioClip soundChildeBite; public static AudioClip soundChildeStomp; public static AudioClip soundChildeAngry; private AudioClip soundDoriAngry1; private AudioClip soundDoriAngry2; private AudioClip soundDoriChitter1; private AudioClip soundDoriChitter2; private AudioClip soundDoriChitter3; private AudioClip soundDoriCry; private AudioClip soundDoriFly; private AudioClip soundDoriDie; private AudioClip soundFurinaStunSpider; private AudioClip soundFurinaSpiderAttack; private AudioClip soundFurinaSpiderDie; private AudioClip soundFurinaSpiderHit; public static AudioClip soundFurinaWalk; private AudioClip soundFurinaSpoolPlayerInWeb; public static AudioClip soundGenshinLoudhorn; public static AudioClip soundGenshinLoudhornDistant; private AudioClip soundGenshinMenu; public static AudioClip soundGenshinHighAction1; public static AudioClip soundGenshinHighAction2; public static AudioClip soundGenshinLowAction; private AudioClip soundGenshinCompanyBuildingMusic1; private AudioClip soundGenshinAmbientMusic1; private AudioClip soundGenshinAmbientMusic2; private AudioClip soundGenshinAmbientMusic3; private AudioClip soundGenshinIntroSpeech; private AudioClip soundGenshinMidDay; private AudioClip soundGenshinStartOfDay; public static AudioClip soundGenshinNight; private AudioClip soundGenshinJazz; public static AudioClip soundGenshinIcecreamTruckV2; private AudioClip soundGenshinIcecreamTruckFar; private AudioClip soundGenshinEclipseAmbience; private AudioClip soundIttoBaboonEnterFight; private AudioClip soundIttoBaboonKill; private AudioClip soundIttoBaboonStab; private AudioClip soundIttoBaboonTakeDamage; private AudioClip soundIttoKillBaboon; private AudioClip soundIttoCaw1; private AudioClip soundIttoCawScream1; private AudioClip soundIttoCawScream2; private AudioClip soundIttoCawScream3; private AudioClip soundIttoCawScream4; private AudioClip soundIttoCawScream5; public static AudioClip soundKazuhaLocusts; public static AudioClip soundKazuhaEvade; public static AudioClip soundGiantEatPlayer; private AudioClip soundStunGiant; private AudioClip soundKleeDistantRumble1; private AudioClip soundKleeDistantRumble2; private AudioClip soundKleeDistantRumble3; public static AudioClip soundNaviaTurretActivate; public static AudioClip soundNaviaTurretBeserkMode; public static AudioClip soundNaviaTurretDeactivate; public static AudioClip soundNaviaTurretFire; public static AudioClip soundNaviaTurretFireDistant; public static AudioClip soundNaviaTurretSeePlayer; private AudioClip soundNeuvTurnCrank1; private AudioClip soundNeuvTurnCrank2; private AudioClip soundNeuvTurnCrank3; private AudioClip soundNeuvScream1; private AudioClip soundNeuvJackInTheBoxTheme; private AudioClip soundNeuvPop1; public static AudioClip soundNeuvKillPlayer; public static AudioClip NilouHitSlime; public static AudioClip NilouEatPlayer; public static AudioClip NilouJiggleSFX; public static AudioClip NilouAngry; public static AudioClip NilouIdle; private AudioClip soundPaimonClingToPlayer; private AudioClip soundPaimonClingToPlayerLocal; private AudioClip soundPaimonDeathShriek; private AudioClip soundPaimonmonsterNoise; private AudioClip soundPaimonmonsterNoise2; private AudioClip soundPaimonmonsterNoiseB; private AudioClip soundPaimonShriek1; private AudioClip soundPaimonShriek2; public static AudioClip soundQiqiBellChimeAmbience; public static AudioClip soundQiqiLaugh1_0; public static AudioClip soundQiqiLaugh2; public static AudioClip soundQiqiBreathing; public static AudioClip soundRaidenAngered; public static AudioClip soundRaidenCrackNeck; public static AudioClip soundRaidenFound1; public static AudioClip soundRaidenStunFlowerman; private AudioClip soundRazorBitePlayer; private AudioClip soundRazorShortRoar1; private AudioClip soundRazorLongRoar1; private AudioClip soundRazorLongRoar2; private AudioClip soundRazorLongRoar3; private AudioClip soundRazorRam1; private AudioClip soundRazorRam2; private AudioClip soundRazorRam3; private AudioClip soundRazorCrawlerDie; private AudioClip soundRazorHitCrawler1; private AudioClip soundRazorHitCrawler2; private AudioClip soundRazorStunCrawler; private AudioClip soundScaraBeeZap1; private AudioClip soundScaraBeeZap2; private AudioClip soundScaraBeeZap3; private AudioClip soundScaraBeeZap4; private AudioClip soundScaraBeeZap5; private AudioClip soundScaraBeeZap6; public static AudioClip soundScaraBeeZapConstant; public static AudioClip soundScaraBeesDefensive; public static AudioClip soundScaraBeeHiveIdle; public static AudioClip soundScaraBeesAngry; private AudioClip soundVentiStunDoublewing; private AudioClip soundVentiDoublewingFlap1; private AudioClip soundVentiDoublewingFlap2; private AudioClip soundVentiDoublewingFlap3; public static AudioClip soundVentiDoublewingFlapConstant; private AudioClip soundVentiKillDoublewing; private AudioClip soundVentiBird1; private AudioClip soundVentiBird2; private AudioClip soundVentiBird3; private AudioClip soundVentiBirdScreech1; private AudioClip soundVentiBirdScreech2; private AudioClip soundWrisStunDog; public static AudioClip soundWrisBreathe1; private AudioClip soundWrisgrowl; private AudioClip soundWrisKillPlayer; private AudioClip soundWrisKillPlayer_0; private AudioClip soundWrisLunge1; private AudioClip soundWrisRoar_0; private AudioClip soundWrisRoar; private AudioClip soundYaoyaoSandWormRoar; private AudioClip soundYaoyaoSandWormRoar2; private AudioClip soundYaoyaoBurrowingGrowl1; private AudioClip soundYaoyaoBurrowingRumble1; private AudioClip soundYaoyaoBurrowingRumble2; private AudioClip soundYaoyaoBurrowingRumble3; private AudioClip soundYaoyaoBurrowingRumbleLoud1; private AudioClip soundYaoyaoEmergeFromGround1; private AudioClip soundZhongliSpring1; private AudioClip soundZhongliSpring2; private AudioClip soundZhongliSpring3; private AudioClip soundZhongliSpringWobble1; private AudioClip soundZhongliSpringWobble2; private AudioClip soundZhongliKillPlayerSpring; private AudioClip soundZhongliBareFootstep1; private AudioClip soundZhongliBareFootstep2; private AudioClip soundZhongliBareFootstep3; private AudioClip soundZhongliBareFootstep4; public static TextAsset PaimonText; public static VideoClip PaimonVideo; public static TextAsset RaidenText; public static VideoClip RaidenVideo; public static TextAsset RazorText; public static VideoClip RazorVideo; public static TextAsset WrisText; public static VideoClip WrisVideo; public static TextAsset DoriText; public static VideoClip DoriVideo; public static TextAsset NilouText; public static VideoClip NilouVideo; public static TextAsset KleeText; public static VideoClip KleeVideo; public static TextAsset ZhongliText; public static VideoClip ZhongliVideo; public static TextAsset YaoyaoText; public static VideoClip YaoyaoVideo; public static TextAsset NeuvText; public static VideoClip NeuvVideo; public static TextAsset ChildeText; public static VideoClip ChildeVideo; public static TextAsset FurinaText; public static VideoClip FurinaVideo; public static TextAsset VentiText; public static VideoClip VentiVideo; public static TextAsset ScaraText; public static VideoClip ScaraVideo; public static TextAsset KazuhaText; public static VideoClip KazuhaVideo; public static TextAsset IttoText; public static VideoClip IttoVideo; public static TextAsset ChevText; public static VideoClip ChevVideo; private void Awake() { if ((Object)(object)Instance == (Object)null) { Instance = this; } mls = ((BaseUnityPlugin)this).Logger; mls.LogInfo((object)"GENSHIN-IMPACT-OVERHAUL-LOADED"); harmony.PatchAll(typeof(GenshinImpactOverhaul)); string text = Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "genshinoverhaul"); mls.LogDebug((object)text); GenshinOverhaulAssetBundle = AssetBundle.LoadFromFile(text); if ((Object)(object)GenshinOverhaulAssetBundle == (Object)null) { mls.LogError((object)"COULD NOT FIND GENSHIN ASSETS"); } AlbedoPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Albedo.prefab"); BennettPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Bennett/bennett.prefab"); ChevPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/ChevreuseV2.prefab"); ChildePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Childe.prefab"); DoriPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Dori.prefab"); FurinaPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Furina.prefab"); IttoPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Itto1.prefab"); KazuhaPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Kazuha.prefab"); KleePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Klee.prefab"); NaviaPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/NaviaV1.prefab"); NeuvPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Neuv2.prefab"); NilouPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Nilou.prefab"); PaimonPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Paimon.prefab"); QiqiPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Qiqi.prefab"); RaidenPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Raiden.prefab"); RazorPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Razor.prefab"); ScaraPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Scaramouche.prefab"); VentiPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Venti.prefab"); WrisPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Wrio.prefab"); YaoyaoPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Yaoyao.prefab"); ZhongliPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Zhongli1.prefab"); PaimonVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/PaimonVideo.mp4"); PaimonText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/PaimonText.txt"); RaidenVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/RaidenVideo.mp4"); RaidenText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/RaidenText.txt"); RazorVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/RazorVideo.mp4"); RazorText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/RazorText.txt"); WrisVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/WrisVideo.mp4"); WrisText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/WrisText.txt"); DoriVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/DoriVideo.mp4"); DoriText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/DoriText.txt"); KleeVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/KleeVideo.mp4"); KleeText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/KleeText.txt"); ZhongliVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/ZhongliVideo.mp4"); ZhongliText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/ZhongliText.txt"); YaoyaoVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/YaoyaoVideo.mp4"); YaoyaoText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/YaoyaoText.txt"); NeuvVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/NeuvVideo.mp4"); NeuvText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/NeuvText.txt"); ChildeVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/ChildeVideo.mp4"); ChildeText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/ChildeText.txt"); FurinaVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/FurinaVideo.mp4"); FurinaText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/FurinaText.txt"); VentiVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/VentiVideo.mp4"); VentiText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/VentiText.txt"); ScaraVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/ScaraVideo.mp4"); ScaraText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/ScaraText.txt"); IttoVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/IttoVideo.mp4"); IttoText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/IttoText.txt"); ChevVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/ChevVideo.mp4"); ChevText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/ChevText.txt"); KazuhaVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/KazuhaVideo.mp4"); KazuhaText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/KazuhaText.txt"); NilouVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/NilouVideo.mp4"); NilouText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/NilouText.txt"); } private void Start() { mls.LogInfo((object)"GENSHIN OVERHAUL SOUND PATCH"); soundAlbedoCry1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/AlbedoCry1.ogg"); soundAlbedoCry2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/AlbedoCry2.ogg"); soundAlbedoCry3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/AlbedoCry3.ogg"); soundAlbedoCry4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/AlbedoCry4.ogg"); soundAlbedoMaskFaceLightUp = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/AlbedoMaskFaceLightUp.ogg"); soundAlbedoLaugh1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/AlbedoLaugh1.ogg"); soundAlbedoLaugh2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/AlbedoLaugh2.ogg"); soundAlbedoLaugh3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/AlbedoLaugh3.ogg"); soundAlbedoMaskAttackPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/AlbedoMaskAttackPlayer.ogg"); soundAlbedoMaskPuke = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/AlbedoCry2.ogg"); SoundTool.ReplaceAudioClip("MaskCry1", soundAlbedoCry1); SoundTool.ReplaceAudioClip("MaskCry2", soundAlbedoCry2); SoundTool.ReplaceAudioClip("MaskCry3", soundAlbedoCry3); SoundTool.ReplaceAudioClip("MaskCry4", soundAlbedoCry4); SoundTool.ReplaceAudioClip("MaskFaceLightUp", soundAlbedoMaskFaceLightUp); SoundTool.ReplaceAudioClip("MaskLaugh1", soundAlbedoLaugh1); SoundTool.ReplaceAudioClip("MaskLaugh2", soundAlbedoLaugh2); SoundTool.ReplaceAudioClip("MaskLaugh3", soundAlbedoLaugh3); SoundTool.ReplaceAudioClip("MaskAttackPlayer", soundAlbedoMaskAttackPlayer); SoundTool.ReplaceAudioClip("MaskPuke", soundAlbedoMaskPuke); soundBennettBeep = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/BennettBeep.ogg"); soundBennettTrigger = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/BennettTrigger.ogg"); soundBennettPressLandmine = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/BennettPressLandmine.ogg"); SoundTool.ReplaceAudioClip("MineBeep", soundBennettBeep); SoundTool.ReplaceAudioClip("MineTrigger", soundBennettTrigger); SoundTool.ReplaceAudioClip("PressLandmine", soundBennettPressLandmine); soundChevShotgunReloadNutcracker = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChevShotgunReloadNutcracker.ogg"); soundChevNutcrackerHitEye = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChevNutcrackerHitEye.ogg"); soundChevNutcrackerAngry = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChevNutcrackerAngry.ogg"); soundChevNutcrackerDie = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChevNutcrackerDie.ogg"); soundChevNutcrackerTurn = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChevNutcrackerTurn.ogg"); soundChevKick = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChevKick.ogg"); soundChevStopTurning1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChevStopTurning1.ogg"); soundChevStopTurning2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChevStopTurning2.ogg"); soundChevStopTurning3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChevStopTurning3.ogg"); SoundTool.ReplaceAudioClip("ShotgunReloadNutcracker", soundChevShotgunReloadNutcracker); SoundTool.ReplaceAudioClip("NutcrackerHitEye", soundChevNutcrackerHitEye); SoundTool.ReplaceAudioClip("NutcrackerDie", soundChevNutcrackerDie); SoundTool.ReplaceAudioClip("NutcrackerTurn", soundChevNutcrackerTurn); SoundTool.ReplaceAudioClip("Kick", soundChevKick); SoundTool.ReplaceAudioClip("StopTurning1", soundChevStopTurning1); SoundTool.ReplaceAudioClip("StopTurning2", soundChevStopTurning2); SoundTool.ReplaceAudioClip("StopTurning3", soundChevStopTurning3); soundChildeFrighten1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChildeFrighten1.ogg"); soundChildeFrighten3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChildeFrighten3.ogg"); soundChildeNervous = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChildeNervous.ogg"); soundChildePuffSFX = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChildePuffSFX.ogg"); soundChildeRattleTail = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChildeRattleTail.ogg"); soundChildeBite = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChildeBite.ogg"); soundChildeStomp = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChildeStomp.ogg"); soundChildeAngry = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ChildeAngry.ogg"); soundDoriAngry1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Angry1_dori.ogg"); soundDoriAngry2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Angry2_dori.ogg"); soundDoriChitter1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chitter1_dori.ogg"); soundDoriChitter2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chitter2_dori.ogg"); soundDoriChitter3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chitter3_dori.ogg"); soundDoriCry = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Cry_dori.ogg"); soundDoriFly = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Fly_dori.ogg"); soundDoriDie = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/BugDie_Dori.ogg"); SoundTool.ReplaceAudioClip("AngryScreech", soundDoriAngry1); SoundTool.ReplaceAudioClip("AngryScreech2", soundDoriAngry2); SoundTool.ReplaceAudioClip("Chitter1", soundDoriChitter1); SoundTool.ReplaceAudioClip("Chitter2", soundDoriChitter2); SoundTool.ReplaceAudioClip("Chitter3", soundDoriChitter3); SoundTool.ReplaceAudioClip("HoarderBugCry", soundDoriCry); SoundTool.ReplaceAudioClip("Fly", soundDoriFly); SoundTool.ReplaceAudioClip("BugDie", soundDoriDie); soundFurinaStunSpider = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FurinaStunSpider.ogg"); soundFurinaSpiderDie = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FurinaSpiderDie.ogg"); soundFurinaSpiderAttack = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FurinaSpiderAttack.ogg"); soundFurinaSpoolPlayerInWeb = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FurinaSpiderHit.ogg"); soundFurinaSpiderHit = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FurinaSpiderHit.ogg"); soundFurinaWalk = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/FurinaWalk.ogg"); SoundTool.ReplaceAudioClip("SpiderAttack", soundFurinaSpiderAttack); SoundTool.ReplaceAudioClip("SpiderDie", soundFurinaSpiderDie); SoundTool.ReplaceAudioClip("SpiderHit", soundFurinaSpiderHit); SoundTool.ReplaceAudioClip("SpoolPlayerInWeb", soundFurinaSpoolPlayerInWeb); SoundTool.ReplaceAudioClip("StunSpider", soundFurinaStunSpider); soundGenshinLoudhorn = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinLoudhorn.ogg"); soundGenshinLoudhornDistant = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinLoudhornDistant.ogg"); soundGenshinMenu = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinStartup.ogg"); soundGenshinHighAction1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinHighAction1.ogg"); soundGenshinHighAction2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinHighAction2.ogg"); soundGenshinLowAction = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinLowAction.ogg"); soundGenshinCompanyBuildingMusic1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinCompanyBuildingMusic1.ogg"); soundGenshinAmbientMusic1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinAmbientMusic1.ogg"); soundGenshinAmbientMusic2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinAmbientMusic2.ogg"); soundGenshinAmbientMusic3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinAmbientMusic3.ogg"); soundGenshinIntroSpeech = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinIntroSpeech.ogg"); soundGenshinMidDay = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinMidDay.ogg"); soundGenshinStartOfDay = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinStartOfDay.ogg"); soundGenshinNight = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinNight.ogg"); soundGenshinJazz = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinJazz.ogg"); soundGenshinIcecreamTruckV2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinIcecreamTruckV2.ogg"); soundGenshinIcecreamTruckFar = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinIcecreamTruckFar.ogg"); soundGenshinEclipseAmbience = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinEclipseAmbience.ogg"); SoundTool.ReplaceAudioClip("Menu1", soundGenshinMenu); SoundTool.ReplaceAudioClip("StartOfDay", soundGenshinStartOfDay); SoundTool.ReplaceAudioClip("AmbientMusic1", soundGenshinAmbientMusic1); SoundTool.ReplaceAudioClip("AmbientMusic2", soundGenshinAmbientMusic2); SoundTool.ReplaceAudioClip("AmbientMusic3", soundGenshinAmbientMusic3); SoundTool.ReplaceAudioClip("IntroCompanySpeech", soundGenshinIntroSpeech); SoundTool.ReplaceAudioClip("CompanyBuildingMusic1", soundGenshinCompanyBuildingMusic1); SoundTool.ReplaceAudioClip("MidDay", soundGenshinMidDay); SoundTool.ReplaceAudioClip("Night", soundGenshinNight); SoundTool.ReplaceAudioClip("RecordPlayerJazz", soundGenshinJazz); SoundTool.ReplaceAudioClip("EclipseAmbience", soundGenshinEclipseAmbience); SoundTool.ReplaceAudioClip("IcecreamTruckV2", soundGenshinIcecreamTruckV2); SoundTool.ReplaceAudioClip("IcecreamTruckFar", soundGenshinIcecreamTruckFar); soundIttoBaboonEnterFight = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/IttoBaboonEnterFight.ogg"); soundIttoBaboonKill = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/IttoBaboonKill.ogg"); soundIttoBaboonStab = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/IttoBaboonStab.ogg"); soundIttoBaboonTakeDamage = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/IttoBaboonTakeDamage.ogg"); soundIttoKillBaboon = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/IttoKillBaboon.ogg"); soundIttoCaw1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/IttoCaw1.ogg"); soundIttoCawScream1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/IttoCawScream1.ogg"); soundIttoCawScream2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/IttoCawScream2.ogg"); soundIttoCawScream3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/IttoCawScream3.ogg"); soundIttoCawScream4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/IttoCawScream4.ogg"); soundIttoCawScream5 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/IttoCawScream5.ogg"); SoundTool.ReplaceAudioClip("BaboonEnterFight", soundIttoBaboonEnterFight); SoundTool.ReplaceAudioClip("BaboonKill", soundIttoBaboonKill); SoundTool.ReplaceAudioClip("BaboonStab", soundIttoBaboonStab); SoundTool.ReplaceAudioClip("BaboonTakeDamage", soundIttoBaboonTakeDamage); SoundTool.ReplaceAudioClip("KillBaboon", soundIttoKillBaboon); SoundTool.ReplaceAudioClip("Caw1", soundIttoCaw1); SoundTool.ReplaceAudioClip("CawScream1", soundIttoCawScream1); SoundTool.ReplaceAudioClip("CawScream2", soundIttoCawScream2); SoundTool.ReplaceAudioClip("CawScream3", soundIttoCawScream3); SoundTool.ReplaceAudioClip("CawScream4", soundIttoCawScream4); SoundTool.ReplaceAudioClip("CawScream5", soundIttoCawScream5); soundKazuhaLocusts = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/KazuhaLocusts.ogg"); soundKazuhaEvade = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/KazuhaEvade.ogg"); SoundTool.ReplaceAudioClip("DocileLocustBees", soundKazuhaLocusts); SoundTool.ReplaceAudioClip("DocileLocustBeesEvade", soundKazuhaEvade); soundGiantEatPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FGiantEatPlayerSFX_Klee.ogg"); soundStunGiant = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/StunGiant_Klee.ogg"); soundKleeDistantRumble1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/KleeDistantRumble1.ogg"); soundKleeDistantRumble2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/KleeDistantRumble2.ogg"); soundKleeDistantRumble3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/KleeDistantRumble3.ogg"); SoundTool.ReplaceAudioClip("FGiantEatPlayerSFX", soundGiantEatPlayer); SoundTool.ReplaceAudioClip("StunGiant", soundStunGiant); SoundTool.ReplaceAudioClip("DistantRumble1", soundKleeDistantRumble1); SoundTool.ReplaceAudioClip("DistantRumble2", soundKleeDistantRumble2); SoundTool.ReplaceAudioClip("DistantRumble3", soundKleeDistantRumble3); soundNaviaTurretActivate = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NaviaTurretActivate.ogg"); soundNaviaTurretBeserkMode = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NaviaTurretBerserkMode.ogg"); soundNaviaTurretDeactivate = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NaviaTurretDeactivate.ogg"); soundNaviaTurretFire = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NaviaTurretFire.ogg"); soundNaviaTurretFireDistant = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NaviaTurretFireDistant.ogg"); soundNaviaTurretSeePlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NaviaTurretSeePlayer.ogg"); SoundTool.ReplaceAudioClip("TurretActivate", soundNaviaTurretActivate); SoundTool.ReplaceAudioClip("TurretBeserkMode", soundNaviaTurretBeserkMode); SoundTool.ReplaceAudioClip("TurretDeactivate", soundNaviaTurretDeactivate); SoundTool.ReplaceAudioClip("TurretFire", soundNaviaTurretFire); SoundTool.ReplaceAudioClip("TurretFireDistant", soundNaviaTurretFireDistant); SoundTool.ReplaceAudioClip("TurretSeePlayer", soundNaviaTurretSeePlayer); soundNeuvJackInTheBoxTheme = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NeuvJackInTheBoxTheme.ogg"); soundNeuvPop1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NeuvPop1.ogg"); soundNeuvScream1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NeuvScream1.ogg"); soundNeuvTurnCrank1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NeuvTurnCrank1.ogg"); soundNeuvTurnCrank2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NeuvTurnCrank2.ogg"); soundNeuvTurnCrank3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NeuvTurnCrank3.ogg"); soundNeuvKillPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NeuvKillPlayer.ogg"); SoundTool.ReplaceAudioClip("JackInTheBoxTheme", soundNeuvJackInTheBoxTheme); SoundTool.ReplaceAudioClip("Pop1", soundNeuvPop1); SoundTool.ReplaceAudioClip("Scream1", soundNeuvScream1); SoundTool.ReplaceAudioClip("TurnCrank1", soundNeuvTurnCrank1); SoundTool.ReplaceAudioClip("TurnCrank2", soundNeuvTurnCrank2); SoundTool.ReplaceAudioClip("TurnCrank3", soundNeuvTurnCrank3); NilouHitSlime = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NilouHitSlime.ogg"); NilouAngry = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NilouAngry.ogg"); NilouEatPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NilouEatPlayer.ogg"); NilouIdle = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NilouIdle.ogg"); NilouJiggleSFX = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/NilouJiggleSFX.ogg"); soundPaimonClingToPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/PaimonClingToPlayer.ogg"); soundPaimonClingToPlayerLocal = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/PaimonClingToPlayerLocal.ogg"); soundPaimonDeathShriek = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/PaimonDeathShriek.ogg"); soundPaimonmonsterNoise = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/PaimonmonsterNoise.ogg"); soundPaimonmonsterNoise2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/PaimonmonsterNoise2.ogg"); soundPaimonmonsterNoiseB = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/PaimonmonsterNoiseB.ogg"); soundPaimonShriek1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/PaimonShriek1.ogg"); soundPaimonShriek2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/PaimonShriek2.ogg"); SoundTool.ReplaceAudioClip("ClingToPlayer", soundPaimonClingToPlayer); SoundTool.ReplaceAudioClip("ClingToPlayerLocal", soundPaimonClingToPlayerLocal); SoundTool.ReplaceAudioClip("DeathShriek", soundPaimonDeathShriek); SoundTool.ReplaceAudioClip("monsterNoise", soundPaimonmonsterNoise); SoundTool.ReplaceAudioClip("monsterNoise2", soundPaimonmonsterNoise2); SoundTool.ReplaceAudioClip("monsterNoiseB", soundPaimonmonsterNoiseB); SoundTool.ReplaceAudioClip("Shriek1", soundPaimonShriek1); SoundTool.ReplaceAudioClip("Shriek2", soundPaimonShriek2); soundQiqiBellChimeAmbience = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/QiqiBellChimeAmbience.ogg"); soundQiqiLaugh1_0 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/QiqiLaugh1_0.ogg"); soundQiqiLaugh2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/QiqiLaugh2.ogg"); soundQiqiBreathing = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/QiqiBreathing.ogg"); SoundTool.ReplaceAudioClip("BellChimeAmbience", soundQiqiBellChimeAmbience); SoundTool.ReplaceAudioClip("Laugh1_0", soundQiqiLaugh1_0); SoundTool.ReplaceAudioClip("Laugh2", soundQiqiLaugh2); SoundTool.ReplaceAudioClip("Breathing", soundQiqiBreathing); soundRaidenStunFlowerman = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RaidenStunFlowerman.ogg"); soundRaidenAngered = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RaidenAngered.ogg"); soundRaidenFound1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RaidenFound1.ogg"); soundRaidenCrackNeck = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RaidenCrackNeck.ogg"); soundRazorBitePlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorBitePlayer.ogg"); soundRazorShortRoar1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorShortRoar1.ogg"); soundRazorLongRoar1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorLongRoar1.ogg"); soundRazorLongRoar2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorLongRoar2.ogg"); soundRazorLongRoar3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorLongRoar3.ogg"); soundRazorRam1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorRam1.ogg"); soundRazorRam2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorRam2.ogg"); soundRazorRam3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorRam3.ogg"); soundRazorCrawlerDie = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorCrawlerDie.ogg"); soundRazorHitCrawler1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorHitCrawler1.ogg"); soundRazorHitCrawler2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorHitCrawler2.ogg"); soundRazorStunCrawler = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RazorStunCrawler.ogg"); SoundTool.ReplaceAudioClip("BitePlayer", soundRazorBitePlayer); SoundTool.ReplaceAudioClip("ShortRoar1", soundRazorShortRoar1); SoundTool.ReplaceAudioClip("LongRoar1", soundRazorLongRoar1); SoundTool.ReplaceAudioClip("LongRoar2", soundRazorLongRoar2); SoundTool.ReplaceAudioClip("LongRoar3", soundRazorLongRoar3); SoundTool.ReplaceAudioClip("Ram1", soundRazorRam1); SoundTool.ReplaceAudioClip("Ram2", soundRazorRam2); SoundTool.ReplaceAudioClip("Ram3", soundRazorRam3); SoundTool.ReplaceAudioClip("CrawlerDie", soundRazorCrawlerDie); SoundTool.ReplaceAudioClip("HitCrawler", soundRazorHitCrawler1); SoundTool.ReplaceAudioClip("HitCrawler2", soundRazorHitCrawler2); SoundTool.ReplaceAudioClip("StunCrawler", soundRazorStunCrawler); soundScaraBeeZap1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ScaraBeeZap1.ogg"); soundScaraBeeZap2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ScaraBeeZap2.ogg"); soundScaraBeeZap3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ScaraBeeZap3.ogg"); soundScaraBeeZap4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ScaraBeeZap4.ogg"); soundScaraBeeZap5 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ScaraBeeZap5.ogg"); soundScaraBeeZap6 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ScaraBeeZap6.ogg"); soundScaraBeeZapConstant = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ScaraBeeZapConstant.ogg"); soundScaraBeeHiveIdle = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ScaraBeeHiveIdle.ogg"); soundScaraBeesAngry = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ScaraBeesAngry.ogg"); soundScaraBeesDefensive = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ScaraBeesDefensive.ogg"); SoundTool.ReplaceAudioClip("BeeZap1", soundScaraBeeZap1); SoundTool.ReplaceAudioClip("BeeZap2", soundScaraBeeZap2); SoundTool.ReplaceAudioClip("BeeZap3", soundScaraBeeZap3); SoundTool.ReplaceAudioClip("BeeZap4", soundScaraBeeZap4); SoundTool.ReplaceAudioClip("BeeZap5", soundScaraBeeZap5); SoundTool.ReplaceAudioClip("BeeZap6", soundScaraBeeZap6); SoundTool.ReplaceAudioClip("BeeZapConstant", soundScaraBeeZapConstant); SoundTool.ReplaceAudioClip("BeeHiveIdle", soundScaraBeeHiveIdle); SoundTool.ReplaceAudioClip("BeesAngry", soundScaraBeesAngry); SoundTool.ReplaceAudioClip("BeesDefensive", soundScaraBeesDefensive); soundVentiStunDoublewing = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/VentiStunDoublewing.ogg"); soundVentiDoublewingFlap1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/VentiDoublewingFlap1.ogg"); soundVentiDoublewingFlap2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/VentiDoublewingFlap2.ogg"); soundVentiDoublewingFlap3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/VentiDoublewingFlap3.ogg"); soundVentiDoublewingFlapConstant = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/VentiDoublewingFlapConstant.ogg"); soundVentiKillDoublewing = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/VentiKillDoublewing.ogg"); soundVentiBird1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/VentiBird1.ogg"); soundVentiBird2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/VentiBird2.ogg"); soundVentiBird3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/VentiBird3.ogg"); soundVentiBirdScreech1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/VentiBirdScreech1.ogg"); soundVentiBirdScreech2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/VentiBirdScreech2.ogg"); SoundTool.ReplaceAudioClip("StunDoublewing", soundVentiStunDoublewing); SoundTool.ReplaceAudioClip("DoublewingFlap1", soundVentiDoublewingFlap1); SoundTool.ReplaceAudioClip("DoublewingFlap2", soundVentiDoublewingFlap2); SoundTool.ReplaceAudioClip("DoublewingFlap3", soundVentiDoublewingFlap3); SoundTool.ReplaceAudioClip("KillDoublewing", soundVentiKillDoublewing); SoundTool.ReplaceAudioClip("VentiBird1", soundVentiBird1); SoundTool.ReplaceAudioClip("VentiBird2", soundVentiBird2); SoundTool.ReplaceAudioClip("VentiBird3", soundVentiBird3); SoundTool.ReplaceAudioClip("BirdScreech1", soundVentiBirdScreech1); SoundTool.ReplaceAudioClip("BirdScreech2", soundVentiBirdScreech2); soundWrisStunDog = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/WrisStunDog.ogg"); soundWrisBreathe1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/WrisBreathe1.ogg"); soundWrisgrowl = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Wrisgrowl.ogg"); soundWrisKillPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/WrisKillPlayer.ogg"); soundWrisKillPlayer_0 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/WrisKillPlayer_0.ogg"); soundWrisLunge1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/WrisLunge1.ogg"); soundWrisRoar_0 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/WrisRoar_0.ogg"); soundWrisRoar = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/WrisRoar.ogg"); SoundTool.ReplaceAudioClip("StunDog", soundWrisStunDog); SoundTool.ReplaceAudioClip("growl", soundWrisgrowl); SoundTool.ReplaceAudioClip("KillPlayer", soundWrisKillPlayer); SoundTool.ReplaceAudioClip("KillPlayer_0", soundWrisKillPlayer_0); SoundTool.ReplaceAudioClip("Lunge1", soundWrisLunge1); SoundTool.ReplaceAudioClip("Roar_0", soundWrisRoar_0); SoundTool.ReplaceAudioClip("Roar", soundWrisRoar); soundYaoyaoSandWormRoar = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/YaoyaoSandWormRoar.ogg"); soundYaoyaoSandWormRoar2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/YaoyaoSandWormRoar2.ogg"); soundYaoyaoBurrowingGrowl1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/YaoyaoBurrowingGrowl1.ogg"); soundYaoyaoBurrowingRumble1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/YaoyaoBurrowingRumble1.ogg"); soundYaoyaoBurrowingRumble2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/YaoyaoBurrowingRumble2.ogg"); soundYaoyaoBurrowingRumble3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/YaoyaoBurrowingRumble3.ogg"); soundYaoyaoBurrowingRumbleLoud1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/YaoyaoBurrowingRumbleLoud1.ogg"); soundYaoyaoEmergeFromGround1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/YaoyaoEmergeFromGround1.ogg"); SoundTool.ReplaceAudioClip("SandWormRoar", soundYaoyaoSandWormRoar); SoundTool.ReplaceAudioClip("SandWormRoar2", soundYaoyaoSandWormRoar2); SoundTool.ReplaceAudioClip("BurrowingGrowl1", soundYaoyaoBurrowingGrowl1); SoundTool.ReplaceAudioClip("BurrowingRumble1", soundYaoyaoBurrowingRumble1); SoundTool.ReplaceAudioClip("BurrowingRumble2", soundYaoyaoBurrowingRumble2); SoundTool.ReplaceAudioClip("BurrowingRumble3", soundYaoyaoBurrowingRumble3); SoundTool.ReplaceAudioClip("BurrowingRumbleLoud1", soundYaoyaoBurrowingRumbleLoud1); SoundTool.ReplaceAudioClip("EmergeFromGround1", soundYaoyaoEmergeFromGround1); soundZhongliSpring1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Spring1_zhongli.ogg"); soundZhongliSpring2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Spring2_zhongli.ogg"); soundZhongliSpring3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Spring3_zhongli.ogg"); soundZhongliSpringWobble1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/SpringWobble1.ogg"); soundZhongliSpringWobble2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ZhongliSpringWobble2.ogg"); soundZhongliKillPlayerSpring = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ZhongliKillPlayerSpring.ogg"); soundZhongliBareFootstep1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ZhongliBareFootstep1.ogg"); soundZhongliBareFootstep2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ZhongliBareFootstep2.ogg"); soundZhongliBareFootstep3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ZhongliBareFootstep3.ogg"); soundZhongliBareFootstep4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/ZhongliBareFootstep4.ogg"); SoundTool.ReplaceAudioClip("Spring1", soundZhongliSpring1); SoundTool.ReplaceAudioClip("Spring2", soundZhongliSpring2); SoundTool.ReplaceAudioClip("Spring3", soundZhongliSpring3); SoundTool.ReplaceAudioClip("SpringWobble1", soundZhongliSpringWobble1); SoundTool.ReplaceAudioClip("SpringWobble2", soundZhongliSpringWobble2); SoundTool.ReplaceAudioClip("KillPlayerSpring", soundZhongliKillPlayerSpring); SoundTool.ReplaceAudioClip("BareFootstep1", soundZhongliBareFootstep1); SoundTool.ReplaceAudioClip("BareFootstep2", soundZhongliBareFootstep2); SoundTool.ReplaceAudioClip("BareFootstep3", soundZhongliBareFootstep3); SoundTool.ReplaceAudioClip("BareFootstep4", soundZhongliBareFootstep4); mls.LogInfo((object)"GENSHIN OVERHAUL SOUNDS LOADED"); } [HarmonyPatch(typeof(MaskedPlayerEnemy), "Start")] [HarmonyPostfix] public static void PluginDetectSummonMasked(MaskedPlayerEnemy __instance) { //IL_0351: Unknown result type (might be due to invalid IL or missing references) //IL_0366: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)__instance).creatureSFX.clip = soundAlbedoLaugh1; ((EnemyAI)__instance).creatureVoice.clip = soundAlbedoLaugh1; __instance.movementAudio.clip = soundAlbedoLaugh1; Transform parent = ((Component)__instance).transform.Find("ScavengerModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("LOD1")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("LOD2")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("LOD3")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskComedy") .Find("ComedyMaskLOD1")).gameObject.GetComponent<MeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskComedy") .Find("Mesh")).gameObject.GetComponent<MeshRenderer>()).enabled = false; GameObject gameObject = ((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskComedy") .Find("Mesh") .Find("EyesFilled")).gameObject; if ((Object)(object)gameObject != (Object)null) { gameObject.transform.localScale = Vector3.zero; } ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("LevelSticker")).gameObject.GetComponent<MeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("BetaBadge")).gameObject.GetComponent<MeshRenderer>()).enabled = false; AlbedoObject = Object.Instantiate<GameObject>(AlbedoPrefab); AlbedoObject.transform.SetParent(parent); AlbedoObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); AlbedoObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)AlbedoObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(Landmine), "Start")] [HarmonyPrefix] private static void LandmineSummonPatch(Landmine __instance) { //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) Transform child = ((Component)__instance).transform.GetChild(0); ((Renderer)((Component)__instance).GetComponent<MeshRenderer>()).enabled = false; string text = "Bennett Instance "; Transform val = child; Debug.Log((object)(text + (((Object)(object)val != (Object)null) ? ((object)val).ToString() : null))); GameObject val2 = Object.Instantiate<GameObject>(BennettPrefab); string text2 = "Bennett Instance "; GameObject val3 = val2; Debug.Log((object)(text2 + (((Object)(object)val3 != (Object)null) ? ((object)val3).ToString() : null))); val2.transform.SetParent(child); val2.transform.localPosition = new Vector3(0.0004f, -0.0021f, -0.1799f); val2.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); val2.transform.localScale = Vector3.one; Vector3 localScale = child.localScale; ((Vector3)(ref localScale)).Set(100f, 100f, 50f); child.localScale = localScale; Vector3 localPosition = child.localPosition; ((Vector3)(ref localPosition)).Set(0f, 0f, 0f); child.localPosition = localPosition; } [HarmonyPatch(typeof(Landmine), "Detonate")] [HarmonyPostfix] public static void BennettDeath(Landmine __instance) { Transform val = ((Component)__instance).gameObject.transform.Find("BrightLight").Find("bennett(Clone)"); Object.Destroy((Object)(object)((Component)val).gameObject); } [HarmonyPatch(typeof(NutcrackerEnemyAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonNutcracker(NutcrackerEnemyAI __instance) { //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_0200: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Unknown result type (might be due to invalid IL or missing references) Transform parent = ((Component)__instance).transform.Find("MeshContainer"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("LOD0")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("LOD1")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; GameObject gameObject = ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("spinecontainer") .Find("GunAndArmsContainer")).gameObject; GameObject gameObject2 = ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("spinecontainer") .Find("GunAndArmsContainer") .Find("GunPoint")).gameObject; GameObject gameObject3 = ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("spinecontainer") .Find("GunAndArmsContainer") .Find("GunPoint") .Find("GunPointWithOffset")).gameObject; gameObject.transform.Rotate(0f, 0f, 90f); gameObject2.transform.Rotate(0f, 0f, 90f); gameObject3.transform.Rotate(0f, 0f, 90f); Vector3 val = default(Vector3); ((Vector3)(ref val))..ctor(0f, 0f, 0.3f); Transform transform = gameObject.transform; transform.localPosition += val; Transform transform2 = gameObject2.transform; transform2.localPosition += val; Transform transform3 = gameObject3.transform; transform3.localPosition += val; ((EnemyAI)__instance).creatureVoice.clip = soundChevNutcrackerAngry; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode (1)")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Chevreuse"; ChevObject = Object.Instantiate<GameObject>(ChevPrefab); ChevObject.transform.SetParent(parent); ChevObject.transform.localRotation = Quaternion.Euler(0f, 270f, 0f); ChevObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)ChevObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(NutcrackerEnemyAI), "TurnTorsoToTargetDegrees")] [HarmonyPostfix] public static void TurnContainer(NutcrackerEnemyAI __instance) { if ((Object)(object)__instance != (Object)null && (Object)(object)ChevObject != (Object)null) { ((MonoBehaviour)__instance).StartCoroutine(DelayedRotation(__instance)); } } private static IEnumerator DelayedRotation(NutcrackerEnemyAI __instance) { yield return null; if ((Object)(object)__instance.torsoContainer != (Object)null) { Quaternion rotation = __instance.torsoContainer.rotation; float torsoYRotation = ((Quaternion)(ref rotation)).eulerAngles.y; rotation = ChevObject.transform.rotation; Vector3 chevRotation = ((Quaternion)(ref rotation)).eulerAngles; chevRotation.y = torsoYRotation; ChevObject.transform.rotation = Quaternion.Euler(chevRotation); } } [HarmonyPatch(typeof(PufferAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonPuffer(PufferAI __instance) { //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) __instance.bitePlayerSFX = soundChildeBite; __instance.puff = soundChildePuffSFX; __instance.stomp = soundChildeStomp; __instance.rattleTail = soundChildeRattleTail; __instance.angry = soundChildeAngry; __instance.nervousMumbling = soundChildeNervous; __instance.frightenSFX[0] = soundChildeFrighten1; __instance.frightenSFX[1] = soundChildeFrighten3; Transform parent = ((Component)__instance).transform.Find("PufferModel"); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("PufferModel").Find("BezierCurve")).gameObject.GetComponent<SkinnedMeshRenderer>()); ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Childe"; ChildeObject = Object.Instantiate<GameObject>(ChildePrefab); ChildeObject.transform.SetParent(parent); ChildeObject.transform.localRotation = Quaternion.Euler(0f, 180f, 0f); ChildeObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)ChildeObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(PufferAI), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateAnimationDirection(PufferAI __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("PufferModel").Find("AnimContainer")).gameObject.GetComponent<Animator>(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } [HarmonyPatch(typeof(PufferAI), "KillEnemy")] [HarmonyPrefix] public static void OnKillEnemy(PufferAI __instance, ref float ___velX, ref float ___velZ) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("PufferModel").Find("AnimContainer")).gameObject.GetComponent<Animator>(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f, 0f)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f, 0f)); } } [HarmonyPatch(typeof(HoarderBugAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonBug(HoarderBugAI __instance) { //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) Transform parent = ((Component)__instance).transform.Find("HoarderBugModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("Cube")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("Cube.001")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("AnimContainer").Find("Armature") .Find("Abdomen") .Find("Chest") .Find("Head") .Find("LeftWing")).gameObject.GetComponent<MeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("AnimContainer").Find("Armature") .Find("Abdomen") .Find("Chest") .Find("Head") .Find("RightWing")).gameObject.GetComponent<MeshRenderer>()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Dori"; DoriObject = Object.Instantiate<GameObject>(DoriPrefab); DoriObject.transform.SetParent(parent); DoriObject.transform.localRotation = Quaternion.identity; DoriObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)DoriObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(HoarderBugAI), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateAnimationDirection(HoarderBugAI __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("AnimContainer")).gameObject.GetComponent<Animator>(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } [HarmonyPatch(typeof(HoarderBugAI), "KillEnemy")] [HarmonyPrefix] public static void OnKillEnemy(HoarderBugAI __instance, ref float ___velX, ref float ___velZ) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("AnimContainer")).gameObject.GetComponent<Animator>(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f, 0f)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f, 0f)); } } [HarmonyPatch(typeof(SandSpiderAI), "Start")] [HarmonyPrefix] public static void SummonFurina(SandSpiderAI __instance) { //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) Transform parent = ((Component)__instance).transform.Find("MeshContainer"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("MeshRenderer")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("Armature") .Find("Head") .Find("RightFang")).gameObject.GetComponent<MeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("Armature") .Find("Head") .Find("LeftFang")).gameObject.GetComponent<MeshRenderer>()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("FootstepSFX")).gameObject.GetComponent<AudioSource>().mute = true; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("ScanNode")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Furina"; FurinaObject = Object.Instantiate<GameObject>(FurinaPrefab); FurinaObject.transform.SetParent(parent); FurinaObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); FurinaObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)FurinaObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(BaboonBirdAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonBaboon(BaboonBirdAI __instance) { //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) Transform parent = ((Component)__instance).transform.Find("BaboonBirdModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("BaboonBirdModel").Find("BodyLOD0")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("BaboonBirdModel").Find("BodyLOD1")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("BaboonBirdModel").Find("BodyLOD2")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Itto"; IttoObject = Object.Instantiate<GameObject>(IttoPrefab); IttoObject.transform.SetParent(parent); IttoObject.transform.localRotation = Quaternion.identity; IttoObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)IttoObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(BaboonBirdAI), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateAnimationDirection(BaboonBirdAI __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("BaboonBirdModel").Find("AnimContainer")).gameObject.GetComponent<Animator>(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } [HarmonyPatch(typeof(BaboonBirdAI), "KillEnemy")] [HarmonyPrefix] public static void OnKillEnemy(BaboonBirdAI __instance, ref float ___velX, ref float ___velZ) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("BaboonBirdModel").Find("AnimContainer")).gameObject.GetComponent<Animator>(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f, 0f)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f, 0f)); } } [HarmonyPatch(typeof(ForestGiantAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonForestG(ForestGiantAI __instance) { //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) Transform parent = ((Component)__instance).transform.Find("FGiantModelContainer"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("BodyLOD0")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("BodyLOD1")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("BodyLOD2")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode (1)")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Klee"; KleeObject = Object.Instantiate<GameObject>(KleePrefab); KleeObject.transform.SetParent(parent); KleeObject.transform.localRotation = Quaternion.identity; KleeObject.transform.localPosition = Vector3.zero; GameObject gameObject = ((Component)((Component)__instance).transform.Find("FGiantModelContainer/Klee(Clone)/Armature/Hips/Spine/Chest/Right shoulder/Right arm/Right elbow/Right wrist/PlayerPoint")).gameObject; GameObject gameObject2 = ((Component)((Component)__instance).transform.Find("FGiantModelContainer/Klee(Clone)/Armature/Hips/Spine/Chest/Right shoulder/Right arm/Right elbow/Right wrist/PlayerPoint")).gameObject; GameObject gameObject3 = ((Component)((Component)__instance).transform.Find("FGiantModelContainer/Klee(Clone)/Armature/Hips/Spine/Chest/Neck/Head")).gameObject; if ((Object)(object)gameObject2 != (Object)null) { __instance.holdPlayerPoint = gameObject2.transform; } else { mls.LogError((object)"Hand bone object not found or is null."); } if ((Object)(object)gameObject != (Object)null) { __instance.handBone = gameObject.transform; } else { mls.LogError((object)"Hand bone object not found or is null."); } if ((Object)(object)gameObject3 != (Object)null) { __instance.centerPosition = gameObject3.transform; } else { mls.LogError((object)"Hand bone object not found or is null."); } ((EnemyAI)__instance).creatureAnimator = ((Component)KleeObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(ForestGiantAI), "BeginEatPlayer")] [HarmonyPrefix] public static void Noise(ForestGiantAI __instance) { ((EnemyAI)__instance).creatureVoice.PlayOneShot(soundGiantEatPlayer); } [HarmonyPatch(typeof(ForestGiantAI), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateAnimationDirection(ForestGiantAI __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("AnimContainer")).gameObject.GetComponent<Animator>(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } [HarmonyPatch(typeof(ForestGiantAI), "KillEnemy")] [HarmonyPrefix] public static void OnKillEnemy(ForestGiantAI __instance, ref float ___velX, ref float ___velZ) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("AnimContainer")).gameObject.GetComponent<Animator>(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f, 0f)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f, 0f)); } } [HarmonyPatch(typeof(Turret), "Start")] [HarmonyPrefix] private static void TurretPatchStart(Turret __instance, ref Transform ___centerPoint, ref float ___rotationRange, ref Animator ___turretAnimator, ref ParticleSystem ___bulletParticles) { //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) __instance.berserkAudio.clip = soundNaviaTurretBeserkMode; __instance.detectPlayerSFX = soundNaviaTurretSeePlayer; __instance.firingFarSFX = soundNaviaTurretFireDistant; __instance.firingSFX = soundNaviaTurretFire; __instance.turretActivate = soundNaviaTurretActivate; __instance.turretDeactivate = soundNaviaTurretDeactivate; Transform parent = ((Component)__instance).transform.parent; Transform meshContainer = parent.Find("MeshContainer"); Vector3 val = ___centerPoint.position - new Vector3(0f, 1.4968f, 0f); Quaternion rotation = ___centerPoint.rotation; Transform val2 = Object.Instantiate<Transform>(NaviaPrefab.transform, val, rotation, parent); val2.localRotation = Quaternion.Euler(0f, 0f, 0f); ((Object)val2).name = "NaviaV1"; ___turretAnimator = ((Component)val2).GetComponent<Animator>(); ___bulletParticles = ((Component)val2).GetComponentInChildren<ParticleSystem>(); bool active = true; ((Component)val2.GetChild(0)).gameObject.SetActive(active); DisableMeshRenderers(meshContainer); turretDictionary[__instance] = val2; } [HarmonyPatch(typeof(Turret), "Update")] [HarmonyPostfix] private static void TurretUpdate(Turret __instance, ref Animator ___turretAnimator, ref Transform ___turretRod) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) if (turretDictionary.TryGetValue(__instance, out var value)) { ((Component)((Component)value).GetComponentInChildren<ParticleSystem>()).transform.rotation = ___turretRod.rotation; Transform child = value.GetChild(0); Quaternion rotation = child.rotation; value.rotation = rotation; UpdateLaserPosition(((Component)child).GetComponent<LineRenderer>(), child, ___turretRod.rotation); if (___turretAnimator.GetInteger("TurretMode") == 0) { Quaternion rotation2 = value.GetChild(0).rotation; Quaternion rotation3 = value.rotation; float num = Mathf.Clamp01(4f * Time.deltaTime); value.GetChild(24).rotation = value.GetChild(0).rotation; } else { value.GetChild(24).rotation = value.GetChild(0).rotation; } } } private static void DisableMeshRenderers(Transform meshContainer) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown foreach (object item in ((Component)meshContainer).transform) { Transform val = (Transform)item; MeshRenderer component = ((Component)val).GetComponent<MeshRenderer>(); if ((Object)(object)component != (Object)null && !((Object)val).name.Contains("Plane")) { ((Renderer)component).enabled = false; } DisableMeshRenderers(((Component)val).transform); } } private static void UpdateLaserPosition(LineRenderer laser, Transform startPoint, Quaternion rodRotation) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) startPoint.rotation = rodRotation; laser.SetPosition(0, startPoint.position); RaycastHit val = default(RaycastHit); if (Physics.Raycast(startPoint.position, startPoint.forward, ref val)) { laser.SetPosition(1, ((RaycastHit)(ref val)).point); } else { laser.SetPosition(1, startPoint.position + startPoint.forward * 100f); } } [HarmonyPatch(typeof(JesterAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonJester(JesterAI __instance) { //IL_03ef: Unknown result type (might be due to invalid IL or missing references) //IL_0404: Unknown result type (might be due to invalid IL or missing references) __instance.killPlayerSFX = soundNeuvKillPlayer; Transform parent = ((Component)__instance).transform.Find("MeshContainer"); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("spine.004") .Find("spine.005") .Find("spine.006") .Find("LowerJaw")).gameObject.GetComponent<MeshRenderer>()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("spine.004") .Find("spine.005") .Find("spine.006") .Find("UpperJaw")).gameObject.GetComponent<MeshRenderer>()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("spine.004") .Find("spine.005") .Find("spine.006") .Find("UpperJaw") .Find("UpperJawLowDetail")).gameObject.GetComponent<MeshRenderer>()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("spine.004") .Find("spine.005") .Find("spine.006") .Find("UpperJaw") .Find("UpperJawLowDetail2")).gameObject.GetComponent<MeshRenderer>()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("spine.004") .Find("spine.005") .Find("spine.006") .Find("LowerJaw") .Find("LowerJawLowDetail")).gameObject.GetComponent<MeshRenderer>()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("BoxBone") .Find("RecordCrank")).gameObject.GetComponent<MeshRenderer>()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("BoxBone") .Find("BoxLid")).gameObject.GetComponent<MeshRenderer>()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("JackInTheBoxBody")).gameObject.GetComponent<SkinnedMeshRenderer>()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("JackInTheBoxBodyLowDetail")).gameObject.GetComponent<SkinnedMeshRenderer>()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("JackInTheBoxBodyLowDetail2")).gameObject.GetComponent<SkinnedMeshRenderer>()); ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Neuvillette"; NeuvObject = Object.Instantiate<GameObject>(NeuvPrefab); NeuvObject.transform.SetParent(parent); NeuvObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); NeuvObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)NeuvObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(BlobAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonBlob(BlobAI __instance) { //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) __instance.agitatedSFX = NilouAngry; __instance.idleSFX = NilouIdle; __instance.jiggleSFX = NilouJiggleSFX; __instance.killPlayerSFX = NilouEatPlayer; __instance.hitSlimeSFX = NilouHitSlime; Transform val = ((Component)__instance).transform.Find("Icosphere"); Transform parent = ((Component)__instance).transform.Find("ScanNode (1)"); if ((Object)(object)val != (Object)null) { ((Component)val).gameObject.SetActive(false); } ((Component)((Component)__instance).gameObject.transform.Find("ScanNode (1)")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Nilou"; NilouObject = Object.Instantiate<GameObject>(NilouPrefab); NilouObject.transform.SetParent(parent); NilouObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); NilouObject.transform.localPosition = new Vector3(1.45f, 0f, 0f); Vector3 position = ((Component)__instance).transform.position; NilouFacingDirection nilouFacingDirection = NilouObject.AddComponent<NilouFacingDirection>(); nilouFacingDirection.blobAI = __instance; nilouFacingDirection.prevPosition = position; ((EnemyAI)__instance).creatureAnimator = ((Component)NilouObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(BlobAI), "Update")] [HarmonyPrefix] public static void Blob(BlobAI __instance) { ((Behaviour)((EnemyAI)__instance).creatureAnimator).enabled = true; } [HarmonyPatch(typeof(BlobAI), "Update")] [HarmonyPostfix] public static void BlobAI_Update_Patch(BlobAI __instance) { Animator creatureAnimator = ((EnemyAI)__instance).creatureAnimator; ((Behaviour)((EnemyAI)__instance).creatureAnimator).enabled = true; ((Behaviour)creatureAnimator).enabled = true; if ((Object)(object)creatureAnimator != (Object)null) { AudioSource creatureSFX = ((EnemyAI)__instance).creatureSFX; AudioClip clip = creatureSFX.clip; if ((Object)(object)clip == (Object)(object)__instance.agitatedSFX) { creatureAnimator.SetBool("IsAgitated", true); creatureAnimator.SetBool("IsJiggling", false); creatureAnimator.SetBool("IsIdle", false); creatureAnimator.SetBool("IsHurt", false); creatureAnimator.SetBool("IsKilling", false); } else if ((Object)(object)clip == (Object)(object)__instance.jiggleSFX) { creatureAnimator.SetBool("IsAgitated", false); creatureAnimator.SetBool("IsJiggling", true); creatureAnimator.SetBool("IsIdle", false); creatureAnimator.SetBool("IsHurt", false); creatureAnimator.SetBool("IsKilling", false); } else if ((Object)(object)clip == (Object)(object)__instance.idleSFX) { creatureAnimator.SetBool("IsAgitated", false); creatureAnimator.SetBool("IsJiggling", false); creatureAnimator.SetBool("IsIdle", true); creatureAnimator.SetBool("IsHurt", false); creatureAnimator.SetBool("IsKilling", false); } else if ((Object)(object)clip == (Object)(object)__instance.hitSlimeSFX) { creatureAnimator.SetBool("IsAgitated", false); creatureAnimator.SetBool("IsJiggling", false); creatureAnimator.SetBool("IsIdle", false); creatureAnimator.SetBool("IsHurt", true); creatureAnimator.SetBool("IsKilling", false); } else if ((Object)(object)clip == (Object)(object)__instance.killPlayerSFX) { creatureAnimator.SetBool("IsAgitated", false); creatureAnimator.SetBool("IsJiggling", false); creatureAnimator.SetBool("IsIdle", false); creatureAnimator.SetBool("IsHurt", false); creatureAnimator.SetBool("IsKilling", true); } } } [HarmonyPatch(typeof(BlobAI), "FixedUpdate")] [HarmonyPrefix] public static void Blob2(BlobAI __instance) { ((Behaviour)((EnemyAI)__instance).creatureAnimator).enabled = true; } [HarmonyPatch(typeof(CentipedeAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonCentipede(CentipedeAI __instance) { //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) Transform parent = ((Component)__instance).transform.Find("CentipedeModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("CentipedeModel").Find("LOD1")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("CentipedeModel").Find("LOD2")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Paimon"; PaimonObject = Object.Instantiate<GameObject>(PaimonPrefab); PaimonObject.transform.SetParent(parent); PaimonObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); PaimonObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)PaimonObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(DressGirlAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonWorm(DressGirlAI __instance) { //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) __instance.appearStaringSFX[0] = soundQiqiLaugh1_0; __instance.appearStaringSFX[1] = soundQiqiLaugh2; __instance.breathingSFX = soundQiqiBreathing; __instance.heartbeatMusic.clip = soundQiqiBellChimeAmbience; Transform parent = ((Component)__instance).transform.Find("DressGirlModel").Find("basemesh"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("DressGirlModel").Find("basemesh")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("DressGirlModel").Find("AnimContainer").Find("metarig") .Find("spine") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("spine.006") .Find("Icosphere")).gameObject.GetComponent<MeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("DressGirlModel").Find("AnimContainer").Find("metarig") .Find("spine") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("spine.006") .Find("Icosphere.001")).gameObject.GetComponent<MeshRenderer>()).enabled = false; QiqiObject = Object.Instantiate<GameObject>(QiqiPrefab); QiqiObject.transform.SetParent(parent); QiqiObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); QiqiObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)QiqiObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(FlowermanAI), "Start")] [HarmonyPostfix] public static void SummonBracken(FlowermanAI __instance) { //IL_01f3: Unknown result type (might be due to invalid IL or missing references) //IL_0208: Unknown result type (might be due to invalid IL or missing references) __instance.creatureAngerVoice.clip = soundRaidenAngered; __instance.crackNeckSFX = soundRaidenCrackNeck; __instance.crackNeckAudio.clip = soundRaidenCrackNeck; ((EnemyAI)__instance).enemyType.stunSFX = soundRaidenStunFlowerman; ((EnemyAI)__instance).enemyBehaviourStates[1].VoiceClip = soundRaidenFound1; Transform parent = ((Component)__instance).transform.Find("FlowermanModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FlowermanModel").Find("LOD1")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FlowermanModel").Find("AnimContainer").Find("metarig") .Find("Torso1") .Find("Torso2") .Find("Torso3") .Find("Neck1") .Find("Neck2") .Find("Head1") .Find("LeftEye")).gameObject.GetComponent<MeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FlowermanModel").Find("AnimContainer").Find("metarig") .Find("Torso1") .Find("Torso2") .Find("Torso3") .Find("Neck1") .Find("Neck2") .Find("Head1") .Find("RightEye")).gameObject.GetComponent<MeshRenderer>()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Raiden Shogun"; RaidenObject = Object.Instantiate<GameObject>(RaidenPrefab); RaidenObject.transform.SetParent(parent); RaidenObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); RaidenObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)RaidenObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(FlowermanAI), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateAnimationDirection(FlowermanAI __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("FlowermanModel").Find("AnimContainer")).gameObject.GetComponent<Animator>(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } [HarmonyPatch(typeof(FlowermanAI), "KillEnemy")] [HarmonyPrefix] public static void OnKillEnemy(FlowermanAI __instance, ref float ___velX, ref float ___velZ) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("FlowermanModel").Find("AnimContainer")).gameObject.GetComponent<Animator>(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f, 0f)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f, 0f)); } } [HarmonyPatch(typeof(CrawlerAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonCrawler(CrawlerAI __instance) { //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) Transform parent = ((Component)__instance).transform.Find("CrawlerModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("CrawlerModel").Find("Cube.002")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Razor"; RazorObject = Object.Instantiate<GameObject>(RazorPrefab); RazorObject.transform.SetParent(parent); RazorObject.transform.localRotation = Quaternion.Euler(0f, 270f, 0f); RazorObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)RazorObject.transform).GetComponent<Animator>(); } [HarmonyPatch(typeof(RedLocustBees), "Start")] [HarmonyPostfix] public static void PluginDetectSummonBees(RedLocustBees __instance) { //IL_00cb: Unknown result type (might be due to invalid IL or missing references) __instance.beesIdle.clip = soundScaraBeeHiveIdle; __instance.beesDefensive.clip = soundScaraBeesDefensive; __instance.beesAngry.clip = soundScaraBeesAngry; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Scaramouche"; Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("BugSwarmParticle").Find("Target")).gameObject.GetComponent<MeshRenderer>()); ScaraObject = Object.Instantiate<GameObject>(ScaraPrefab); ScaraObject.transform.SetParent(((Component)__instance).transform, false); ScaraObject.transform.localPosition = new Vector3(0f, 0f, 0f); __instance.beeParticles = ScaraObject.GetComponent<VisualEffect>(); } [HarmonyPatch(typeof(Terminal), "BeginUsingTerminal")] [HarmonyPostfix] public static void BeginUsingTerminalPatch(Terminal __instance) { __instance.terminalNodes.allKeywords[41].word = "paimon"; __instance.enemyFiles[0].creatureName = "Paimon"; __instance.enemyFiles[0].displayVideo = PaimonVideo; __instance.enemyFiles[0].displayText = PaimonText.text; __instance.terminalNodes.allKeywords[36].word = "raiden-shogun"; __instance.enemyFiles[1].creatureName = "Raiden Shogun"; __instance.enemyFiles[1].displayVideo = RaidenVideo; __instance.enemyFiles[1].displayText = RaidenText.text; __instance.terminalNodes.allKeywords[52].word = "razor"; __instance.enemyFiles[2].creatureName = "Razor"; __instance.enemyFiles[2].displayVideo = RazorVideo; __instance.enemyFiles[2].displayText = RazorText.text; __instance.terminalNodes.allKeywords[42].word = "wriothesley"; __instance.enemyFiles[3].creatureName = "Wriothesley"; __instance.enemyFiles[3].displayVideo = WrisVideo; __instance.enemyFiles[3].displayText = WrisText.text; __instance.terminalNodes.allKeywords[43].word = "dori"; __instance.enemyFiles[4].creatureName = "Dori"; __instance.enemyFiles[4].displayVideo = DoriVideo; __instance.enemyFiles[4].displayText = DoriText.text; __instance.terminalNodes.allKeywords[45].word = "nilou"; __instance.enemyFiles[5].creatureName = "Nilou"; __instance.enemyFiles[5].displayVideo = NilouVideo; __instance.enemyFiles[5].displayText = NilouText.text; __instance.terminalNodes.allKeywords[37].word = "klee"; __instance.enemyFiles[6].creatureName = "Klee"; __instance.enemyFiles[6].displayVideo = KleeVideo; __instance.enemyFiles[6].displayText = KleeText.text; __instance.terminalNodes.allKeywords[46].word = "zhongli"; __instance.enemyFiles[7].creatureName = "Zhongli"; __instance.enemyFiles[7].displayVideo = ZhongliVideo; __instance.enemyFiles[7].displayText = ZhongliText.text; __instance.terminalNodes.allKeywords[38].word = "yaoyao"; __instance.enemyFiles[9].creatureName = "Yaoyao"; __instance.enemyFiles[9].displayVideo = YaoyaoVideo; __instance.enemyFiles[9].displayText = YaoyaoText.text; __instance.terminalNodes.allKeywords[53].word = "neuvillette"; __instance.enemyFiles[10].creatureName = "Neuvillette"; __instance.enemyFiles[10].displayVideo = NeuvVideo; __instance.enemyFiles[10].displayText = NeuvText.text; __instance.terminalNodes.allKeywords[40].word = "childe"; __instance.enemyFiles[11].creatureName = "Childe"; __instance.enemyFiles[11].displayVideo = ChildeVideo; __instance.enemyFiles[11].displayText = ChildeText.text; __instance.terminalNodes.allKeywords[44].word = "furina"; __instance.enemyFiles[12].creatureName = "Furina"; __instance.enemyFiles[12].displayVideo = FurinaVideo; __instance.enemyFiles[12].displayText = FurinaText.text; __instance.terminalNodes.allKeywords[47].word = "venti"; __instance.enemyFiles[13].creatureName = "Venti"; __instance.enemyFiles[13].displayVideo = VentiVideo; __instance.enemyFiles[13].displayText = VentiText.text; __instance.terminalNodes.allKeywords[50].word = "scaramouche"; __instance.enemyFiles[14].creatureName = "Scaramouche"; __instance.enemyFiles[14].displayVideo = ScaraVideo; __instance.enemyFiles[14].displayText = ScaraText.text; __instance.terminalNodes.allKeywords[51].word = "kazuha"; __instance.enemyFiles[15].creatureName = "Kazuha"; __instance.enemyFiles[15].displayVideo = KazuhaVideo; __instance.enemyFiles[15].displayText = KazuhaText.text; __instance.terminalNodes.allKeywords[48].word = "itto"; __instance.enemyFiles[16].creatureName = "Itto"; __instance.enemyFiles[16].displayVideo = IttoVideo; __instance.enemyFiles[16].displayText = IttoText.text; __instance.terminalNodes.allKeywords[49].word = "chevreuse"; __instance.enemyFiles[17].creatureName = "Chevreuse"; __instance.enemyFiles[17].displayVideo = ChevVideo; __instance.enemyFiles[17].displayText = ChevText.text; } [HarmonyPatch(typeof(ShipAlarmCord), "Start")] [HarmonyPostfix] public static void HornChange(ShipAlarmCord __instance) { __instance.hornClose.clip = soundGenshinLoudhorn; __instance.hornFar.clip = soundGenshinLoudhornDistant; } [HarmonyPatch(typeof(SoundManager), "Start")] [HarmonyPostfix] public static void HighAction(SoundManager __instance) { __instance.highAction1.clip = soundGenshinHighAction1; __instance.highAction2.clip = soundGenshinHighAction2; __instance.lowAction.clip = soundGenshinLowAction; } [HarmonyPatch(typeof(DoublewingAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonBird(DoublewingAI __instance) { //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_02f0: Unknown result type (might be due to invalid IL or missing references) __instance.flappingAudio.clip = soundVentiDoublewingFlapConstant; Transform parent = ((Component)__instance).transform.Find("DoublewingModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("DoublewingModel").Find("BirdLOD0")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("DoublewingModel").Find("BirdLOD1")).gameObject.GetComponent<SkinnedMeshRenderer>()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("DoublewingModel").Find("BodyAnimContainer").Find("BodyPivot2") .Find("BodyPivot") .Find("AnimContainer") .Find("metarig") .Find("Bone.001") .Find("ScanNode")).gameObject.GetComponent<ScanNodeProperties>().headerText = "Venti"; Transform val = ((Component)__instance).gameObject.transform.Find("DoublewingModel").Find("BodyAnimContainer").Find("BodyPivot2") .Find("BodyPivot"); if ((Object)(object)val != (Object)null) { Rigidbody component = ((Component)val).gameObject.GetComponent<Rigidbody>(); if ((Object)(object)component != (Object)null) { Object.Destroy((Object)(object)component); } } VentiObject = Object.Instantiate<GameObject>(VentiPrefab); VentiObject.transform.SetParent(parent); VentiObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); VentiObject.transform.localPosition = Vector3.zero; __instance.bodyAnimator = VentiObject.GetComponent<Animator>(); ((EnemyAI)__instance).creatureAnimator = ((Component)VentiObject.transform.Find("Armature")).GetComponent<Animator>(); __instance.Body = VentiObject.transform.Find("Body"); if ((Object)(object)__instance.bodyAnimator != (Object)null) { mls.LogInfo((object)"BodyAnimator found on VentiObject!"); } else { mls.LogError((object)"BodyAnimator not found on VentiObject!"); } if ((Object)(object)((EnemyAI)__instance).creatureAnimator != (Object)null) { mls.LogInfo((object)"CreatureAnimator found on VentiObject!"); } else { mls.LogError((object)"CreatureAnimator not found on VentiObject!"); } Transform val2 = ((Component)__instance).gameObject.transform.Find("DoublewingModel").Find("BodyAnimContainer").Find("BodyPivot2") .Find("BodyPivot") .Find("AnimContainer") .Find("metarig") .Find("Bone.001") .Find("ScanNode"); if ((Object)(object)val2 != (Object)null) { val2.SetParent(VentiObject.transform); val2.position = VentiObject.transform.position; } else { mls.LogError((object)"ScanNode transform not found."); } } private static string GetHierarchyString(GameObject obj) { StringBuilder stringBuilder = new StringBuilder(); Transform val = obj.transform; while ((Object)(object)val != (Object)null) { stringBuilder.Insert(0, ((Object)val).name); i