Decompiled source of GenshinImpactOverhaul REPO v1.0.1
GenshinImpactOverhaulRepo.dll
Decompiled a month ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using GenshinImpactOverhaulRepo_AnimationEventHandler; using HarmonyLib; using TMPro; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("GenshinImpactOverhaulRepo")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("GenshinImpactOverhaulRepo")] [assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("37bcfbfa-ae7f-4caf-8417-bd3fae2c75f7")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace GenshinImpactOverhaulRepo { [BepInPlugin("GenshinImpactOverhaul", "GoblinKingShmeeGenshinImpactOverhaul", "1.0.0")] public class GenshinImpactOverhaul : BaseUnityPlugin { private readonly Harmony harmony = new Harmony("GenshinImpactOverhaul"); private static GenshinImpactOverhaul Instance; public static ManualLogSource mls; public static AssetBundle GenshinImpactOverhaulAssetBundle; public static GameObject MikaPrefab; public static AudioClip MikaSoundDeath1; public static AudioClip MikaSoundDeath2; public static AudioClip MikaSoundDeath3; public static AudioClip MikaSoundHurt1; public static AudioClip MikaSoundHurt2; public static AudioClip MikaSoundHurt3; public static AudioClip MikaSoundDespawn; public static AudioClip MikaSoundSpawn; public static AudioClip MikaSoundIdle1; public static AudioClip MikaSoundIdle2; public static AudioClip MikaSoundIdle3; public static AudioClip MikaSoundJump; public static AudioClip MikaSoundNotice1; public static AudioClip MikaSoundNotice2; public static AudioClip MikaSoundNotice3; public static AudioClip MikaSoundPickaxeTell; public static AudioClip MikaSoundStunFlyLoop; public static AudioClip MikaStunIntro1; public static AudioClip MikaStunIntro2; public static AudioClip MikaStunIntro3; public static AudioClip MikaStunOutro1; public static AudioClip MikaStunOutro2; public static AudioClip MikaStunOutro3; public static GameObject ClorindePrefab; public static AudioClip ClorindeSoundAim1; public static AudioClip ClorindeSoundAim2; public static AudioClip ClorindeSoundAim3; public static AudioClip ClorindeSoundAimGlobal1; public static AudioClip ClorindeSoundAimGlobal2; public static AudioClip ClorindeSoundAimGlobal3; public static AudioClip ClorindeSoundDeath1; public static AudioClip ClorindeSoundDeath2; public static AudioClip ClorindeSoundDeath3; public static AudioClip ClorindeSoundHurt1; public static AudioClip ClorindeSoundHurt2; public static AudioClip ClorindeSoundHurt3; public static AudioClip ClorindeSoundDespawn; public static AudioClip ClorindeSoundSpawn; public static AudioClip ClorindeSoundLeave1; public static AudioClip ClorindeSoundLeave2; public static AudioClip ClorindeSoundLeave3; public static GameObject BeidouPrefab; public static AudioClip BeidouAttackImpact; public static AudioClip BeidouAttackImpactGlobal; public static AudioClip BeidouAttackBuildupVO; public static AudioClip BeidouDeath; public static AudioClip BeidouHurt1; public static AudioClip BeidouHurt2; public static AudioClip BeidouHurt3; public static AudioClip BeidouJump; public static AudioClip BeidouLand; public static AudioClip BeidouLookUnderAttack; public static AudioClip BeidouLookUnderIntro; public static AudioClip BeidouLookUnderOutro; public static AudioClip BeidouNoiseLong1; public static AudioClip BeidouNoiseLong2; public static AudioClip BeidouNoiseLong3; public static AudioClip BeidouNoiseShort1; public static AudioClip BeidouNoiseShort2; public static AudioClip BeidouNoiseShort3; public static AudioClip BeidouNotice1; public static AudioClip BeidouNotice2; public static AudioClip BeidouNotice3; public static AudioClip BeidouStunnedLoop; public static GameObject SayuPrefab; public static AudioClip SayuAttackStart; public static AudioClip SayuAttackStop; public static AudioClip SayuDeath; public static AudioClip SayuDespawn; public static AudioClip SayuHurt1; public static AudioClip SayuHurt2; public static AudioClip SayuHurt3; public static AudioClip SayuJump1; public static AudioClip SayuJump2; public static AudioClip SayuJump3; public static AudioClip SayuLand1; public static AudioClip SayuLand2; public static AudioClip SayuLand3; public static AudioClip SayuNotice1; public static AudioClip SayuNotice2; public static AudioClip SayuNotice3; public static AudioClip SayuAttackLoop; public static AudioClip SayuSpawn; public static GameObject GamingPrefab; public static AudioClip GamingCleaverSwing1; public static AudioClip GamingCleaverSwing2; public static AudioClip GamingCleaverSwing3; public static AudioClip GamingHurt1; public static AudioClip GamingHurt2; public static AudioClip GamingHurt3; public static AudioClip GamingJump1; public static AudioClip GamingJump2; public static AudioClip GamingJump3; public static AudioClip GamingJump4; public static AudioClip GamingJump5; public static AudioClip GamingLand1; public static AudioClip GamingLand2; public static AudioClip GamingLand3; public static AudioClip GamingNotice; public static AudioClip GamingStunnedLoop; public static AudioClip GamingTumbleLocal; public static AudioClip GamingTumbleGlobal; public static GameObject KachinaPrefab; public static AudioClip KachinaDeath; public static AudioClip KachinaDespawn; public static AudioClip KachinaHurt1; public static AudioClip KachinaHurt2; public static AudioClip KachinaHurt3; public static AudioClip KachinaJump; public static AudioClip KachinaLand; public static AudioClip KachinaNotice; public static AudioClip KachinaPickupIntro; public static AudioClip KachinaPickupOutroTell; public static AudioClip KachinaPickupOutroThrow; public static AudioClip KachinaSpawn; public static AudioClip KachinaStunOutro; public static AudioClip KachinaStunLoop; public static GameObject ArlecchinoPrefab; public static AudioClip ArlecchinoAttack; public static AudioClip ArlecchinoDeath; public static AudioClip ArlecchinoHurt1; public static AudioClip ArlecchinoHurt2; public static AudioClip ArlecchinoHurt3; public static AudioClip ArlecchinoScream1; public static AudioClip ArlecchinoScream1Global; public static AudioClip ArlecchinoScream2; public static AudioClip ArlecchinoScream2Global; public static AudioClip ArlecchinoScream3; public static AudioClip ArlecchinoScream3Global; public static AudioClip ArlecchinoTeleportIn; public static AudioClip ArlecchinoTeleportOut; public static AudioClip ArlecchinoZoom; public static GameObject AlhaithamPrefab; public static AudioClip AlhaithamAttackIntro; public static AudioClip AlhaithamAttackLoop; public static AudioClip AlhaithamAttackOutro; public static AudioClip AlhaithamDeath; public static AudioClip AlhaithamHurt1; public static AudioClip AlhaithamHurt2; public static AudioClip AlhaithamHurt3; public static AudioClip AlhaithamJump; public static AudioClip AlhaithamLand; public static AudioClip AlhaithamMeleeKick; public static AudioClip AlhaithamMeleeTell; public static AudioClip AlhaithamStunIntro; public static AudioClip AlhaithamStunOutro; public static AudioClip AlhaithamStunLoop; public static Material AlhaithamLaserInside; public static Material AlhaithamLaser; public static Material AlhaithamLaserVariant; public static Material AlhaithamLaserSmoke; public static GameObject BarbaraPrefab; public static AudioClip BarbaraDeath; public static AudioClip BarbaraDespawn; public static AudioClip BarbaraHurt1; public static AudioClip BarbaraHurt2; public static AudioClip BarbaraHurt3; public static AudioClip BarbaraIdleLoop; public static AudioClip BarbaraScreamEndGlobal; public static AudioClip BarbaraScreamStartGlobal; public static AudioClip BarbaraScreamLoopGlobal; public static AudioClip BarbaraScreamLoopLocal; public static AudioClip BarbaraStunnedLoop; public static AudioClip BarbaraJump; public static AudioClip BarbaraNotice; public static AudioClip BarbaraLand; public static GameObject XianyunPrefab; public static AudioClip XianyunAttackDown; public static AudioClip XianyunAttackDownGlobal; public static AudioClip XianyunAttackUp; public static AudioClip XianyunAttackUpGlobal; public static AudioClip XianyunDeath; public static AudioClip XianyunHurt1; public static AudioClip XianyunHurt2; public static AudioClip XianyunHurt3; public static AudioClip XianyunStunnedLoop; public static AudioClip XianyunChargeAttack; public static AudioClip XianyunChargeAttackLoop; public static AudioClip XianyunClapGlobal; public static AudioClip XianyunClapLocal; public static AudioClip XianyunDelayAttack; public static Material XianyunMaterial; public static GameObject IansanPrefab; public static AudioClip IansanDespawn; public static AudioClip IansanHurt1; public static AudioClip IansanHurt2; public static AudioClip IansanHurt3; public static AudioClip IansanIdle1; public static AudioClip IansanIdle2; public static AudioClip IansanIdle3; public static AudioClip IansanJump; public static AudioClip IansanLand; public static AudioClip IansanScream1Global; public static AudioClip IansanScream1Local; public static AudioClip IansanScream2Global; public static AudioClip IansanScream2Local; public static AudioClip IansanScream3Global; public static AudioClip IansanScream3Local; public static GameObject HuTaoPrefab; public static AudioClip HutaoAttack; public static AudioClip HutaoAttackGlobal; public static AudioClip HutaoCrackingFingers; public static AudioClip HutaoCrackingFingersAggresive; public static AudioClip HutaoHurt1; public static AudioClip HutaoHurt2; public static AudioClip HutaoHurt3; public static AudioClip HutaoLookUnderScream; public static AudioClip HutaoLookUnderScreamGlobal; public static AudioClip HutaoNoise1; public static AudioClip HutaoNoise2; public static AudioClip HutaoNoise3; public static AudioClip HutaoNoise4; public static AudioClip HutaoStunStart; public static AudioClip HutaoTargetingPlayer; public static AudioClip HutaoStunnedLoop; public static GameObject AyatoPrefab; public static AudioClip AyatoAttack1; public static AudioClip AyatoAttack2; public static AudioClip AyatoAttack3; public static AudioClip AyatoAttack4; public static AudioClip AyatoAttack5; public static AudioClip AyatoDeath; public static AudioClip AyatoHurt1; public static AudioClip AyatoHurt2; public static AudioClip AyatoHurt3; public static AudioClip AyatoJump; public static AudioClip AyatoStunnedLoop; public static GameObject NahidaPrefab; public static AudioClip NahidaBlink1; public static AudioClip NahidaBlink2; public static AudioClip NahidaBlink3; public static AudioClip NahidaDeath; public static AudioClip NahidaDespawn; public static AudioClip NahidaLaser; public static AudioClip NahidaLaserBuildup; public static AudioClip NahidaSpawn; public static AudioClip NahidaStaringStart; public static AudioClip NahidaStareLoopTwitching; public static AudioClip NahidaStareLoop; public static GameObject GorouPrefab; public static AudioClip GorouBiteStart1; public static AudioClip GorouBiteStart2; public static AudioClip GorouBiteStart3; public static AudioClip GorouChaseBegin; public static AudioClip GorouChaseBeginGlobal; public static AudioClip GorouChaseBeginToChase; public static AudioClip GorouChaseToIdle; public static AudioClip GorouDeath; public static AudioClip GorouDespawn; public static AudioClip GorouHurt1; public static AudioClip GorouHurt2; public static AudioClip GorouHurt3; public static AudioClip GorouSpawn; public static AudioClip GorouTeethChatter1; public static AudioClip GorouTeethChatter2; public static AudioClip GorouTeethChatter3; public static AudioClip GorouTeethChatter4; public static AudioClip GorouTeethChatter5; public static GameObject TapirPrefab; public static AudioClip TapirAttackLoop; public static AudioClip TapirDeath; public static AudioClip TapirHurt1; public static AudioClip TapirHurt2; public static AudioClip TapirHurt3; public static AudioClip TapirNotice1; public static AudioClip TapirNotice2; public static AudioClip TapirNotice3; public static AudioClip TapirQuack1; public static AudioClip TapirQuack2; public static AudioClip TapirQuack3; public static AudioClip TapirStunEnd1; public static AudioClip TapirStunEnd2; public static AudioClip TapirStunEnd3; public static AudioClip TapirStunLoop; public static AudioClip TapirBite1; public static AudioClip TapirBite2; public static AudioClip TapirBite3; public static AudioClip TapirBite4; public static AudioClip TapirBite5; public static AudioClip TapirBite6; public static GameObject MavuikaPrefab; public static AudioClip MavuikaAttackBreaker1; public static AudioClip MavuikaAttackBreaker2; public static AudioClip MavuikaAttackBreaker3; public static AudioClip MavuikaAttackBreaker4; public static AudioClip MavuikaAttackBreaker5; public static AudioClip MavuikaDeath1; public static AudioClip MavuikaDeath2; public static AudioClip MavuikaDeath3; public static AudioClip MavuikaExplodeTell1; public static AudioClip MavuikaExplodeTell2; public static AudioClip MavuikaExplodeTell3; public static AudioClip MavuikaFuseTell1; public static AudioClip MavuikaFuseTell2; public static AudioClip MavuikaFuseTell3; public static AudioClip MavuikaHurt1; public static AudioClip MavuikaHurt2; public static AudioClip MavuikaHurt3; public static AudioClip MavuikaIdleBreaker1; public static AudioClip MavuikaIdleBreaker2; public static AudioClip MavuikaIdleBreaker3; public static AudioClip MavuikaIdleBreaker4; public static AudioClip MavuikaIdleBreaker5; public static AudioClip MavuikaJump1; public static AudioClip MavuikaJump2; public static AudioClip MavuikaJump3; public static AudioClip MavuikaLand1; public static AudioClip MavuikaLand2; public static AudioClip MavuikaLand3; public static AudioClip MavuikaStunIntro1; public static AudioClip MavuikaStunIntro2; public static AudioClip MavuikaStunIntro3; public static AudioClip MavuikaStunLoop; public static AudioClip MavuikaStunOutro1; public static AudioClip MavuikaStunOutro2; public static AudioClip MavuikaStunOutro3; public static Texture2D DoriEmojis; public static Material DoriMaterial; public static ConfigEntry<bool> MikaReplacement { get; private set; } public static ConfigEntry<bool> ClorindeReplacement { get; private set; } public static ConfigEntry<bool> BeidouReplacement { get; private set; } public static ConfigEntry<bool> SayuReplacement { get; private set; } public static ConfigEntry<bool> KachinaReplacement { get; private set; } public static ConfigEntry<bool> IansanReplacement { get; private set; } public static ConfigEntry<bool> HuTaoReplacement { get; private set; } public static ConfigEntry<bool> GamingReplacement { get; private set; } public static ConfigEntry<bool> BarbaraReplacement { get; private set; } public static ConfigEntry<bool> AyatoReplacement { get; private set; } public static ConfigEntry<bool> GorouReplacement { get; private set; } public static ConfigEntry<bool> AlhaithamReplacement { get; private set; } public static ConfigEntry<bool> MavuikaReplacement { get; private set; } public static ConfigEntry<bool> NahidaReplacement { get; private set; } public static ConfigEntry<bool> TapirReplacement { get; private set; } public static ConfigEntry<bool> XianyunReplacement { get; private set; } public static ConfigEntry<bool> ArlecchinoReplacement { get; private set; } public static ConfigEntry<bool> DoriEmojiReplacement { get; private set; } private void Awake() { if ((Object)(object)Instance == (Object)null) { Instance = this; } mls = ((BaseUnityPlugin)this).Logger; mls.LogInfo((object)"--===GENSHIN IMPACT OVERHAUL LOADING===--"); harmony.PatchAll(); string text = Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "genshinoverhaul"); GenshinImpactOverhaulAssetBundle = AssetBundle.LoadFromFile(text); if ((Object)(object)GenshinImpactOverhaulAssetBundle == (Object)null) { mls.LogWarning((object)"COULD NOT FIND GENSHIN ASSETS"); } LoadAssets(); DoriEmojiReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Extra", "Emojis", true, "Replace some of the money related emojis with Dori ones"); AlhaithamReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Alhaitham", true, "Replace the Clown with Alhaitham"); ArlecchinoReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Arlecchino", true, "Replace the Shadow Child with Arlecchino"); BarbaraReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Barbara", true, "Replace the Bowtie with Barbara"); BeidouReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Beidou", true, "Replace the Trudge with Beidou"); ClorindeReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Clorinde", true, "Replace the Hunter with Clorinde"); GamingReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Gaming", true, "Replace the Chef with Gaming"); GorouReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Gorou", true, "Replace the Headman with Gorou"); HuTaoReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Hu Tao", true, "Replace the Robe with Hu Tao"); IansanReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Iansan", true, "Replace the Upscream with Iansan"); KachinaReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Kachina", true, "Replace the Rugrat with Kachina"); AyatoReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Kamisato Ayato", true, "Replace the Reaper with Ayato"); MavuikaReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Mavuika", true, "Replace the Bang with Mavuika"); MikaReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Mika", true, "Replace the Gnomes with Mika"); NahidaReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Nahida", true, "Replace the Peeper with Nahida"); SayuReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Sayu", true, "Replace the Animal with Sayu"); TapirReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Tapir", true, "Replace the Duck with Mizuki's Tapir"); XianyunReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models and Sounds", "Xianyun", true, "Replace the Mentalist with Xianyun"); } public void LoadAssets() { LoadMikaAssets(); LoadClorindeAssets(); LoadBeidouAssets(); LoadSayuAssets(); LoadKachinaAssets(); LoadIansanAssets(); LoadHuTaoAssets(); LoadGamingAssets(); LoadBarbaraAssets(); LoadAyatoAssets(); LoadAlhaithamAssets(); LoadNahidaAssets(); LoadXianyunAssets(); LoadArlecchinoAssets(); LoadGorouAssets(); LoadTapirAssets(); LoadMavuikaAssets(); LoadExtraAssets(); } public void LoadMikaAssets() { MikaPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Mika/Mika.prefab"); MikaSoundDeath1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaDeath1.ogg"); MikaSoundDeath2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaDeath2.ogg"); MikaSoundDeath3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaDeath3.ogg"); MikaSoundDespawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaDespawn.ogg"); MikaSoundHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaHurt1.ogg"); MikaSoundHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaHurt2.ogg"); MikaSoundHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaHurt3.ogg"); MikaSoundIdle1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaIdleBreaker1.ogg"); MikaSoundIdle2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaIdleBreaker2.ogg"); MikaSoundIdle3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaIdleBreaker3.ogg"); MikaSoundJump = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaJump.ogg"); MikaSoundNotice1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaNotice1.ogg"); MikaSoundNotice2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaNotice2.ogg"); MikaSoundNotice3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaNotice3.ogg"); MikaSoundPickaxeTell = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaPickaxeTell.ogg"); MikaSoundSpawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaSpawn.ogg"); MikaSoundStunFlyLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/MikaStunFlyLoop.ogg"); MikaStunIntro1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/StunIntro1.ogg"); MikaStunIntro2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/StunIntro2.ogg"); MikaStunIntro3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/StunIntro3.ogg"); MikaStunOutro1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/StunOutro1.ogg"); MikaStunOutro2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/StunOutro2.ogg"); MikaStunOutro3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mika/Sounds/StunOutro3.ogg"); } public void LoadClorindeAssets() { ClorindePrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Clorinde/Clorinde.prefab"); ClorindeSoundAim1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeAim1.ogg"); ClorindeSoundAimGlobal1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeAim1Global.ogg"); ClorindeSoundAimGlobal2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeAim2Global.ogg"); ClorindeSoundAim2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeAim2.ogg"); ClorindeSoundAimGlobal3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeAim3Global.ogg"); ClorindeSoundAim3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeAim3.ogg"); ClorindeSoundDeath1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeDeath1.ogg"); ClorindeSoundDeath2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeDeath2.ogg"); ClorindeSoundDeath3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeDeath3.ogg"); ClorindeSoundHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeHurt1.ogg"); ClorindeSoundHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeHurt2.ogg"); ClorindeSoundHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeHurt3.ogg"); ClorindeSoundSpawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeSpawn.ogg"); ClorindeSoundDespawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeDespawn.ogg"); ClorindeSoundLeave1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeLeave1.ogg"); ClorindeSoundLeave2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeLeave2.ogg"); ClorindeSoundLeave3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Clorinde/Sounds/ClorindeLeave3.ogg"); } public void LoadAlhaithamAssets() { AlhaithamPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Alhaitham/Alhaitham.prefab"); AlhaithamAttackIntro = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/AttackIntro.ogg"); AlhaithamAttackLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/AttackLoop.ogg"); AlhaithamAttackOutro = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/AttackOutro.ogg"); AlhaithamDeath = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/Death.ogg"); AlhaithamHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/Hurt1.ogg"); AlhaithamHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/Hurt2.ogg"); AlhaithamHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/Hurt3.ogg"); AlhaithamJump = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/Jump.ogg"); AlhaithamLand = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/Land.ogg"); AlhaithamMeleeKick = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/MeleeKick.ogg"); AlhaithamMeleeTell = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/MeleeTell.ogg"); AlhaithamStunIntro = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/StunIntro.ogg"); AlhaithamStunLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/StunnedLoop.ogg"); AlhaithamStunOutro = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Alhaitham/Sounds/StunOutro.ogg"); AlhaithamLaser = GenshinImpactOverhaulAssetBundle.LoadAsset<Material>("Assets/Alhaitham/LaserMaterial.mat"); AlhaithamLaserInside = GenshinImpactOverhaulAssetBundle.LoadAsset<Material>("Assets/Alhaitham/LaserInsideMaterial.mat"); AlhaithamLaserVariant = GenshinImpactOverhaulAssetBundle.LoadAsset<Material>("Assets/Alhaitham/LaserMaterialVariant.mat"); AlhaithamLaserSmoke = GenshinImpactOverhaulAssetBundle.LoadAsset<Material>("Assets/Alhaitham/LaserSmoke.mat"); } public void LoadGorouAssets() { GorouPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Gorou/GorouHead.prefab"); GorouBiteStart1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/BiteStart1.ogg"); GorouBiteStart2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/BiteStart2.ogg"); GorouBiteStart3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/BiteStart3.ogg"); GorouChaseBegin = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/ChaseBegin.ogg"); GorouChaseBeginGlobal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/ChaseBeginGlobal.ogg"); GorouChaseBeginToChase = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/ChaseBeginToChase.ogg"); GorouChaseToIdle = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/ChaseToIdle.ogg"); GorouDeath = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/Death.ogg"); GorouDespawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/Despawn.ogg"); GorouHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/Hurt1.ogg"); GorouHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/Hurt2.ogg"); GorouHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/Hurt3.ogg"); GorouSpawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/Spawn.ogg"); GorouTeethChatter1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/TeethChatter1.ogg"); GorouTeethChatter2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/TeethChatter2.ogg"); GorouTeethChatter3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/TeethChatter3.ogg"); GorouTeethChatter4 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/TeethChatter4.ogg"); GorouTeethChatter5 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gorou/Sounds/TeethChatter5.ogg"); } public void LoadTapirAssets() { TapirPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Tapir/Tapir.prefab"); TapirAttackLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/AttackLoop.ogg"); TapirDeath = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Death.ogg"); TapirHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Hurt1.ogg"); TapirHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Hurt2.ogg"); TapirHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Hurt3.ogg"); TapirNotice1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Notice1.ogg"); TapirNotice2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Notice2.ogg"); TapirNotice3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Notice3.ogg"); TapirQuack1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Quack1.ogg"); TapirQuack2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Quack2.ogg"); TapirQuack3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Quack3.ogg"); TapirStunEnd1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/StunEnd1.ogg"); TapirStunEnd2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/StunEnd2.ogg"); TapirStunEnd3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/StunEnd3.ogg"); TapirStunLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/StunLoop.ogg"); TapirBite1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Bite1.ogg"); TapirBite2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Bite2.ogg"); TapirBite3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Bite3.ogg"); TapirBite4 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Bite4.ogg"); TapirBite5 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Bite5.ogg"); TapirBite6 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Tapir/Sounds/Bite6.ogg"); } public void LoadMavuikaAssets() { MavuikaPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Mavuika/Mavuika.prefab"); MavuikaAttackBreaker1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/AttackBreaker1.ogg"); MavuikaAttackBreaker2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/AttackBreaker2.ogg"); MavuikaAttackBreaker3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/AttackBreaker3.ogg"); MavuikaAttackBreaker4 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/AttackBreaker4.ogg"); MavuikaAttackBreaker5 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/AttackBreaker5.ogg"); MavuikaDeath1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Death1.ogg"); MavuikaDeath2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Death2.ogg"); MavuikaDeath3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Death3.ogg"); MavuikaExplodeTell1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/ExplodeTell1.ogg"); MavuikaExplodeTell2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/ExplodeTell2.ogg"); MavuikaExplodeTell3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/ExplodeTell3.ogg"); MavuikaFuseTell1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/FuseTell1.ogg"); MavuikaFuseTell2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/FuseTell2.ogg"); MavuikaFuseTell3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/FuseTell3.ogg"); MavuikaHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Hurt1.ogg"); MavuikaHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Hurt2.ogg"); MavuikaHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Hurt3.ogg"); MavuikaIdleBreaker1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/IdleBreaker1.ogg"); MavuikaIdleBreaker2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/IdleBreaker2.ogg"); MavuikaIdleBreaker3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/IdleBreaker3.ogg"); MavuikaIdleBreaker4 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/IdleBreaker4.ogg"); MavuikaIdleBreaker5 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/IdleBreaker5.ogg"); MavuikaJump1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Jump1.ogg"); MavuikaJump2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Jump2.ogg"); MavuikaJump3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Jump3.ogg"); MavuikaLand1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Land1.ogg"); MavuikaLand2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Land2.ogg"); MavuikaLand3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/Land3.ogg"); MavuikaStunIntro1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/StunIntro1.ogg"); MavuikaStunIntro2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/StunIntro2.ogg"); MavuikaStunIntro3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/StunIntro3.ogg"); MavuikaStunLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/StunLoop.ogg"); MavuikaStunOutro1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/StunOutro1.ogg"); MavuikaStunOutro2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/StunOutro2.ogg"); MavuikaStunOutro3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Mavuika/Sounds/StunOutro3.ogg"); } public void LoadBeidouAssets() { BeidouPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Beidou/Beidou.prefab"); BeidouAttackBuildupVO = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/AttackBuildupVO.ogg"); BeidouAttackImpact = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/AttackImplosionImpact.ogg"); BeidouAttackImpactGlobal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/AttackImplosionImpactGlobal.ogg"); BeidouDeath = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/Death.ogg"); BeidouHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/Hurt1.ogg"); BeidouHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/Hurt2.ogg"); BeidouHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/Hurt3.ogg"); BeidouJump = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/Jump.ogg"); BeidouLand = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/Land.ogg"); BeidouLookUnderAttack = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/LookUnderAttack.ogg"); BeidouLookUnderIntro = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/LookUnderIntro.ogg"); BeidouLookUnderOutro = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/LookUnderOutro.ogg"); BeidouNoiseLong1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/NoiseLong1.ogg"); BeidouNoiseLong2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/NoiseLong2.ogg"); BeidouNoiseLong3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/NoiseLong3.ogg"); BeidouNoiseShort1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/NoiseShort1.ogg"); BeidouNoiseShort2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/NoiseShort2.ogg"); BeidouNoiseShort3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/NoiseShort3.ogg"); BeidouNotice1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/Notice1.ogg"); BeidouNotice2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/Notice2.ogg"); BeidouNotice3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/Notice3.ogg"); BeidouStunnedLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Beidou/Sounds/StunnedLoop.ogg"); } public void LoadBarbaraAssets() { BarbaraPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Barbara/Barbara.prefab"); BarbaraDeath = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/Death.ogg"); BarbaraDespawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/Despawn.ogg"); BarbaraHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/Hurt1.ogg"); BarbaraHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/Hurt2.ogg"); BarbaraHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/Hurt3.ogg"); BarbaraIdleLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/IdleLoop.ogg"); BarbaraScreamEndGlobal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/ScreamEndGlobal.ogg"); BarbaraScreamLoopGlobal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/ScreamLoopGlobal.ogg"); BarbaraScreamStartGlobal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/ScreamStartGlobal.ogg"); BarbaraScreamLoopLocal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/ScreamLoopLocal.ogg"); BarbaraStunnedLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/StunnedLoop.ogg"); BarbaraJump = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/Jump.ogg"); BarbaraLand = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/Land.ogg"); BarbaraNotice = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Barbara/Sounds/Notice.ogg"); } public void LoadSayuAssets() { SayuPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Sayu/Sayu.prefab"); SayuAttackStart = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/AttackStart.ogg"); SayuAttackStop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/AttackStop.ogg"); SayuDeath = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Death.ogg"); SayuDespawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Despawn.ogg"); SayuHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Hurt1.ogg"); SayuHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Hurt2.ogg"); SayuHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Hurt3.ogg"); SayuJump1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Jump1.ogg"); SayuJump2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Jump2.ogg"); SayuJump3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Jump3.ogg"); SayuLand1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Land1.ogg"); SayuLand2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Land2.ogg"); SayuLand3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Land3.ogg"); SayuNotice1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Notice1.ogg"); SayuNotice2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Notice2.ogg"); SayuNotice3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Notice3.ogg"); SayuAttackLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/AttackLoop.ogg"); SayuSpawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Sayu/Sounds/Spawn.ogg"); } public void LoadKachinaAssets() { KachinaPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Kachina/Kachina.prefab"); KachinaDeath = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/Death.ogg"); KachinaDespawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/Despawn.ogg"); KachinaHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/Hurt1.ogg"); KachinaHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/Hurt2.ogg"); KachinaHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/Hurt3.ogg"); KachinaJump = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/Jump.ogg"); KachinaLand = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/Land.ogg"); KachinaNotice = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/Notice.ogg"); KachinaPickupIntro = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/PickupIntro.ogg"); KachinaPickupOutroTell = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/PickupOutroTell.ogg"); KachinaPickupOutroThrow = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/PickupOutroThrow.ogg"); KachinaSpawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/Spawn.ogg"); KachinaStunOutro = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/StunOutro.ogg"); KachinaStunLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Kachina/Sounds/StunnedLoop.ogg"); } public void LoadIansanAssets() { IansanPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Iansan/Iansan.prefab"); IansanDespawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Despawn.ogg"); IansanHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Hurt1.ogg"); IansanHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Hurt2.ogg"); IansanHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Hurt3.ogg"); IansanIdle1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Idle1.ogg"); IansanIdle2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Idle2.ogg"); IansanIdle3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Idle3.ogg"); IansanJump = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Jump.ogg"); IansanLand = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Land.ogg"); IansanScream1Global = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Scream1Global.ogg"); IansanScream2Global = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Scream2Global.ogg"); IansanScream3Global = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Scream3Global.ogg"); IansanScream1Local = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Scream1Local.ogg"); IansanScream2Local = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Scream2Local.ogg"); IansanScream3Local = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Iansan/Sounds/Scream3Local.ogg"); } public void LoadXianyunAssets() { XianyunPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Xianyun/Xianyun.prefab"); XianyunAttackDown = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/AttackDown.ogg"); XianyunAttackDownGlobal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/AttackDownGlobal.ogg"); XianyunDeath = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/Death.ogg"); XianyunHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/Hurt1.ogg"); XianyunHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/Hurt2.ogg"); XianyunHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/Hurt3.ogg"); XianyunStunnedLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/StunnedLoop.ogg"); XianyunChargeAttack = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/ChargeStart.ogg"); XianyunChargeAttackLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/ChargeAttack.ogg"); XianyunClapGlobal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/ClapGlobal.ogg"); XianyunClapLocal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/ClapLocal.ogg"); XianyunDelayAttack = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Xianyun/Sounds/DelayAttack.ogg"); XianyunMaterial = GenshinImpactOverhaulAssetBundle.LoadAsset<Material>("Assets/Xianyun/SphereMat.mat"); } public void LoadArlecchinoAssets() { ArlecchinoPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Arlecchino/Arlecchino.prefab"); ArlecchinoAttack = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Attack.ogg"); ArlecchinoDeath = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Death.ogg"); ArlecchinoHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Hurt1.ogg"); ArlecchinoHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Hurt2.ogg"); ArlecchinoHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Hurt3.ogg"); ArlecchinoScream1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Scream1.ogg"); ArlecchinoScream1Global = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Scream1Global.ogg"); ArlecchinoScream2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Scream2.ogg"); ArlecchinoScream2Global = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Scream2Global.ogg"); ArlecchinoScream3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Scream3.ogg"); ArlecchinoScream3Global = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Scream3Global.ogg"); ArlecchinoTeleportIn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/TeleportIn.ogg"); ArlecchinoTeleportOut = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/TeleportOut.ogg"); ArlecchinoZoom = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Arlecchino/Sounds/Zoom.ogg"); } public void LoadNahidaAssets() { NahidaPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Nahida/NahidaHead.prefab"); NahidaBlink1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Nahida/Sounds/Blink1.ogg"); NahidaBlink2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Nahida/Sounds/Blink2.ogg"); NahidaBlink3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Nahida/Sounds/Blink3.ogg"); NahidaDeath = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Nahida/Sounds/Death.ogg"); NahidaDespawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Nahida/Sounds/Despawn.ogg"); NahidaLaser = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Nahida/Sounds/Laser.ogg"); NahidaLaserBuildup = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Nahida/Sounds/LaserBuildup.ogg"); NahidaSpawn = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Nahida/Sounds/Spawn.ogg"); NahidaStareLoopTwitching = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Nahida/Sounds/StareLoopTwitching.ogg"); NahidaStaringStart = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Nahida/Sounds/StaringStart.ogg"); NahidaStareLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Nahida/Sounds/StareLoop.ogg"); } public void LoadHuTaoAssets() { HuTaoPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/HuTao/Hu Tao.prefab"); HutaoAttack = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/Attack.ogg"); HutaoAttackGlobal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/AttackGlobal.ogg"); HutaoCrackingFingers = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/CrackingFingersSlow.ogg"); HutaoCrackingFingersAggresive = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/CrackingFingersAggresive.ogg"); HutaoHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/Hurt1.ogg"); HutaoHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/Hurt2.ogg"); HutaoHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/Hurt3.ogg"); HutaoLookUnderScream = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/LookUnderScream.ogg"); HutaoLookUnderScreamGlobal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/LookUnderScreamGlobal.ogg"); HutaoNoise1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/Noise1.ogg"); HutaoNoise2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/Noise2.ogg"); HutaoNoise3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/Noise3.ogg"); HutaoNoise4 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/Noise4.ogg"); HutaoStunStart = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/StunStart.ogg"); HutaoTargetingPlayer = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/TargetingPlayer.ogg"); HutaoStunnedLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/HuTao/Sounds/StunnedLoop.ogg"); } public void LoadGamingAssets() { GamingPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Gaming/Gaming.prefab"); GamingCleaverSwing1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/CleaverSwing1.ogg"); GamingCleaverSwing2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/CleaverSwing2.ogg"); GamingCleaverSwing3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/CleaverSwing3.ogg"); GamingHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Hurt1.ogg"); GamingHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Hurt2.ogg"); GamingHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Hurt3.ogg"); GamingJump1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Jump1.ogg"); GamingJump2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Jump2.ogg"); GamingJump3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Jump3.ogg"); GamingJump4 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Jump4.ogg"); GamingJump5 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Jump5.ogg"); GamingLand1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Land1.ogg"); GamingLand2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Land2.ogg"); GamingLand3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Land3.ogg"); GamingNotice = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/Notice.ogg"); GamingStunnedLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/StunnedLoop.ogg"); GamingTumbleGlobal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/TumbleGlobal.ogg"); GamingTumbleLocal = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Gaming/Sounds/TumbleLocal.ogg"); } public void LoadAyatoAssets() { AyatoPrefab = GenshinImpactOverhaulAssetBundle.LoadAsset<GameObject>("Assets/Ayato/Ayato.prefab"); AyatoAttack1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Ayato/Sounds/Attack1.ogg"); AyatoAttack2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Ayato/Sounds/Attack2.ogg"); AyatoAttack3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Ayato/Sounds/Attack3.ogg"); AyatoAttack4 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Ayato/Sounds/Attack4.ogg"); AyatoAttack5 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Ayato/Sounds/Attack5.ogg"); AyatoDeath = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Ayato/Sounds/Death.ogg"); AyatoHurt1 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Ayato/Sounds/Hurt1.ogg"); AyatoHurt2 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Ayato/Sounds/Hurt2.ogg"); AyatoHurt3 = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Ayato/Sounds/Hurt3.ogg"); AyatoJump = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Ayato/Sounds/Jump.ogg"); AyatoStunnedLoop = GenshinImpactOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/Ayato/Sounds/StunnedLoop.ogg"); } public void LoadExtraAssets() { DoriEmojis = GenshinImpactOverhaulAssetBundle.LoadAsset<Texture2D>("Assets/Extra/DoriEmojis.png"); DoriMaterial = GenshinImpactOverhaulAssetBundle.LoadAsset<Material>("Assets/Extra/DoriEmojis.mat"); } } [HarmonyPatch(typeof(EnemyAnimal))] internal class EnemyAnimalPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] private static void ReplaceAssets(EnemyAnimal __instance, ref EnemyAnimalAnim ___enemyAnimalAnim) { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.SayuReplacement.Value) { Modifiers.TurnOffRenderers(((Component)__instance).transform); GameObject val = Object.Instantiate<GameObject>(GenshinImpactOverhaul.SayuPrefab); val.transform.parent = ((Component)__instance).transform.parent.Find("Rigidbody"); Modifiers.SetPositioning(val.transform, Quaternion.identity, new Vector3(0f, -0.7f, 0f), new Vector3(1f, 1f, 1f)); val.AddComponent<SayuAnimationEventHandler>(); ((Component)((Component)__instance).transform.parent.parent).GetComponent<EnemyParent>().enemyName = "Sayu"; ___enemyAnimalAnim.attackLoop.Sounds[0] = GenshinImpactOverhaul.SayuAttackLoop; ___enemyAnimalAnim.attackStartSound.Sounds[0] = GenshinImpactOverhaul.SayuAttackStart; ___enemyAnimalAnim.attackStopSound.Sounds[0] = GenshinImpactOverhaul.SayuAttackStop; ___enemyAnimalAnim.deathSound.Sounds[0] = GenshinImpactOverhaul.SayuDeath; ___enemyAnimalAnim.despawnSound.Sounds[0] = GenshinImpactOverhaul.SayuDespawn; ___enemyAnimalAnim.hurtSound.Sounds[0] = GenshinImpactOverhaul.SayuHurt1; ___enemyAnimalAnim.hurtSound.Sounds[1] = GenshinImpactOverhaul.SayuHurt2; ___enemyAnimalAnim.hurtSound.Sounds[2] = GenshinImpactOverhaul.SayuHurt3; ___enemyAnimalAnim.jumpSound.Sounds[0] = GenshinImpactOverhaul.SayuJump1; ___enemyAnimalAnim.jumpSound.Sounds[1] = GenshinImpactOverhaul.SayuJump2; ___enemyAnimalAnim.jumpSound.Sounds[2] = GenshinImpactOverhaul.SayuJump3; ___enemyAnimalAnim.landSound.Sounds[0] = GenshinImpactOverhaul.SayuLand1; ___enemyAnimalAnim.landSound.Sounds[1] = GenshinImpactOverhaul.SayuLand2; ___enemyAnimalAnim.landSound.Sounds[2] = GenshinImpactOverhaul.SayuLand3; ___enemyAnimalAnim.noticeSound.Sounds[0] = GenshinImpactOverhaul.SayuNotice1; ___enemyAnimalAnim.noticeSound.Sounds[1] = GenshinImpactOverhaul.SayuNotice2; ___enemyAnimalAnim.noticeSound.Sounds[2] = GenshinImpactOverhaul.SayuNotice3; } } } [HarmonyPatch(typeof(EnemyAnimalAnim))] internal class AnimalAnimPatch { public static FieldInfo animatorField = typeof(EnemyAnimalAnim).GetField("animator", BindingFlags.Instance | BindingFlags.NonPublic); [HarmonyPatch("Awake")] [HarmonyPostfix] public static void ReplaceAnimator(EnemyAnimalAnim __instance) { if (!GenshinImpactOverhaul.SayuReplacement.Value || animatorField == null) { return; } object? value = animatorField.GetValue(__instance); Animator val = (Animator)((value is Animator) ? value : null); Transform val2 = ((Component)__instance).transform.parent.parent.Find("Sayu(Clone)"); if (!((Object)(object)val2 == (Object)null)) { Animator component = ((Component)val2).GetComponent<Animator>(); if ((Object)(object)val != (Object)(object)component) { animatorField.SetValue(__instance, component); } ((Behaviour)((Component)__instance).gameObject.GetComponent<Animator>()).enabled = false; } } [HarmonyPatch("Update")] [HarmonyPostfix] public static void FixFloating(EnemyAnimalAnim __instance) { //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) if (!GenshinImpactOverhaul.SayuReplacement.Value || animatorField == null) { return; } Transform val = ((Component)__instance).transform.parent.parent.Find("Sayu(Clone)"); if ((Object)(object)val != (Object)null) { Animator component = ((Component)val).GetComponent<Animator>(); if ((Object)(object)component != (Object)null && component.GetBool("attack")) { ((Component)((Component)__instance).transform.Find("Hurt Collider")).gameObject.SetActive(true); } else { ((Component)((Component)__instance).transform.Find("Hurt Collider")).gameObject.SetActive(false); } val.localPosition = new Vector3(0f, -0.7f, 0f); val.localRotation = Quaternion.identity; } } } [HarmonyPatch(typeof(EnemyBang))] internal class EnemyBangPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] private static void ReplaceAssets(EnemyBang __instance, ref EnemyBangAnim ___anim) { //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) if (!GenshinImpactOverhaul.MavuikaReplacement.Value) { return; } Type type = Type.GetType("UnityEngine.Halo, UnityEngine"); if (type == null) { Debug.LogError((object)"Could not find type UnityEngine.Halo"); return; } MethodInfo method = typeof(Component).GetMethod("GetComponentsInChildren", BindingFlags.Instance | BindingFlags.Public, null, new Type[2] { typeof(Type), typeof(bool) }, null); object[] parameters = new object[2] { type, true }; Array array = (Array)method.Invoke(((Component)__instance).transform.parent, parameters); foreach (object item in array) { Behaviour val = (Behaviour)((item is Behaviour) ? item : null); if ((Object)(object)val != (Object)null) { val.enabled = false; } } Modifiers.TurnOffRenderers(((Component)__instance).transform.parent); Light[] componentsInChildren = ((Component)((Component)__instance).transform.parent).GetComponentsInChildren<Light>(true); Light[] array2 = componentsInChildren; foreach (Light val2 in array2) { ((Behaviour)val2).enabled = false; } GameObject val3 = Object.Instantiate<GameObject>(GenshinImpactOverhaul.MavuikaPrefab); val3.transform.parent = ((Component)__instance).transform.parent.Find("Visuals"); Modifiers.SetPositioning(val3.transform, Quaternion.identity, new Vector3(0f, -0.26f, 0f), new Vector3(0.31f, 0.31f, 0.31f)); val3.AddComponent<MavuikaAnimationEventHandler>(); ((Component)((Component)__instance).transform.parent.parent).GetComponent<EnemyParent>().enemyName = "Mavuika"; ___anim.soundAttackBreaker.Sounds[0] = GenshinImpactOverhaul.MavuikaAttackBreaker1; ___anim.soundAttackBreaker.Sounds[1] = GenshinImpactOverhaul.MavuikaAttackBreaker2; ___anim.soundAttackBreaker.Sounds[2] = GenshinImpactOverhaul.MavuikaAttackBreaker3; ___anim.soundAttackBreaker.Sounds[3] = GenshinImpactOverhaul.MavuikaAttackBreaker4; ___anim.soundAttackBreaker.Sounds[4] = GenshinImpactOverhaul.MavuikaAttackBreaker5; ___anim.soundDeathVO.Sounds[0] = GenshinImpactOverhaul.MavuikaDeath1; ___anim.soundDeathVO.Sounds[1] = GenshinImpactOverhaul.MavuikaDeath2; ___anim.soundDeathVO.Sounds[2] = GenshinImpactOverhaul.MavuikaDeath3; ___anim.soundExplosionTell.Sounds[0] = GenshinImpactOverhaul.MavuikaExplodeTell1; ___anim.soundExplosionTell.Sounds[1] = GenshinImpactOverhaul.MavuikaExplodeTell2; ___anim.soundExplosionTell.Sounds[2] = GenshinImpactOverhaul.MavuikaExplodeTell3; ___anim.soundFuseTell.Sounds[0] = GenshinImpactOverhaul.MavuikaFuseTell1; ___anim.soundFuseTell.Sounds[1] = GenshinImpactOverhaul.MavuikaFuseTell2; ___anim.soundFuseTell.Sounds[2] = GenshinImpactOverhaul.MavuikaFuseTell3; ___anim.soundLandVO.Sounds[0] = GenshinImpactOverhaul.MavuikaLand1; ___anim.soundLandVO.Sounds[1] = GenshinImpactOverhaul.MavuikaLand2; ___anim.soundLandVO.Sounds[2] = GenshinImpactOverhaul.MavuikaLand3; ___anim.soundHurt.Sounds[0] = GenshinImpactOverhaul.MavuikaHurt1; ___anim.soundHurt.Sounds[1] = GenshinImpactOverhaul.MavuikaHurt2; ___anim.soundHurt.Sounds[2] = GenshinImpactOverhaul.MavuikaHurt3; ___anim.soundIdleBreaker.Sounds[0] = GenshinImpactOverhaul.MavuikaIdleBreaker1; ___anim.soundIdleBreaker.Sounds[1] = GenshinImpactOverhaul.MavuikaIdleBreaker2; ___anim.soundIdleBreaker.Sounds[2] = GenshinImpactOverhaul.MavuikaIdleBreaker3; ___anim.soundIdleBreaker.Sounds[3] = GenshinImpactOverhaul.MavuikaIdleBreaker4; ___anim.soundIdleBreaker.Sounds[4] = GenshinImpactOverhaul.MavuikaIdleBreaker5; ___anim.soundJumpVO.Sounds[0] = GenshinImpactOverhaul.MavuikaJump1; ___anim.soundJumpVO.Sounds[1] = GenshinImpactOverhaul.MavuikaJump2; ___anim.soundJumpVO.Sounds[2] = GenshinImpactOverhaul.MavuikaJump3; ___anim.soundStunIntro.Sounds[0] = GenshinImpactOverhaul.MavuikaStunIntro1; ___anim.soundStunIntro.Sounds[1] = GenshinImpactOverhaul.MavuikaStunIntro2; ___anim.soundStunIntro.Sounds[2] = GenshinImpactOverhaul.MavuikaStunIntro3; ___anim.soundStunLoop.Sounds[0] = GenshinImpactOverhaul.MavuikaStunLoop; ___anim.soundStunOutro.Sounds[0] = GenshinImpactOverhaul.MavuikaStunOutro1; ___anim.soundStunOutro.Sounds[1] = GenshinImpactOverhaul.MavuikaStunOutro2; ___anim.soundStunOutro.Sounds[2] = GenshinImpactOverhaul.MavuikaStunOutro3; } } [HarmonyPatch(typeof(EnemyBeamer))] internal class EnemyBeamerPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] private static void ReplaceAssets(EnemyBeamer __instance, ref EnemyBeamerAnim ___anim) { //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_02a0: Unknown result type (might be due to invalid IL or missing references) //IL_02bb: Unknown result type (might be due to invalid IL or missing references) //IL_02d6: Unknown result type (might be due to invalid IL or missing references) //IL_02f1: Unknown result type (might be due to invalid IL or missing references) //IL_0342: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.AlhaithamReplacement.Value) { Modifiers.TurnOffRenderers(((Component)__instance).transform.parent.Find("Visuals").Find("___________________________________").Find("[ANIM BOT]")); GameObject val = Object.Instantiate<GameObject>(GenshinImpactOverhaul.AlhaithamPrefab); val.transform.parent = ((Component)__instance).transform.parent.Find("Visuals"); Modifiers.SetPositioning(val.transform, Quaternion.identity, new Vector3(0f, -0.7f, 0f), new Vector3(1f, 1f, 1f)); val.AddComponent<AlhaithamAnimationEventHandler>(); ((Component)((Component)__instance).transform.parent.parent).GetComponent<EnemyParent>().enemyName = "Alhaitham"; ___anim.soundAttackIntro.Sounds[0] = GenshinImpactOverhaul.AlhaithamAttackIntro; ___anim.soundAttackLoop.Sounds[0] = GenshinImpactOverhaul.AlhaithamAttackLoop; ___anim.soundAttackOutro.Sounds[0] = GenshinImpactOverhaul.AlhaithamAttackOutro; ___anim.soundDeath.Sounds[0] = GenshinImpactOverhaul.AlhaithamDeath; ___anim.soundHurt.Sounds[0] = GenshinImpactOverhaul.AlhaithamHurt1; ___anim.soundHurt.Sounds[1] = GenshinImpactOverhaul.AlhaithamHurt2; ___anim.soundHurt.Sounds[2] = GenshinImpactOverhaul.AlhaithamHurt3; ___anim.soundJump.Sounds[0] = GenshinImpactOverhaul.AlhaithamJump; ___anim.soundLand.Sounds[0] = GenshinImpactOverhaul.AlhaithamLand; ___anim.soundMeleeKick.Sounds[0] = GenshinImpactOverhaul.AlhaithamMeleeKick; ___anim.soundMeleeTell.Sounds[0] = GenshinImpactOverhaul.AlhaithamMeleeTell; ___anim.soundStunIntro.Sounds[0] = GenshinImpactOverhaul.AlhaithamStunIntro; ___anim.soundStunLoop.Sounds[0] = GenshinImpactOverhaul.AlhaithamStunLoop; ___anim.soundStunOutro.Sounds[0] = GenshinImpactOverhaul.AlhaithamStunOutro; Transform val2 = ((Component)___anim).transform.Find("SemiLaser").Find("Enable"); if (!((Object)(object)val2 == (Object)null)) { ((Component)val2.Find("Hit").Find("Point Light")).GetComponent<Light>().color = Color.green; ((Renderer)((Component)val2.Find("Hit").Find("Sphere")).GetComponent<MeshRenderer>()).material = GenshinImpactOverhaul.AlhaithamLaserInside; ((Renderer)((Component)val2.Find("Hit").Find("Sphere (1)")).GetComponent<MeshRenderer>()).material = GenshinImpactOverhaul.AlhaithamLaserVariant; ((Component)val2.Find("Laser Light 1")).GetComponent<Light>().color = Color.green; ((Component)val2.Find("Laser Light 2")).GetComponent<Light>().color = Color.green; ((Component)val2.Find("Laser Light 3")).GetComponent<Light>().color = Color.green; ((Component)val2.Find("Laser Light 4")).GetComponent<Light>().color = Color.green; ((Component)val2.Find("Laser Light 5")).GetComponent<Light>().color = Color.green; ((Renderer)((Component)val2.Find("Line")).GetComponent<LineRenderer>()).material = GenshinImpactOverhaul.AlhaithamLaser; ((Renderer)((Component)val2.Find("Line Inside")).GetComponent<LineRenderer>()).material = GenshinImpactOverhaul.AlhaithamLaserInside; ((Component)val2.Find("Spot Light")).GetComponent<Light>().color = Color.green; Transform val3 = ((Component)___anim).transform.Find("SemiLaser").Find("Hit Particles"); ((Renderer)((Component)val3.Find("Smoke Particles")).GetComponent<ParticleSystemRenderer>()).material = GenshinImpactOverhaul.AlhaithamLaserSmoke; ((Component)val3.Find("Hit Particles 1")).GetComponent<ParticleSystemRenderer>().trailMaterial = GenshinImpactOverhaul.AlhaithamLaserVariant; ((Component)val3.Find("Hit Particles 2")).GetComponent<ParticleSystemRenderer>().trailMaterial = GenshinImpactOverhaul.AlhaithamLaser; ((Component)val3.Find("Hit Particles White 1")).GetComponent<ParticleSystemRenderer>().trailMaterial = GenshinImpactOverhaul.AlhaithamLaserInside; } } } } [HarmonyPatch(typeof(EnemyBeamerAnim))] internal class BeamerAnimPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] public static void ReplaceAnimator(EnemyBeamerAnim __instance) { if (!GenshinImpactOverhaul.AlhaithamReplacement.Value) { return; } FieldInfo field = typeof(EnemyBeamerAnim).GetField("animator", BindingFlags.Instance | BindingFlags.NonPublic); if (field == null) { return; } object? value = field.GetValue(__instance); Animator val = (Animator)((value is Animator) ? value : null); Transform val2 = ((Component)__instance).transform.Find("Alhaitham(Clone)"); if (!((Object)(object)val2 == (Object)null)) { Animator component = ((Component)val2).GetComponent<Animator>(); if ((Object)(object)val != (Object)(object)component) { field.SetValue(__instance, component); } } } [HarmonyPatch("Update")] [HarmonyPostfix] public static void FixFloating(EnemyBeamerAnim __instance) { //IL_002f: 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) //IL_006f: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.AlhaithamReplacement.Value) { ((Component)__instance).transform.Find("Alhaitham(Clone)").localPosition = new Vector3(0f, -0.3f, 0f); ((Component)__instance).transform.Find("Alhaitham(Clone)").localRotation = Quaternion.identity; __instance.controller.laserStartTransform.localPosition = new Vector3(0f, -0.4f, 1f); } } } [HarmonyPatch(typeof(EnemyBowtie))] internal class EnemyBowtiePatch { [HarmonyPatch("Awake")] [HarmonyPostfix] private static void ReplaceAssets(EnemyBowtie __instance, ref EnemyBowtieAnim ___anim) { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.BarbaraReplacement.Value) { Modifiers.TurnOffRenderers(((Component)__instance).transform); GameObject val = Object.Instantiate<GameObject>(GenshinImpactOverhaul.BarbaraPrefab); val.transform.parent = ((Component)__instance).transform.parent.Find("Visuals"); Modifiers.SetPositioning(val.transform, Quaternion.identity, new Vector3(0f, -0.5f, 0f), new Vector3(1.3f, 1.3f, 1.3f)); val.AddComponent<BarbaraAnimationEventHandler>(); ((Component)((Component)__instance).transform.parent.parent).GetComponent<EnemyParent>().enemyName = "Barbara"; ___anim.deathSound.Sounds[0] = GenshinImpactOverhaul.BarbaraDeath; ___anim.despawnSound.Sounds[0] = GenshinImpactOverhaul.BarbaraDespawn; ___anim.GroanLoopSound.Sounds[0] = GenshinImpactOverhaul.BarbaraIdleLoop; ___anim.hurtSound.Sounds[0] = GenshinImpactOverhaul.BarbaraHurt1; ___anim.hurtSound.Sounds[1] = GenshinImpactOverhaul.BarbaraHurt2; ___anim.hurtSound.Sounds[2] = GenshinImpactOverhaul.BarbaraHurt3; ___anim.jumpSound.Sounds[0] = GenshinImpactOverhaul.BarbaraJump; ___anim.yellEndSoundGlobal.Sounds[0] = GenshinImpactOverhaul.BarbaraScreamEndGlobal; ___anim.yellStartSoundGlobal.Sounds[0] = GenshinImpactOverhaul.BarbaraScreamStartGlobal; ___anim.YellLoopSound.Sounds[0] = GenshinImpactOverhaul.BarbaraScreamLoopLocal; ___anim.YellLoopSoundGlobal.Sounds[0] = GenshinImpactOverhaul.BarbaraScreamLoopGlobal; ___anim.stunSound.Sounds[0] = GenshinImpactOverhaul.BarbaraStunnedLoop; } } } [HarmonyPatch(typeof(EnemyBowtieAnim))] internal class BowtieAnimPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] public static void ReplaceAnimator(EnemyBowtieAnim __instance) { if (!GenshinImpactOverhaul.BarbaraReplacement.Value) { return; } FieldInfo field = typeof(EnemyBowtieAnim).GetField("animator", BindingFlags.Instance | BindingFlags.NonPublic); if (field == null) { return; } object? value = field.GetValue(__instance); Animator val = (Animator)((value is Animator) ? value : null); Transform val2 = ((Component)__instance).transform.Find("Barbara(Clone)"); if (!((Object)(object)val2 == (Object)null)) { Animator component = ((Component)val2).GetComponent<Animator>(); if ((Object)(object)val != (Object)(object)component) { field.SetValue(__instance, component); } } } [HarmonyPatch("Update")] [HarmonyPostfix] public static void GetYellingStage(EnemyBowtieAnim __instance) { //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Invalid comparison between Unknown and I4 if (GenshinImpactOverhaul.BarbaraReplacement.Value) { Animator component = ((Component)((Component)__instance).transform).GetComponent<Animator>(); ((Component)__instance).transform.Find("Barbara(Clone)").localPosition = new Vector3(0f, -0.5f, 0f); if ((int)__instance.controller.currentState == 5) { component.SetBool("yell", true); return; } component.SetBool("yell", false); __instance.particleYell.Stop(); __instance.particleYellSmall.Stop(); } } } [HarmonyPatch(typeof(EnemyCeilingEye))] internal class EnemyCeilingEyePatch { [HarmonyPatch("Awake")] [HarmonyPostfix] private static void ReplaceAssets(EnemyCeilingEye __instance, ref EnemyCeilingEyeAnim ___eyeAnim) { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.NahidaReplacement.Value) { Modifiers.TurnOffRenderers(((Component)__instance).transform); GameObject val = Object.Instantiate<GameObject>(GenshinImpactOverhaul.NahidaPrefab); val.transform.parent = ((Component)__instance).transform.parent.Find("Visual"); Modifiers.SetPositioning(val.transform, Quaternion.identity, new Vector3(0f, -0.13f, 0f), new Vector3(1f, 1f, 1f)); val.AddComponent<NahidaAnimationEventHandler>(); ___eyeAnim.sfxBlink.Sounds[0] = GenshinImpactOverhaul.NahidaBlink1; ___eyeAnim.sfxBlink.Sounds[1] = GenshinImpactOverhaul.NahidaBlink2; ___eyeAnim.sfxBlink.Sounds[2] = GenshinImpactOverhaul.NahidaBlink3; ___eyeAnim.sfxDeath.Sounds[0] = GenshinImpactOverhaul.NahidaDeath; ___eyeAnim.sfxDespawn.Sounds[0] = GenshinImpactOverhaul.NahidaDespawn; ___eyeAnim.sfxLaserBeam.Sounds[0] = GenshinImpactOverhaul.NahidaLaser; ___eyeAnim.sfxLaserBuildup.Sounds[0] = GenshinImpactOverhaul.NahidaLaserBuildup; ___eyeAnim.sfxSpawn.Sounds[0] = GenshinImpactOverhaul.NahidaSpawn; ___eyeAnim.sfxStaringStart = GenshinImpactOverhaul.NahidaStaringStart; ___eyeAnim.sfxTwitchLoop.Sounds[0] = GenshinImpactOverhaul.NahidaStareLoopTwitching; ___eyeAnim.sfxStareLoop.Sounds[0] = GenshinImpactOverhaul.NahidaStareLoop; ((Component)((Component)__instance).transform.parent.parent).GetComponent<EnemyParent>().enemyName = "Nahida"; __instance.eyeTransform = ((Component)__instance).transform.parent.Find("Visual").Find("NahidaHead(Clone)"); } } } [HarmonyPatch(typeof(EnemyCeilingEyeAnim))] internal class CeilingEyeAnimPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] public static void ReplaceAnimator(EnemyCeilingEyeAnim __instance) { if (!GenshinImpactOverhaul.NahidaReplacement.Value) { return; } FieldInfo field = typeof(EnemyCeilingEyeAnim).GetField("animator", BindingFlags.Instance | BindingFlags.NonPublic); if (field == null) { return; } object? value = field.GetValue(__instance); Animator val = (Animator)((value is Animator) ? value : null); Transform val2 = ((Component)__instance).transform.Find("NahidaHead(Clone)"); if (!((Object)(object)val2 == (Object)null)) { Animator component = ((Component)val2).GetComponent<Animator>(); if ((Object)(object)val != (Object)(object)component) { field.SetValue(__instance, component); } } } } [HarmonyPatch(typeof(EnemyHeadController))] internal class EnemyheadControllerPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] private static void ReplaceAssets(EnemyHeadController __instance, ref EnemyHeadAnimationSystem ___AnimationSystem) { //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.GorouReplacement.Value) { Modifiers.TurnOffRenderers(((Component)__instance).gameObject.transform); GameObject val = Object.Instantiate<GameObject>(GenshinImpactOverhaul.GorouPrefab); val.transform.parent = ((Component)__instance).transform.parent.Find("Mesh").Find("Animation System"); Modifiers.SetPositioning(val.transform, Quaternion.identity, new Vector3(0f, -2.73f, 0f), new Vector3(4f, 4f, 4f)); val.AddComponent<GorouAnimationEventHandler>(); ((Component)((Component)__instance).transform.parent.parent).GetComponent<EnemyParent>().enemyName = "Gorou"; __instance.DeathSound.Sounds[0] = GenshinImpactOverhaul.GorouDeath; ___AnimationSystem.BiteStart.Sounds[0] = GenshinImpactOverhaul.GorouBiteStart1; ___AnimationSystem.BiteStart.Sounds[1] = GenshinImpactOverhaul.GorouBiteStart2; ___AnimationSystem.BiteStart.Sounds[2] = GenshinImpactOverhaul.GorouBiteStart3; ___AnimationSystem.ChaseBegin.Sounds[0] = GenshinImpactOverhaul.GorouChaseBegin; ___AnimationSystem.ChaseBeginGlobal.Sounds[0] = GenshinImpactOverhaul.GorouChaseBeginGlobal; ___AnimationSystem.ChaseBeginToChase.Sounds[0] = GenshinImpactOverhaul.GorouChaseBeginToChase; ___AnimationSystem.ChaseToIdle.Sounds[0] = GenshinImpactOverhaul.GorouChaseToIdle; ___AnimationSystem.Despawn.Sounds[0] = GenshinImpactOverhaul.GorouDespawn; ___AnimationSystem.Hurt.Sounds[0] = GenshinImpactOverhaul.GorouHurt1; ___AnimationSystem.Hurt.Sounds[1] = GenshinImpactOverhaul.GorouHurt2; ___AnimationSystem.Hurt.Sounds[2] = GenshinImpactOverhaul.GorouHurt3; ___AnimationSystem.Spawn.Sounds[0] = GenshinImpactOverhaul.GorouSpawn; ___AnimationSystem.TeethChatter.Sounds[0] = GenshinImpactOverhaul.GorouTeethChatter1; ___AnimationSystem.TeethChatter.Sounds[1] = GenshinImpactOverhaul.GorouTeethChatter2; ___AnimationSystem.TeethChatter.Sounds[2] = GenshinImpactOverhaul.GorouTeethChatter3; ___AnimationSystem.TeethChatter.Sounds[3] = GenshinImpactOverhaul.GorouTeethChatter4; ___AnimationSystem.TeethChatter.Sounds[4] = GenshinImpactOverhaul.GorouTeethChatter5; } } } [HarmonyPatch(typeof(EnemyHeadAnimationSystem))] internal class EnemyHeadAnimationSystemPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] public static void ReplaceAnimator(EnemyHeadAnimationSystem __instance) { if (GenshinImpactOverhaul.GorouReplacement.Value) { ((Behaviour)((Component)__instance.Animator).GetComponent<Animator>()).enabled = false; __instance.Animator = ((Component)((Component)__instance).transform.Find("GorouHead(Clone)")).gameObject.GetComponent<Animator>(); } } } [HarmonyPatch(typeof(EnemyDuck))] internal class EnemyDuckPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] private static void ReplaceAssets(EnemyDuck __instance, ref EnemyDuckAnim ___anim) { //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_006a: 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) if (GenshinImpactOverhaul.TapirReplacement.Value) { Modifiers.TurnOffRenderers(((Component)__instance).gameObject.transform); GameObject val = Object.Instantiate<GameObject>(GenshinImpactOverhaul.TapirPrefab); val.transform.parent = ((Component)__instance).transform.parent.Find("Visuals"); Modifiers.SetPositioning(val.transform, Quaternion.identity, new Vector3(0f, -0.28f, 0f), new Vector3(10f, 10f, 10f)); val.AddComponent<TapirAnimationEventHandler>(); ((Component)((Component)__instance).transform.parent.parent).GetComponent<EnemyParent>().enemyName = "Tapir"; ___anim.attackLoopSound.Sounds[0] = GenshinImpactOverhaul.TapirAttackLoop; ___anim.deathSound.Sounds[0] = GenshinImpactOverhaul.TapirDeath; ___anim.hurtSound.Sounds[0] = GenshinImpactOverhaul.TapirHurt1; ___anim.hurtSound.Sounds[1] = GenshinImpactOverhaul.TapirHurt2; ___anim.hurtSound.Sounds[2] = GenshinImpactOverhaul.TapirHurt3; ___anim.noticeSound.Sounds[0] = GenshinImpactOverhaul.TapirNotice1; ___anim.noticeSound.Sounds[1] = GenshinImpactOverhaul.TapirNotice2; ___anim.noticeSound.Sounds[2] = GenshinImpactOverhaul.TapirNotice3; ___anim.quackSound.Sounds[0] = GenshinImpactOverhaul.TapirQuack1; ___anim.quackSound.Sounds[1] = GenshinImpactOverhaul.TapirQuack2; ___anim.quackSound.Sounds[2] = GenshinImpactOverhaul.TapirQuack3; ___anim.stunStopSound.Sounds[0] = GenshinImpactOverhaul.TapirStunEnd1; ___anim.stunStopSound.Sounds[1] = GenshinImpactOverhaul.TapirStunEnd2; ___anim.stunStopSound.Sounds[2] = GenshinImpactOverhaul.TapirStunEnd3; ___anim.stunSound.Sounds[0] = GenshinImpactOverhaul.TapirStunLoop; ___anim.biteSound.Sounds[0] = GenshinImpactOverhaul.TapirBite1; ___anim.biteSound.Sounds[1] = GenshinImpactOverhaul.TapirBite2; ___anim.biteSound.Sounds[2] = GenshinImpactOverhaul.TapirBite3; ___anim.biteSound.Sounds[3] = GenshinImpactOverhaul.TapirBite4; ___anim.biteSound.Sounds[4] = GenshinImpactOverhaul.TapirBite5; ___anim.biteSound.Sounds[5] = GenshinImpactOverhaul.TapirBite6; } } } [HarmonyPatch(typeof(EnemyDuckAnim))] internal class EnemyDuckAnimPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] public static void ReplaceAnimator(EnemyDuckAnim __instance) { if (!GenshinImpactOverhaul.TapirReplacement.Value) { return; } ((Behaviour)((Component)__instance).gameObject.GetComponent<Animator>()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("Hurt Collider")).GetComponent<HurtCollider>().playerDamageCooldown = 0.25f; FieldInfo field = typeof(EnemyDuckAnim).GetField("animator", BindingFlags.Instance | BindingFlags.NonPublic); if (field == null) { return; } object? value = field.GetValue(__instance); Animator val = (Animator)((value is Animator) ? value : null); Transform val2 = ((Component)__instance).transform.Find("Tapir(Clone)"); if (!((Object)(object)val2 == (Object)null)) { Animator component = ((Component)val2).GetComponent<Animator>(); if ((Object)(object)val != (Object)(object)component) { field.SetValue(__instance, component); } } } [HarmonyPatch("Update")] [HarmonyPostfix] public static void Update(EnemyDuckAnim __instance) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.TapirReplacement.Value) { ((Component)__instance).transform.Find("Tapir(Clone)").localScale = new Vector3(10f, 10f, 10f); } } } [HarmonyPatch(typeof(EnemyFloater))] internal class EnemyFloaterPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] private static void ReplaceAssets(EnemyFloater __instance, ref EnemyFloaterAnim ___animator) { //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_006a: 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_024a: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.XianyunReplacement.Value) { Modifiers.TurnOffRenderers(((Component)__instance).gameObject.transform); GameObject val = Object.Instantiate<GameObject>(GenshinImpactOverhaul.XianyunPrefab); val.transform.parent = ((Component)__instance).transform.parent.Find("[VISUALS]"); Modifiers.SetPositioning(val.transform, Quaternion.identity, new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)); val.AddComponent<XianyunAnimationEventHandler>(); ((Component)((Component)__instance).transform.parent.parent).GetComponent<EnemyParent>().enemyName = "Xianyun"; Transform val2 = ((Component)__instance).transform.parent.Find("[VISUALS]").Find("Mesh").Find("Offset Rotation") .Find("[BODY]") .Find("________________________________") .Find("ANIM body") .Find("[HEAD]") .Find("________________________________") .Find("ANIM head") .Find("code head_source") .Find("________________________________") .Find("ANIM head_raw") .Find("Floater Attack") .Find("Sphere Effects"); ((Component)((Component)val2).transform.Find("Sphere Effect 3")).GetComponent<Renderer>().enabled = true; ((Component)((Component)val2).transform.Find("Sphere Effect 3")).GetComponent<Renderer>().material = GenshinImpactOverhaul.XianyunMaterial; ((Component)((Component)val2).transform.Find("Sphere Effect 2")).GetComponent<Renderer>().enabled = true; ((Component)((Component)val2).transform.Find("Sphere Effect 2")).GetComponent<Renderer>().material = GenshinImpactOverhaul.XianyunMaterial; ((Component)((Component)val2).transform.Find("Sphere Effect 1")).GetComponent<Renderer>().enabled = true; ((Component)((Component)val2).transform.Find("Sphere Effect 1")).GetComponent<Renderer>().material = GenshinImpactOverhaul.XianyunMaterial; Color color = default(Color); color.r = 0.4274509f; color.g = 0.9490196f; color.b = 0.730774f; color.a = 1f; ((Component)((Component)val2).transform.Find("Sphere Effect 1").Find("Point Light")).GetComponent<Light>().color = color; ___animator.sfxAttackDownGlobal.Sounds[0] = GenshinImpactOverhaul.XianyunAttackDownGlobal; ___animator.sfxAttackDownLocal.Sounds[0] = GenshinImpactOverhaul.XianyunAttackDown; ___animator.sfxDeath.Sounds[0] = GenshinImpactOverhaul.XianyunDeath; ___animator.sfxHurt.Sounds[0] = GenshinImpactOverhaul.XianyunHurt1; ___animator.sfxHurt.Sounds[1] = GenshinImpactOverhaul.XianyunHurt2; ___animator.sfxHurt.Sounds[2] = GenshinImpactOverhaul.XianyunHurt3; ___animator.sfxStunnedLoop.Sounds[0] = GenshinImpactOverhaul.XianyunStunnedLoop; ___animator.sfxChargeAttackLoop.Sounds[0] = GenshinImpactOverhaul.XianyunChargeAttackLoop; ___animator.sfxChargeAttackStart.Sounds[0] = GenshinImpactOverhaul.XianyunChargeAttack; ___animator.sfxDelayAttackGlobal.Sounds[0] = GenshinImpactOverhaul.XianyunClapGlobal; ___animator.sfxDelayAttackLocal.Sounds[0] = GenshinImpactOverhaul.XianyunClapLocal; ___animator.sfxDelayAttackLoop.Sounds[0] = GenshinImpactOverhaul.XianyunDelayAttack; } } } [HarmonyPatch(typeof(EnemyFloaterAnim))] internal class EnemyFloaterAnimPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] public static void ReplaceAnimator(EnemyFloaterAnim __instance) { if (!GenshinImpactOverhaul.XianyunReplacement.Value) { return; } FieldInfo field = typeof(EnemyFloaterAnim).GetField("animator", BindingFlags.Instance | BindingFlags.NonPublic); if (field == null) { return; } object? value = field.GetValue(__instance); Animator val = (Animator)((value is Animator) ? value : null); Transform val2 = ((Component)__instance).transform.Find("Xianyun(Clone)"); if (!((Object)(object)val2 == (Object)null)) { Animator component = ((Component)val2).GetComponent<Animator>(); if ((Object)(object)val != (Object)(object)component) { field.SetValue(__instance, component); } } } [HarmonyPatch("Update")] [HarmonyPostfix] public static void Update(EnemyFloaterAnim __instance) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.XianyunReplacement.Value) { ((Component)__instance).transform.Find("Xianyun(Clone)").localPosition = new Vector3(0f, 0f, 0f); } } } [HarmonyPatch(typeof(EnemyGnome))] internal class EnemyGnomePatch { [HarmonyPatch("Awake")] [HarmonyPostfix] private static void ReplaceAssets(EnemyGnome __instance, ref EnemyGnomeAnim ___enemyGnomeAnim) { //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.MikaReplacement.Value) { Modifiers.TurnOffRenderers(((Component)__instance).transform); EnemyGnomeStunFly component = ((Component)((Component)__instance).transform.parent.parent.Find("Stun Fly Loop")).GetComponent<EnemyGnomeStunFly>(); GameObject val = Object.Instantiate<GameObject>(GenshinImpactOverhaul.MikaPrefab); val.transform.parent = ((Component)__instance).transform.parent.Find("[VISUALS]"); Modifiers.SetPositioning(val.transform, Quaternion.identity, new Vector3(0f, -0.13f, 0f), new Vector3(0.47f, 0.47f, 0.47f)); val.AddComponent<MikaAnimationEventHandler>(); __instance.soundDeath.Sounds[0] = GenshinImpactOverhaul.MikaSoundDeath1; __instance.soundDeath.Sounds[1] = GenshinImpactOverhaul.MikaSoundDeath2; __instance.soundDeath.Sounds[2] = GenshinImpactOverhaul.MikaSoundDeath3; __instance.soundHurt.Sounds[0] = GenshinImpactOverhaul.MikaSoundHurt1; __instance.soundHurt.Sounds[1] = GenshinImpactOverhaul.MikaSoundHurt2; __instance.soundHurt.Sounds[2] = GenshinImpactOverhaul.MikaSoundHurt3; ___enemyGnomeAnim.soundDespawn.Sounds[0] = GenshinImpactOverhaul.MikaSoundDespawn; ___enemyGnomeAnim.soundIdleBreaker.Sounds[0] = GenshinImpactOverhaul.MikaSoundIdle1; ___enemyGnomeAnim.soundIdleBreaker.Sounds[1] = GenshinImpactOverhaul.MikaSoundIdle2; ___enemyGnomeAnim.soundIdleBreaker.Sounds[2] = GenshinImpactOverhaul.MikaSoundIdle3; ___enemyGnomeAnim.soundJump.Sounds[0] = GenshinImpactOverhaul.MikaSoundJump; ___enemyGnomeAnim.soundNotice.Sounds[0] = GenshinImpactOverhaul.MikaSoundNotice1; ___enemyGnomeAnim.soundNotice.Sounds[1] = GenshinImpactOverhaul.MikaSoundNotice2; ___enemyGnomeAnim.soundNotice.Sounds[2] = GenshinImpactOverhaul.MikaSoundNotice3; ___enemyGnomeAnim.soundPickaxeTell.Sounds[0] = GenshinImpactOverhaul.MikaSoundPickaxeTell; ___enemyGnomeAnim.soundSpawn.Sounds[0] = GenshinImpactOverhaul.MikaSoundSpawn; ___enemyGnomeAnim.soundStun.Sounds[0] = GenshinImpactOverhaul.MikaStunIntro1; ___enemyGnomeAnim.soundStun.Sounds[1] = GenshinImpactOverhaul.MikaStunIntro2; ___enemyGnomeAnim.soundStun.Sounds[2] = GenshinImpactOverhaul.MikaStunIntro3; ___enemyGnomeAnim.soundStunOutro.Sounds[0] = GenshinImpactOverhaul.MikaStunOutro1; ___enemyGnomeAnim.soundStunOutro.Sounds[1] = GenshinImpactOverhaul.MikaStunOutro2; ___enemyGnomeAnim.soundStunOutro.Sounds[2] = GenshinImpactOverhaul.MikaStunOutro3; component.sound.Sounds[0] = GenshinImpactOverhaul.MikaSoundStunFlyLoop; ((Component)((Component)__instance).transform.parent.parent).GetComponent<EnemyParent>().enemyName = "Mika"; } } } [HarmonyPatch(typeof(EnemyGnomeAnim))] internal class GnomeAnimPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] public static void ReplaceAnimator(EnemyGnomeAnim __instance) { if (!GenshinImpactOverhaul.MikaReplacement.Value) { return; } FieldInfo field = typeof(EnemyGnomeAnim).GetField("animator", BindingFlags.Instance | BindingFlags.NonPublic); if (field == null) { return; } object? value = field.GetValue(__instance); Animator val = (Animator)((value is Animator) ? value : null); Transform val2 = ((Component)__instance).transform.Find("Mika(Clone)"); if (!((Object)(object)val2 == (Object)null)) { Animator component = ((Component)val2).GetComponent<Animator>(); if ((Object)(object)val != (Object)(object)component) { field.SetValue(__instance, component); } } } } [HarmonyPatch(typeof(EnemyHunter))] internal class EnemyHunterPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] private static void ReplaceAssets(EnemyHunter __instance, ref EnemyHunterAnim ___enemyHunterAnim) { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.ClorindeReplacement.Value) { Modifiers.TurnOffRenderers(((Component)__instance).transform); GameObject val = Object.Instantiate<GameObject>(GenshinImpactOverhaul.ClorindePrefab); val.transform.parent = ((Component)__instance).transform.parent.Find("[VISUALS]"); Modifiers.SetPositioning(val.transform, Quaternion.identity, new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)); val.AddComponent<ClorindeAnimationEventHandler>(); __instance.soundDeath.Sounds[0] = GenshinImpactOverhaul.ClorindeSoundDeath1; __instance.soundDeath.Sounds[1] = GenshinImpactOverhaul.ClorindeSoundDeath2; __instance.soundDeath.Sounds[2] = GenshinImpactOverhaul.ClorindeSoundDeath3; __instance.soundHurt.Sounds[0] = GenshinImpactOverhaul.ClorindeSoundHurt1; __instance.soundHurt.Sounds[1] = GenshinImpactOverhaul.ClorindeSoundHurt2; __instance.soundHurt.Sounds[2] = GenshinImpactOverhaul.ClorindeSoundHurt3; ___enemyHunterAnim.aimStartClips[0] = GenshinImpactOverhaul.ClorindeSoundAim1; ___enemyHunterAnim.aimStartClips[1] = GenshinImpactOverhaul.ClorindeSoundAim2; ___enemyHunterAnim.aimStartClips[2] = GenshinImpactOverhaul.ClorindeSoundAim3; ___enemyHunterAnim.aimStartGlobalClips[0] = GenshinImpactOverhaul.ClorindeSoundAimGlobal1; ___enemyHunterAnim.aimStartGlobalClips[1] = GenshinImpactOverhaul.ClorindeSoundAimGlobal2; ___enemyHunterAnim.aimStartGlobalClips[2] = GenshinImpactOverhaul.ClorindeSoundAimGlobal3; ___enemyHunterAnim.soundAimStart.Sounds[0] = GenshinImpactOverhaul.ClorindeSoundAim1; ___enemyHunterAnim.soundAimStartGlobal.Sounds[0] = GenshinImpactOverhaul.ClorindeSoundAimGlobal1; ___enemyHunterAnim.soundDespawn.Sounds[0] = GenshinImpactOverhaul.ClorindeSoundDespawn; ___enemyHunterAnim.soundSpawn.Sounds[0] = GenshinImpactOverhaul.ClorindeSoundSpawn; ___enemyHunterAnim.soundLeaveStart.Sounds[0] = GenshinImpactOverhaul.ClorindeSoundLeave1; ___enemyHunterAnim.soundLeaveStart.Sounds[1] = GenshinImpactOverhaul.ClorindeSoundLeave2; ___enemyHunterAnim.soundLeaveStart.Sounds[2] = GenshinImpactOverhaul.ClorindeSoundLeave3; ((Component)((Component)__instance).transform.parent.parent).GetComponent<EnemyParent>().enemyName = "Clorinde"; } } } [HarmonyPatch(typeof(EnemyHunterAnim))] internal class HunterAnimPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] public static void ReplaceAnimator(EnemyHunterAnim __instance) { if (!GenshinImpactOverhaul.ClorindeReplacement.Value) { return; } FieldInfo field = typeof(EnemyHunterAnim).GetField("animator", BindingFlags.Instance | BindingFlags.NonPublic); if (field == null) { return; } object? value = field.GetValue(__instance); Animator val = (Animator)((value is Animator) ? value : null); Transform val2 = ((Component)__instance).transform.Find("Clorinde(Clone)"); if (!((Object)(object)val2 == (Object)null)) { Animator component = ((Component)val2).GetComponent<Animator>(); if ((Object)(object)val != (Object)(object)component) { field.SetValue(__instance, component); } } } } [HarmonyPatch(typeof(EnemyRobe))] internal class EnemyRobePatch { [HarmonyPatch("Awake")] [HarmonyPostfix] private static void ReplaceAssets(EnemyRobe __instance, ref EnemyRobeAnim ___robeAnim) { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) if (GenshinImpactOverhaul.HuTaoReplacement.Value) { Modifiers.TurnOffRenderers(((Component)__instance).transform); GameObject val = Object.Instantiate<GameObject>(GenshinImpactOverhaul.HuTaoPrefab); val.transform.parent = ((Component)__instance).transform.parent.Find("Visual"); Modifiers.SetPositioning(val.transform, Quaternion.identity, new Vector3(0f, 0.111f, 0f), new Vector3(1.2f, 1.2f, 1.2f)); val.AddComponent<HuTaoAnimationEventHandler>(); ((Component)((Component)__instance).transform.parent.parent).GetComponent<EnemyParent>().enemyName = "Hu Tao"; ___robeAnim.sfxAttack.Sounds[0] = GenshinImpactOverhaul.HutaoAttack; ___robeAnim.sfxAttackGlobal.Sounds[0] = GenshinImpactOverhaul.HutaoAttackGlobal; ___robeAnim.sfxAttackUnder.Sounds[0] = GenshinImpactOverhaul.HutaoLookUnderScream; ___robeAnim.sfxAttackUnderGlobal.Sounds[0] = GenshinImpactOverhaul.HutaoLookUnderScreamGlobal; ___robeAnim.sfxHandAggressive.Sounds[0] = GenshinImpactOverhaul.HutaoCrackingFingersAggresive; ___robeAnim.sfxHandIdle.Sounds[0] = GenshinImpactOverhaul.HutaoCrackingFingers; ___robeAnim.sfxHurt.Sounds[0] = GenshinImpactOverhaul.HutaoHurt1; ___robeAnim.sfxHurt.Sounds[1] = GenshinImpactOverhaul.HutaoHurt2; ___robeAnim.sfxHurt.Sounds[2] = GenshinImpactOverhaul.HutaoHurt3; ___robeAnim.sfxIdleBreak.Sounds[0] = GenshinImpactOverhaul.HutaoNoise1; ___robeAnim.sfxIdleBreak.Sounds[1] = GenshinImpactOverhaul.HutaoNoise2; ___robeAnim.sfxIdleBreak.Sounds[2] = GenshinImpactOverhaul.HutaoNoise3; ___robeAnim.sfxIdleBreak.Sounds[3] = GenshinImpactOverhaul.HutaoNoise4; ___robeAnim.sfxStunStart.Sounds[0] = GenshinImpactOverhaul.HutaoStunStart; ___robeAnim.sfxTargetPlayerLoop.Sounds[0] = GenshinImpactOverhaul.HutaoTargetingPlayer; ___robeAnim.sfxStunLoop.Sounds[0] = GenshinImpactOverhaul.HutaoStunnedLoop; } } } [HarmonyPatch(typeof(EnemyRobeAnim))] internal class RobeAnimPatch { [HarmonyPatch("Awake")] [HarmonyPostfix] public static void ReplaceAnimator(EnemyRobeAnim __instance) { if (!GenshinImpactOverhaul.HuTaoReplacement.Value) { return; } ((Behaviour)((Component)__instance).gameObject.GetComponent<Animator>()).enabled = false; FieldInfo field = typeof(EnemyRobeAnim).GetField("animator", BindingFlags.Instance | BindingFlags.NonPublic); if (field == null) { return; } object? value = field.GetValue(__instance); Animator val = (Animator)((value is Animator) ? value : null); Transform v