Decompiled source of GenshinImpactOverhaul v1.6.0
GenshinImpactOverhaul.dll
Decompiled 2 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Text; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using ModelReplacement.Monobehaviors.Enemies; using UnityEngine; using UnityEngine.VFX; using UnityEngine.Video; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("GenshinImpactOverhaul")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("GenshinImpactOverhaul")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("5695c7d4-518d-4a00-be27-60580d5b632c")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace GenshinImpactOverhaul; [BepInPlugin("GenshinImpactOverhaul", "GoblinKingShmeesGenshinOverhaul", "1.5.9")] public class GenshinImpactOverhaul : BaseUnityPlugin { public class FurinaWalkingIdle : MonoBehaviour { public SandSpiderAI spiderAI; public Vector3 prevPosition; public bool positionChanged = false; private Animator animator = ((Component)FurinaObject.transform).GetComponent<Animator>(); private void Update() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0074: 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 (((Component)spiderAI).transform.position != prevPosition) { positionChanged = true; } else { positionChanged = false; } if (positionChanged) { animator.SetBool("isMoving", true); } else { animator.SetBool("isMoving", false); } prevPosition = ((Component)spiderAI).transform.position; } } public class NilouFacingDirection : MonoBehaviour { public BlobAI blobAI; public Vector3 prevPosition; private void Update() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) Vector3 val = ((Component)blobAI).transform.position - prevPosition; val.y = 0f; if (val != Vector3.zero) { Quaternion rotation = Quaternion.LookRotation(val); ((Component)((Component)blobAI).transform.Find("ScanNode (1)").Find("Nilou(Clone)")).transform.rotation = rotation; } prevPosition = ((Component)blobAI).transform.position; } } public class VentiFlyDirection : MonoBehaviour { public DoublewingAI doublewingAI; public Vector3 prevPosition; private void Update() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) Vector3 val = ((Component)doublewingAI).transform.position - prevPosition; val.y = 0f; if (val != Vector3.zero) { Quaternion rotation = Quaternion.LookRotation(val); ((Component)((Component)doublewingAI).transform.Find("DoublewingModel").Find("Venti(Clone)")).transform.rotation = rotation; } prevPosition = ((Component)doublewingAI).transform.position; } } public class PenguinFacingDirection : MonoBehaviour { public ButlerBeesEnemyAI butlerBeesEnemyAI; public Vector3 prevPosition; private void Update() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) Vector3 val = ((Component)butlerBeesEnemyAI).transform.position - prevPosition; val.y = 0f; if (val != Vector3.zero) { Quaternion rotation = Quaternion.LookRotation(val); ((Component)((Component)butlerBeesEnemyAI).transform.Find("ScanNode").Find("Penguin(Clone)")).transform.rotation = rotation; } prevPosition = ((Component)butlerBeesEnemyAI).transform.position; } } public class RadMechNestModifier : MonoBehaviour { private string targetObjectName = "RadMechNestSpawnObject(Clone)"; private string targetObjectDeletion = "RuinEepy(Clone)"; public GameObject ruinSpawnPrefab; private float updateInterval = 8f; private int roomLayer; private void Start() { roomLayer = LayerMask.NameToLayer("Room"); ((MonoBehaviour)this).StartCoroutine(UpdateAtIntervals()); } private IEnumerator UpdateAtIntervals() { while (true) { ModifyRadMechNestObjects(); yield return (object)new WaitForSeconds(updateInterval); } } private void ModifyRadMechNestObjects() { //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Expected O, but got Unknown //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Expected O, but got Unknown //IL_0234: Unknown result type (might be due to invalid IL or missing references) GameObject[] array = Object.FindObjectsOfType<GameObject>(); GameObject[] array2 = array; foreach (GameObject val in array2) { if (val.layer == roomLayer && ((Object)val).name == targetObjectName) { bool flag = false; foreach (Transform item in val.transform) { Transform val2 = item; if (((Object)val2).name == "RuinEepy") { flag = true; break; } } if (!flag && (Object)(object)ruinSpawnPrefab != (Object)null) { GameObject val3 = Object.Instantiate<GameObject>(ruinSpawnPrefab, val.transform); ((Object)val3).name = ((Object)ruinSpawnPrefab).name; } Transform val4 = val.transform.Find("MeshContainer/Colliders (1)"); if ((Object)(object)val4 != (Object)null) { foreach (Transform item2 in val4) { Transform val5 = item2; BoxCollider component = ((Component)val5).GetComponent<BoxCollider>(); if ((Object)(object)component != (Object)null) { ((Collider)component).enabled = false; } } } Transform val6 = val.transform.Find("MeshContainer/Body"); if ((Object)(object)val6 != (Object)null) { SkinnedMeshRenderer component2 = ((Component)val6).GetComponent<SkinnedMeshRenderer>(); if ((Object)(object)component2 != (Object)null) { ((Renderer)component2).enabled = false; } } Transform val7 = val.transform.Find("MeshContainer/ScanNode (1)"); if ((Object)(object)val7 != (Object)null) { ScanNodeProperties component3 = ((Component)val7).GetComponent<ScanNodeProperties>(); if ((Object)(object)component3 != (Object)null) { component3.headerText = "Ruin Guard"; Transform val8 = val.transform.Find("RuinEepy/Armature.001/全ての親/Root"); if ((Object)(object)val8 != (Object)null) { ((Component)component3).transform.SetParent(val8); ((Component)component3).transform.localPosition = new Vector3(0f, 0.1f, 0f); } } } } if (((Object)val).name == targetObjectDeletion) { Object.Destroy((Object)(object)val); } } } } public class RadMechNestHandler : MonoBehaviour { public GameObject ruinSpawnPrefab; private void Awake() { RadMechNestModifier radMechNestModifier = ((Component)this).gameObject.AddComponent<RadMechNestModifier>(); radMechNestModifier.ruinSpawnPrefab = RuinSpawnPrefab; } } public class AndriusVehicleHandler : MonoBehaviour { public VehicleController vehicle; public Animator andriusAnimator; private Transform windWiper; private Quaternion previousRotation; private Vector3 previousPosition; private bool wagging; private void Start() { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) windWiper = ((Component)vehicle).transform.Find("Meshes").Find("Windwipers").Find("WindwipersAnim") .Find("Cube.001"); previousRotation = windWiper.rotation; previousPosition = ((Component)vehicle).transform.position; } private void Update() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: 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_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) if (windWiper.rotation != previousRotation && !vehicle.carDestroyed) { wagging = true; andriusAnimator.SetBool("wagging", true); } else { wagging = false; andriusAnimator.SetBool("wagging", false); } previousRotation = windWiper.rotation; Vector3 position = ((Component)vehicle).transform.position; float num = Vector3.Distance(position, previousPosition); previousPosition = position; if (vehicle.gearStickAnimValue != 1f) { andriusAnimator.SetBool("moving", true); } if (vehicle.gearStickAnimValue == 1f) { andriusAnimator.SetBool("moving", false); } if (vehicle.ignitionStarted) { andriusAnimator.SetBool("poweredOn", true); } if (!vehicle.ignitionStarted) { andriusAnimator.SetBool("poweredOn", false); } if (vehicle.honkingHorn) { andriusAnimator.SetBool("howling", true); } if (!vehicle.honkingHorn) { andriusAnimator.SetBool("howling", false); } if (vehicle.carDestroyed) { andriusAnimator.SetBool("dead", true); } if (!vehicle.carDestroyed) { andriusAnimator.SetBool("dead", false); } } } public class HeadTracking : MonoBehaviour { public Transform headBone; private StartOfRound startOfRound; public Transform target; public float rotationSpeed = 2f; public Vector3 headOffset; public float maxDistance = 10f; public float fieldOfView = 90f; private GameObject[] allPlayers; private void Start() { startOfRound = Object.FindObjectOfType<StartOfRound>(); allPlayers = startOfRound.allPlayerObjects; } private void Update() { //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) target = FindClosestPlayer(); if (!((Object)(object)target != (Object)null) || !((Object)(object)headBone != (Object)null)) { return; } Vector3 val = target.position + headOffset - headBone.position; float magnitude = ((Vector3)(ref val)).magnitude; if (magnitude <= maxDistance) { float num = Vector3.Angle(headBone.forward, val); if (num <= fieldOfView / 2f) { Quaternion val2 = Quaternion.LookRotation(val); headBone.rotation = Quaternion.Slerp(headBone.rotation, val2, rotationSpeed * Time.deltaTime); } } } private Transform FindClosestPlayer() { //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) GameObject val = null; float num = maxDistance; GameObject[] array = allPlayers; foreach (GameObject val2 in array) { if ((Object)(object)val2 != (Object)null) { float num2 = Vector3.Distance(val2.transform.position, headBone.position); if (num2 < num) { num = num2; val = val2; } } } return ((Object)(object)val != (Object)null) ? val.transform : null; } } private static Dictionary<Turret, Transform> turretDictionary = new Dictionary<Turret, Transform>(); private readonly Harmony harmony = new Harmony("GenshinOverhaul"); private static GenshinImpactOverhaul Instance; public static ManualLogSource mls; public string targetSceneName = "HideAndDontSave"; private static bool animationTriggered = false; private static AudioClip lastClip = null; public static Texture MikaTexture; public static GameObject Web1; public static GameObject Web2; public static GameObject Web3; public static GameObject PepperBush; public static GameObject MeteorPrefab; public static GameObject MeteorObject; public static GameObject[] webObjects; public static GameObject AlbedoPrefab; public static GameObject AlbedoObject; public static GameObject AmberPrefab; public static GameObject AmberObject; public static GameObject AndriusPrefab; public static GameObject AndriusObject; public static GameObject BaronBunnyPrefab; public static GameObject BaronBunnyObject; public static GameObject BennettPrefab; public static GameObject BennettObject; public static GameObject ChevPrefab; public static GameObject ChevObject; public static GameObject ChevGunPrefab; public static GameObject ChevGunObject; public static GameObject ChildePrefab; public static GameObject ChildeObject; public static GameObject ChildeSmoke; public static GameObject ChioriPrefab; public static GameObject ChioriObject; public static GameObject DoriPrefab; public static GameObject DoriObject; public static GameObject FanPrefab; public static GameObject FanObject; public static GameObject FurinaPrefab; public static GameObject FurinaObject; public static GameObject FremPrefab; public static GameObject FremObject; public static GameObject FungiPrefab; public static GameObject FungiObject; public static GameObject EGnosisPrefab; public static GameObject EGnosisObject; public static GameObject PenguinPrefab; public static GameObject PenguinObject; public static GameObject OzPrefab; public static GameObject OzObject; public static GameObject IttoPrefab; public static GameObject IttoObject; public static GameObject KazuhaPrefab; public static GameObject KazuhaObject; public static GameObject KleePrefab; public static GameObject KleeObject; public static GameObject MissHinaPrefab; public static GameObject MissHinaObject; public static GameObject MoraPrefab; public static GameObject MoraObject; public static GameObject NaviaPrefab; public static GameObject NaviaObject; public static GameObject NeuvPrefab; public static GameObject NeuvObject; public static GameObject NilouPrefab; public static GameObject NilouObject; public static GameObject OnikaPrefab; public static GameObject OnikaObject; public static GameObject PaimonPrefab; public static GameObject PaimonObject; public static GameObject QiqiPrefab; public static GameObject QiqiObject; public static GameObject RaidenPrefab; public static GameObject RaidenObject; public static GameObject RaidenDollPrefab; public static GameObject RaidenDollObject; public static GameObject RazorPrefab; public static GameObject RazorObject; public static GameObject RuinGuardPrefab; public static GameObject RuinGuardObject; public static GameObject ScaraPrefab; public static GameObject ScaraObject; public static GameObject StatuePrefab; public static GameObject StatueObject; public static GameObject VentiPrefab; public static GameObject VentiObject; public static GameObject WrisPrefab; public static GameObject WrisObject; public static GameObject XianglingPrefab; public static GameObject XianglingObject; public static GameObject GuobaPrefab; public static GameObject GuobaObject; public static GameObject XiaoObject; public static GameObject XiaoPrefab; public static GameObject YaoyaoPrefab; public static GameObject YaoyaoObject; public static GameObject ZhongliPrefab; public static GameObject ZhongliObject; public static GameObject RuinSpawnPrefab; public static GameObject RuinSpawnObject; public static GameObject HammerPrefab; public static GameObject HammerObject; public static GameObject ShieldPrefab; public static GameObject ShieldObject; public static GameObject GobletPrefab; public static GameObject GobletObject; public static GameObject SlimePrefab; public static GameObject SlimeObject; public static GameObject PipePrefab; public static GameObject PipeObject; public static GameObject PopsiclePrefab; public static GameObject PopsicleObject; public static GameObject BoxPrefab; public static GameObject BoxObject; public static GameObject CombPrefab; public static GameObject CombObject; public static GameObject GoheiPrefab; public static GameObject GoheiObject; public static GameObject KeychainPrefab; public static GameObject KeychainObject; public static GameObject ScalePrefab; public static GameObject ScaleObject; public static GameObject TeaPrefab; public static GameObject TeaObject; public static GameObject YueguiPrefab; public static GameObject YueguiObject; public static GameObject TerminalPrefab; public static GameObject TerminalObject; public static GameObject DicePrefab; public static GameObject DiceObject; public static GameObject ShirouPrefab; public static GameObject ShirouObject; public static GameObject MakeupPrefab; public static GameObject MakeupObject; public static GameObject HandPrefab; public static GameObject HandObject; public static GameObject LampPrefab; public static GameObject LampObject; public static GameObject DarumaPrefab; public static GameObject DarumaObject; public static GameObject BombPrefab; public static GameObject BombObject; public static GameObject AxePrefab; public static GameObject AxeObject; public static GameObject ClubPrefab; public static GameObject ClubObject; public static GameObject PillPrefab; public static GameObject PillObject; public static GameObject SnacksPrefab; public static GameObject SnacksObject; public static GameObject CameraPrefab; public static GameObject CameraObject; public static GameObject ToyPrefab; public static GameObject ToyObject; public static GameObject SnakePrefab; public static GameObject SnakeObject; public static GameObject LyrePrefab; public static GameObject LyreObject; public static GameObject ScrollPrefab; public static GameObject ScrollObject; public static GameObject KFanPrefab; public static GameObject KFanObject; public static GameObject IceCharmPrefab; public static GameObject IceCharmObject; public static GameObject TearPrefab; public static GameObject TearObject; public static GameObject CritterPrefab; public static GameObject CritterObject; public static GameObject SeeliePrefab; public static GameObject SeelieObject; public static GameObject CatPrefab; public static GameObject CatObject; public static GameObject RuinToy; public static GameObject DMaskPrefab; public static GameObject DMaskObject; public static GameObject CMaskPrefab; public static GameObject CMaskObject; public static Sprite DebateSprite; public static Sprite VerdictSprite; public static Sprite HammerSprite; public static Sprite Transparent; public static Sprite BaronBunny; public static AssetBundle GenshinOverhaulAssetBundle; public static AudioClip soundSilence; public static AudioClip soundAlbedoCry1; public static AudioClip soundAlbedoCry2; public static AudioClip soundAlbedoCry3; public static AudioClip soundAlbedoCry4; public static AudioClip soundAlbedoMaskFaceLightUp; public static AudioClip soundAlbedoLaugh1; public static AudioClip soundAlbedoLaugh2; public static AudioClip soundAlbedoLaugh3; public static AudioClip soundAlbedoMaskPuke; public static AudioClip soundAlbedoDeath; public static AudioClip soundAlbedoHit; public static AudioClip soundAlbedoMaskAttackPlayer; public static AudioClip soundAmberCry; public static AudioClip soundAmberCryFake; public static AudioClip soundAmberEatScrap; public static AudioClip soundAmberPuke; public static AudioClip soundAmberSquirm; public static AudioClip soundAmberTransformation; public static AudioClip soundAmberDeath; public static AudioClip soundAmberGrowl; public static AudioClip soundAmberClick1; public static AudioClip soundAmberClick2; public static AudioClip soundAmberCooldown; public static AudioClip soundAmberLeap; public static AudioClip soundAndriusHorn; public static AudioClip soundAndriusRadio1; public static AudioClip soundAndriusRadio2; public static AudioClip soundAndriusRadio3; public static AudioClip soundAndriusRadio4; public static AudioClip soundAndriusEngineRev; public static AudioClip soundAndriusEngineRun; public static AudioClip soundAndriusEngineRun2; public static AudioClip soundAndriusEngineStart; public static AudioClip soundAndriusHeadlights; public static AudioClip soundAndriusGrowl3; public static AudioClip soundAndriusMaxCollision1; public static AudioClip soundAndriusMaxCollision2; public static AudioClip soundAndriusMedCollision1; public static AudioClip soundAndriusMedCollision2; public static AudioClip soundAndriusMedCollision3; public static AudioClip soundAndriusMinCollision1; public static AudioClip soundAndriusMinCollision2; public static AudioClip soundAndriusHitObstacle1; public static AudioClip soundAndriusHitObstacle2; public static AudioClip soundAndriusHitObstacle3; public static AudioClip soundAndriusExhale; public static AudioClip soundAndriusPush; public static AudioClip soundAndriusTwistKey; public static AudioClip soundAndriusRevEngine; public static AudioClip soundAndriusRolling; public static AudioClip soundAndriusTireSkid; public static AudioClip soundAndriusShatter; public static AudioClip soundAndriusTurb; public static AudioClip soundBennettBeep; public static AudioClip soundBennettTrigger; public static AudioClip soundBennettPressLandmine; public static AudioClip BennetNoise; public static AudioClip soundOzHello; public static AudioClip soundChevShotgunReloadNutcracker; public static AudioClip soundChevNutcrackerHitEye; public static AudioClip soundChevNutcrackerAngry; public static AudioClip soundChevNutcrackerDie; public static AudioClip soundChevNutcrackerTurn; public static AudioClip soundChevKick; public static AudioClip soundChevStopTurning1; public static AudioClip soundChevStopTurning2; public static AudioClip soundChevStopTurning3; public static AudioClip soundChevAlert; public static AudioClip soundChevHitMetal; public static AudioClip soundChildeFrighten1; public static AudioClip soundChildeFrighten3; public static AudioClip soundChildeNervous; public static AudioClip soundChildeRattleTail; public static AudioClip soundChildePuffSFX; public static AudioClip soundChildeBite; public static AudioClip soundChildeStomp; public static AudioClip soundChildeAngry; public static AudioClip soundChioriHit; public static AudioClip soundChioriMarch1; public static AudioClip soundChioriMarch2; public static AudioClip soundChioriMarch3; public static AudioClip soundChioriMarch4; public static AudioClip soundChioriMarch5; public static AudioClip soundChioriSnareDrum; public static AudioClip soundChioriSnip; public static AudioClip soundDoriAngry1; public static AudioClip soundDoriAngry2; public static AudioClip soundDoriChitter1; public static AudioClip soundDoriChitter2; public static AudioClip soundDoriChitter3; public static AudioClip soundDoriCry; public static AudioClip soundDoriFly; public static AudioClip soundDoriDie; public static AudioClip soundFremBalloonsTowerDefenseSix; public static AudioClip soundFremBuzzingAmbience; public static AudioClip soundFremIdleAmbience; public static AudioClip soundFremMurderTheme; public static AudioClip soundFremPersWalking; public static AudioClip soundFremPullKnife; public static AudioClip soundFremHit; public static AudioClip soundFremSweep1; public static AudioClip soundFremSweep2; public static AudioClip soundFremSweep3; public static AudioClip soundFremSweep4; public static AudioClip soundFurinaStunSpider; public static AudioClip soundFurinaSpiderAttack; public static AudioClip soundFurinaSpiderDie; public static AudioClip soundFurinaSpiderHit; public static AudioClip soundFurinaWalk; public static AudioClip soundFurinaSpoolPlayerInWeb; public static AudioClip soundFurinaHang; public static AudioClip soundFurinaJaja; public static AudioClip soundRuinQuiet; public static AudioClip soundGenshinLoudhorn; public static AudioClip soundGenshinLoudhornDistant; public static AudioClip soundGenshinMenu; public static AudioClip soundGenshinHighAction1; public static AudioClip soundGenshinHighAction2; public static AudioClip soundGenshinLowAction; public static AudioClip soundGenshinCompanyBuildingMusic1; public static AudioClip soundGenshinAmbientMusic1; public static AudioClip soundGenshinAmbientMusic2; public static AudioClip soundGenshinAmbientMusic3; public static AudioClip soundGenshinAmbientMusic5; public static AudioClip soundGenshinAmbientMusic6; public static AudioClip soundGenshinLateDay; public static AudioClip soundGenshinIntroSpeech; public static AudioClip soundGenshinMidDay; public static AudioClip soundGenshinStartOfDay; public static AudioClip soundGenshinNight; public static AudioClip soundGenshinDroning1; public static AudioClip soundGenshinDroning2; public static AudioClip soundGenshinClassical1; public static AudioClip soundGenshinBackgroundAmbience; public static AudioClip soundGenshinJazz; public static AudioClip soundGenshinIcecreamTruckV2; public static AudioClip soundGenshinIcecreamTruckFar; public static AudioClip soundGenshinEclipseAmbience; public static AudioClip soundGenshinPiano1; public static AudioClip soundIttoBaboonEnterFight; public static AudioClip soundIttoBaboonKill; public static AudioClip soundIttoBaboonStab; public static AudioClip soundIttoBaboonTakeDamage; public static AudioClip soundIttoKillBaboon; public static AudioClip soundIttoSqueak1; public static AudioClip soundIttoSqueak2; public static AudioClip soundIttoCaw1; public static AudioClip soundIttoCawScream1; public static AudioClip soundIttoCawScream2; public static AudioClip soundIttoCawScream3; public static AudioClip soundIttoCawScream4; public static AudioClip soundIttoCawScream5; public static AudioClip soundKazuhaLocusts; public static AudioClip soundKazuhaEvade; public static AudioClip soundGiantEatPlayer; public static AudioClip soundStunGiant; public static AudioClip soundKleeBurning; public static AudioClip soundKleeDeath; public static AudioClip soundKleeDistantRumble1; public static AudioClip soundKleeDistantRumble2; public static AudioClip soundKleeDistantRumble3; public static AudioClip soundNaviaTurretActivate; public static AudioClip soundNaviaTurretBeserkMode; public static AudioClip soundNaviaTurretDeactivate; public static AudioClip soundNaviaTurretFire; public static AudioClip soundNaviaTurretFireDistant; public static AudioClip soundNaviaTurretSeePlayer; public static AudioClip soundNeuvTurnCrank1; public static AudioClip soundNeuvTurnCrank2; public static AudioClip soundNeuvTurnCrank3; public static AudioClip soundNeuvScream1; public static AudioClip soundNeuvJackInTheBoxTheme; public static AudioClip soundNeuvPop1; public static AudioClip soundNeuvKillPlayer; public static AudioClip NilouHitSlime; public static AudioClip NilouEatPlayer; public static AudioClip NilouJiggleSFX; public static AudioClip NilouAngry; public static AudioClip NilouIdle; public static AudioClip soundPaimonClingToPlayer; public static AudioClip soundPaimonClingToPlayerLocal; public static AudioClip soundPaimonDeathShriek; public static AudioClip soundPaimonmonsterNoise; public static AudioClip soundPaimonmonsterNoise2; public static AudioClip soundPaimonmonsterNoiseB; public static AudioClip soundPaimonShriek1; public static AudioClip soundPaimonShriek2; public static AudioClip soundQiqiBellChimeAmbience; public static AudioClip soundQiqiLaugh1_0; public static AudioClip soundQiqiLaugh2; public static AudioClip soundQiqiBreath3; public static AudioClip soundQiqiBreathing; public static AudioClip soundQiqiLaugh; public static AudioClip soundQiqi2Laugh; public static AudioClip soundQiqiWheeze; public static AudioClip soundQiqiStepping1; public static AudioClip soundRaidenAngered; public static AudioClip soundRaidenCrackNeck; public static AudioClip soundRaidenFound1; public static AudioClip soundRaidenStunFlowerman; public static AudioClip soundRazorBitePlayer; public static AudioClip soundRazorShortRoar1; public static AudioClip soundRazorLongRoar1; public static AudioClip soundRazorLongRoar2; public static AudioClip soundRazorLongRoar3; public static AudioClip soundRazorRam1; public static AudioClip soundRazorRam2; public static AudioClip soundRazorRam3; public static AudioClip soundRazorCrawlerDie; public static AudioClip soundRazorEatMeat; public static AudioClip soundRazorHitCrawler1; public static AudioClip soundRazorHitCrawler2; public static AudioClip soundRazorStunCrawler; public static AudioClip soundRuinGuardBrainWash; public static AudioClip soundLaserNoise; public static AudioClip soundScaraBeeZap1; public static AudioClip soundScaraBeeZap2; public static AudioClip soundScaraBeeZap3; public static AudioClip soundScaraBeeZap4; public static AudioClip soundScaraBeeZap5; public static AudioClip soundScaraBeeZap6; public static AudioClip soundScaraBeeZapConstant; public static AudioClip soundScaraBeesDefensive; public static AudioClip soundScaraBeeHiveIdle; public static AudioClip soundScaraBeesAngry; public static AudioClip soundVentiStunDoublewing; public static AudioClip soundVentiDoublewingFlap1; public static AudioClip soundVentiDoublewingFlap2; public static AudioClip soundVentiDoublewingFlap3; public static AudioClip soundVentiDoublewingFlapConstant; public static AudioClip soundVentiKillDoublewing; public static AudioClip soundVentiBird1; public static AudioClip soundVentiBird2; public static AudioClip soundVentiBird3; public static AudioClip soundVentiBirdScreech1; public static AudioClip soundVentiBirdScreech2; public static AudioClip soundWrisStunDog; public static AudioClip soundWrisBreathe1; public static AudioClip soundWrisgrowl; public static AudioClip soundWrisKillPlayer; public static AudioClip soundWrisKillPlayer_0; public static AudioClip soundWrisLunge1; public static AudioClip soundWrisRoar_0; public static AudioClip soundWrisRoar; public static AudioClip soundXianglingHit; public static AudioClip soundXianglingCloseCall1; public static AudioClip soundXianglingCloseCall2; public static AudioClip soundXianglingFarCall1; public static AudioClip soundXianglingFarCall2; public static AudioClip soundXianglingGrowl1; public static AudioClip soundXianglingGrowl2; public static AudioClip soundXianglingGrowl3; public static AudioClip soundXianglingGrowl4; public static AudioClip soundXianglingKill; public static AudioClip soundXianglingShootTongue; public static AudioClip soundXianglingSnarl; public static AudioClip soundXianglingDie; public static AudioClip soundXianglingStun; public static AudioClip XiaoChuckle1; public static AudioClip XiaoChuckle3; public static AudioClip XiaoChuckle4; public static AudioClip XiaoChuckle5; public static AudioClip XiaoLeap1; public static AudioClip XiaoLeap2; public static AudioClip XiaoLeap3; public static AudioClip XiaoCling; public static AudioClip XiaoDeath; public static AudioClip soundYaoyaoSandWormRoar; public static AudioClip soundYaoyaoSandWormRoar2; public static AudioClip soundYaoyaoBurrowingGrowl1; public static AudioClip soundYaoyaoBurrowingRumble1; public static AudioClip soundYaoyaoBurrowingRumble2; public static AudioClip soundYaoyaoBurrowingRumble3; public static AudioClip soundYaoyaoBurrowingRumbleLoud1; public static AudioClip soundYaoyaoEmergeFromGround1; public static AudioClip soundZhongliSpring1; public static AudioClip soundZhongliSpring2; public static AudioClip soundZhongliSpring3; public static AudioClip soundZhongliSpringWobble1; public static AudioClip soundZhongliSpringWobble2; public static AudioClip soundZhongliKillPlayerSpring; public static AudioClip soundZhongliBareFootstep1; public static AudioClip soundZhongliBareFootstep2; public static AudioClip soundZhongliBareFootstep3; public static AudioClip soundZhongliBareFootstep4; public static AudioClip soundZhongliEnterCooldown; public static AudioClip soundZhongliLand; public static AudioClip soundZhongliFar; public static AudioClip soundZhongliNear; public static AudioClip soundZhongliWarning; public static AudioClip soundCameraFar; public static AudioClip soundCameraNear; public static AudioClip soundMeow; public static AudioClip soundDropCat; public static AudioClip soundLyreClose; public static AudioClip soundLyreFar; public static AudioClip soundSeelieNoise; public static AudioClip soundSnakeClose; public static AudioClip soundSnakeFar; public static AudioClip soundSnakeOi; public static AudioClip HandCreak; public static AudioClip HandSlam; public static Material chioriHair; public static Material chioriBody; public static Material chioriFace; public static TextAsset PaimonText; public static VideoClip PaimonVideo; public static TextAsset RaidenText; public static VideoClip RaidenVideo; public static TextAsset RazorText; public static VideoClip RazorVideo; public static TextAsset WrisText; public static VideoClip WrisVideo; public static TextAsset DoriText; public static VideoClip DoriVideo; public static TextAsset NilouText; public static VideoClip NilouVideo; public static TextAsset KleeText; public static VideoClip KleeVideo; public static TextAsset ZhongliText; public static VideoClip ZhongliVideo; public static TextAsset YaoyaoText; public static VideoClip YaoyaoVideo; public static TextAsset NeuvText; public static VideoClip NeuvVideo; public static TextAsset ChildeText; public static VideoClip ChildeVideo; public static TextAsset FurinaText; public static VideoClip FurinaVideo; public static TextAsset VentiText; public static VideoClip VentiVideo; public static TextAsset ScaraText; public static VideoClip ScaraVideo; public static TextAsset KazuhaText; public static VideoClip KazuhaVideo; public static TextAsset IttoText; public static VideoClip IttoVideo; public static TextAsset ChevText; public static VideoClip ChevVideo; public static TextAsset RuinGuardText; public static VideoClip RuinGuardVideo; public static TextAsset FremText; public static VideoClip FremVideo; public static TextAsset PersText; public static VideoClip PersVideo; public static TextAsset XiaoText; public static VideoClip XiaoVideo; public static TextAsset PepperText; public static VideoClip PepperVideo; public static TextAsset XiangText; public static VideoClip XiangVideo; public static TextAsset ChioriText; public static VideoClip ChioriVideo; public static TextAsset AmberText; public static VideoClip AmberVideo; public GameObject ruinSpawnPrefab; public static ConfigEntry<bool> AlbedoReplacement { get; private set; } public static ConfigEntry<bool> AmberReplacement { get; private set; } public static ConfigEntry<bool> AndriusReplacement { get; private set; } public static ConfigEntry<bool> BennettReplacement { get; private set; } public static ConfigEntry<bool> ChevReplacement { get; private set; } public static ConfigEntry<bool> ChildeReplacement { get; private set; } public static ConfigEntry<bool> ChioriReplacement { get; private set; } public static ConfigEntry<bool> DoriReplacement { get; private set; } public static ConfigEntry<bool> FurinaReplacement { get; private set; } public static ConfigEntry<bool> FreminetReplacement { get; private set; } public static ConfigEntry<bool> IttoReplacement { get; private set; } public static ConfigEntry<bool> KazuhaReplacement { get; private set; } public static ConfigEntry<bool> KleeReplacement { get; private set; } public static ConfigEntry<bool> NaviaReplacement { get; private set; } public static ConfigEntry<bool> NeuvReplacement { get; private set; } public static ConfigEntry<bool> NilouReplacement { get; private set; } public static ConfigEntry<bool> PaimonReplacement { get; private set; } public static ConfigEntry<bool> QiqiReplacement { get; private set; } public static ConfigEntry<bool> RaidenReplacement { get; private set; } public static ConfigEntry<bool> RaidenHandReplacement { get; private set; } public static ConfigEntry<bool> RazorReplacement { get; private set; } public static ConfigEntry<bool> RuinGuardReplacement { get; private set; } public static ConfigEntry<bool> ScaraReplacement { get; private set; } public static ConfigEntry<bool> VentiReplacement { get; private set; } public static ConfigEntry<bool> WrioReplacement { get; private set; } public static ConfigEntry<bool> XianglingReplacement { get; private set; } public static ConfigEntry<bool> XiaoReplacement { get; private set; } public static ConfigEntry<bool> YaoyaoReplacement { get; private set; } public static ConfigEntry<bool> ZhongliReplacement { get; private set; } public static ConfigEntry<bool> TerminalReplacement { get; private set; } public static ConfigEntry<bool> SoundsReplacement { get; private set; } public static ConfigEntry<float> ScrapReplacement { get; private set; } public static ConfigEntry<bool> PepperBushReplacement { get; private set; } public static ConfigEntry<bool> MeteorReplacement { 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(typeof(GenshinImpactOverhaul)); string text = Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "genshinoverhaul"); mls.LogDebug((object)text); GenshinOverhaulAssetBundle = AssetBundle.LoadFromFile(text); if ((Object)(object)GenshinOverhaulAssetBundle == (Object)null) { mls.LogError((object)"COULD NOT FIND GENSHIN ASSETS"); } AlbedoPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Albedo.prefab"); AmberPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Amber.prefab"); AndriusPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Andrius.prefab"); BaronBunnyPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/BaronBunny.prefab"); BennettPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/bennett.prefab"); ChevPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/ChevreuseV2.prefab"); ChevGunPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/ChevGun.prefab"); ChildePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Childe.prefab"); ChildeSmoke = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/ChildeSmoke.prefab"); ChioriPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Chiori.prefab"); DoriPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Dori.prefab"); EGnosisPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/ElectroGnosis.prefab"); FurinaPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Furina.prefab"); FremPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Frem.prefab"); FungiPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Fungi.prefab"); GuobaPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Guoba.prefab"); HammerPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Hammer.prefab"); HandPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Hand.prefab"); IttoPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Itto1.prefab"); KazuhaPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Kazuha.prefab"); KleePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Klee.prefab"); MissHinaPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/MissHina.prefab"); MoraPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Mora.prefab"); NaviaPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/NaviaV1.prefab"); NeuvPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Neuv2.prefab"); NilouPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Nilou.prefab"); PaimonPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Paimon.prefab"); OzPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Oz.prefab"); PenguinPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Penguin.prefab"); PepperBush = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/PepperBush.prefab"); OnikaPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Onikabuto.prefab"); QiqiPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Qiqi.prefab"); RaidenPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Raiden.prefab"); RaidenDollPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/RaidenDoll.prefab"); RazorPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Razor.prefab"); RuinGuardPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Ruin_Guard.prefab"); RuinSpawnPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/RuinEepy.prefab"); ScaraPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Scaramouche.prefab"); StatuePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Statue.prefab"); VentiPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Venti.prefab"); WrisPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Wrio.prefab"); MeteorPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Meteor.prefab"); Web1 = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Web1.prefab"); Web2 = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Web2.prefab"); Web3 = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Web3.prefab"); XianglingPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Xiangling1.prefab"); XiaoPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Xiao.prefab"); YaoyaoPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Yaoyao.prefab"); ZhongliPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Zhongli1.prefab"); ShieldPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Shield.prefab"); GobletPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Goblet.prefab"); SlimePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Slime.prefab"); PipePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Pipe.prefab"); PopsiclePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Popsicle.prefab"); BoxPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Catbox.prefab"); DarumaPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Daruma.prefab"); CombPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Comb.prefab"); GoheiPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Gohei.prefab"); KeychainPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Keychain.prefab"); ScalePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Scale.prefab"); TeaPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Tea.prefab"); YueguiPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Yuegui.prefab"); TerminalPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Terminal.prefab"); DicePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Dice.prefab"); ShirouPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Shirou.prefab"); MakeupPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Makeup.prefab"); LampPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Lamp.prefab"); BombPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Bomb.prefab"); AxePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Axe.prefab"); ClubPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Debate.prefab"); CameraPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Camera.prefab"); PillPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Pill.prefab"); SnacksPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Snacks.prefab"); ToyPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Ball.prefab"); SnakePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Snake.prefab"); LyrePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Lyre.prefab"); ScrollPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Scroll.prefab"); KFanPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/KFan.prefab"); IceCharmPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/IceCharm.prefab"); CritterPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Critter.prefab"); TearPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Tear.prefab"); SeeliePrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Seelie.prefab"); CatPrefab = GenshinOverhaulAssetBundle.LoadAsset<GameObject>("Assets/PrefabInstance/Cat.prefab"); MikaTexture = GenshinOverhaulAssetBundle.LoadAsset<Texture>("Assets/Texture2D/MikaNote.png"); DebateSprite = GenshinOverhaulAssetBundle.LoadAsset<Sprite>("Assets/Sprite/Debate.asset"); VerdictSprite = GenshinOverhaulAssetBundle.LoadAsset<Sprite>("Assets/Sprite/Verdict.asset"); HammerSprite = GenshinOverhaulAssetBundle.LoadAsset<Sprite>("Assets/Sprite/Hammer.asset"); Transparent = GenshinOverhaulAssetBundle.LoadAsset<Sprite>("Assets/Sprite/transparent.asset"); BaronBunny = GenshinOverhaulAssetBundle.LoadAsset<Sprite>("Assets/Sprite/BaronBunny.asset"); chioriBody = GenshinOverhaulAssetBundle.LoadAsset<Material>("Assets/Material/ChioriBody.mat"); chioriFace = GenshinOverhaulAssetBundle.LoadAsset<Material>("Assets/Material/ChioriFace.mat"); chioriHair = GenshinOverhaulAssetBundle.LoadAsset<Material>("Assets/Material/ChioriHair.mat"); PaimonVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/PaimonVideo.mp4"); PaimonText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/PaimonText.txt"); RaidenVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/RaidenVideo.mp4"); RaidenText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/RaidenText.txt"); RazorVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/RazorVideo.mp4"); RazorText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/RazorText.txt"); WrisVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/WrisVideo.mp4"); WrisText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/WrisText.txt"); DoriVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/DoriVideo.mp4"); DoriText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/DoriText.txt"); KleeVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/KleeVideo.mp4"); KleeText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/KleeText.txt"); ZhongliVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/ZhongliVideo.mp4"); ZhongliText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/ZhongliText.txt"); YaoyaoVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/YaoyaoVideo.mp4"); YaoyaoText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/YaoyaoText.txt"); NeuvVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/NeuvVideo.mp4"); NeuvText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/NeuvText.txt"); ChildeVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/ChildeVideo.mp4"); ChildeText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/ChildeText.txt"); FurinaVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/FurinaVideo.mp4"); FurinaText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/FurinaText.txt"); VentiVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/VentiVideo.mp4"); VentiText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/VentiText.txt"); ScaraVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/ScaraVideo.mp4"); ScaraText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/ScaraText.txt"); IttoVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/IttoVideo.mp4"); IttoText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/IttoText.txt"); ChevVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/ChevVideo.mp4"); ChevText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/ChevText.txt"); KazuhaVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/KazuhaVideo.mp4"); KazuhaText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/KazuhaText.txt"); NilouVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/NilouVideo.mp4"); NilouText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/NilouText.txt"); FremVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/FremVideo.mp4"); FremText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/FremText.txt"); RuinGuardVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/RuinGuardVideo.mp4"); RuinGuardText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/RuinGuardText.txt"); XiaoVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/XiaoVideo.mp4"); XiaoText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/XiaoText.txt"); XiangVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/XiangVideo.mp4"); XiangText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/XiangText.txt"); ChioriVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/ChioriVideo.mp4"); ChioriText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/ChioriText.txt"); PepperVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/PepperBushVideo.mp4"); PepperText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/PepperBushText.txt"); AmberVideo = GenshinOverhaulAssetBundle.LoadAsset<VideoClip>("Assets/Terminal/AmberVideo.mp4"); AmberText = GenshinOverhaulAssetBundle.LoadAsset<TextAsset>("Assets/Terminal/AmberText.txt"); Web1.layer = 21; Web1.AddComponent<SandSpiderWebTrap>(); Web2.layer = 21; Web2.AddComponent<SandSpiderWebTrap>(); Web3.layer = 21; Web3.AddComponent<SandSpiderWebTrap>(); ((Component)QiqiPrefab.gameObject.transform.Find("Hair")).gameObject.layer = 23; ((Component)QiqiPrefab.gameObject.transform.Find("Hair")).gameObject.tag = "DoNotSet"; ScaraPrefab.gameObject.layer = 8; IttoPrefab.layer = 19; WrisPrefab.layer = 19; XiaoPrefab.layer = 19; KleePrefab.layer = 19; RaidenPrefab.layer = 19; YaoyaoPrefab.layer = 19; ZhongliPrefab.layer = 19; XianglingPrefab.layer = 19; RuinSpawnPrefab.layer = 8; RuinGuardPrefab.AddComponent<RadMechAnimationEvents>(); ChioriPrefab.AddComponent<EnemyAnimationEvent>(); SetLayer(RuinGuardPrefab, 19); AlbedoReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Albedo", true, "Replace the Masked with Albedo"); AmberReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Amber", true, "Replace the Maneater with Amber and the baby version with Baron Bunny"); AndriusReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Andrius", true, "Replace the Company Cruiser with Andrius, Dominator of Wolves"); BennettReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Bennett", true, "Replace the Mine with Bennett"); ChevReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Chevreuse", true, "Replace the Nutcracker with Chevreuse"); ChildeReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Childe", true, "Replace the Puffer with Childe"); ChioriReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Chiori", true, "Replace the Barber with Chiori"); DoriReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Dori", true, "Replace the Hoarding Bug with Dori"); FurinaReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Furina", true, "Replace the Spider with Furina"); FreminetReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Freminet", true, "Replace the Butler with Freminet"); IttoReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Itto", true, "Replace the Baboon Hawk with Itto"); KazuhaReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Kazuha", true, "Replace the Docile Locusts with Kazuha"); KleeReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Klee", true, "Replace the Forest Giant with Klee"); RaidenHandReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Magatsu Mitake Narukami no Mikoto Hand", true, "Replaces the Spike Trap with the hand of the Magatsu Mitake Narukami no Mikoto"); NaviaReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Navia", true, "Replace the Turret with Navia"); NeuvReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Neuvillette", true, "Replace the Jester with Neuvillette"); NilouReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Nilou", true, "Replace the Slime with Nilou"); PaimonReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Paimon", true, "Replace the Centipede with Paimon"); PepperBushReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Pepper Bush", true, "Replace the Vain Shroud bushes with a bush of Xiangling's Peppers"); QiqiReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Qiqi", true, "Replace the Ghost Girl with Qiqi"); RaidenReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Raiden Shogun", true, "Replace the Bracken with Raiden Shogun"); RazorReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Razor", true, "Replace the Thumper with Razor"); RuinGuardReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Ruin Guard", true, "Replace the Old Bird with a Ruin Guard"); ScaraReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Scaramouche", true, "Replace the Bees with Scaramouche"); VentiReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Venti", true, "Replace the DoubleWings with Venti"); WrioReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Wriothesly", true, "Replace the Eyeless Dog with Wriothesly"); XianglingReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Xiangling", true, "Replace the Kidnapper Fox with Xiangling"); XiaoReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Xiao", true, "Replace the Tulip Snake with Xiao"); YaoyaoReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Yaoyao", true, "Replace the Earth Leviathan with Yaoyao"); ZhongliReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Zhongli", true, "Replace the Coil Head with Zhongli"); MeteorReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Models & Sounds", "Zhongli", true, "Replace the meteors in the meteor shower event with Zhongli's burst"); TerminalReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Terminal", "New Bestiary videos and text", true, "Replaces vanilla Bestiary with Genshin text and videos of characters"); SoundsReplacement = ((BaseUnityPlugin)this).Config.Bind<bool>("Music and Miscellaneous sounds", "Sounds", true, "Replace various sounds throughout the game with Genshin music"); ScrapReplacement = ((BaseUnityPlugin)this).Config.Bind<float>("Scrap", "Scrap Replacements", 100f, "Percent of scrap that will be replaced with Genshin related items. Note this won't be synced. If you and a friend both set to 50%, it's not guaranteed that the 50% that was replaced for you will also be the one's chosen for them. This may cause issues in grab locations"); mls.LogInfo((object)"--===GENSHIN OVERHAUL SOUND PATCH===--"); soundAlbedoCry1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoCry1.ogg"); soundAlbedoCry2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoCry2.ogg"); soundAlbedoCry3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoCry3.ogg"); soundAlbedoCry4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoCry4.ogg"); soundAlbedoMaskFaceLightUp = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoMaskFaceLightUp.ogg"); soundAlbedoLaugh1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoLaugh1.ogg"); soundAlbedoLaugh2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoLaugh2.ogg"); soundAlbedoLaugh3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoLaugh3.ogg"); soundAlbedoMaskAttackPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoMaskAttackPlayer.ogg"); soundAlbedoMaskPuke = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoCry2.ogg"); soundAlbedoDeath = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoDeath.ogg"); soundAlbedoHit = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Albedo/AlbedoHit.ogg"); soundAmberCry = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberCry.ogg"); soundAmberCryFake = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberCryFake.ogg"); soundAmberEatScrap = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberEatScrap.ogg"); soundAmberPuke = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberPuke.ogg"); soundAmberSquirm = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberSquirm.ogg"); soundAmberTransformation = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberTransformation.ogg"); soundAmberDeath = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberDeath.ogg"); soundAmberGrowl = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberGrowl.ogg"); soundAmberClick1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberClick1.ogg"); soundAmberClick2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberClick2.ogg"); soundAmberCooldown = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberCooldown.ogg"); soundAmberLeap = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Amber/AmberLeap.ogg"); soundAndriusHorn = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfHorn.ogg"); soundAndriusRadio1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/AndriusRadio1.mp3"); soundAndriusRadio2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/AndriusRadio2.mp3"); soundAndriusRadio3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/AndriusRadio3.mp3"); soundAndriusRadio4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/AndriusRadio4.mp3"); soundAndriusEngineRev = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfSpawnHowl.ogg"); soundAndriusEngineRun = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfBreathing.ogg"); soundAndriusEngineRun2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfBreathing2.ogg"); soundAndriusEngineStart = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfPostSpawnBreathe.ogg"); soundAndriusHeadlights = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfGrowl.ogg"); soundAndriusHitObstacle1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfSharpExhale.ogg"); soundAndriusHitObstacle2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfGrowl2.ogg"); soundAndriusHitObstacle3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfBreath3.ogg"); soundAndriusPush = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfSharpExhale.ogg"); soundAndriusRevEngine = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfAttack2.ogg"); soundAndriusRolling = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfRunning2.ogg"); soundAndriusShatter = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfSharpExhale.ogg"); soundAndriusTireSkid = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfPostHowlHowl.ogg"); soundAndriusTurb = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfInZoomiesChargeThrough.ogg"); soundAndriusGrowl3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfGrowlNoise3.ogg"); soundAndriusExhale = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Andrius/WolfSharpExhale.ogg"); soundBennettBeep = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Bennett/BennettBeep.ogg"); soundBennettTrigger = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Bennett/BennettTrigger.ogg"); soundBennettPressLandmine = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Bennett/BennettPressLandmine.ogg"); soundChevShotgunReloadNutcracker = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chevreuse/ChevShotgunReloadNutcracker.ogg"); soundChevNutcrackerHitEye = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chevreuse/ChevNutcrackerHitEye.ogg"); soundChevNutcrackerAngry = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chevreuse/ChevNutcrackerAngry.ogg"); soundChevNutcrackerDie = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chevreuse/ChevNutcrackerDie.ogg"); soundChevNutcrackerTurn = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chevreuse/ChevNutcrackerTurn.ogg"); soundChevKick = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chevreuse/ChevKick.ogg"); soundChevStopTurning1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chevreuse/ChevStopTurning1.ogg"); soundChevStopTurning2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chevreuse/ChevStopTurning2.ogg"); soundChevStopTurning3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chevreuse/ChevStopTurning3.ogg"); soundChevAlert = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chevreuse/ChevAlert.ogg"); soundChevHitMetal = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chevreuse/ChevHitMetal.ogg"); soundChildeFrighten1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Childe/ChildeFrighten1.ogg"); soundChildeFrighten3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Childe/ChildeFrighten3.ogg"); soundChildeNervous = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Childe/ChildeNervous.ogg"); soundChildePuffSFX = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Childe/ChildePuffSFX.ogg"); soundChildeRattleTail = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Childe/ChildeRattleTail.ogg"); soundChildeBite = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Childe/ChildeBite.ogg"); soundChildeStomp = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Childe/ChildeStomp.ogg"); soundChildeAngry = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Childe/ChildeAngry.ogg"); soundChioriSnip = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chiori/ChioriSnip.ogg"); soundChioriMarch1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chiori/ChioriMarch1.ogg"); soundChioriMarch2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chiori/ChioriMarch2.ogg"); soundChioriMarch3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chiori/ChioriMarch3.ogg"); soundChioriMarch4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chiori/ChioriMarch4.ogg"); soundChioriMarch5 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chiori/ChioriMarch5.ogg"); soundChioriHit = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chiori/ChioriHit.ogg"); soundChioriSnareDrum = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Chiori/ChioriSnare.ogg"); soundDoriAngry1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Dori/DoriAngry1.ogg"); soundDoriAngry2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Dori/DoriAngry2.ogg"); soundDoriChitter1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Dori/DoriChitter1.ogg"); soundDoriChitter2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Dori/DoriChitter2.ogg"); soundDoriChitter3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Dori/DoriChitter3.ogg"); soundDoriCry = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Dori/DoriCry.ogg"); soundDoriFly = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Dori/DoriFly.ogg"); soundDoriDie = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Dori/DoriDie.ogg"); soundFremBalloonsTowerDefenseSix = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FremAndPers/FremBalloonsTowerDefenseSix.ogg"); soundFremBuzzingAmbience = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FremAndPers/FremBuzzingAmbience.ogg"); soundFremIdleAmbience = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FremAndPers/FremIdleAmbience.ogg"); soundFremMurderTheme = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FremAndPers/FremMurderTheme.ogg"); soundFremPersWalking = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FremAndPers/FremPersWalking.ogg"); soundFremPullKnife = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FremAndPers/FremPullKnife.ogg"); soundFremHit = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FremAndPers/FremHit.ogg"); soundFremSweep1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FremAndPers/FremSweep1.ogg"); soundFremSweep2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FremAndPers/FremSweep2.ogg"); soundFremSweep3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FremAndPers/FremSweep3.ogg"); soundFremSweep4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/FremAndPers/FremSweep4.ogg"); soundFurinaStunSpider = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Furina/FurinaStunSpider.ogg"); soundFurinaSpiderDie = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Furina/FurinaSpiderDie.ogg"); soundFurinaSpiderAttack = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Furina/FurinaSpiderAttack.ogg"); soundFurinaSpoolPlayerInWeb = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Furina/FurinaSpiderHit.ogg"); soundFurinaSpiderHit = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Furina/FurinaSpiderHit.ogg"); soundFurinaHang = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Furina/FurinaHe.ogg"); soundFurinaJaja = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Furina/FurinaWebPlace.ogg"); soundSilence = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/Silence.ogg"); soundGenshinLoudhorn = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinLoudhorn.ogg"); soundGenshinLoudhornDistant = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinLoudhornDistant.ogg"); soundGenshinMenu = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinStartup.ogg"); soundGenshinHighAction1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinHighAction1.ogg"); soundGenshinHighAction2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinHighAction2.ogg"); soundGenshinLowAction = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinLowAction.ogg"); soundGenshinCompanyBuildingMusic1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinCompanyBuildingMusic1.ogg"); soundGenshinAmbientMusic1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinAmbientMusic1.ogg"); soundGenshinAmbientMusic2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinAmbientMusic2.ogg"); soundGenshinAmbientMusic3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinAmbientMusic3.ogg"); soundGenshinAmbientMusic5 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinAmbientMusic5.ogg"); soundGenshinAmbientMusic6 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinAmbientMusic6.ogg"); soundGenshinIntroSpeech = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinIntroSpeech.ogg"); soundGenshinMidDay = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinMidDay.ogg"); soundGenshinStartOfDay = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinStartOfDay.ogg"); soundGenshinNight = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinNight.ogg"); soundGenshinJazz = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinJazz.ogg"); soundGenshinIcecreamTruckV2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinIcecreamTruckV2.ogg"); soundGenshinIcecreamTruckFar = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinIcecreamTruckFar.ogg"); soundGenshinEclipseAmbience = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/GenshinEclipseAmbience.ogg"); soundGenshinDroning1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/soundGenshinDroning1.ogg"); soundGenshinDroning2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/soundGenshinDroning2.ogg"); soundGenshinBackgroundAmbience = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/soundGenshinBackgroundAmbience.ogg"); soundGenshinClassical1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/soundGenshinClassical1.ogg"); soundGenshinPiano1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/soundGenshinPiano1.ogg"); soundGenshinLateDay = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/GenshinSounds/soundGenshinLateDay.ogg"); soundIttoBaboonEnterFight = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoBaboonEnterFight.ogg"); soundIttoBaboonKill = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoBaboonKill.ogg"); soundIttoBaboonStab = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoBaboonStab.ogg"); soundIttoBaboonTakeDamage = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoBaboonTakeDamage.ogg"); soundIttoKillBaboon = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoKillBaboon.ogg"); soundIttoCaw1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoCaw1.ogg"); soundIttoCawScream1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoCawScream1.ogg"); soundIttoCawScream2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoCawScream2.ogg"); soundIttoCawScream3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoCawScream3.ogg"); soundIttoCawScream4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoCawScream4.ogg"); soundIttoCawScream5 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoCawScream5.ogg"); soundIttoSqueak1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoSqueak1.ogg"); soundIttoSqueak2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Itto/IttoSqueak2.ogg"); soundKazuhaLocusts = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Kazuha/KazuhaLocusts.ogg"); soundKazuhaEvade = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Kazuha/KazuhaEvade.ogg"); soundGiantEatPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Klee/KleeEatPlayer.ogg"); soundStunGiant = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Klee/KleeStunned.ogg"); soundKleeDistantRumble1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Klee/KleeDistantRumble1.ogg"); soundKleeDistantRumble2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Klee/KleeDistantRumble2.ogg"); soundKleeDistantRumble3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Klee/KleeDistantRumble3.ogg"); soundKleeDeath = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Klee/KleeDeath.ogg"); soundKleeBurning = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Klee/KleeBurning.ogg"); soundNaviaTurretActivate = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Navia/NaviaTurretActivate.ogg"); soundNaviaTurretBeserkMode = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Navia/NaviaTurretBerserkMode.ogg"); soundNaviaTurretDeactivate = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Navia/NaviaTurretDeactivate.ogg"); soundNaviaTurretFire = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Navia/NaviaTurretFire.ogg"); soundNaviaTurretFireDistant = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Navia/NaviaTurretFireDistant.ogg"); soundNaviaTurretSeePlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Navia/NaviaTurretSeePlayer.ogg"); soundNeuvJackInTheBoxTheme = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Neuv/NeuvJackInTheBoxTheme.ogg"); soundNeuvPop1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Neuv/NeuvPop1.ogg"); soundNeuvScream1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Neuv/NeuvScream1.ogg"); soundNeuvKillPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Neuv/NeuvKillPlayer.ogg"); NilouHitSlime = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Nilou/NilouHitSlime.ogg"); NilouAngry = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Nilou/NilouAngry.ogg"); NilouEatPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Nilou/NilouEatPlayer.ogg"); NilouIdle = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Nilou/NilouIdle.ogg"); NilouJiggleSFX = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Nilou/NilouJiggleSFX.ogg"); soundOzHello = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/OzHello.ogg"); soundCameraFar = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/CameraSnapFar.ogg"); soundCameraNear = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/CameraSnap.ogg"); soundMeow = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/Meow.ogg"); soundSeelieNoise = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/SeelieNoise.ogg"); soundLyreClose = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/LyrePlay.ogg"); soundLyreFar = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/LyreFar.ogg"); soundDropCat = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/CatDrop.ogg"); soundSnakeClose = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/SnakeClose.ogg"); soundSnakeFar = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/SnakeFar.ogg"); soundSnakeOi = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/SnakeOi.ogg"); soundRuinQuiet = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Props/RuinGuardBrainWashQuiet.ogg"); soundPaimonClingToPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Paimon/PaimonClingToPlayer.ogg"); soundPaimonClingToPlayerLocal = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Paimon/PaimonClingToPlayerLocal.ogg"); soundPaimonDeathShriek = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Paimon/PaimonDeathShriek.ogg"); soundPaimonmonsterNoise = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Paimon/PaimonmonsterNoise.ogg"); soundPaimonmonsterNoise2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Paimon/PaimonmonsterNoise2.ogg"); soundPaimonmonsterNoiseB = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Paimon/PaimonmonsterNoiseB.ogg"); soundPaimonShriek1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Paimon/PaimonShriek1.ogg"); soundPaimonShriek2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Paimon/PaimonShriek2.ogg"); soundQiqiBellChimeAmbience = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Qiqi/QiqiBellChimeAmbience.ogg"); soundQiqiLaugh1_0 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Qiqi/QiqiLaugh1_0.ogg"); soundQiqiLaugh2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Qiqi/QiqiLaugh2.ogg"); soundQiqiBreathing = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Qiqi/QiqiBreathing.ogg"); soundQiqiBreath3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Qiqi/soundQiqiBreath3.ogg"); soundQiqiLaugh = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Qiqi/soundQiqiLaugh.ogg"); soundQiqi2Laugh = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Qiqi/soundQiqi2Laugh.ogg"); soundQiqiWheeze = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Qiqi/soundQiqiWheeze.ogg"); soundQiqiStepping1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Qiqi/soundQiqiStep.ogg"); soundRaidenStunFlowerman = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Raiden/RaidenStunFlowerman.ogg"); soundRaidenAngered = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Raiden/RaidenAngered.ogg"); soundRaidenFound1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Raiden/RaidenFound1.ogg"); soundRaidenCrackNeck = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Raiden/RaidenCrackNeck.ogg"); HandCreak = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Raiden/HandCreak.ogg"); HandSlam = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Raiden/HandSlam.ogg"); soundRazorBitePlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorBitePlayer.ogg"); soundRazorShortRoar1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorShortRoar1.ogg"); soundRazorLongRoar1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorLongRoar1.ogg"); soundRazorLongRoar2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorLongRoar2.ogg"); soundRazorLongRoar3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorLongRoar3.ogg"); soundRazorRam1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorRam1.ogg"); soundRazorRam2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorRam2.ogg"); soundRazorRam3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorRam3.ogg"); soundRazorCrawlerDie = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorCrawlerDie.ogg"); soundRazorHitCrawler1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorHitCrawler1.ogg"); soundRazorHitCrawler2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorHitCrawler2.ogg"); soundRazorStunCrawler = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/RazorStunCrawler.ogg"); soundRazorEatMeat = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Razor/soundRazorEatMeat.ogg"); soundLaserNoise = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RuinGuard/LaserNoise.ogg"); soundRuinGuardBrainWash = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/RuinGuard/RuinGuardBrainWash.ogg"); soundScaraBeeZap1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Scara/ScaraBeeZap1.ogg"); soundScaraBeeZap2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Scara/ScaraBeeZap2.ogg"); soundScaraBeeZap3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Scara/ScaraBeeZap3.ogg"); soundScaraBeeZap4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Scara/ScaraBeeZap4.ogg"); soundScaraBeeZap5 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Scara/ScaraBeeZap5.ogg"); soundScaraBeeZap6 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Scara/ScaraBeeZap6.ogg"); soundScaraBeeZapConstant = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Scara/ScaraBeeZapConstant.ogg"); soundScaraBeeHiveIdle = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Scara/ScaraBeeHiveIdle.ogg"); soundScaraBeesAngry = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Scara/ScaraBeesAngry.ogg"); soundScaraBeesDefensive = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Scara/ScaraBeesDefensive.ogg"); soundVentiStunDoublewing = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Venti/VentiStunDoublewing.ogg"); soundVentiDoublewingFlap1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Venti/VentiDoublewingFlap1.ogg"); soundVentiDoublewingFlap2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Venti/VentiDoublewingFlap2.ogg"); soundVentiDoublewingFlap3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Venti/VentiDoublewingFlap3.ogg"); soundVentiDoublewingFlapConstant = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Venti/VentiDoublewingFlapConstant.ogg"); soundVentiKillDoublewing = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Venti/VentiKillDoublewing.ogg"); soundVentiBird1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Venti/VentiBird1.ogg"); soundVentiBird2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Venti/VentiBird2.ogg"); soundVentiBird3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Venti/VentiBird3.ogg"); soundVentiBirdScreech1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Venti/VentiBirdScreech1.ogg"); soundVentiBirdScreech2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Venti/VentiBirdScreech2.ogg"); soundWrisStunDog = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Wris/WrisStunDog.ogg"); soundWrisBreathe1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Wris/WrisBreathe1.ogg"); soundWrisgrowl = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Wris/Wrisgrowl.ogg"); soundWrisKillPlayer = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Wris/WrisKillPlayer.ogg"); soundWrisKillPlayer_0 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Wris/WrisKillPlayer_0.ogg"); soundWrisLunge1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Wris/WrisLunge1.ogg"); soundWrisRoar_0 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Wris/WrisRoar_0.ogg"); soundWrisRoar = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Wris/WrisRoar.ogg"); soundXianglingHit = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingHit.ogg"); soundXianglingCloseCall1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingCC1.ogg"); soundXianglingCloseCall2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingCC2.ogg"); soundXianglingFarCall1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingFC1.ogg"); soundXianglingFarCall2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingFC2.ogg"); soundXianglingGrowl1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingGrowl1.ogg"); soundXianglingGrowl2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingGrowl2.ogg"); soundXianglingGrowl3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingGrowl3.ogg"); soundXianglingGrowl4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingGrowl4.ogg"); soundXianglingKill = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingKill.ogg"); soundXianglingShootTongue = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingShootTongue.ogg"); soundXianglingSnarl = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingSnarl.ogg"); soundXianglingDie = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingDie.ogg"); soundXianglingStun = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiangling/XianglingStun.ogg"); XiaoChuckle1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiao/XiaoChuckle1.ogg"); XiaoChuckle3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiao/XiaoChuckle3.ogg"); XiaoChuckle4 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiao/XiaoChuckle4.ogg"); XiaoChuckle5 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiao/XiaoChuckle5.ogg"); XiaoLeap1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiao/XiaoLeap1.ogg"); XiaoLeap2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiao/XiaoLeap2.ogg"); XiaoLeap3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiao/XiaoLeap3.ogg"); XiaoCling = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiao/XiaoCling.ogg"); XiaoDeath = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Xiao/XiaoDeath.ogg"); soundYaoyaoSandWormRoar = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Yaoyao/YaoyaoSandWormRoar.ogg"); soundYaoyaoSandWormRoar2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Yaoyao/YaoyaoSandWormRoar2.ogg"); soundYaoyaoBurrowingGrowl1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Yaoyao/YaoyaoBurrowingGrowl1.ogg"); soundYaoyaoBurrowingRumble1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Yaoyao/YaoyaoBurrowingRumble1.ogg"); soundYaoyaoBurrowingRumble2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Yaoyao/YaoyaoBurrowingRumble2.ogg"); soundYaoyaoBurrowingRumble3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Yaoyao/YaoyaoBurrowingRumble3.ogg"); soundYaoyaoBurrowingRumbleLoud1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Yaoyao/YaoyaoBurrowingRumbleLoud1.ogg"); soundYaoyaoEmergeFromGround1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Yaoyao/YaoyaoEmergeFromGround1.ogg"); soundZhongliSpring1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Zhongli/Spring1_zhongli.ogg"); soundZhongliSpring2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Zhongli/Spring2_zhongli.ogg"); soundZhongliSpring3 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Zhongli/Spring3_zhongli.ogg"); soundZhongliSpringWobble1 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Zhongli/SpringWobble1.ogg"); soundZhongliSpringWobble2 = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Zhongli/ZhongliSpringWobble2.ogg"); soundZhongliKillPlayerSpring = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Zhongli/ZhongliKillPlayerSpring.ogg"); soundZhongliEnterCooldown = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Zhongli/soundZhongliEnterCooldown.ogg"); soundZhongliFar = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Zhongli/ZhongliFar.ogg"); soundZhongliLand = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Zhongli/ZhongliLand.ogg"); soundZhongliNear = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Zhongli/ZhongliClose.ogg"); soundZhongliWarning = GenshinOverhaulAssetBundle.LoadAsset<AudioClip>("Assets/AudioClip/Zhongli/ZhongliWarning.ogg"); mls.LogInfo((object)"--===GENSHIN IMPACT OVERHAUL SOUNDS LOADED===--"); mls.LogInfo((object)"--===GENSHIN IMPACT OVERHAUL LOADED===--"); static void SetLayer(GameObject obj, int newLayer) { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Expected O, but got Unknown if ((Object)(object)obj == (Object)null) { return; } obj.layer = newLayer; foreach (Transform item in obj.transform) { Transform val = item; SetLayer(((Component)val).gameObject, newLayer); } } } [HarmonyPatch(typeof(RoundManager), "Awake")] [HarmonyPostfix] public static void RuinLoader() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown if (RuinGuardReplacement.Value) { GameObject val = GameObject.Find("RadMechNestHandler"); if ((Object)(object)val == (Object)null) { GameObject val2 = new GameObject("RadMechNestHandler"); RadMechNestHandler radMechNestHandler = val2.AddComponent<RadMechNestHandler>(); radMechNestHandler.ruinSpawnPrefab = RuinSpawnPrefab; Object.DontDestroyOnLoad((Object)(object)val2); mls.LogInfo((object)"--===RUIN GUARDS LOADED===--"); } } } [HarmonyPatch(typeof(MaskedPlayerEnemy), "Start")] [HarmonyPostfix] public static void PluginDetectSummonMasked(MaskedPlayerEnemy __instance) { //IL_0800: Unknown result type (might be due to invalid IL or missing references) //IL_0815: Unknown result type (might be due to invalid IL or missing references) //IL_06ec: Unknown result type (might be due to invalid IL or missing references) if (AlbedoReplacement.Value) { ((EnemyAI)__instance).enemyType.audioClips[0] = soundAlbedoMaskAttackPlayer; ((EnemyAI)__instance).enemyType.audioClips[1] = soundAlbedoMaskFaceLightUp; ((EnemyAI)__instance).enemyType.audioClips[2] = soundAlbedoMaskPuke; ((EnemyAI)__instance).creatureSFX.clip = soundAlbedoLaugh1; ((EnemyAI)__instance).creatureVoice.clip = soundAlbedoLaugh1; __instance.movementAudio.clip = soundAlbedoLaugh1; ((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskTragedy")).GetComponent<RandomPeriodicAudioPlayer>().randomClips[0] = soundAlbedoCry1; ((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskTragedy")).GetComponent<RandomPeriodicAudioPlayer>().randomClips[1] = soundAlbedoCry2; ((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskTragedy")).GetComponent<RandomPeriodicAudioPlayer>().randomClips[2] = soundAlbedoCry3; ((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskTragedy")).GetComponent<RandomPeriodicAudioPlayer>().randomClips[3] = soundAlbedoCry4; ((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskComedy")).GetComponent<RandomPeriodicAudioPlayer>().randomClips[0] = soundAlbedoLaugh1; ((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskComedy")).GetComponent<RandomPeriodicAudioPlayer>().randomClips[1] = soundAlbedoLaugh2; ((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskComedy")).GetComponent<RandomPeriodicAudioPlayer>().randomClips[2] = soundAlbedoLaugh3; ((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spin