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(); 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[] 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(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(); 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(); 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(); 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.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(); 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 turretDictionary = new Dictionary(); 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 SunglassesPrefab; public static GameObject SunglassesObject; 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 AlbedoReplacement { get; private set; } public static ConfigEntry AmberReplacement { get; private set; } public static ConfigEntry AndriusReplacement { get; private set; } public static ConfigEntry BennettReplacement { get; private set; } public static ConfigEntry ChevReplacement { get; private set; } public static ConfigEntry ChildeReplacement { get; private set; } public static ConfigEntry ChioriReplacement { get; private set; } public static ConfigEntry DoriReplacement { get; private set; } public static ConfigEntry FurinaReplacement { get; private set; } public static ConfigEntry FreminetReplacement { get; private set; } public static ConfigEntry IttoReplacement { get; private set; } public static ConfigEntry KazuhaReplacement { get; private set; } public static ConfigEntry KleeReplacement { get; private set; } public static ConfigEntry NaviaReplacement { get; private set; } public static ConfigEntry NeuvReplacement { get; private set; } public static ConfigEntry NilouReplacement { get; private set; } public static ConfigEntry PaimonReplacement { get; private set; } public static ConfigEntry QiqiReplacement { get; private set; } public static ConfigEntry RaidenReplacement { get; private set; } public static ConfigEntry RaidenHandReplacement { get; private set; } public static ConfigEntry RazorReplacement { get; private set; } public static ConfigEntry RuinGuardReplacement { get; private set; } public static ConfigEntry ScaraReplacement { get; private set; } public static ConfigEntry VentiReplacement { get; private set; } public static ConfigEntry WrioReplacement { get; private set; } public static ConfigEntry XianglingReplacement { get; private set; } public static ConfigEntry XiaoReplacement { get; private set; } public static ConfigEntry YaoyaoReplacement { get; private set; } public static ConfigEntry ZhongliReplacement { get; private set; } public static ConfigEntry TerminalReplacement { get; private set; } public static ConfigEntry SoundsReplacement { get; private set; } public static ConfigEntry ScrapReplacement { get; private set; } public static ConfigEntry PepperBushReplacement { get; private set; } public static ConfigEntry 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("Assets/PrefabInstance/Albedo.prefab"); AmberPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Amber.prefab"); AndriusPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Andrius.prefab"); BaronBunnyPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/BaronBunny.prefab"); BennettPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/bennett.prefab"); ChevPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/ChevreuseV2.prefab"); ChevGunPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/ChevGun.prefab"); ChildePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Childe.prefab"); ChildeSmoke = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/ChildeSmoke.prefab"); ChioriPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Chiori.prefab"); DoriPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Dori.prefab"); EGnosisPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/ElectroGnosis.prefab"); FurinaPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Furina.prefab"); FremPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Frem.prefab"); FungiPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Fungi.prefab"); GuobaPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Guoba.prefab"); HammerPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Hammer.prefab"); HandPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Hand.prefab"); IttoPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Itto1.prefab"); KazuhaPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Kazuha.prefab"); KleePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Klee.prefab"); MissHinaPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/MissHina.prefab"); MoraPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Mora.prefab"); NaviaPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/NaviaV1.prefab"); NeuvPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Neuv2.prefab"); NilouPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Nilou.prefab"); PaimonPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Paimon.prefab"); OzPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Oz.prefab"); PenguinPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Penguin.prefab"); PepperBush = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/PepperBush.prefab"); OnikaPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Onikabuto.prefab"); QiqiPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Qiqi.prefab"); RaidenPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Raiden.prefab"); RaidenDollPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/RaidenDoll.prefab"); RazorPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Razor.prefab"); RuinGuardPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Ruin_Guard.prefab"); RuinSpawnPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/RuinEepy.prefab"); ScaraPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Scaramouche.prefab"); StatuePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Statue.prefab"); VentiPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Venti.prefab"); WrisPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Wrio.prefab"); MeteorPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Meteor.prefab"); Web1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Web1.prefab"); Web2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Web2.prefab"); Web3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Web3.prefab"); XianglingPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Xiangling1.prefab"); XiaoPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Xiao.prefab"); YaoyaoPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Yaoyao.prefab"); ZhongliPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Zhongli1.prefab"); ShieldPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Shield.prefab"); GobletPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Goblet.prefab"); SlimePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Slime.prefab"); PipePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Pipe.prefab"); PopsiclePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Popsicle.prefab"); BoxPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Catbox.prefab"); DarumaPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Daruma.prefab"); CombPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Comb.prefab"); SunglassesPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Sunglasses.prefab"); KeychainPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Keychain.prefab"); ScalePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Scale.prefab"); TeaPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Tea.prefab"); YueguiPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Yuegui.prefab"); TerminalPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Terminal.prefab"); DicePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Dice.prefab"); ShirouPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Shirou.prefab"); MakeupPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Makeup.prefab"); LampPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Lamp.prefab"); BombPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Bomb.prefab"); AxePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Axe.prefab"); ClubPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Debate.prefab"); CameraPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Camera.prefab"); PillPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Pill.prefab"); SnacksPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Snacks.prefab"); ToyPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Ball.prefab"); SnakePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Snake.prefab"); LyrePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Lyre.prefab"); ScrollPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Scroll.prefab"); KFanPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/KFan.prefab"); IceCharmPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/IceCharm.prefab"); CritterPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Critter.prefab"); TearPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Tear.prefab"); SeeliePrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Seelie.prefab"); CatPrefab = GenshinOverhaulAssetBundle.LoadAsset("Assets/PrefabInstance/Cat.prefab"); MikaTexture = GenshinOverhaulAssetBundle.LoadAsset("Assets/Texture2D/MikaNote.png"); DebateSprite = GenshinOverhaulAssetBundle.LoadAsset("Assets/Sprite/Debate.asset"); VerdictSprite = GenshinOverhaulAssetBundle.LoadAsset("Assets/Sprite/Verdict.asset"); HammerSprite = GenshinOverhaulAssetBundle.LoadAsset("Assets/Sprite/Hammer.asset"); Transparent = GenshinOverhaulAssetBundle.LoadAsset("Assets/Sprite/transparent.asset"); BaronBunny = GenshinOverhaulAssetBundle.LoadAsset("Assets/Sprite/BaronBunny.asset"); chioriBody = GenshinOverhaulAssetBundle.LoadAsset("Assets/Material/ChioriBody.mat"); chioriFace = GenshinOverhaulAssetBundle.LoadAsset("Assets/Material/ChioriFace.mat"); chioriHair = GenshinOverhaulAssetBundle.LoadAsset("Assets/Material/ChioriHair.mat"); PaimonVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/PaimonVideo.mp4"); PaimonText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/PaimonText.txt"); RaidenVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/RaidenVideo.mp4"); RaidenText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/RaidenText.txt"); RazorVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/RazorVideo.mp4"); RazorText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/RazorText.txt"); WrisVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/WrisVideo.mp4"); WrisText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/WrisText.txt"); DoriVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/DoriVideo.mp4"); DoriText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/DoriText.txt"); KleeVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/KleeVideo.mp4"); KleeText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/KleeText.txt"); ZhongliVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/ZhongliVideo.mp4"); ZhongliText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/ZhongliText.txt"); YaoyaoVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/YaoyaoVideo.mp4"); YaoyaoText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/YaoyaoText.txt"); NeuvVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/NeuvVideo.mp4"); NeuvText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/NeuvText.txt"); ChildeVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/ChildeVideo.mp4"); ChildeText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/ChildeText.txt"); FurinaVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/FurinaVideo.mp4"); FurinaText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/FurinaText.txt"); VentiVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/VentiVideo.mp4"); VentiText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/VentiText.txt"); ScaraVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/ScaraVideo.mp4"); ScaraText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/ScaraText.txt"); IttoVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/IttoVideo.mp4"); IttoText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/IttoText.txt"); ChevVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/ChevVideo.mp4"); ChevText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/ChevText.txt"); KazuhaVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/KazuhaVideo.mp4"); KazuhaText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/KazuhaText.txt"); NilouVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/NilouVideo.mp4"); NilouText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/NilouText.txt"); FremVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/FremVideo.mp4"); FremText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/FremText.txt"); RuinGuardVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/RuinGuardVideo.mp4"); RuinGuardText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/RuinGuardText.txt"); XiaoVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/XiaoVideo.mp4"); XiaoText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/XiaoText.txt"); XiangVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/XiangVideo.mp4"); XiangText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/XiangText.txt"); ChioriVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/ChioriVideo.mp4"); ChioriText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/ChioriText.txt"); PepperVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/PepperBushVideo.mp4"); PepperText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/PepperBushText.txt"); AmberVideo = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/AmberVideo.mp4"); AmberText = GenshinOverhaulAssetBundle.LoadAsset("Assets/Terminal/AmberText.txt"); Web1.layer = 21; Web1.AddComponent(); Web2.layer = 21; Web2.AddComponent(); Web3.layer = 21; Web3.AddComponent(); ((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(); ChioriPrefab.AddComponent(); SetLayer(RuinGuardPrefab, 19); AlbedoReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Albedo", true, "Replace the Masked with Albedo"); AmberReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Amber", true, "Replace the Maneater with Amber and the baby version with Baron Bunny"); AndriusReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Andrius", true, "Replace the Company Cruiser with Andrius, Dominator of Wolves"); BennettReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Bennett", true, "Replace the Mine with Bennett"); ChevReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Chevreuse", true, "Replace the Nutcracker with Chevreuse"); ChildeReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Childe", true, "Replace the Puffer with Childe"); ChioriReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Chiori", true, "Replace the Barber with Chiori"); DoriReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Dori", true, "Replace the Hoarding Bug with Dori"); FurinaReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Furina", true, "Replace the Spider with Furina"); FreminetReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Freminet", true, "Replace the Butler with Freminet"); IttoReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Itto", true, "Replace the Baboon Hawk with Itto"); KazuhaReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Kazuha", true, "Replace the Docile Locusts with Kazuha"); KleeReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Klee", true, "Replace the Forest Giant with Klee"); RaidenHandReplacement = ((BaseUnityPlugin)this).Config.Bind("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("Models & Sounds", "Navia", true, "Replace the Turret with Navia"); NeuvReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Neuvillette", true, "Replace the Jester with Neuvillette"); NilouReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Nilou", true, "Replace the Slime with Nilou"); PaimonReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Paimon", true, "Replace the Centipede with Paimon"); PepperBushReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Pepper Bush", true, "Replace the Vain Shroud bushes with a bush of Xiangling's Peppers"); QiqiReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Qiqi", true, "Replace the Ghost Girl with Qiqi"); RaidenReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Raiden Shogun", true, "Replace the Bracken with Raiden Shogun"); RazorReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Razor", true, "Replace the Thumper with Razor"); RuinGuardReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Ruin Guard", true, "Replace the Old Bird with a Ruin Guard"); ScaraReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Scaramouche", true, "Replace the Bees with Scaramouche"); VentiReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Venti", true, "Replace the DoubleWings with Venti"); WrioReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Wriothesly", true, "Replace the Eyeless Dog with Wriothesly"); XianglingReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Xiangling", true, "Replace the Kidnapper Fox with Xiangling"); XiaoReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Xiao", true, "Replace the Tulip Snake with Xiao"); YaoyaoReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Yaoyao", true, "Replace the Earth Leviathan with Yaoyao"); ZhongliReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Zhongli", true, "Replace the Coil Head with Zhongli"); MeteorReplacement = ((BaseUnityPlugin)this).Config.Bind("Models & Sounds", "Zhongli", true, "Replace the meteors in the meteor shower event with Zhongli's burst"); TerminalReplacement = ((BaseUnityPlugin)this).Config.Bind("Terminal", "New Bestiary videos and text", true, "Replaces vanilla Bestiary with Genshin text and videos of characters"); SoundsReplacement = ((BaseUnityPlugin)this).Config.Bind("Music and Miscellaneous sounds", "Sounds", true, "Replace various sounds throughout the game with Genshin music"); ScrapReplacement = ((BaseUnityPlugin)this).Config.Bind("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("Assets/AudioClip/Albedo/AlbedoCry1.ogg"); soundAlbedoCry2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Albedo/AlbedoCry2.ogg"); soundAlbedoCry3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Albedo/AlbedoCry3.ogg"); soundAlbedoCry4 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Albedo/AlbedoCry4.ogg"); soundAlbedoMaskFaceLightUp = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Albedo/AlbedoMaskFaceLightUp.ogg"); soundAlbedoLaugh1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Albedo/AlbedoLaugh1.ogg"); soundAlbedoLaugh2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Albedo/AlbedoLaugh2.ogg"); soundAlbedoLaugh3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Albedo/AlbedoLaugh3.ogg"); soundAlbedoMaskAttackPlayer = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Albedo/AlbedoMaskAttackPlayer.ogg"); soundAlbedoMaskPuke = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Albedo/AlbedoCry2.ogg"); soundAlbedoDeath = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Albedo/AlbedoDeath.ogg"); soundAlbedoHit = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Albedo/AlbedoHit.ogg"); soundAmberCry = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberCry.ogg"); soundAmberCryFake = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberCryFake.ogg"); soundAmberEatScrap = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberEatScrap.ogg"); soundAmberPuke = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberPuke.ogg"); soundAmberSquirm = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberSquirm.ogg"); soundAmberTransformation = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberTransformation.ogg"); soundAmberDeath = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberDeath.ogg"); soundAmberGrowl = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberGrowl.ogg"); soundAmberClick1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberClick1.ogg"); soundAmberClick2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberClick2.ogg"); soundAmberCooldown = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberCooldown.ogg"); soundAmberLeap = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Amber/AmberLeap.ogg"); soundAndriusHorn = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfHorn.ogg"); soundAndriusRadio1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/AndriusRadio1.mp3"); soundAndriusRadio2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/AndriusRadio2.mp3"); soundAndriusRadio3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/AndriusRadio3.mp3"); soundAndriusRadio4 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/AndriusRadio4.mp3"); soundAndriusEngineRev = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfSpawnHowl.ogg"); soundAndriusEngineRun = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfBreathing.ogg"); soundAndriusEngineRun2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfBreathing2.ogg"); soundAndriusEngineStart = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfPostSpawnBreathe.ogg"); soundAndriusHeadlights = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfGrowl.ogg"); soundAndriusHitObstacle1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfSharpExhale.ogg"); soundAndriusHitObstacle2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfGrowl2.ogg"); soundAndriusHitObstacle3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfBreath3.ogg"); soundAndriusPush = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfSharpExhale.ogg"); soundAndriusRevEngine = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfAttack2.ogg"); soundAndriusRolling = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfRunning2.ogg"); soundAndriusShatter = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfSharpExhale.ogg"); soundAndriusTireSkid = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfPostHowlHowl.ogg"); soundAndriusTurb = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfInZoomiesChargeThrough.ogg"); soundAndriusGrowl3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfGrowlNoise3.ogg"); soundAndriusExhale = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Andrius/WolfSharpExhale.ogg"); soundBennettBeep = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Bennett/BennettBeep.ogg"); soundBennettTrigger = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Bennett/BennettTrigger.ogg"); soundBennettPressLandmine = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Bennett/BennettPressLandmine.ogg"); soundChevShotgunReloadNutcracker = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chevreuse/ChevShotgunReloadNutcracker.ogg"); soundChevNutcrackerHitEye = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chevreuse/ChevNutcrackerHitEye.ogg"); soundChevNutcrackerAngry = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chevreuse/ChevNutcrackerAngry.ogg"); soundChevNutcrackerDie = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chevreuse/ChevNutcrackerDie.ogg"); soundChevNutcrackerTurn = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chevreuse/ChevNutcrackerTurn.ogg"); soundChevKick = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chevreuse/ChevKick.ogg"); soundChevStopTurning1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chevreuse/ChevStopTurning1.ogg"); soundChevStopTurning2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chevreuse/ChevStopTurning2.ogg"); soundChevStopTurning3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chevreuse/ChevStopTurning3.ogg"); soundChevAlert = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chevreuse/ChevAlert.ogg"); soundChevHitMetal = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chevreuse/ChevHitMetal.ogg"); soundChildeFrighten1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Childe/ChildeFrighten1.ogg"); soundChildeFrighten3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Childe/ChildeFrighten3.ogg"); soundChildeNervous = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Childe/ChildeNervous.ogg"); soundChildePuffSFX = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Childe/ChildePuffSFX.ogg"); soundChildeRattleTail = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Childe/ChildeRattleTail.ogg"); soundChildeBite = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Childe/ChildeBite.ogg"); soundChildeStomp = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Childe/ChildeStomp.ogg"); soundChildeAngry = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Childe/ChildeAngry.ogg"); soundChioriSnip = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chiori/ChioriSnip.ogg"); soundChioriMarch1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chiori/ChioriMarch1.ogg"); soundChioriMarch2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chiori/ChioriMarch2.ogg"); soundChioriMarch3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chiori/ChioriMarch3.ogg"); soundChioriMarch4 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chiori/ChioriMarch4.ogg"); soundChioriMarch5 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chiori/ChioriMarch5.ogg"); soundChioriHit = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chiori/ChioriHit.ogg"); soundChioriSnareDrum = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Chiori/ChioriSnare.ogg"); soundDoriAngry1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Dori/DoriAngry1.ogg"); soundDoriAngry2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Dori/DoriAngry2.ogg"); soundDoriChitter1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Dori/DoriChitter1.ogg"); soundDoriChitter2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Dori/DoriChitter2.ogg"); soundDoriChitter3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Dori/DoriChitter3.ogg"); soundDoriCry = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Dori/DoriCry.ogg"); soundDoriFly = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Dori/DoriFly.ogg"); soundDoriDie = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Dori/DoriDie.ogg"); soundFremBalloonsTowerDefenseSix = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/FremAndPers/FremBalloonsTowerDefenseSix.ogg"); soundFremBuzzingAmbience = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/FremAndPers/FremBuzzingAmbience.ogg"); soundFremIdleAmbience = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/FremAndPers/FremIdleAmbience.ogg"); soundFremMurderTheme = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/FremAndPers/FremMurderTheme.ogg"); soundFremPersWalking = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/FremAndPers/FremPersWalking.ogg"); soundFremPullKnife = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/FremAndPers/FremPullKnife.ogg"); soundFremHit = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/FremAndPers/FremHit.ogg"); soundFremSweep1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/FremAndPers/FremSweep1.ogg"); soundFremSweep2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/FremAndPers/FremSweep2.ogg"); soundFremSweep3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/FremAndPers/FremSweep3.ogg"); soundFremSweep4 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/FremAndPers/FremSweep4.ogg"); soundFurinaStunSpider = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Furina/FurinaStunSpider.ogg"); soundFurinaSpiderDie = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Furina/FurinaSpiderDie.ogg"); soundFurinaSpiderAttack = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Furina/FurinaSpiderAttack.ogg"); soundFurinaSpoolPlayerInWeb = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Furina/FurinaSpiderHit.ogg"); soundFurinaSpiderHit = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Furina/FurinaSpiderHit.ogg"); soundFurinaHang = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Furina/FurinaHe.ogg"); soundFurinaJaja = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Furina/FurinaWebPlace.ogg"); soundSilence = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/Silence.ogg"); soundGenshinLoudhorn = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinLoudhorn.ogg"); soundGenshinLoudhornDistant = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinLoudhornDistant.ogg"); soundGenshinMenu = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinStartup.ogg"); soundGenshinHighAction1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinHighAction1.ogg"); soundGenshinHighAction2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinHighAction2.ogg"); soundGenshinLowAction = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinLowAction.ogg"); soundGenshinCompanyBuildingMusic1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinCompanyBuildingMusic1.ogg"); soundGenshinAmbientMusic1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinAmbientMusic1.ogg"); soundGenshinAmbientMusic2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinAmbientMusic2.ogg"); soundGenshinAmbientMusic3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinAmbientMusic3.ogg"); soundGenshinAmbientMusic5 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinAmbientMusic5.ogg"); soundGenshinAmbientMusic6 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinAmbientMusic6.ogg"); soundGenshinIntroSpeech = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinIntroSpeech.ogg"); soundGenshinMidDay = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinMidDay.ogg"); soundGenshinStartOfDay = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinStartOfDay.ogg"); soundGenshinNight = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinNight.ogg"); soundGenshinJazz = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinJazz.ogg"); soundGenshinIcecreamTruckV2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinIcecreamTruckV2.ogg"); soundGenshinIcecreamTruckFar = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinIcecreamTruckFar.ogg"); soundGenshinEclipseAmbience = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/GenshinEclipseAmbience.ogg"); soundGenshinDroning1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/soundGenshinDroning1.ogg"); soundGenshinDroning2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/soundGenshinDroning2.ogg"); soundGenshinBackgroundAmbience = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/soundGenshinBackgroundAmbience.ogg"); soundGenshinClassical1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/soundGenshinClassical1.ogg"); soundGenshinPiano1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/soundGenshinPiano1.ogg"); soundGenshinLateDay = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/GenshinSounds/soundGenshinLateDay.ogg"); soundIttoBaboonEnterFight = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoBaboonEnterFight.ogg"); soundIttoBaboonKill = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoBaboonKill.ogg"); soundIttoBaboonStab = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoBaboonStab.ogg"); soundIttoBaboonTakeDamage = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoBaboonTakeDamage.ogg"); soundIttoKillBaboon = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoKillBaboon.ogg"); soundIttoCaw1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoCaw1.ogg"); soundIttoCawScream1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoCawScream1.ogg"); soundIttoCawScream2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoCawScream2.ogg"); soundIttoCawScream3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoCawScream3.ogg"); soundIttoCawScream4 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoCawScream4.ogg"); soundIttoCawScream5 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoCawScream5.ogg"); soundIttoSqueak1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoSqueak1.ogg"); soundIttoSqueak2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Itto/IttoSqueak2.ogg"); soundKazuhaLocusts = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Kazuha/KazuhaLocusts.ogg"); soundKazuhaEvade = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Kazuha/KazuhaEvade.ogg"); soundGiantEatPlayer = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Klee/KleeEatPlayer.ogg"); soundStunGiant = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Klee/KleeStunned.ogg"); soundKleeDistantRumble1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Klee/KleeDistantRumble1.ogg"); soundKleeDistantRumble2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Klee/KleeDistantRumble2.ogg"); soundKleeDistantRumble3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Klee/KleeDistantRumble3.ogg"); soundKleeDeath = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Klee/KleeDeath.ogg"); soundKleeBurning = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Klee/KleeBurning.ogg"); soundNaviaTurretActivate = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Navia/NaviaTurretActivate.ogg"); soundNaviaTurretBeserkMode = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Navia/NaviaTurretBerserkMode.ogg"); soundNaviaTurretDeactivate = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Navia/NaviaTurretDeactivate.ogg"); soundNaviaTurretFire = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Navia/NaviaTurretFire.ogg"); soundNaviaTurretFireDistant = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Navia/NaviaTurretFireDistant.ogg"); soundNaviaTurretSeePlayer = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Navia/NaviaTurretSeePlayer.ogg"); soundNeuvJackInTheBoxTheme = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Neuv/NeuvJackInTheBoxTheme.ogg"); soundNeuvPop1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Neuv/NeuvPop1.ogg"); soundNeuvScream1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Neuv/NeuvScream1.ogg"); soundNeuvKillPlayer = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Neuv/NeuvKillPlayer.ogg"); NilouHitSlime = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Nilou/NilouHitSlime.ogg"); NilouAngry = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Nilou/NilouAngry.ogg"); NilouEatPlayer = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Nilou/NilouEatPlayer.ogg"); NilouIdle = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Nilou/NilouIdle.ogg"); NilouJiggleSFX = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Nilou/NilouJiggleSFX.ogg"); soundOzHello = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/OzHello.ogg"); soundCameraFar = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/CameraSnapFar.ogg"); soundCameraNear = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/CameraSnap.ogg"); soundMeow = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/Meow.ogg"); soundSeelieNoise = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/SeelieNoise.ogg"); soundLyreClose = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/LyrePlay.ogg"); soundLyreFar = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/LyreFar.ogg"); soundDropCat = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/CatDrop.ogg"); soundSnakeClose = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/SnakeClose.ogg"); soundSnakeFar = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/SnakeFar.ogg"); soundSnakeOi = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/SnakeOi.ogg"); soundRuinQuiet = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Props/RuinGuardBrainWashQuiet.ogg"); soundPaimonClingToPlayer = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Paimon/PaimonClingToPlayer.ogg"); soundPaimonClingToPlayerLocal = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Paimon/PaimonClingToPlayerLocal.ogg"); soundPaimonDeathShriek = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Paimon/PaimonDeathShriek.ogg"); soundPaimonmonsterNoise = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Paimon/PaimonmonsterNoise.ogg"); soundPaimonmonsterNoise2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Paimon/PaimonmonsterNoise2.ogg"); soundPaimonmonsterNoiseB = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Paimon/PaimonmonsterNoiseB.ogg"); soundPaimonShriek1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Paimon/PaimonShriek1.ogg"); soundPaimonShriek2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Paimon/PaimonShriek2.ogg"); soundQiqiBellChimeAmbience = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Qiqi/QiqiBellChimeAmbience.ogg"); soundQiqiLaugh1_0 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Qiqi/QiqiLaugh1_0.ogg"); soundQiqiLaugh2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Qiqi/QiqiLaugh2.ogg"); soundQiqiBreathing = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Qiqi/QiqiBreathing.ogg"); soundQiqiBreath3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Qiqi/soundQiqiBreath3.ogg"); soundQiqiLaugh = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Qiqi/soundQiqiLaugh.ogg"); soundQiqi2Laugh = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Qiqi/soundQiqi2Laugh.ogg"); soundQiqiWheeze = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Qiqi/soundQiqiWheeze.ogg"); soundQiqiStepping1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Qiqi/soundQiqiStep.ogg"); soundRaidenStunFlowerman = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Raiden/RaidenStunFlowerman.ogg"); soundRaidenAngered = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Raiden/RaidenAngered.ogg"); soundRaidenFound1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Raiden/RaidenFound1.ogg"); soundRaidenCrackNeck = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Raiden/RaidenCrackNeck.ogg"); HandCreak = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Raiden/HandCreak.ogg"); HandSlam = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Raiden/HandSlam.ogg"); soundRazorBitePlayer = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorBitePlayer.ogg"); soundRazorShortRoar1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorShortRoar1.ogg"); soundRazorLongRoar1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorLongRoar1.ogg"); soundRazorLongRoar2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorLongRoar2.ogg"); soundRazorLongRoar3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorLongRoar3.ogg"); soundRazorRam1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorRam1.ogg"); soundRazorRam2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorRam2.ogg"); soundRazorRam3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorRam3.ogg"); soundRazorCrawlerDie = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorCrawlerDie.ogg"); soundRazorHitCrawler1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorHitCrawler1.ogg"); soundRazorHitCrawler2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorHitCrawler2.ogg"); soundRazorStunCrawler = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/RazorStunCrawler.ogg"); soundRazorEatMeat = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Razor/soundRazorEatMeat.ogg"); soundLaserNoise = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/RuinGuard/LaserNoise.ogg"); soundRuinGuardBrainWash = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/RuinGuard/RuinGuardBrainWash.ogg"); soundScaraBeeZap1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Scara/ScaraBeeZap1.ogg"); soundScaraBeeZap2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Scara/ScaraBeeZap2.ogg"); soundScaraBeeZap3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Scara/ScaraBeeZap3.ogg"); soundScaraBeeZap4 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Scara/ScaraBeeZap4.ogg"); soundScaraBeeZap5 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Scara/ScaraBeeZap5.ogg"); soundScaraBeeZap6 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Scara/ScaraBeeZap6.ogg"); soundScaraBeeZapConstant = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Scara/ScaraBeeZapConstant.ogg"); soundScaraBeeHiveIdle = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Scara/ScaraBeeHiveIdle.ogg"); soundScaraBeesAngry = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Scara/ScaraBeesAngry.ogg"); soundScaraBeesDefensive = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Scara/ScaraBeesDefensive.ogg"); soundVentiStunDoublewing = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Venti/VentiStunDoublewing.ogg"); soundVentiDoublewingFlap1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Venti/VentiDoublewingFlap1.ogg"); soundVentiDoublewingFlap2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Venti/VentiDoublewingFlap2.ogg"); soundVentiDoublewingFlap3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Venti/VentiDoublewingFlap3.ogg"); soundVentiDoublewingFlapConstant = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Venti/VentiDoublewingFlapConstant.ogg"); soundVentiKillDoublewing = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Venti/VentiKillDoublewing.ogg"); soundVentiBird1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Venti/VentiBird1.ogg"); soundVentiBird2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Venti/VentiBird2.ogg"); soundVentiBird3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Venti/VentiBird3.ogg"); soundVentiBirdScreech1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Venti/VentiBirdScreech1.ogg"); soundVentiBirdScreech2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Venti/VentiBirdScreech2.ogg"); soundWrisStunDog = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Wris/WrisStunDog.ogg"); soundWrisBreathe1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Wris/WrisBreathe1.ogg"); soundWrisgrowl = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Wris/Wrisgrowl.ogg"); soundWrisKillPlayer = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Wris/WrisKillPlayer.ogg"); soundWrisKillPlayer_0 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Wris/WrisKillPlayer_0.ogg"); soundWrisLunge1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Wris/WrisLunge1.ogg"); soundWrisRoar_0 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Wris/WrisRoar_0.ogg"); soundWrisRoar = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Wris/WrisRoar.ogg"); soundXianglingHit = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingHit.ogg"); soundXianglingCloseCall1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingCC1.ogg"); soundXianglingCloseCall2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingCC2.ogg"); soundXianglingFarCall1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingFC1.ogg"); soundXianglingFarCall2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingFC2.ogg"); soundXianglingGrowl1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingGrowl1.ogg"); soundXianglingGrowl2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingGrowl2.ogg"); soundXianglingGrowl3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingGrowl3.ogg"); soundXianglingGrowl4 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingGrowl4.ogg"); soundXianglingKill = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingKill.ogg"); soundXianglingShootTongue = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingShootTongue.ogg"); soundXianglingSnarl = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingSnarl.ogg"); soundXianglingDie = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingDie.ogg"); soundXianglingStun = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiangling/XianglingStun.ogg"); XiaoChuckle1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiao/XiaoChuckle1.ogg"); XiaoChuckle3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiao/XiaoChuckle3.ogg"); XiaoChuckle4 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiao/XiaoChuckle4.ogg"); XiaoChuckle5 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiao/XiaoChuckle5.ogg"); XiaoLeap1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiao/XiaoLeap1.ogg"); XiaoLeap2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiao/XiaoLeap2.ogg"); XiaoLeap3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiao/XiaoLeap3.ogg"); XiaoCling = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiao/XiaoCling.ogg"); XiaoDeath = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Xiao/XiaoDeath.ogg"); soundYaoyaoSandWormRoar = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Yaoyao/YaoyaoSandWormRoar.ogg"); soundYaoyaoSandWormRoar2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Yaoyao/YaoyaoSandWormRoar2.ogg"); soundYaoyaoBurrowingGrowl1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Yaoyao/YaoyaoBurrowingGrowl1.ogg"); soundYaoyaoBurrowingRumble1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Yaoyao/YaoyaoBurrowingRumble1.ogg"); soundYaoyaoBurrowingRumble2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Yaoyao/YaoyaoBurrowingRumble2.ogg"); soundYaoyaoBurrowingRumble3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Yaoyao/YaoyaoBurrowingRumble3.ogg"); soundYaoyaoBurrowingRumbleLoud1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Yaoyao/YaoyaoBurrowingRumbleLoud1.ogg"); soundYaoyaoEmergeFromGround1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Yaoyao/YaoyaoEmergeFromGround1.ogg"); soundZhongliSpring1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Zhongli/Spring1_zhongli.ogg"); soundZhongliSpring2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Zhongli/Spring2_zhongli.ogg"); soundZhongliSpring3 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Zhongli/Spring3_zhongli.ogg"); soundZhongliSpringWobble1 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Zhongli/SpringWobble1.ogg"); soundZhongliSpringWobble2 = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Zhongli/ZhongliSpringWobble2.ogg"); soundZhongliKillPlayerSpring = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Zhongli/ZhongliKillPlayerSpring.ogg"); soundZhongliEnterCooldown = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Zhongli/soundZhongliEnterCooldown.ogg"); soundZhongliFar = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Zhongli/ZhongliFar.ogg"); soundZhongliLand = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Zhongli/ZhongliLand.ogg"); soundZhongliNear = GenshinOverhaulAssetBundle.LoadAsset("Assets/AudioClip/Zhongli/ZhongliClose.ogg"); soundZhongliWarning = GenshinOverhaulAssetBundle.LoadAsset("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.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().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().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().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().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().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().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().randomClips[2] = soundAlbedoLaugh3; ((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().randomClips[3] = soundAlbedoLaugh2; ((EnemyAI)__instance).enemyType.deathSFX = soundAlbedoDeath; Transform parent = ((Component)__instance).transform.Find("ScavengerModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("LOD1")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("LOD2")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("LOD3")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskComedy") .Find("ComedyMaskLOD1")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskComedy") .Find("Mesh")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskTragedy") .Find("ComedyMaskLOD1")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskTragedy") .Find("Mesh")).gameObject.GetComponent()).enabled = false; GameObject gameObject = ((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("HeadMaskComedy") .Find("Mesh") .Find("EyesFilled")).gameObject; if ((Object)(object)gameObject != (Object)null) { gameObject.transform.localScale = Vector3.zero; } ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("LevelSticker")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig").Find("spine") .Find("spine.001") .Find("spine.002") .Find("spine.003") .Find("BetaBadge")).gameObject.GetComponent()).enabled = false; AlbedoObject = Object.Instantiate(AlbedoPrefab); AlbedoObject.transform.SetParent(parent); AlbedoObject.AddComponent(); AlbedoObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); AlbedoObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)AlbedoObject.transform).GetComponent(); } } [HarmonyPatch(typeof(MaskedPlayerEnemy), "HitEnemy")] [HarmonyPostfix] public static void OnHit(MaskedPlayerEnemy __instance) { if (AlbedoReplacement.Value) { ((EnemyAI)__instance).creatureVoice.PlayOneShot(soundAlbedoHit); } } [HarmonyPatch(typeof(MaskedPlayerEnemy), "KillEnemy")] [HarmonyPostfix] public static void OnKill(MaskedPlayerEnemy __instance) { if (AlbedoReplacement.Value) { ((EnemyAI)__instance).creatureSFX.PlayOneShot(soundAlbedoDeath); ((EnemyAI)__instance).creatureVoice.volume = 0.01f; } } [HarmonyPatch(typeof(MaskedPlayerEnemy), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateMaskedAnimationDirection(MaskedPlayerEnemy __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { if (AlbedoReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("ScavengerModel").Find("metarig")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } } [HarmonyPatch(typeof(Landmine), "Start")] [HarmonyPrefix] private static void LandmineSummonPatch(Landmine __instance) { //IL_0085: 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_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) if (BennettReplacement.Value) { __instance.mineTrigger = soundBennettTrigger; __instance.minePress = soundBennettPressLandmine; ((Component)__instance).GetComponentInChildren().audioClip = soundBennettBeep; Transform child = ((Component)__instance).transform.GetChild(0); ((Renderer)((Component)__instance).GetComponent()).enabled = false; Transform val = child; GameObject val2 = Object.Instantiate(BennettPrefab); GameObject val3 = val2; val2.transform.SetParent(child); val2.transform.localPosition = new Vector3(0.0004f, -0.0021f, -0.1799f); val2.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); val2.transform.localScale = Vector3.one; Vector3 localScale = child.localScale; ((Vector3)(ref localScale)).Set(100f, 100f, 50f); child.localScale = localScale; Vector3 localPosition = child.localPosition; ((Vector3)(ref localPosition)).Set(0f, 0f, 0f); child.localPosition = localPosition; Transform parent = child.parent; Transform parent2 = parent.parent; ((Component)parent2.Find("ScanNode")).GetComponent().headerText = "Bennett"; } } [HarmonyPatch(typeof(Landmine), "Detonate")] [HarmonyPostfix] public static void BennettDeath(Landmine __instance) { if (BennettReplacement.Value) { Transform val = ((Component)__instance).gameObject.transform.Find("BrightLight").Find("bennett(Clone)"); Object.Destroy((Object)(object)((Component)val).gameObject); } } [HarmonyPatch(typeof(NutcrackerEnemyAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonNutcracker(NutcrackerEnemyAI __instance) { //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_0296: Unknown result type (might be due to invalid IL or missing references) //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Unknown result type (might be due to invalid IL or missing references) //IL_02c9: Unknown result type (might be due to invalid IL or missing references) //IL_0363: Unknown result type (might be due to invalid IL or missing references) //IL_0378: Unknown result type (might be due to invalid IL or missing references) if (ChevReplacement.Value) { ((EnemyAI)__instance).enemyType.audioClips[0] = soundChevNutcrackerHitEye; ((EnemyAI)__instance).enemyType.audioClips[1] = soundChevHitMetal; ((EnemyAI)__instance).enemyType.audioClips[2] = soundChevShotgunReloadNutcracker; __instance.kickSFX = soundChevKick; ((EnemyAI)__instance).dieSFX = soundChevNutcrackerDie; ((EnemyAI)__instance).creatureVoice.clip = soundChevNutcrackerAngry; __instance.torsoFinishTurningClips[0] = soundChevStopTurning1; __instance.torsoFinishTurningClips[1] = soundChevStopTurning2; __instance.torsoFinishTurningClips[2] = soundChevStopTurning3; __instance.aimSFX = soundChevAlert; ((Component)((Component)__instance).gameObject.transform.Find("TurnBodySFX")).GetComponent().clip = soundChevNutcrackerTurn; Transform parent = ((Component)__instance).transform.Find("MeshContainer"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("LOD0")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("LOD1")).gameObject.GetComponent()).enabled = false; GameObject gameObject = ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("spinecontainer") .Find("GunAndArmsContainer")).gameObject; GameObject gameObject2 = ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("spinecontainer") .Find("GunAndArmsContainer") .Find("GunPoint")).gameObject; GameObject gameObject3 = ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("spinecontainer") .Find("GunAndArmsContainer") .Find("GunPoint") .Find("GunPointWithOffset")).gameObject; gameObject.transform.Rotate(0f, 0f, 90f); gameObject2.transform.Rotate(0f, 0f, 90f); gameObject3.transform.Rotate(0f, 0f, 90f); Vector3 val = default(Vector3); ((Vector3)(ref val))..ctor(0f, 0f, 0.3f); Transform transform = gameObject.transform; transform.localPosition += val; Transform transform2 = gameObject2.transform; transform2.localPosition += val; Transform transform3 = gameObject3.transform; transform3.localPosition += val; ((EnemyAI)__instance).creatureVoice.clip = soundChevNutcrackerAngry; ((EnemyAI)__instance).creatureVoice.maxDistance = 24f; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode (1)")).gameObject.GetComponent().headerText = "Chevreuse"; ChevObject = Object.Instantiate(ChevPrefab); ChevObject.transform.SetParent(parent); ChevObject.AddComponent(); ChevObject.transform.localRotation = Quaternion.Euler(0f, 270f, 0f); ChevObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)ChevObject.transform).GetComponent(); } } [HarmonyPatch(typeof(NutcrackerEnemyAI), "Update")] [HarmonyPostfix] public static void TurnContainer(NutcrackerEnemyAI __instance) { if (ChevReplacement.Value && (Object)(object)__instance != (Object)null && (Object)(object)ChevObject != (Object)null) { ((MonoBehaviour)__instance).StartCoroutine(DelayedRotation(__instance)); } } private static IEnumerator DelayedRotation(NutcrackerEnemyAI __instance) { if (ChevReplacement.Value) { yield return null; if ((Object)(object)__instance.torsoContainer != (Object)null) { Quaternion rotation = __instance.torsoContainer.rotation; float torsoYRotation = ((Quaternion)(ref rotation)).eulerAngles.y; rotation = ((Component)((Component)__instance).transform.Find("MeshContainer").Find("ChevreuseV2(Clone)")).transform.rotation; Vector3 chevRotation = ((Quaternion)(ref rotation)).eulerAngles; chevRotation.y = torsoYRotation; ((Component)((Component)__instance).transform.Find("MeshContainer").Find("ChevreuseV2(Clone)")).transform.rotation = Quaternion.Euler(chevRotation); } } } [HarmonyPatch(typeof(GrabbableObject), "Start")] [HarmonyPostfix] public static void PropAlterations(GrabbableObject __instance) { //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Unknown result type (might be due to invalid IL or missing references) //IL_02fa: Unknown result type (might be due to invalid IL or missing references) //IL_030b: Unknown result type (might be due to invalid IL or missing references) //IL_0341: Unknown result type (might be due to invalid IL or missing references) //IL_0365: Unknown result type (might be due to invalid IL or missing references) //IL_0389: Unknown result type (might be due to invalid IL or missing references) //IL_03b9: Unknown result type (might be due to invalid IL or missing references) //IL_03be: Unknown result type (might be due to invalid IL or missing references) //IL_04bd: Unknown result type (might be due to invalid IL or missing references) //IL_04e1: Unknown result type (might be due to invalid IL or missing references) //IL_0505: Unknown result type (might be due to invalid IL or missing references) //IL_05ae: Unknown result type (might be due to invalid IL or missing references) //IL_05d2: Unknown result type (might be due to invalid IL or missing references) //IL_05f6: Unknown result type (might be due to invalid IL or missing references) //IL_0616: Unknown result type (might be due to invalid IL or missing references) //IL_061b: Unknown result type (might be due to invalid IL or missing references) //IL_06b9: Unknown result type (might be due to invalid IL or missing references) //IL_06dd: Unknown result type (might be due to invalid IL or missing references) //IL_06fd: Unknown result type (might be due to invalid IL or missing references) //IL_0702: Unknown result type (might be due to invalid IL or missing references) //IL_071c: Unknown result type (might be due to invalid IL or missing references) //IL_0721: Unknown result type (might be due to invalid IL or missing references) //IL_07bf: Unknown result type (might be due to invalid IL or missing references) //IL_086f: Unknown result type (might be due to invalid IL or missing references) //IL_0893: Unknown result type (might be due to invalid IL or missing references) //IL_08c7: Unknown result type (might be due to invalid IL or missing references) //IL_08cc: Unknown result type (might be due to invalid IL or missing references) //IL_08e6: Unknown result type (might be due to invalid IL or missing references) //IL_08eb: Unknown result type (might be due to invalid IL or missing references) //IL_0989: Unknown result type (might be due to invalid IL or missing references) //IL_09ad: Unknown result type (might be due to invalid IL or missing references) //IL_0a51: Unknown result type (might be due to invalid IL or missing references) //IL_0a75: Unknown result type (might be due to invalid IL or missing references) //IL_0b34: Unknown result type (might be due to invalid IL or missing references) //IL_0b58: Unknown result type (might be due to invalid IL or missing references) //IL_0b7c: Unknown result type (might be due to invalid IL or missing references) //IL_0b9c: Unknown result type (might be due to invalid IL or missing references) //IL_0ba1: Unknown result type (might be due to invalid IL or missing references) //IL_0bbb: Unknown result type (might be due to invalid IL or missing references) //IL_0bc0: Unknown result type (might be due to invalid IL or missing references) //IL_0c5e: Unknown result type (might be due to invalid IL or missing references) //IL_0c82: Unknown result type (might be due to invalid IL or missing references) //IL_0d26: Unknown result type (might be due to invalid IL or missing references) //IL_0d4a: Unknown result type (might be due to invalid IL or missing references) //IL_0dfa: Unknown result type (might be due to invalid IL or missing references) //IL_0e1e: Unknown result type (might be due to invalid IL or missing references) //IL_0e3e: Unknown result type (might be due to invalid IL or missing references) //IL_0e43: Unknown result type (might be due to invalid IL or missing references) //IL_0ee1: Unknown result type (might be due to invalid IL or missing references) //IL_0f05: Unknown result type (might be due to invalid IL or missing references) //IL_0f25: Unknown result type (might be due to invalid IL or missing references) //IL_0f2a: Unknown result type (might be due to invalid IL or missing references) //IL_0f44: Unknown result type (might be due to invalid IL or missing references) //IL_0f49: Unknown result type (might be due to invalid IL or missing references) //IL_0fe7: Unknown result type (might be due to invalid IL or missing references) //IL_0ffc: Unknown result type (might be due to invalid IL or missing references) //IL_10ac: Unknown result type (might be due to invalid IL or missing references) //IL_10d0: Unknown result type (might be due to invalid IL or missing references) //IL_10f0: Unknown result type (might be due to invalid IL or missing references) //IL_10f5: Unknown result type (might be due to invalid IL or missing references) //IL_110f: Unknown result type (might be due to invalid IL or missing references) //IL_1114: Unknown result type (might be due to invalid IL or missing references) //IL_11b2: Unknown result type (might be due to invalid IL or missing references) //IL_11c7: Unknown result type (might be due to invalid IL or missing references) //IL_1242: Unknown result type (might be due to invalid IL or missing references) //IL_128b: Unknown result type (might be due to invalid IL or missing references) //IL_12af: Unknown result type (might be due to invalid IL or missing references) //IL_12db: Unknown result type (might be due to invalid IL or missing references) //IL_12e0: Unknown result type (might be due to invalid IL or missing references) //IL_138a: Unknown result type (might be due to invalid IL or missing references) //IL_13ae: Unknown result type (might be due to invalid IL or missing references) //IL_1452: Unknown result type (might be due to invalid IL or missing references) //IL_1476: Unknown result type (might be due to invalid IL or missing references) //IL_151a: Unknown result type (might be due to invalid IL or missing references) //IL_153e: Unknown result type (might be due to invalid IL or missing references) //IL_15e2: Unknown result type (might be due to invalid IL or missing references) //IL_1606: Unknown result type (might be due to invalid IL or missing references) //IL_1626: Unknown result type (might be due to invalid IL or missing references) //IL_162b: Unknown result type (might be due to invalid IL or missing references) //IL_1645: Unknown result type (might be due to invalid IL or missing references) //IL_164a: Unknown result type (might be due to invalid IL or missing references) //IL_16e8: Unknown result type (might be due to invalid IL or missing references) //IL_170c: Unknown result type (might be due to invalid IL or missing references) //IL_173c: Unknown result type (might be due to invalid IL or missing references) //IL_1741: Unknown result type (might be due to invalid IL or missing references) //IL_17df: Unknown result type (might be due to invalid IL or missing references) //IL_17f4: Unknown result type (might be due to invalid IL or missing references) //IL_1814: Unknown result type (might be due to invalid IL or missing references) //IL_1819: Unknown result type (might be due to invalid IL or missing references) //IL_1833: Unknown result type (might be due to invalid IL or missing references) //IL_1838: Unknown result type (might be due to invalid IL or missing references) //IL_1945: Unknown result type (might be due to invalid IL or missing references) //IL_1969: Unknown result type (might be due to invalid IL or missing references) //IL_1a2f: Unknown result type (might be due to invalid IL or missing references) //IL_1a53: Unknown result type (might be due to invalid IL or missing references) //IL_1a85: Unknown result type (might be due to invalid IL or missing references) //IL_1a8a: Unknown result type (might be due to invalid IL or missing references) //IL_1b38: Unknown result type (might be due to invalid IL or missing references) //IL_1b5c: Unknown result type (might be due to invalid IL or missing references) //IL_1c4d: Unknown result type (might be due to invalid IL or missing references) //IL_1c71: Unknown result type (might be due to invalid IL or missing references) //IL_1d15: Unknown result type (might be due to invalid IL or missing references) //IL_1d39: Unknown result type (might be due to invalid IL or missing references) //IL_1ddd: Unknown result type (might be due to invalid IL or missing references) //IL_1e01: Unknown result type (might be due to invalid IL or missing references) //IL_1edb: Unknown result type (might be due to invalid IL or missing references) //IL_1eff: Unknown result type (might be due to invalid IL or missing references) //IL_1faf: Unknown result type (might be due to invalid IL or missing references) //IL_1fd3: Unknown result type (might be due to invalid IL or missing references) //IL_1ff3: Unknown result type (might be due to invalid IL or missing references) //IL_1ff8: Unknown result type (might be due to invalid IL or missing references) //IL_20cc: Unknown result type (might be due to invalid IL or missing references) //IL_20f0: Unknown result type (might be due to invalid IL or missing references) //IL_21e6: Unknown result type (might be due to invalid IL or missing references) //IL_220a: Unknown result type (might be due to invalid IL or missing references) //IL_22ba: Unknown result type (might be due to invalid IL or missing references) //IL_22de: Unknown result type (might be due to invalid IL or missing references) //IL_238e: Unknown result type (might be due to invalid IL or missing references) //IL_23b2: Unknown result type (might be due to invalid IL or missing references) //IL_23d3: Unknown result type (might be due to invalid IL or missing references) //IL_23d8: Unknown result type (might be due to invalid IL or missing references) //IL_23f2: Unknown result type (might be due to invalid IL or missing references) //IL_23f7: Unknown result type (might be due to invalid IL or missing references) //IL_2559: Unknown result type (might be due to invalid IL or missing references) //IL_257d: Unknown result type (might be due to invalid IL or missing references) //IL_2641: Unknown result type (might be due to invalid IL or missing references) //IL_2665: Unknown result type (might be due to invalid IL or missing references) //IL_2697: Unknown result type (might be due to invalid IL or missing references) //IL_269c: Unknown result type (might be due to invalid IL or missing references) //IL_26b6: Unknown result type (might be due to invalid IL or missing references) //IL_26bb: Unknown result type (might be due to invalid IL or missing references) //IL_2759: Unknown result type (might be due to invalid IL or missing references) //IL_277d: Unknown result type (might be due to invalid IL or missing references) //IL_2882: Unknown result type (might be due to invalid IL or missing references) //IL_28a6: Unknown result type (might be due to invalid IL or missing references) float num = Random.Range(0f, 100f); if (num < ScrapReplacement.Value) { if (((Object)__instance.itemProperties).name == "GoldBar") { __instance.itemProperties.itemName = "Mora"; ((Component)((Component)__instance).transform.Find("ScanNode (5)")).GetComponent().headerText = "Mora"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); MoraObject = Object.Instantiate(MoraPrefab); MoraObject.transform.SetParent(((Component)__instance).transform); MoraObject.transform.localPosition = new Vector3(0f, -0.2f, 0.3f); MoraObject.transform.localRotation = Quaternion.Euler(0f, 0f, 90f); __instance.itemProperties.restingRotation = new Vector3(180f, 180f, 270f); __instance.itemProperties.positionOffset = new Vector3(0.1f, 0.2f, -0.1f); __instance.itemProperties.rotationOffset = new Vector3(90f, 0f, 0f); __instance.itemProperties.verticalOffset = 0.1f; } if (((Object)__instance.itemProperties).name == "Ring") { __instance.itemProperties.itemName = "Crystal Tear"; ((Component)((Component)__instance).transform.Find("ScanNode (5)")).GetComponent().headerText = "Crystal Tear"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); TearObject = Object.Instantiate(TearPrefab); TearObject.transform.SetParent(((Component)__instance).transform); TearObject.transform.localPosition = new Vector3(0f, 0f, -0.6f); TearObject.transform.localScale = new Vector3(70f, 70f, 70f); TearObject.transform.localRotation = Quaternion.Euler(0f, 90f, 90f); __instance.itemProperties.positionOffset = new Vector3(0.1f, 0.15f, -0.03f); __instance.itemProperties.rotationOffset = new Vector3(0f, 90f, 0f); } if (((Object)__instance.itemProperties).name == "Shovel") { __instance.itemProperties.itemName = "Electro Hammer"; Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("mesh")).GetComponent()); HammerObject = Object.Instantiate(HammerPrefab); HammerObject.transform.SetParent(((Component)__instance).transform); HammerObject.transform.localPosition = Vector3.zero; ((Component)__instance).transform.localScale = Vector3.one; __instance.itemProperties.toolTips[0] = "Swing Electro Hammer : [RMB]"; HammerObject.transform.localScale = new Vector3(12f, 12f, 12f); HammerObject.transform.localRotation = Quaternion.Euler(350f, 0f, 0f); HammerObject.transform.localPosition = new Vector3(0.04f, -0.53f, 0.4f); __instance.itemProperties.itemIcon = HammerSprite; __instance.itemProperties.restingRotation = new Vector3(5f, 0f, 0f); __instance.itemProperties.verticalOffset = 0.27f; } if (((Object)__instance.itemProperties).name == "StickyNote") { __instance.itemProperties.itemName = "Mika's such a cutie"; MeshRenderer component = ((Component)__instance).GetComponent(); Material val = ((Renderer)component).materials[0]; Texture mikaTexture = MikaTexture; val.mainTexture = mikaTexture; } if (((Object)__instance.itemProperties).name == "RedLocustHive") { __instance.itemProperties.itemName = "Electro Gnosis"; ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Electro Gnosis"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); EGnosisObject = Object.Instantiate(EGnosisPrefab); EGnosisObject.transform.SetParent(((Component)__instance).transform); EGnosisObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); EGnosisObject.transform.localPosition = new Vector3(0f, -1.7f, 0f); EGnosisObject.transform.localScale = new Vector3(300f, 300f, 300f); } if (((Object)__instance.itemProperties).name == "Cog1") { __instance.itemProperties.itemName = "Statue of the Seven"; Object.Destroy((Object)(object)((Component)((Component)__instance).transform).GetComponent()); ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Statue of the Seven"; StatueObject = Object.Instantiate(StatuePrefab); StatueObject.transform.SetParent(((Component)__instance).transform); StatueObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); StatueObject.transform.localPosition = new Vector3(0f, -0.7f, 0f); StatueObject.transform.localScale = new Vector3(4f, 4f, 4f); __instance.itemProperties.restingRotation = new Vector3(0f, 0f, 0f); } if (((Object)__instance.itemProperties).name == "FishTestProp") { __instance.itemProperties.itemName = "Onikabuto"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ((Component)((Component)__instance).transform.Find("ScanNode (1)")).GetComponent().headerText = "Onikabuto"; OnikaObject = Object.Instantiate(OnikaPrefab); OnikaObject.transform.SetParent(((Component)__instance).transform); OnikaObject.transform.localRotation = Quaternion.Euler(0f, 0f, 270f); OnikaObject.transform.localPosition = new Vector3(-7f, 0f, 0f); __instance.itemProperties.positionOffset = new Vector3(0f, 0.1f, -0.05f); __instance.itemProperties.rotationOffset = new Vector3(270f, 0f, 0f); } if (((Object)__instance.itemProperties).name == "ChemicalJug") { __instance.itemProperties.itemName = "Miss Hina"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ((Component)((Component)__instance).transform.Find("ScanNode (4)")).GetComponent().headerText = "Miss Hina"; MissHinaObject = Object.Instantiate(MissHinaPrefab); MissHinaObject.transform.SetParent(((Component)__instance).transform); MissHinaObject.transform.localPosition = new Vector3(0f, 0f, -0.6f); } if (((Object)__instance.itemProperties).name == "Phone") { __instance.itemProperties.itemName = "Oz"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ((Component)((Component)__instance).transform.Find("ScanNode (6)")).GetComponent().headerText = "Oz"; OzObject = Object.Instantiate(OzPrefab); OzObject.transform.SetParent(((Component)__instance).transform); __instance.itemProperties.isConductiveMetal = false; OzObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); OzObject.transform.localPosition = new Vector3(0f, 0f, 0f); AnimatedItem component2 = ((Component)__instance).GetComponent(); component2.grabAudio = soundOzHello; __instance.itemProperties.positionOffset = new Vector3(-0.04f, 0.1f, -0.04f); __instance.itemProperties.rotationOffset = new Vector3(170f, -70f, -90f); } if (((Object)__instance.itemProperties).name == "MetalSheet") { __instance.itemProperties.itemName = "Candace's Shield"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Candace's Shield"; ShieldObject = Object.Instantiate(ShieldPrefab); ShieldObject.transform.SetParent(((Component)__instance).transform); ShieldObject.transform.localRotation = Quaternion.Euler(0f, 180f, 0f); ShieldObject.transform.localPosition = new Vector3(0f, -0.7f, -1.3f); } if (((Object)__instance.itemProperties).name == "FancyCup") { __instance.itemProperties.itemName = "Neuvillette's Goblet"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ((Component)((Component)__instance).transform.Find("ScanNode (6)")).GetComponent().headerText = "Neuvillette's Goblet"; GobletObject = Object.Instantiate(GobletPrefab); GobletObject.transform.SetParent(((Component)__instance).transform); GobletObject.transform.localRotation = Quaternion.Euler(0f, 270f, 270f); GobletObject.transform.localPosition = new Vector3(0f, 0f, -0.6f); } if (((Object)__instance.itemProperties).name == "BottleBin") { __instance.itemProperties.itemName = "Pyro Slime"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("BinFullOfBottles_lowDetail")).GetComponent()); ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Pyro Slime"; SlimeObject = Object.Instantiate(SlimePrefab); SlimeObject.transform.SetParent(((Component)__instance).transform); SlimeObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); SlimeObject.transform.localPosition = new Vector3(0f, 0f, -1f); SlimeObject.transform.localScale = new Vector3(130f, 130f, 130f); __instance.itemProperties.positionOffset = new Vector3(-0.3f, 0.23f, -0.18f); __instance.itemProperties.rotationOffset = new Vector3(0f, 101f, 185f); } if (((Object)__instance.itemProperties).name == "EggBeater") { __instance.itemProperties.itemName = "Ningguang's Pipe"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ((Component)((Component)__instance).transform.Find("ScanNode (7)")).GetComponent().headerText = "Ningguang's Pipe"; PipeObject = Object.Instantiate(PipePrefab); PipeObject.transform.SetParent(((Component)__instance).transform); PipeObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); PipeObject.transform.localPosition = new Vector3(0f, 0f, 0f); } if (((Object)__instance.itemProperties).name == "Brush") { __instance.itemProperties.itemName = "Chongyun's Popsicle"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ((Component)((Component)__instance).transform.Find("ScanNode (4)")).GetComponent().headerText = "Chongyun's Popsicle"; PopsicleObject = Object.Instantiate(PopsiclePrefab); PopsicleObject.transform.SetParent(((Component)__instance).transform); PopsicleObject.transform.localRotation = Quaternion.Euler(0f, 0f, 180f); PopsicleObject.transform.localPosition = new Vector3(0f, 0.3f, 0f); } if (((Object)__instance.itemProperties).name == "EnginePart1") { __instance.itemProperties.itemName = "Daruma"; ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Daruma"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); __instance.itemProperties.isConductiveMetal = false; DarumaObject = Object.Instantiate(DarumaPrefab); DarumaObject.transform.SetParent(((Component)__instance).transform); DarumaObject.transform.localRotation = Quaternion.Euler(90f, 90f, 0f); DarumaObject.transform.localPosition = new Vector3(4f, -8f, -2f); __instance.itemProperties.positionOffset = new Vector3(-0.3f, -0.3f, -0.1f); } if (((Object)__instance.itemProperties).name == "SteeringWheel") { __instance.itemProperties.itemName = "Dori's Lamp"; ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Dori's Lamp"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); LampObject = Object.Instantiate(LampPrefab); LampObject.transform.SetParent(((Component)__instance).transform); LampObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); LampObject.transform.localPosition = new Vector3(0.3f, -0.3f, -0.3f); __instance.itemProperties.positionOffset = new Vector3(-0.23f, 0.2f, -0.2f); __instance.itemProperties.rotationOffset = new Vector3(0f, 90f, 135f); } if (((Object)__instance.itemProperties).name == "DustPan") { __instance.itemProperties.itemName = "Dehya's Makeup"; ((Component)((Component)__instance).transform.Find("ScanNode (1)")).GetComponent().headerText = "Dehya's Makeup"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); MakeupObject = Object.Instantiate(MakeupPrefab); MakeupObject.transform.SetParent(((Component)__instance).transform); MakeupObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); MakeupObject.transform.localPosition = Vector3.zero; } if (((Object)__instance.itemProperties).name == "BigBolt") { __instance.itemProperties.itemName = "Doggy General"; ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Doggy General"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); __instance.itemProperties.isConductiveMetal = false; ShirouObject = Object.Instantiate(ShirouPrefab); ShirouObject.transform.SetParent(((Component)__instance).transform); ShirouObject.transform.localRotation = Quaternion.Euler(35.7f, 0f, 0f); ShirouObject.transform.localPosition = new Vector3(-3f, -7.3f, 6.5f); __instance.itemProperties.positionOffset = new Vector3(0.03f, 0.15f, -0.16f); __instance.itemProperties.rotationOffset = new Vector3(250f, 240f, 70f); } if (((Object)__instance.itemProperties).name == "ToyCube") { __instance.itemProperties.itemName = "Yelan's Dice"; ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Yelan's Dice"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); DiceObject = Object.Instantiate(DicePrefab); DiceObject.transform.SetParent(((Component)__instance).transform); DiceObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); DiceObject.transform.localPosition = Vector3.zero; } if (((Object)__instance.itemProperties).name == "FancyLamp") { __instance.itemProperties.itemName = "Neo Akasha Terminal"; ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Neo Akasha Terminal"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ((Component)((Component)__instance).transform.Find("light")).GetComponent().color = Color.green; TerminalObject = Object.Instantiate(TerminalPrefab); TerminalObject.transform.SetParent(((Component)__instance).transform); TerminalObject.transform.localRotation = Quaternion.Euler(270f, 180f, 0f); TerminalObject.transform.localPosition = new Vector3(0f, 0f, 0.2f); __instance.mainObjectRenderer = ((Component)__instance).GetComponentInChildren(); __instance.itemProperties.positionOffset = new Vector3(-0.2f, 0.09f, 0.1f); } if (((Object)__instance.itemProperties).name == "TeaKettle") { __instance.itemProperties.itemName = "Yuegui"; ((Component)((Component)__instance).transform.Find("ScanNode (2)")).GetComponent().headerText = "Yuegui"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); __instance.itemProperties.isConductiveMetal = false; YueguiObject = Object.Instantiate(YueguiPrefab); YueguiObject.transform.SetParent(((Component)__instance).transform); YueguiObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); YueguiObject.transform.localPosition = new Vector3(0f, 0f, -2f); } if (((Object)__instance.itemProperties).name == "Mug") { __instance.itemProperties.itemName = "Ayato's Tea"; ((Component)((Component)__instance).transform.Find("ScanNode (5)")).GetComponent().headerText = "Ayato's Tea"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); TeaObject = Object.Instantiate(TeaPrefab); TeaObject.transform.SetParent(((Component)__instance).transform); TeaObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); TeaObject.transform.localPosition = new Vector3(-0.2f, 0.4f, 1.6f); } if (((Object)__instance.itemProperties).name == "MoldPan") { __instance.itemProperties.itemName = "Yanfei's Scale"; ((Component)((Component)__instance).transform.Find("ScanNode (6)")).GetComponent().headerText = "Yanfei's Scale"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ScaleObject = Object.Instantiate(ScalePrefab); ScaleObject.transform.SetParent(((Component)__instance).transform); ScaleObject.transform.localRotation = Quaternion.Euler(180f, 90f, 0f); ScaleObject.transform.localPosition = new Vector3(0.5f, -0.05f, -9.6f); } if (((Object)__instance.itemProperties).name == "SodaCanRed") { __instance.itemProperties.itemName = "Alhaitham's Keychain"; ((Component)((Component)__instance).transform.Find("ScanNode (5)")).GetComponent().headerText = "Alhaitham's Keychain"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); KeychainObject = Object.Instantiate(KeychainPrefab); KeychainObject.transform.SetParent(((Component)__instance).transform); KeychainObject.transform.localRotation = Quaternion.Euler(0f, 230f, 0f); KeychainObject.transform.localPosition = new Vector3(0f, 1.4f, -0.2f); __instance.itemProperties.positionOffset = new Vector3(0.26f, 0.11f, -0.06f); __instance.itemProperties.rotationOffset = new Vector3(-92f, 180f, -256f); } if (((Object)__instance.itemProperties).name == "Flask") { __instance.itemProperties.itemName = "Navia's Sunglasses"; ((Component)((Component)__instance).transform.Find("ScanNode (1)")).GetComponent().headerText = "Navia's Sunglasses"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); SunglassesObject = Object.Instantiate(SunglassesPrefab); SunglassesObject.transform.SetParent(((Component)__instance).transform); SunglassesObject.transform.localRotation = Quaternion.Euler(300f, 0f, 180f); SunglassesObject.transform.localPosition = new Vector3(0.7f, -0.3f, 2f); __instance.itemProperties.verticalOffset = -0.29f; __instance.itemProperties.restingRotation = new Vector3(290f, 0f, 180f); } if (((Object)__instance.itemProperties).name == "Toothpaste") { __instance.itemProperties.itemName = "Itto's Comb"; ((Component)((Component)__instance).transform.Find("ScanNode (1)")).GetComponent().headerText = "Itto's Comb"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); CombObject = Object.Instantiate(CombPrefab); CombObject.transform.SetParent(((Component)__instance).transform); CombObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); CombObject.transform.localPosition = Vector3.zero; __instance.itemProperties.positionOffset = new Vector3(0f, 0.1f, 0.03f); __instance.itemProperties.rotationOffset = new Vector3(150f, 0f, 75f); } if (((Object)__instance.itemProperties).name == "CashRegister") { __instance.itemProperties.itemName = "Cat Delivery Box"; ((Component)((Component)__instance).transform.Find("ScanNode (5)")).GetComponent().headerText = "Cat Delivery Box"; Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("CashRegisterAnim").Find("Crank")).GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("CashRegisterAnim").Find("Drawer")).GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("CashRegister")).GetComponent()); BoxObject = Object.Instantiate(BoxPrefab); BoxObject.transform.SetParent(((Component)__instance).transform); NoisemakerProp component3 = ((Component)__instance).GetComponent(); component3.noiseSFX[0] = soundMeow; BoxObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); BoxObject.transform.localPosition = new Vector3(0f, 0f, -1f); __instance.itemProperties.toolTips[0] = "Meow : [RMB]"; } if (((Object)__instance.itemProperties).name == "StopSign") { __instance.itemProperties.itemName = "Verdict"; ((Component)((Component)__instance).transform.Find("ScanNode (4)")).GetComponent().headerText = "Verdict"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); AxeObject = Object.Instantiate(AxePrefab); AxeObject.transform.SetParent(((Component)__instance).transform); __instance.itemProperties.itemIcon = VerdictSprite; AxeObject.transform.localRotation = Quaternion.Euler(350f, 10f, 350f); AxeObject.transform.localPosition = new Vector3(-0.06f, -0.14f, 0.3f); __instance.itemProperties.toolTips[0] = "Swing Verdict : [RMB]"; __instance.itemProperties.restingRotation = new Vector3(10f, 0f, 0f); __instance.itemProperties.verticalOffset = 0.2f; } if (((Object)__instance.itemProperties).name == "YieldSign") { __instance.itemProperties.itemName = "Debate Club"; ((Component)((Component)__instance).transform.Find("ScanNode (4)")).GetComponent().headerText = "Debate Club"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ClubObject = Object.Instantiate(ClubPrefab); ClubObject.transform.SetParent(((Component)__instance).transform); ClubObject.transform.localRotation = Quaternion.Euler(350f, 0f, 350f); ClubObject.transform.localPosition = new Vector3(0.1f, -0.14f, 0.3f); __instance.itemProperties.itemIcon = DebateSprite; __instance.itemProperties.toolTips[0] = "Swing Debate Club : [RMB]"; __instance.itemProperties.verticalOffset = 0.1f; } if (((Object)__instance.itemProperties).name == "PickleJar") { __instance.itemProperties.itemName = "Chevreuse's Snacks"; ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Chevreuse's Snacks"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("Pickles.001")).GetComponent()); SnacksObject = Object.Instantiate(SnacksPrefab); SnacksObject.transform.SetParent(((Component)__instance).transform); SnacksObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); SnacksObject.transform.localPosition = new Vector3(-0.7f, 0.46f, -2.3f); } if (((Object)__instance.itemProperties).name == "PillBottle") { __instance.itemProperties.itemName = "Sigewinne's Pill"; ((Component)((Component)__instance).transform.Find("ScanNode (3)")).GetComponent().headerText = "Sigewinne's Pill"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); PillObject = Object.Instantiate(PillPrefab); PillObject.transform.SetParent(((Component)__instance).transform); PillObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); PillObject.transform.localPosition = new Vector3(0.1f, -0.14f, 0.3f); } if (((Object)__instance.itemProperties).name == "Hairdryer") { __instance.itemProperties.itemName = "Monsieur Verite"; ((Component)((Component)__instance).transform.Find("ScanNode (3)")).GetComponent().headerText = "Monsieur Verite"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); CameraObject = Object.Instantiate(CameraPrefab); CameraObject.transform.SetParent(((Component)__instance).transform); CameraObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); CameraObject.transform.localPosition = new Vector3(-0.5f, 0f, 0f); NoisemakerProp component4 = ((Component)__instance).GetComponent(); component4.noiseSFX[0] = soundCameraNear; component4.noiseSFXFar[0] = soundCameraFar; __instance.itemProperties.toolTips[0] = "Use Camera : [RMB]"; } if (((Object)__instance.itemProperties).name == "7Ball") { __instance.itemProperties.itemName = "Tighnari's Ball"; ((Component)((Component)__instance).transform.Find("ScanNode (7)")).GetComponent().headerText = "Tighnari's Ball"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ToyObject = Object.Instantiate(ToyPrefab); ToyObject.transform.SetParent(((Component)__instance).transform); ToyObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); ToyObject.transform.localPosition = new Vector3(0f, 0f, 0f); __instance.itemProperties.isConductiveMetal = false; } if (((Object)__instance.itemProperties).name == "Airhorn") { __instance.itemProperties.itemName = "Venti's Lyre"; ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Venti's Lyre"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); LyreObject = Object.Instantiate(LyrePrefab); LyreObject.transform.SetParent(((Component)__instance).transform); LyreObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); LyreObject.transform.localPosition = new Vector3(-2f, 0f, -2.3f); __instance.itemProperties.restingRotation = new Vector3(180f, 180f, 0f); __instance.itemProperties.toolTips[0] = "Play Lyre : [RMB]"; NoisemakerProp component5 = ((Component)__instance).GetComponent(); component5.noiseSFX[0] = soundLyreClose; component5.noiseSFXFar[0] = soundLyreFar; } if (((Object)__instance.itemProperties).name == "ClownHorn") { __instance.itemProperties.itemName = "Changsheng"; ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Changsheng"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); SnakeObject = Object.Instantiate(SnakePrefab); SnakeObject.transform.SetParent(((Component)__instance).transform); SnakeObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); SnakeObject.transform.localPosition = new Vector3(0f, 0f, -25.4f); __instance.itemProperties.isConductiveMetal = false; __instance.itemProperties.toolTips[0] = "Activate Changsheng : [RMB]"; NoisemakerProp component6 = ((Component)__instance).GetComponent(); component6.noiseSFX[0] = soundSnakeClose; component6.noiseSFXFar[0] = soundSnakeFar; __instance.itemProperties.dropSFX = soundSnakeOi; } if (((Object)__instance.itemProperties).name == "MagnifyingGlass") { __instance.itemProperties.itemName = "Kujou Sara's Fan"; ((Component)((Component)__instance).transform.Find("ScanNode (2)")).GetComponent().headerText = "Kujou Sara's Fan"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); KFanObject = Object.Instantiate(KFanPrefab); KFanObject.transform.SetParent(((Component)__instance).transform); KFanObject.transform.localRotation = Quaternion.Euler(0f, 0f, 270f); KFanObject.transform.localPosition = new Vector3(-0.4f, 0f, 0f); __instance.itemProperties.isConductiveMetal = false; } if (((Object)__instance.itemProperties).name == "Candy") { __instance.itemProperties.itemName = "Diluc's Scroll"; ((Component)((Component)__instance).transform.Find("ScanNode (7)")).GetComponent().headerText = "Diluc's Scroll"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); ScrollObject = Object.Instantiate(ScrollPrefab); ScrollObject.transform.SetParent(((Component)__instance).transform); ScrollObject.transform.localRotation = Quaternion.Euler(0f, 180f, 90f); ScrollObject.transform.localPosition = new Vector3(-0.3f, 0.2f, -1.6f); __instance.itemProperties.isConductiveMetal = false; } if (((Object)__instance.itemProperties).name == "PerfumeBottle") { __instance.itemProperties.itemName = "Ice Charm"; ((Component)((Component)__instance).transform.Find("ScanNode (4)")).GetComponent().headerText = "Ice Charm"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); IceCharmObject = Object.Instantiate(IceCharmPrefab); IceCharmObject.transform.SetParent(((Component)__instance).transform); IceCharmObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); IceCharmObject.transform.localPosition = new Vector3(-1f, 0f, -6.4f); __instance.itemProperties.verticalOffset = 0f; __instance.itemProperties.restingRotation = Vector3.zero; __instance.itemProperties.rotationOffset = new Vector3(-13f, 0f, 20f); } if (((Object)__instance.itemProperties).name == "Dentures") { __instance.itemProperties.itemName = "Seelie"; ((Component)((Component)__instance).transform.Find("ScanNode (3)")).GetComponent().headerText = "Seelie"; Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("AnimContainer").Find("MeshContainer").Find("JawUpper")).GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("AnimContainer").Find("MeshContainer").Find("JawUpper") .Find("JawUpperLOD1")).GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("AnimContainer").Find("MeshContainer").Find("JawLower")).GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("AnimContainer").Find("MeshContainer").Find("JawLower") .Find("JawLowerLOD1")).GetComponent()); SeelieObject = Object.Instantiate(SeeliePrefab); SeelieObject.transform.SetParent(((Component)__instance).transform); SeelieObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); SeelieObject.transform.localPosition = new Vector3(0f, 0f, -28f); AnimatedItem component7 = ((Component)__instance).GetComponent(); component7.dropAudio = soundSeelieNoise; component7.grabAudio = soundSeelieNoise; } if (((Object)__instance.itemProperties).name == "Remote") { __instance.itemProperties.itemName = "Bake-Danuki"; ((Component)((Component)__instance).transform.Find("ScanNode (5)")).GetComponent().headerText = "Bake-Danuki"; Object.Destroy((Object)(object)((Component)__instance).GetComponentInChildren()); CritterObject = Object.Instantiate(CritterPrefab); CritterObject.transform.SetParent(((Component)__instance).transform); CritterObject.transform.localPosition = new Vector3(0f, 0f, 0f); CritterObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); __instance.itemProperties.toolTips[0] = "Play Prank : [RMB]"; __instance.itemProperties.rotationOffset = new Vector3(0f, 90f, 35f); __instance.itemProperties.positionOffset = new Vector3(-0.2f, 0.21f, -0.04f); } if (((Object)__instance.itemProperties).name == "Bell") { __instance.itemProperties.itemName = "Cuilein-Anbar"; ((Component)((Component)__instance).transform.Find("ScanNode (8)")).GetComponent().headerText = "Cuilein-Anbar"; Object.Destroy((Object)(object)((Component)__instance).GetComponentInChildren()); CatObject = Object.Instantiate(CatPrefab); CatObject.transform.SetParent(((Component)__instance).transform); CatObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); CatObject.transform.localPosition = new Vector3(0f, 0f, -0.8f); __instance.itemProperties.dropSFX = soundDropCat; } if (((Object)__instance.itemProperties).name == "RobotToy") { __instance.itemProperties.itemName = "Toy Ruin Guard"; Object.Destroy((Object)(object)((Component)__instance).GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("RobotRightArm")).GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("RobotLeftArm")).GetComponent()); ((Component)((Component)__instance).transform.Find("ScanNode (2)")).GetComponent().headerText = "Toy Ruin Guard"; RuinToy = Object.Instantiate(RuinGuardPrefab); RuinToy.transform.SetParent(((Component)__instance).transform); Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("Ruin_Guard(Clone)")).GetComponent()); RuinToy.transform.localPosition = new Vector3(0f, 0f, -2.7f); RuinToy.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); AnimatedItem component8 = ((Component)__instance).GetComponent(); component8.dropAudio = soundRuinQuiet; component8.grabAudio = soundRuinQuiet; ((Component)((Component)__instance).transform.Find("Ruin_Guard(Clone)").Find("Armature").Find("全ての親") .Find("Root") .Find("Colliders")).gameObject.SetActive(false); } if (((Object)__instance.itemProperties).name == "ComedyMask" && AlbedoReplacement.Value) { RandomPeriodicAudioPlayer component9 = ((Component)__instance).GetComponent(); component9.randomClips[0] = soundAlbedoLaugh1; component9.randomClips[1] = soundAlbedoLaugh2; component9.randomClips[2] = soundAlbedoLaugh3; component9.randomClips[3] = soundAlbedoLaugh1; } if (((Object)__instance.itemProperties).name == "TragedyMask" && AlbedoReplacement.Value) { RandomPeriodicAudioPlayer component10 = ((Component)__instance).GetComponent(); component10.randomClips[0] = soundAlbedoCry1; component10.randomClips[1] = soundAlbedoCry2; component10.randomClips[2] = soundAlbedoCry3; component10.randomClips[3] = soundAlbedoCry4; } } } [HarmonyPatch(typeof(PufferAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonPuffer(PufferAI __instance) { //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) if (ChildeReplacement.Value) { __instance.bitePlayerSFX = soundChildeBite; __instance.puff = soundChildePuffSFX; __instance.stomp = soundChildeStomp; __instance.rattleTail = soundChildeRattleTail; __instance.angry = soundChildeAngry; __instance.nervousMumbling = soundChildeNervous; __instance.frightenSFX[0] = soundChildeFrighten1; __instance.frightenSFX[1] = soundChildeFrighten3; Transform parent = ((Component)__instance).transform.Find("PufferModel"); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("PufferModel").Find("BezierCurve")).gameObject.GetComponent()); ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Childe"; ChildeObject = Object.Instantiate(ChildePrefab); ChildeObject.transform.SetParent(parent); ChildeObject.AddComponent(); ChildeObject.transform.localRotation = Quaternion.Euler(0f, 180f, 0f); ChildeObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)ChildeObject.transform).GetComponent(); __instance.smokePrefab = ChildeSmoke; } } [HarmonyPatch(typeof(PufferAI), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateAnimationDirection(PufferAI __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { if (ChildeReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("PufferModel").Find("AnimContainer")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } } [HarmonyPatch(typeof(PufferAI), "KillEnemy")] [HarmonyPrefix] public static void OnKillEnemy(PufferAI __instance, ref float ___velX, ref float ___velZ) { if (ChildeReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("PufferModel").Find("AnimContainer")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f, 0f)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f, 0f)); } } } [HarmonyPatch(typeof(HoarderBugAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonBug(HoarderBugAI __instance) { //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Unknown result type (might be due to invalid IL or missing references) if (DoriReplacement.Value) { __instance.angryScreechSFX[0] = soundDoriAngry1; __instance.angryScreechSFX[1] = soundDoriAngry2; __instance.bugFlySFX = soundDoriFly; __instance.chitterSFX[0] = soundDoriChitter1; __instance.chitterSFX[1] = soundDoriChitter2; __instance.chitterSFX[2] = soundDoriChitter3; ((EnemyAI)__instance).dieSFX = soundDoriDie; ((EnemyAI)__instance).enemyBehaviourStates[2].VoiceClip = soundDoriAngry1; Transform parent = ((Component)__instance).transform.Find("HoarderBugModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("Cube")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("Cube.001")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("AnimContainer").Find("Armature") .Find("Abdomen") .Find("Chest") .Find("Head") .Find("LeftWing")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("AnimContainer").Find("Armature") .Find("Abdomen") .Find("Chest") .Find("Head") .Find("RightWing")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Dori"; DoriObject = Object.Instantiate(DoriPrefab); DoriObject.transform.SetParent(parent); DoriObject.transform.localRotation = Quaternion.identity; DoriObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)DoriObject.transform).GetComponent(); } } [HarmonyPatch(typeof(HoarderBugAI), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateAnimationDirection(HoarderBugAI __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { if (DoriReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("AnimContainer")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } } [HarmonyPatch(typeof(HoarderBugAI), "KillEnemy")] [HarmonyPrefix] public static void OnKillEnemy(HoarderBugAI __instance, ref float ___velX, ref float ___velZ) { if (DoriReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("HoarderBugModel").Find("AnimContainer")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f, 0f)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f, 0f)); } } } [HarmonyPatch(typeof(SandSpiderAI), "Start")] [HarmonyPrefix] public static void SummonFurina(SandSpiderAI __instance) { //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_0265: Unknown result type (might be due to invalid IL or missing references) if (FurinaReplacement.Value) { __instance.attackSFX = soundFurinaSpiderAttack; __instance.hangPlayerSFX = soundFurinaHang; __instance.hitSpiderSFX = soundFurinaSpiderHit; __instance.spoolPlayerSFX = soundFurinaSpoolPlayerInWeb; ((EnemyAI)__instance).enemyType.stunSFX = soundFurinaStunSpider; ((EnemyAI)__instance).dieSFX = soundFurinaSpiderDie; Transform parent = ((Component)__instance).transform.Find("MeshContainer"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("MeshRenderer")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("Armature") .Find("Head") .Find("RightFang")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("Armature") .Find("Head") .Find("LeftFang")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("FootstepSFX")).gameObject.GetComponent().mute = true; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("ScanNode")).gameObject.GetComponent().headerText = "Furina"; FurinaObject = Object.Instantiate(FurinaPrefab); FurinaObject.transform.SetParent(parent); FurinaObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); FurinaObject.transform.localPosition = Vector3.zero; FurinaObject.AddComponent(); ((EnemyAI)__instance).creatureAnimator = ((Component)FurinaObject.transform).GetComponent(); FurinaWalkingIdle furinaWalkingIdle = FurinaObject.AddComponent(); furinaWalkingIdle.spiderAI = __instance; BoxCollider component = ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer")).GetComponent(); SetColliderSize(component, new Vector3(1f, 2.5f, 1f)); FurinaObject.transform.localPosition = Vector3.zero; } } [HarmonyPatch(typeof(SandSpiderAI), "SpawnWebTrapClientRpc")] [HarmonyPostfix] public static void JaJa(SandSpiderAI __instance) { if (FurinaReplacement.Value) { ((EnemyAI)__instance).creatureSFX.PlayOneShot(soundFurinaJaja); } } [HarmonyPatch(typeof(SandSpiderWebTrap), "Awake")] [HarmonyPrefix] public static void SummonWebPrefab(SandSpiderWebTrap __instance) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Expected O, but got Unknown //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) if (FurinaReplacement.Value) { GameObject val = new GameObject("SalonFriend"); Transform parent = ((Component)__instance).transform.parent; val.transform.position = ((Component)__instance).transform.position; __instance.rightBone = ((Component)__instance).gameObject.transform.Find("Armature").Find("Bone_Root").Find("RightBone"); __instance.leftBone = ((Component)__instance).gameObject.transform.Find("Armature").Find("Bone_Root").Find("LeftBone"); __instance.centerOfWeb = ((Component)__instance).gameObject.transform.Find("Armature").Find("Bone_Root").Find("CenterOfWeb"); __instance.webAudio = ((Component)((Component)__instance).gameObject.transform.Find("Armature").Find("Bone_Root").Find("Audio")).GetComponent(); ((Component)__instance).transform.localScale = new Vector3(8f, 8f, 8f); val.transform.SetParent(parent); ((Component)__instance).transform.parent = val.transform; } } [HarmonyPatch(typeof(SandSpiderWebTrap), "Update")] [HarmonyPostfix] public static void FriendSize(SandSpiderWebTrap __instance) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) if (FurinaReplacement.Value) { ((Component)__instance).transform.localScale = new Vector3(8f, 8f, 8f); } } [HarmonyPatch(typeof(SandSpiderAI), "Update")] [HarmonyPrefix] public static void FriendSelector(SandSpiderAI __instance) { //IL_0020: Unknown result type (might be due to invalid IL or missing references) if (FurinaReplacement.Value) { Random random = new Random(); FurinaObject.transform.localPosition = Vector3.zero; int num = random.Next(0, 3); webObjects = (GameObject[])(object)new GameObject[3] { Web1, Web2, Web3 }; __instance.webTrapPrefab = webObjects[num]; } } [HarmonyPatch(typeof(BaboonBirdAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonBaboon(BaboonBirdAI __instance) { //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) if (IttoReplacement.Value) { __instance.cawLaughSFX[0] = soundIttoSqueak1; __instance.cawLaughSFX[1] = soundIttoSqueak2; __instance.cawScreamSFX[0] = soundIttoCawScream1; __instance.cawScreamSFX[1] = soundIttoCawScream2; __instance.cawScreamSFX[2] = soundIttoCawScream3; __instance.cawScreamSFX[3] = soundIttoCawScream4; __instance.cawScreamSFX[4] = soundIttoCawScream5; ((EnemyAI)__instance).dieSFX = null; ((EnemyAI)__instance).enemyType.hitEnemyVoiceSFX = soundIttoBaboonTakeDamage; ((EnemyAI)__instance).enemyType.audioClips[5] = soundIttoBaboonStab; ((EnemyAI)__instance).enemyType.audioClips[4] = soundIttoBaboonKill; ((EnemyAI)__instance).enemyType.audioClips[3] = soundIttoBaboonEnterFight; ((EnemyAI)__instance).enemyType.audioClips[0] = soundIttoCawScream2; ((EnemyAI)__instance).enemyType.audioClips[1] = soundIttoCawScream3; ((EnemyAI)__instance).enemyType.audioClips[2] = soundIttoCawScream1; ((EnemyAI)__instance).enemyType.miscAnimations[0].AnimVoiceclip = soundIttoSqueak2; ((EnemyAI)__instance).enemyType.hitBodySFX = null; ((EnemyAI)__instance).enemyType.deathSFX = null; Transform parent = ((Component)__instance).transform.Find("BaboonBirdModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("BaboonBirdModel").Find("BodyLOD0")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("BaboonBirdModel").Find("BodyLOD1")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("BaboonBirdModel").Find("BodyLOD2")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Itto"; IttoObject = Object.Instantiate(IttoPrefab); IttoObject.transform.SetParent(parent); IttoObject.transform.localRotation = Quaternion.identity; IttoObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)IttoObject.transform).GetComponent(); } } [HarmonyPatch(typeof(BaboonBirdAI), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateAnimationDirection(BaboonBirdAI __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { if (IttoReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("BaboonBirdModel").Find("AnimContainer")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } } [HarmonyPatch(typeof(BaboonBirdAI), "KillEnemy")] [HarmonyPrefix] public static void OnKillEnemy(BaboonBirdAI __instance, ref float ___velX, ref float ___velZ) { if (IttoReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("BaboonBirdModel").Find("AnimContainer")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f, 0f)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f, 0f)); } } } [HarmonyPatch(typeof(BaboonBirdAI), "KillEnemy")] [HarmonyPostfix] public static void OnDeath(BaboonBirdAI __instance) { if (IttoReplacement.Value) { ((EnemyAI)__instance).creatureSFX.volume = 0.01f; ((EnemyAI)__instance).creatureVoice.volume = 0.01f; __instance.aggressionAudio.PlayOneShot(soundIttoKillBaboon); } } [HarmonyPatch(typeof(ForestGiantAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonForestG(ForestGiantAI __instance) { //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) if (KleeReplacement.Value) { __instance.giantCry = soundKleeDeath; ((EnemyAI)__instance).enemyType.stunSFX = soundStunGiant; __instance.giantBurningAudio.clip = soundKleeBurning; ((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("AnimContainer")).GetComponent().randomClips2[0] = soundKleeDistantRumble1; ((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("AnimContainer")).GetComponent().randomClips2[1] = soundKleeDistantRumble2; ((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("AnimContainer")).GetComponent().randomClips2[2] = soundKleeDistantRumble3; Transform parent = ((Component)__instance).transform.Find("FGiantModelContainer"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("BodyLOD0")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("BodyLOD1")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("BodyLOD2")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode (1)")).gameObject.GetComponent().headerText = "Klee"; KleeObject = Object.Instantiate(KleePrefab); KleeObject.transform.SetParent(parent); KleeObject.AddComponent(); KleeObject.transform.localRotation = Quaternion.identity; KleeObject.transform.localPosition = Vector3.zero; GameObject gameObject = ((Component)((Component)__instance).transform.Find("FGiantModelContainer/Klee(Clone)/Armature/Hips/Spine/Chest/Right shoulder/Right arm/Right elbow/Right wrist/PlayerPoint")).gameObject; GameObject gameObject2 = ((Component)((Component)__instance).transform.Find("FGiantModelContainer/Klee(Clone)/Armature/Hips/Spine/Chest/Right shoulder/Right arm/Right elbow/Right wrist/PlayerPoint")).gameObject; if ((Object)(object)gameObject2 != (Object)null) { __instance.holdPlayerPoint = gameObject2.transform; } else { mls.LogError((object)"Hand bone object not found or is null."); } if ((Object)(object)gameObject != (Object)null) { __instance.handBone = gameObject.transform; } else { mls.LogError((object)"Hand bone object not found or is null."); } ((EnemyAI)__instance).creatureAnimator = ((Component)KleeObject.transform).GetComponent(); } } [HarmonyPatch(typeof(ForestGiantAI), "BeginEatPlayer")] [HarmonyPrefix] public static void Noise(ForestGiantAI __instance) { if (KleeReplacement.Value) { ((EnemyAI)__instance).creatureVoice.PlayOneShot(soundGiantEatPlayer); } } [HarmonyPatch(typeof(ForestGiantAI), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateAnimationDirection(ForestGiantAI __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { if (KleeReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("AnimContainer")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } } [HarmonyPatch(typeof(ForestGiantAI), "KillEnemy")] [HarmonyPrefix] public static void OnKillEnemy(ForestGiantAI __instance, ref float ___velX, ref float ___velZ) { if (KleeReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("FGiantModelContainer").Find("AnimContainer")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f, 0f)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f, 0f)); } } } [HarmonyPatch(typeof(Turret), "Start")] [HarmonyPrefix] private static void TurretPatchStart(Turret __instance, ref Transform ___centerPoint, ref float ___rotationRange, ref Animator ___turretAnimator, ref ParticleSystem ___bulletParticles) { //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: 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_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) if (NaviaReplacement.Value) { __instance.berserkAudio.clip = soundNaviaTurretBeserkMode; __instance.detectPlayerSFX = soundNaviaTurretSeePlayer; __instance.firingFarSFX = soundNaviaTurretFireDistant; __instance.firingSFX = soundNaviaTurretFire; __instance.turretActivate = soundNaviaTurretActivate; __instance.turretDeactivate = soundNaviaTurretDeactivate; Transform parent = ((Component)__instance).transform.parent; Transform meshContainer = parent.Find("MeshContainer"); Vector3 val = ___centerPoint.position - new Vector3(0f, 1.4968f, 0f); Quaternion rotation = ___centerPoint.rotation; Transform val2 = Object.Instantiate(NaviaPrefab.transform, val, rotation, parent); val2.localRotation = Quaternion.Euler(0f, 0f, 0f); ((Object)val2).name = "NaviaV1"; ___turretAnimator = ((Component)val2).GetComponent(); ___bulletParticles = ((Component)val2).GetComponentInChildren(); bool active = true; ((Component)val2.GetChild(0)).gameObject.SetActive(active); DisableMeshRenderers(meshContainer); turretDictionary[__instance] = val2; Transform parent2 = val2.parent; ((Component)parent2.Find("ScanNode")).GetComponent().headerText = "Navia"; } } [HarmonyPatch(typeof(Turret), "Update")] [HarmonyPostfix] private static void TurretUpdate(Turret __instance, ref Animator ___turretAnimator, ref Transform ___turretRod) { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) if (NaviaReplacement.Value && turretDictionary.TryGetValue(__instance, out var value)) { ((Component)((Component)value).GetComponentInChildren()).transform.rotation = ___turretRod.rotation; Transform child = value.GetChild(0); Quaternion rotation = child.rotation; value.rotation = rotation; UpdateLaserPosition(((Component)child).GetComponent(), child, ___turretRod.rotation); if (___turretAnimator.GetInteger("TurretMode") == 0) { Quaternion rotation2 = value.GetChild(0).rotation; Quaternion rotation3 = value.rotation; float num = Mathf.Clamp01(4f * Time.deltaTime); value.GetChild(24).rotation = value.GetChild(0).rotation; } else { value.GetChild(24).rotation = value.GetChild(0).rotation; } } } private static void DisableMeshRenderers(Transform meshContainer) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown foreach (object item in ((Component)meshContainer).transform) { Transform val = (Transform)item; MeshRenderer component = ((Component)val).GetComponent(); if ((Object)(object)component != (Object)null && !((Object)val).name.Contains("Plane")) { ((Renderer)component).enabled = false; } DisableMeshRenderers(((Component)val).transform); } } private static void UpdateLaserPosition(LineRenderer laser, Transform startPoint, Quaternion rodRotation) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) startPoint.rotation = rodRotation; laser.SetPosition(0, startPoint.position); RaycastHit val = default(RaycastHit); if (Physics.Raycast(startPoint.position, startPoint.forward, ref val)) { laser.SetPosition(1, ((RaycastHit)(ref val)).point); } else { laser.SetPosition(1, startPoint.position + startPoint.forward * 100f); } } [HarmonyPatch(typeof(JesterAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonJester(JesterAI __instance) { //IL_042d: Unknown result type (might be due to invalid IL or missing references) //IL_0442: Unknown result type (might be due to invalid IL or missing references) if (NeuvReplacement.Value) { __instance.screamingSFX = soundNeuvScream1; __instance.killPlayerSFX = soundNeuvKillPlayer; __instance.popGoesTheWeaselTheme = soundNeuvJackInTheBoxTheme; __instance.popUpSFX = soundNeuvPop1; Transform parent = ((Component)__instance).transform.Find("MeshContainer"); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("spine.004") .Find("spine.005") .Find("spine.006") .Find("LowerJaw")).gameObject.GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("spine.004") .Find("spine.005") .Find("spine.006") .Find("UpperJaw")).gameObject.GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("spine.004") .Find("spine.005") .Find("spine.006") .Find("UpperJaw") .Find("UpperJawLowDetail")).gameObject.GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("spine.004") .Find("spine.005") .Find("spine.006") .Find("UpperJaw") .Find("UpperJawLowDetail2")).gameObject.GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("spine.004") .Find("spine.005") .Find("spine.006") .Find("LowerJaw") .Find("LowerJawLowDetail")).gameObject.GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("BoxBone") .Find("RecordCrank")).gameObject.GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("BoxContainer") .Find("BoxBone") .Find("BoxLid")).gameObject.GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("JackInTheBoxBody")).gameObject.GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("JackInTheBoxBodyLowDetail")).gameObject.GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("JackInTheBoxBodyLowDetail2")).gameObject.GetComponent()); ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Neuvillette"; NeuvObject = Object.Instantiate(NeuvPrefab); NeuvObject.transform.SetParent(parent); NeuvObject.AddComponent(); NeuvObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); NeuvObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)NeuvObject.transform).GetComponent(); } } [HarmonyPatch(typeof(JesterAI), "SetJesterInitialValues")] [HarmonyPostfix] public static void SetTimerToMatch(JesterAI __instance) { if (NeuvReplacement.Value) { __instance.popUpTimer = 40f; } } [HarmonyPatch(typeof(BlobAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonBlob(BlobAI __instance) { //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) if (NilouReplacement.Value) { __instance.agitatedSFX = NilouAngry; __instance.idleSFX = NilouIdle; __instance.jiggleSFX = NilouJiggleSFX; __instance.killPlayerSFX = NilouEatPlayer; __instance.hitSlimeSFX = NilouHitSlime; ((EnemyAI)__instance).creatureSFX.playOnAwake = false; Transform val = ((Component)__instance).transform.Find("Icosphere"); Transform parent = ((Component)__instance).transform.Find("ScanNode (1)"); if ((Object)(object)val != (Object)null) { ((Component)val).gameObject.SetActive(false); } ((Component)((Component)__instance).gameObject.transform.Find("ScanNode (1)")).gameObject.GetComponent().headerText = "Nilou"; NilouObject = Object.Instantiate(NilouPrefab); NilouObject.transform.SetParent(parent); NilouObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); NilouObject.transform.localPosition = new Vector3(1.45f, -0.4f, 0f); Vector3 position = ((Component)__instance).transform.position; NilouFacingDirection nilouFacingDirection = NilouObject.AddComponent(); nilouFacingDirection.blobAI = __instance; nilouFacingDirection.prevPosition = position; } } [HarmonyPatch(typeof(BlobAI), "Update")] [HarmonyPostfix] public static void BlobAI_Update_Patch(BlobAI __instance) { if (NilouReplacement.Value) { GameObject nilouObject = NilouObject; Animator val = ((nilouObject != null) ? ((Component)nilouObject.transform).GetComponent() : null); if ((Object)(object)val != (Object)null) { HandleAnimationTriggers(__instance, val); } } } private static void HandleAnimationTriggers(BlobAI instance, Animator animator) { if (((EnemyAI)instance).creatureSFX.isPlaying) { AudioClip clip = ((EnemyAI)instance).creatureSFX.clip; if ((Object)(object)lastClip != (Object)(object)clip) { animationTriggered = false; lastClip = clip; } if (!animationTriggered) { animationTriggered = true; if ((Object)(object)clip == (Object)(object)instance.agitatedSFX) { animator.SetTrigger("IsAgitated"); } else if ((Object)(object)clip == (Object)(object)instance.jiggleSFX) { animator.SetTrigger("IsJiggling"); } else if ((Object)(object)clip == (Object)(object)instance.idleSFX) { animator.SetTrigger("IsIdle"); } else if ((Object)(object)clip == (Object)(object)instance.hitSlimeSFX) { animator.SetTrigger("IsHurt"); } else if ((Object)(object)clip == (Object)(object)instance.killPlayerSFX) { animator.SetTrigger("IsKilling"); } } } else { animationTriggered = false; } } [HarmonyPatch(typeof(CentipedeAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonCentipede(CentipedeAI __instance) { //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) if (PaimonReplacement.Value) { __instance.clingingToPlayer2DAudio.clip = soundPaimonClingToPlayerLocal; __instance.clingToPlayer3D = soundPaimonClingToPlayer; __instance.shriekClips[0] = soundPaimonShriek1; __instance.shriekClips[1] = soundPaimonShriek2; ((EnemyAI)__instance).dieSFX = soundPaimonDeathShriek; ((EnemyAI)__instance).enemyBehaviourStates[1].SFXClip = soundPaimonmonsterNoise2; ((EnemyAI)__instance).enemyBehaviourStates[2].VoiceClip = soundPaimonmonsterNoiseB; ((Component)((Component)__instance).gameObject.transform.Find("CentipedeModel").Find("VoiceSFX")).GetComponent().clip = soundPaimonmonsterNoise; ((Component)((Component)__instance).gameObject.transform.Find("CentipedeModel")).GetComponent().clip = soundPaimonmonsterNoise; Transform parent = ((Component)__instance).transform.Find("CentipedeModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("CentipedeModel").Find("LOD1")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("CentipedeModel").Find("LOD2")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Paimon"; PaimonObject = Object.Instantiate(PaimonPrefab); PaimonObject.transform.SetParent(parent); PaimonObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); PaimonObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)PaimonObject.transform).GetComponent(); } } [HarmonyPatch(typeof(DressGirlAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonGirl(DressGirlAI __instance) { //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) if (QiqiReplacement.Value) { __instance.appearStaringSFX[0] = soundQiqiLaugh1_0; __instance.appearStaringSFX[1] = soundQiqiLaugh2; __instance.appearStaringSFX[2] = soundQiqiBreath3; __instance.appearStaringSFX[3] = soundQiqiLaugh; __instance.appearStaringSFX[4] = soundQiqi2Laugh; __instance.appearStaringSFX[5] = soundQiqiStepping1; __instance.appearStaringSFX[6] = soundQiqiWheeze; __instance.breathingSFX = soundQiqiBreathing; __instance.heartbeatMusic.clip = soundQiqiBellChimeAmbience; Transform parent = ((Component)__instance).transform.Find("DressGirlModel").Find("basemesh"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("DressGirlModel").Find("basemesh")).gameObject.GetComponent()).enabled = false; Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("DressGirlModel").Find("AnimContainer").Find("metarig") .Find("spine") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("spine.006") .Find("Icosphere")).gameObject); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("DressGirlModel").Find("AnimContainer").Find("metarig") .Find("spine") .Find("spine.002") .Find("spine.003") .Find("spine.004") .Find("spine.006") .Find("Icosphere.001")).gameObject); QiqiObject = Object.Instantiate(QiqiPrefab); QiqiObject.transform.SetParent(parent); QiqiObject.AddComponent(); QiqiObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); QiqiObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).skinnedMeshRenderers[0] = ((Component)((Component)__instance).transform.Find("DressGirlModel").Find("basemesh").Find("Qiqi(Clone)") .Find("Hair")).GetComponent(); ((EnemyAI)__instance).creatureAnimator = ((Component)QiqiObject.transform).GetComponent(); ((EnemyAI)__instance).creatureSFX = ((Component)((Component)__instance).gameObject.transform.Find("DressGirlModel").Find("basemesh").Find("Qiqi(Clone)")).GetComponent(); } } [HarmonyPatch(typeof(FlowermanAI), "Start")] [HarmonyPostfix] public static void SummonBracken(FlowermanAI __instance) { //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_0225: Unknown result type (might be due to invalid IL or missing references) if (RaidenReplacement.Value) { __instance.creatureAngerVoice.clip = soundRaidenAngered; __instance.crackNeckSFX = soundRaidenCrackNeck; __instance.crackNeckAudio.clip = soundRaidenCrackNeck; ((EnemyAI)__instance).enemyType.stunSFX = soundRaidenStunFlowerman; ((EnemyAI)__instance).enemyBehaviourStates[1].VoiceClip = soundRaidenFound1; Transform parent = ((Component)__instance).transform.Find("FlowermanModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FlowermanModel").Find("LOD1")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FlowermanModel").Find("AnimContainer").Find("metarig") .Find("Torso1") .Find("Torso2") .Find("Torso3") .Find("Neck1") .Find("Neck2") .Find("Head1") .Find("LeftEye")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FlowermanModel").Find("AnimContainer").Find("metarig") .Find("Torso1") .Find("Torso2") .Find("Torso3") .Find("Neck1") .Find("Neck2") .Find("Head1") .Find("RightEye")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Raiden Shogun"; RaidenObject = Object.Instantiate(RaidenPrefab); RaidenObject.transform.SetParent(parent); RaidenObject.AddComponent(); RaidenObject.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); RaidenObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)RaidenObject.transform).GetComponent(); } } [HarmonyPatch(typeof(FlowermanAI), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateAnimationDirection(FlowermanAI __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { if (RaidenReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("FlowermanModel").Find("AnimContainer")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } } [HarmonyPatch(typeof(FlowermanAI), "KillEnemy")] [HarmonyPrefix] public static void OnKillEnemy(FlowermanAI __instance, ref float ___velX, ref float ___velZ) { if (RaidenReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("FlowermanModel").Find("AnimContainer")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f, 0f)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f, 0f)); } } } [HarmonyPatch(typeof(CrawlerAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonCrawler(CrawlerAI __instance) { //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Unknown result type (might be due to invalid IL or missing references) if (RazorReplacement.Value) { __instance.bitePlayerSFX = soundRazorBitePlayer; __instance.hitCrawlerSFX[0] = soundRazorHitCrawler1; __instance.hitCrawlerSFX[1] = soundRazorHitCrawler2; __instance.hitWallSFX[0] = soundRazorRam1; __instance.hitWallSFX[1] = soundRazorRam2; __instance.hitWallSFX[2] = soundRazorRam3; ((EnemyAI)__instance).dieSFX = soundRazorCrawlerDie; __instance.shortRoar = soundRazorShortRoar1; __instance.longRoarSFX[0] = soundRazorLongRoar1; __instance.longRoarSFX[1] = soundRazorLongRoar2; __instance.longRoarSFX[2] = soundRazorLongRoar3; __instance.eatPlayerSFX = soundRazorEatMeat; ((EnemyAI)__instance).enemyType.stunSFX = soundRazorStunCrawler; Transform parent = ((Component)__instance).transform.Find("CrawlerModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("CrawlerModel").Find("Cube.002")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Razor"; RazorObject = Object.Instantiate(RazorPrefab); RazorObject.transform.SetParent(parent); RazorObject.AddComponent(); RazorObject.transform.localRotation = Quaternion.Euler(0f, 270f, 0f); RazorObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)RazorObject.transform).GetComponent(); BoxCollider component = ((Component)((Component)__instance).gameObject.transform.Find("CrawlerModel")).GetComponent(); SetColliderSize(component, new Vector3(4.2232f, 6f, 3f)); RazorObject.transform.localPosition = Vector3.zero; } } [HarmonyPatch(typeof(RedLocustBees), "Start")] [HarmonyPostfix] public static void PluginDetectSummonBees(RedLocustBees __instance) { //IL_019f: Unknown result type (might be due to invalid IL or missing references) if (ScaraReplacement.Value) { Transform parent = ((Component)__instance).transform.Find("BugSwarmParticle"); __instance.beesIdle.clip = soundScaraBeeHiveIdle; __instance.beesDefensive.clip = soundScaraBeesDefensive; __instance.beesAngry.clip = soundScaraBeesAngry; ((EnemyAI)__instance).enemyType.audioClips[0] = soundScaraBeeZap1; ((EnemyAI)__instance).enemyType.audioClips[1] = soundScaraBeeZap2; ((EnemyAI)__instance).enemyType.audioClips[2] = soundScaraBeeZap3; ((EnemyAI)__instance).enemyType.audioClips[3] = soundScaraBeeZap4; ((EnemyAI)__instance).enemyType.audioClips[4] = soundScaraBeeZap5; ((EnemyAI)__instance).enemyType.audioClips[5] = soundScaraBeeZap6; ((Component)((Component)__instance).gameObject.transform.Find("BugSwarmParticle").Find("Target").Find("ZapSFX")).GetComponent().clip = soundScaraBeeZapConstant; __instance.beesIdle.maxDistance = 18f; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Scaramouche"; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("BugSwarmParticle").Find("Target")).gameObject.GetComponent()).enabled = false; ScaraObject = Object.Instantiate(ScaraPrefab); ScaraObject.transform.SetParent(parent); ScaraObject.transform.localPosition = new Vector3(0f, 0.5f, 0f); __instance.beeParticles = ScaraObject.GetComponent(); } } [HarmonyPatch(typeof(Terminal), "BeginUsingTerminal")] [HarmonyPostfix] public static void BeginUsingTerminalPatch(Terminal __instance) { if (TerminalReplacement.Value) { for (int i = 0; i < 400; i++) { Debug.Log((object)(__instance.terminalNodes.allKeywords[i].word + "= " + i)); } __instance.terminalNodes.allKeywords[45].word = "paimon"; __instance.enemyFiles[0].creatureName = "Paimon"; __instance.enemyFiles[0].displayVideo = PaimonVideo; __instance.enemyFiles[0].displayText = PaimonText.text; __instance.terminalNodes.allKeywords[40].word = "raiden-shogun"; __instance.enemyFiles[1].creatureName = "Raiden Shogun"; __instance.enemyFiles[1].displayVideo = RaidenVideo; __instance.enemyFiles[1].displayText = RaidenText.text; __instance.terminalNodes.allKeywords[59].word = "razor"; __instance.enemyFiles[2].creatureName = "Razor"; __instance.enemyFiles[2].displayVideo = RazorVideo; __instance.enemyFiles[2].displayText = RazorText.text; __instance.terminalNodes.allKeywords[47].word = "wriothesley"; __instance.enemyFiles[3].creatureName = "Wriothesley"; __instance.enemyFiles[3].displayVideo = WrisVideo; __instance.enemyFiles[3].displayText = WrisText.text; __instance.terminalNodes.allKeywords[48].word = "dori"; __instance.enemyFiles[4].creatureName = "Dori"; __instance.enemyFiles[4].displayVideo = DoriVideo; __instance.enemyFiles[4].displayText = DoriText.text; __instance.terminalNodes.allKeywords[50].word = "nilou"; __instance.enemyFiles[5].creatureName = "Nilou"; __instance.enemyFiles[5].displayVideo = NilouVideo; __instance.enemyFiles[5].displayText = NilouText.text; __instance.terminalNodes.allKeywords[41].word = "klee"; __instance.enemyFiles[6].creatureName = "Klee"; __instance.enemyFiles[6].displayVideo = KleeVideo; __instance.enemyFiles[6].displayText = KleeText.text; __instance.terminalNodes.allKeywords[51].word = "zhongli"; __instance.enemyFiles[7].creatureName = "Zhongli"; __instance.enemyFiles[7].displayVideo = ZhongliVideo; __instance.enemyFiles[7].displayText = ZhongliText.text; __instance.terminalNodes.allKeywords[42].word = "yaoyao"; __instance.enemyFiles[9].creatureName = "Yaoyao"; __instance.enemyFiles[9].displayVideo = YaoyaoVideo; __instance.enemyFiles[9].displayText = YaoyaoText.text; __instance.terminalNodes.allKeywords[60].word = "neuvillette"; __instance.enemyFiles[10].creatureName = "Neuvillette"; __instance.enemyFiles[10].displayVideo = NeuvVideo; __instance.enemyFiles[10].displayText = NeuvText.text; __instance.terminalNodes.allKeywords[44].word = "childe"; __instance.enemyFiles[11].creatureName = "Childe"; __instance.enemyFiles[11].displayVideo = ChildeVideo; __instance.enemyFiles[11].displayText = ChildeText.text; __instance.terminalNodes.allKeywords[49].word = "furina"; __instance.enemyFiles[12].creatureName = "Furina"; __instance.enemyFiles[12].displayVideo = FurinaVideo; __instance.enemyFiles[12].displayText = FurinaText.text; __instance.terminalNodes.allKeywords[52].word = "venti"; __instance.enemyFiles[13].creatureName = "Venti"; __instance.enemyFiles[13].displayVideo = VentiVideo; __instance.enemyFiles[13].displayText = VentiText.text; __instance.terminalNodes.allKeywords[57].word = "scaramouche"; __instance.enemyFiles[14].creatureName = "Scaramouche"; __instance.enemyFiles[14].displayVideo = ScaraVideo; __instance.enemyFiles[14].displayText = ScaraText.text; __instance.terminalNodes.allKeywords[58].word = "kazuha"; __instance.enemyFiles[15].creatureName = "Kazuha"; __instance.enemyFiles[15].displayVideo = KazuhaVideo; __instance.enemyFiles[15].displayText = KazuhaText.text; __instance.terminalNodes.allKeywords[53].word = "itto"; __instance.enemyFiles[16].creatureName = "Itto"; __instance.enemyFiles[16].displayVideo = IttoVideo; __instance.enemyFiles[16].displayText = IttoText.text; __instance.terminalNodes.allKeywords[54].word = "chevreuse"; __instance.enemyFiles[17].creatureName = "Chevreuse"; __instance.enemyFiles[17].displayVideo = ChevVideo; __instance.enemyFiles[17].displayText = ChevText.text; __instance.terminalNodes.allKeywords[55].word = "ruin-guard"; __instance.enemyFiles[18].creatureName = "Ruin Guard"; __instance.enemyFiles[18].displayVideo = RuinGuardVideo; __instance.enemyFiles[18].displayText = RuinGuardText.text; __instance.terminalNodes.allKeywords[56].word = "freminet"; __instance.enemyFiles[19].creatureName = "Freminet"; __instance.enemyFiles[19].displayVideo = FremVideo; __instance.enemyFiles[19].displayText = FremText.text; __instance.terminalNodes.allKeywords[143].word = "xiao"; __instance.enemyFiles[21].creatureName = "Xiao"; __instance.enemyFiles[21].displayVideo = XiaoVideo; __instance.enemyFiles[21].displayText = XiaoText.text; __instance.terminalNodes.allKeywords[145].word = "pepper-bush"; __instance.enemyFiles[22].creatureName = "Pepper Bush"; __instance.enemyFiles[22].displayVideo = PepperVideo; __instance.enemyFiles[22].displayText = PepperText.text; __instance.terminalNodes.allKeywords[146].word = "xiangling"; __instance.enemyFiles[23].creatureName = "Xiangling"; __instance.enemyFiles[23].displayVideo = XiangVideo; __instance.enemyFiles[23].displayText = XiangText.text; __instance.terminalNodes.allKeywords[147].word = "chiori"; __instance.enemyFiles[24].creatureName = "Chiori"; __instance.enemyFiles[24].displayVideo = ChioriVideo; __instance.enemyFiles[24].displayText = ChioriText.text; __instance.terminalNodes.allKeywords[148].word = "amber-baron-bunny"; __instance.enemyFiles[25].creatureName = "Amber and Baron Bunny"; __instance.enemyFiles[25].displayVideo = AmberVideo; __instance.enemyFiles[25].displayText = AmberText.text; } } [HarmonyPatch(typeof(EnemyAI), "EnableEnemyMesh")] [HarmonyPrefix] private static bool StopConsoleSpamPatch(EnemyAI __instance, bool enable, bool overrideDoNotSet = false) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Expected O, but got Unknown //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Expected O, but got Unknown //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Expected O, but got Unknown //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Expected O, but got Unknown //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Expected O, but got Unknown int num = 0; int num2 = 0; int layer = ((!enable) ? 23 : 19); for (int i = 0; i < __instance.skinnedMeshRenderers.Length; i++) { if ((Object)__instance.skinnedMeshRenderers[i] != (Object)null && (!((Component)__instance.skinnedMeshRenderers[i]).CompareTag("DoNotSet") || overrideDoNotSet)) { ((Component)__instance.skinnedMeshRenderers[i]).gameObject.layer = layer; } else { if (!((Object)__instance.skinnedMeshRenderers[i] == (Object)null)) { continue; } List list = new List(__instance.skinnedMeshRenderers); int num3 = 0; while (num3 < list.Count) { if ((Object)list[num3] == (Object)null) { num++; list.RemoveAt(num3); } else { num3++; } } __instance.skinnedMeshRenderers = list.ToArray(); } } for (int j = 0; j < __instance.meshRenderers.Length; j++) { if ((Object)__instance.meshRenderers[j] != (Object)null && (!((Component)__instance.meshRenderers[j]).CompareTag("DoNotSet") || overrideDoNotSet)) { ((Component)__instance.meshRenderers[j]).gameObject.layer = layer; } else { if (!((Object)__instance.meshRenderers[j] == (Object)null)) { continue; } List list2 = new List(__instance.meshRenderers); int num4 = 0; while (num4 < list2.Count) { if ((Object)list2[num4] == (Object)null) { num2++; list2.RemoveAt(num4); } else { num4++; } } __instance.meshRenderers = list2.ToArray(); } } return false; } [HarmonyPatch(typeof(ShipAlarmCord), "Start")] [HarmonyPostfix] public static void HornChange(ShipAlarmCord __instance) { if (SoundsReplacement.Value) { __instance.hornClose.clip = soundGenshinLoudhorn; __instance.hornFar.clip = soundGenshinLoudhornDistant; } } [HarmonyPatch(typeof(MenuManager), "Update")] [HarmonyPostfix] public static void MenuMusic() { if (SoundsReplacement.Value) { MenuManager val = Object.FindObjectOfType(); if ((Object)(object)val != (Object)null) { val.menuMusic = soundGenshinMenu; } } } [HarmonyPatch(typeof(SoundManager), "Start")] [HarmonyPostfix] public static void HighAction() { if (SoundsReplacement.Value) { SoundManager.Instance.highAction1.clip = soundGenshinHighAction1; SoundManager.Instance.highAction2.clip = soundGenshinHighAction2; SoundManager.Instance.lowAction.clip = soundGenshinLowAction; SoundManager.Instance.DaytimeMusic[0] = soundGenshinAmbientMusic1; SoundManager.Instance.DaytimeMusic[1] = soundGenshinAmbientMusic2; SoundManager.Instance.DaytimeMusic[2] = soundGenshinAmbientMusic3; SoundManager.Instance.DaytimeMusic[3] = soundGenshinAmbientMusic5; SoundManager.Instance.DaytimeMusic[4] = soundGenshinAmbientMusic6; } } [HarmonyPatch(typeof(TimeOfDay), "Start")] [HarmonyPostfix] public static void TimeAudio(TimeOfDay __instance) { //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) if (SoundsReplacement.Value) { TimeOfDay.Instance.timeOfDayCues[0] = soundGenshinStartOfDay; TimeOfDay.Instance.timeOfDayCues[1] = soundGenshinMidDay; TimeOfDay.Instance.timeOfDayCues[2] = soundGenshinLateDay; TimeOfDay.Instance.timeOfDayCues[3] = soundGenshinNight; } if (MeteorReplacement.Value) { ((Renderer)((Component)TimeOfDay.Instance.MeteorWeather.meteorPrefab.transform.Find("ScaleContainer").Find("MeteorA")).GetComponent()).enabled = false; ((Component)TimeOfDay.Instance.MeteorWeather.meteorPrefab.transform.Find("Audios").Find("Whistle")).GetComponent().clip = soundZhongliNear; ((Component)TimeOfDay.Instance.MeteorWeather.meteorLandingExplosion.transform.Find("LandNear")).GetComponent().clip = soundZhongliLand; MeteorObject = Object.Instantiate(MeteorPrefab); MeteorObject.transform.SetParent(((Component)TimeOfDay.Instance.MeteorWeather.meteorPrefab.transform.Find("ScaleContainer").Find("MeteorA")).transform); MeteorObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); MeteorObject.transform.localPosition = Vector3.zero; MeteorObject.transform.localScale = new Vector3(120f, 120f, 120f); } } [HarmonyPatch(typeof(HUDManager), "Start")] [HarmonyPostfix] public static void ZhongWarning(HUDManager __instance) { __instance.meteorShowerWarningAudio = soundZhongliWarning; } [HarmonyPatch(typeof(AutoParentToShip), "Awake")] [HarmonyPostfix] public static void RecordSounds(AutoParentToShip __instance) { //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_020a: Unknown result type (might be due to invalid IL or missing references) if (SoundsReplacement.Value && ((Object)((Component)__instance).transform).name.Contains("RecordPlayerContainer")) { ((Component)((Component)__instance).transform.Find("Trigger")).GetComponent().playWhileTrue = soundGenshinJazz; } if (((Object)((Component)__instance).transform).name.Contains("PumpkinUnlockableContainer")) { ((Component)((Component)__instance).transform.Find("HitPumpkinTrigger")).GetComponent().boolFalseAudios[0] = soundRaidenFound1; ((Renderer)((Component)((Component)__instance).transform.Find("PumpkinMesh")).GetComponent()).enabled = false; ((Component)((Component)__instance).transform.Find("PumpkinMesh").Find("Point Light")).gameObject.SetActive(false); Transform parent = ((Component)__instance).transform.Find("PumpkinMesh"); ((Component)((Component)__instance).transform.Find("HitPumpkinTrigger")).GetComponent().hoverTip = "Smack Doll : [LMB]"; RaidenDollObject = Object.Instantiate(RaidenDollPrefab); RaidenDollObject.transform.SetParent(parent); RaidenDollObject.transform.localPosition = new Vector3(0f, 0f, -1f); ((Component)((Component)__instance).transform.Find("PlacementCollider")).GetComponent().mainMesh = ((Component)((Component)__instance).transform.Find("PumpkinMesh").Find("RaidenDoll(Clone)").Find("_mesh")).GetComponent(); } if (((Object)((Component)__instance).transform).name.Contains("PlushiePJManContainer")) { Transform parent2 = ((Component)__instance).transform.Find("PJManPlush"); ((Renderer)((Component)((Component)__instance).transform.Find("PJManPlush")).GetComponent()).enabled = false; FungiObject = Object.Instantiate(FungiPrefab); FungiObject.transform.SetParent(parent2); FungiObject.transform.localPosition = new Vector3(0f, 0f, -3f); ((Component)((Component)__instance).transform.Find("PlacementCollider")).GetComponent().mainMesh = ((Component)((Component)__instance).transform.Find("PJManPlush").Find("Fungi(Clone)").Find("Floating Hydro Fungus_mesh") .Find("head")).GetComponent(); } } [HarmonyPatch(typeof(EclipseWeather), "OnEnable")] [HarmonyPostfix] public static void EclipseAmbience(EclipseWeather __instance) { if (SoundsReplacement.Value) { ((Component)((Component)__instance).transform.Find("EclipseMusic")).GetComponent().clip = soundGenshinEclipseAmbience; } } [HarmonyPatch(typeof(ItemDropship), "Start")] [HarmonyPostfix] public static void IceCreamTruck(ItemDropship __instance) { if (SoundsReplacement.Value) { ((Component)((Component)__instance).transform.Find("Music")).GetComponent().clip = soundGenshinIcecreamTruckV2; ((Component)((Component)__instance).transform.Find("Music").Find("Music (1)")).GetComponent().clip = soundGenshinIcecreamTruckFar; ((Component)((Component)__instance).transform.Find("TruckDeliveryMusic")).GetComponentInChildren().clip = soundGenshinIcecreamTruckV2; ((Component)((Component)__instance).transform.Find("TruckDeliveryMusic").Find("TruckDeliveryMusicFar")).GetComponent().clip = soundGenshinIcecreamTruckFar; } } [HarmonyPatch(typeof(StartOfRound), "Update")] [HarmonyPostfix] public static void TimeSwap() { if (SoundsReplacement.Value && !((Object)(object)StartOfRound.Instance == (Object)null) && !((Object)(object)StartOfRound.Instance.currentLevel == (Object)null) && !((Object)(object)StartOfRound.Instance.currentLevel.levelAmbienceClips == (Object)null)) { StartOfRound.Instance.companyVisitMusic = soundGenshinCompanyBuildingMusic1; StartOfRound.Instance.shipIntroSpeechSFX = soundGenshinIntroSpeech; if (((Object)StartOfRound.Instance.currentLevel.levelAmbienceClips).name == "Level1TypeAmbience") { StartOfRound.Instance.currentLevel.levelAmbienceClips.insanityMusicAudios[0] = soundGenshinDroning1; StartOfRound.Instance.currentLevel.levelAmbienceClips.insanityMusicAudios[5] = soundGenshinDroning2; StartOfRound.Instance.currentLevel.levelAmbienceClips.insanityMusicAudios[3] = soundGenshinBackgroundAmbience; } if (((Object)StartOfRound.Instance.currentLevel.levelAmbienceClips).name == "ForestTypeAmbience") { StartOfRound.Instance.currentLevel.levelAmbienceClips.insanityMusicAudios[0] = soundGenshinDroning1; StartOfRound.Instance.currentLevel.levelAmbienceClips.insanityMusicAudios[5] = soundGenshinDroning2; StartOfRound.Instance.currentLevel.levelAmbienceClips.insanityMusicAudios[3] = soundGenshinBackgroundAmbience; StartOfRound.Instance.currentLevel.levelAmbienceClips.outsideAmbience[4] = soundVentiBird1; StartOfRound.Instance.currentLevel.levelAmbienceClips.outsideAmbience[5] = soundVentiBird2; StartOfRound.Instance.currentLevel.levelAmbienceClips.outsideAmbience[6] = soundVentiBird3; } if (((Object)StartOfRound.Instance.currentLevel.levelAmbienceClips).name == "MansionTypeAmbience") { StartOfRound.Instance.currentLevel.levelAmbienceClips.insanityMusicAudios[0] = soundGenshinDroning1; StartOfRound.Instance.currentLevel.levelAmbienceClips.insanityMusicAudios[5] = soundGenshinDroning1; StartOfRound.Instance.currentLevel.levelAmbienceClips.insanityMusicAudios[3] = soundGenshinBackgroundAmbience; StartOfRound.Instance.currentLevel.levelAmbienceClips.insanityMusicAudios[8] = soundGenshinClassical1; StartOfRound.Instance.currentLevel.levelAmbienceClips.insanityMusicAudios[10] = soundGenshinPiano1; } } } [HarmonyPatch(typeof(DoublewingAI), "Start")] [HarmonyPostfix] public static void PluginDetectSummonBird(DoublewingAI __instance) { //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_028d: Unknown result type (might be due to invalid IL or missing references) //IL_028e: Unknown result type (might be due to invalid IL or missing references) //IL_0353: Unknown result type (might be due to invalid IL or missing references) if (!VentiReplacement.Value) { return; } ((EnemyAI)__instance).enemyType.audioClips[0] = soundVentiDoublewingFlap1; ((EnemyAI)__instance).enemyType.audioClips[1] = soundVentiDoublewingFlap2; ((EnemyAI)__instance).enemyType.audioClips[2] = soundVentiDoublewingFlap3; __instance.birdScreechSFX[0] = soundVentiBirdScreech1; __instance.birdScreechSFX[1] = soundVentiBirdScreech2; ((EnemyAI)__instance).dieSFX = soundVentiKillDoublewing; ((EnemyAI)__instance).enemyType.stunSFX = soundVentiStunDoublewing; __instance.flappingAudio.maxDistance = 12f; __instance.flappingAudio.clip = soundVentiDoublewingFlapConstant; Transform parent = ((Component)__instance).transform.Find("DoublewingModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("DoublewingModel").Find("BirdLOD0")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("DoublewingModel").Find("BirdLOD1")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("DoublewingModel").Find("BodyAnimContainer").Find("BodyPivot2") .Find("BodyPivot") .Find("AnimContainer") .Find("metarig") .Find("Bone.001") .Find("ScanNode")).gameObject.GetComponent().headerText = "Venti"; Transform val = ((Component)__instance).gameObject.transform.Find("DoublewingModel").Find("BodyAnimContainer").Find("BodyPivot2") .Find("BodyPivot"); if ((Object)(object)val != (Object)null) { Rigidbody component = ((Component)val).gameObject.GetComponent(); if ((Object)(object)component != (Object)null) { Object.Destroy((Object)(object)component); } } VentiObject = Object.Instantiate(VentiPrefab); VentiObject.transform.SetParent(parent); VentiObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); VentiObject.transform.localPosition = Vector3.zero; __instance.bodyAnimator = VentiObject.GetComponent(); __instance.Body = VentiObject.transform.Find("Body"); Vector3 position = ((Component)__instance).transform.position; VentiFlyDirection ventiFlyDirection = VentiObject.AddComponent(); ventiFlyDirection.doublewingAI = __instance; ventiFlyDirection.prevPosition = position; Transform val2 = ((Component)__instance).gameObject.transform.Find("DoublewingModel").Find("BodyAnimContainer").Find("BodyPivot2") .Find("BodyPivot") .Find("AnimContainer") .Find("metarig") .Find("Bone.001") .Find("ScanNode"); ((Component)val2).GetComponent().useGravity = false; if ((Object)(object)val2 != (Object)null) { val2.SetParent(VentiObject.transform.Find("Armature").Find("root")); val2.position = VentiObject.transform.Find("Armature").Find("root").position; } else { mls.LogError((object)"ScanNode transform not found."); } } private static string GetHierarchyString(GameObject obj) { StringBuilder stringBuilder = new StringBuilder(); Transform val = obj.transform; while ((Object)(object)val != (Object)null) { stringBuilder.Insert(0, ((Object)val).name); if ((Object)(object)val.parent != (Object)null) { stringBuilder.Insert(0, "/"); } val = val.parent; } return stringBuilder.ToString(); } [HarmonyPatch(typeof(DoublewingAI), "KillEnemy")] [HarmonyPostfix] public static void DeadVenti(DoublewingAI __instance) { if (VentiReplacement.Value) { ((EnemyAI)__instance).creatureSFX.PlayOneShot(soundVentiKillDoublewing); ((EnemyAI)__instance).creatureVoice.volume = 0.001f; __instance.flappingAudio.volume = 0.001f; ((Behaviour)((Component)((Component)__instance).gameObject.transform.Find("DoublewingModel").Find("Venti(Clone)")).gameObject.GetComponent()).enabled = false; } } [HarmonyPatch(typeof(MouthDogAI), "Start")] [HarmonyPostfix] public static void PluginDetectDog(MouthDogAI __instance) { //IL_025d: Unknown result type (might be due to invalid IL or missing references) if (WrioReplacement.Value) { __instance.breathingSFX = soundWrisBreathe1; __instance.screamSFX = soundWrisRoar; __instance.killPlayerSFX = soundWrisKillPlayer; ((EnemyAI)__instance).enemyType.stunSFX = soundWrisStunDog; ((EnemyAI)__instance).enemyBehaviourStates[1].VoiceClip = soundWrisgrowl; ((EnemyAI)__instance).enemyBehaviourStates[2].VoiceClip = soundWrisBreathe1; ((EnemyAI)__instance).enemyBehaviourStates[3].SFXClip = soundWrisLunge1; Transform val = ((Component)__instance).transform.Find("MouthDogModel"); ((Component)((Component)__instance).gameObject.transform.Find("MouthDogModel").Find("VoiceAudio")).GetComponent().clip = soundWrisBreathe1; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MouthDogModel").Find("ToothDogBody")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MouthDogModel").Find("ToothDogBodyLOD1")).gameObject.GetComponent()).enabled = false; ((Component)val).GetComponent().direction = 2; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MouthDogModel").Find("AnimContainer").Find("Armature") .Find("Neck1Container") .Find("Neck1") .Find("Neck2") .Find("JawUpper") .Find("TeethTop")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MouthDogModel").Find("AnimContainer").Find("Armature") .Find("Neck1Container") .Find("Neck1") .Find("Neck2") .Find("JawLower") .Find("TeethBottom")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Wriothesley"; WrisObject = Object.Instantiate(WrisPrefab); WrisObject.transform.SetParent(val); WrisObject.AddComponent(); WrisObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)WrisObject.transform).GetComponent(); } } [HarmonyPatch(typeof(SandWormAI), "Start")] [HarmonyPostfix] public static void PluginDetectWorm(SandWormAI __instance) { //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Unknown result type (might be due to invalid IL or missing references) //IL_02a0: Unknown result type (might be due to invalid IL or missing references) //IL_024b: Unknown result type (might be due to invalid IL or missing references) if (!YaoyaoReplacement.Value) { return; } __instance.ambientRumbleSFX[0] = soundYaoyaoBurrowingRumble1; __instance.ambientRumbleSFX[1] = soundYaoyaoBurrowingRumble2; __instance.ambientRumbleSFX[2] = soundYaoyaoBurrowingRumble3; __instance.emergeFromGroundSFX = soundYaoyaoEmergeFromGround1; __instance.groundRumbleSFX[0] = soundYaoyaoBurrowingRumbleLoud1; __instance.groundRumbleSFX[1] = soundYaoyaoBurrowingGrowl1; __instance.roarSFX[0] = soundYaoyaoSandWormRoar; __instance.roarSFX[1] = soundYaoyaoSandWormRoar2; Transform parent = ((Component)__instance).gameObject.transform.Find("MeshContainer"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Renderer")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Armature").Find("Bone") .Find("Bone.001") .Find("Bone.003") .Find("Bone.002") .Find("ScanNode")).gameObject.GetComponent().headerText = "Yaoyao"; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Armature").Find("Bone") .Find("Bone.001") .Find("Bone.003") .Find("Bone.002") .Find("ScanNode")).gameObject.GetComponent().maxRange = 30; YaoyaoObject = Object.Instantiate(YaoyaoPrefab); YaoyaoObject.transform.SetParent(parent); if ((Object)(object)__instance != (Object)null && (Object)(object)YaoyaoObject != (Object)null) { Transform val = ((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Armature").Find("Bone") .Find("Bone.001") .Find("Bone.003") .Find("Bone.002") .Find("ScanNode"); if ((Object)(object)val != (Object)null) { val.SetParent(YaoyaoObject.transform); val.position = YaoyaoObject.transform.position; } else { mls.LogError((object)"ScanNode transform not found."); } } YaoyaoObject.transform.localRotation = Quaternion.identity; YaoyaoObject.transform.localPosition = Vector3.zero; YaoyaoObject.transform.localScale = Vector3.one; } [HarmonyPatch(typeof(SandWormAI), "Update")] [HarmonyPostfix] public static void SandWormJump(SandWormAI __instance) { if (YaoyaoReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Yaoyao(Clone)")).GetComponent(); if (((EnemyAI)__instance).creatureAnimator.GetBool("emerge")) { component.SetBool("emerge", true); } if (!((EnemyAI)__instance).creatureAnimator.GetBool("emerge")) { component.SetBool("emerge", false); } } } [HarmonyPatch(typeof(EnemyAI), "Start")] [HarmonyPostfix] public static void PluginDetectSpringMan(EnemyAI __instance) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) if (ZhongliReplacement.Value) { SpringManAI val; try { val = (SpringManAI)__instance; } catch (Exception) { return; } val.springNoises[0] = soundZhongliSpring1; val.springNoises[1] = soundZhongliSpring2; val.springNoises[2] = soundZhongliSpring3; val.springNoises[3] = soundZhongliSpringWobble1; val.springNoises[4] = soundZhongliSpringWobble2; Transform parent = ((Component)__instance).transform.Find("SpringManModel"); ((Renderer)((Component)((Component)val).transform.Find("SpringManModel").Find("Body")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)val).transform.Find("SpringManModel").Find("Head")).gameObject.GetComponent()).enabled = false; ((Component)((Component)val).transform.Find("SpringManModel").Find("FoostepSFX")).gameObject.GetComponent().mute = true; val.enterCooldownSFX = soundZhongliEnterCooldown; ((Component)((Component)__instance).gameObject.transform.Find("SpringManModel").Find("ScanNode")).gameObject.GetComponent().headerText = "Zhongli"; ZhongliObject = Object.Instantiate(ZhongliPrefab); ZhongliObject.transform.SetParent(parent); ZhongliObject.AddComponent(); ZhongliObject.transform.localRotation = Quaternion.identity; ZhongliObject.transform.localPosition = Vector3.zero; __instance.creatureAnimator = ((Component)ZhongliObject.transform).GetComponent(); } } [HarmonyPatch(typeof(EnemyAI), "Start")] [HarmonyPostfix] public static void PluginDetectLocusts(EnemyAI __instance) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_00ff: Unknown result type (might be due to invalid IL or missing references) if (KazuhaReplacement.Value) { DocileLocustBeesAI val; try { val = (DocileLocustBeesAI)__instance; } catch (Exception) { return; } __instance.creatureVoice.clip = soundKazuhaLocusts; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Kazuha"; __instance.enemyType.audioClips[0] = soundKazuhaEvade; Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("BugSwarmParticle").Find("Target")).gameObject.GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("BugSwarmParticle")).gameObject); KazuhaObject = Object.Instantiate(KazuhaPrefab); KazuhaObject.transform.SetParent(((Component)__instance).transform, false); KazuhaObject.transform.localPosition = new Vector3(0f, 0f, 0f); val.bugsEffect = KazuhaObject.GetComponent(); } } [HarmonyPatch(typeof(ButlerEnemyAI), "Start")] [HarmonyPostfix] public static void PluginDetectButler(ButlerEnemyAI __instance) { //IL_034d: Unknown result type (might be due to invalid IL or missing references) //IL_0362: Unknown result type (might be due to invalid IL or missing references) if (FreminetReplacement.Value) { ((EnemyAI)__instance).enemyType.hitBodySFX = soundFremHit; __instance.ambience1.clip = soundFremIdleAmbience; __instance.ambience2.clip = soundFremMurderTheme; ((EnemyAI)__instance).enemyType.audioClips[2] = soundFremPullKnife; __instance.buzzingAmbience.clip = soundFremBuzzingAmbience; ((Component)((Component)__instance).gameObject.transform.Find("PopAudio")).GetComponent().clip = soundFremBalloonsTowerDefenseSix; __instance.broomSweepSFX[0] = soundFremSweep1; __instance.broomSweepSFX[1] = soundFremSweep2; __instance.broomSweepSFX[2] = soundFremSweep3; __instance.broomSweepSFX[3] = soundFremSweep4; Transform parent = ((Component)__instance).transform.Find("MeshContainer"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Rig 1").Find("Arms") .Find("RightArm") .Find("upperRightArmContainer") .Find("upper_arm.R_target") .Find("Knife")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("BodyLOD0")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("BodyLOD1")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("BodyLOD2")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("metarig").Find("spine") .Find("Broom")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("metarig").Find("spine") .Find("spine.001") .Find("NeckContainer") .Find("spine.004") .Find("face") .Find("Hair")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("metarig").Find("spine") .Find("spine.001") .Find("NeckContainer") .Find("spine.004") .Find("face") .Find("Teeth")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Freminet"; FremObject = Object.Instantiate(FremPrefab); FremObject.transform.SetParent(parent); FremObject.AddComponent(); FremObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); FremObject.transform.localPosition = Vector3.zero; ((EnemyAI)__instance).creatureAnimator = ((Component)FremObject.transform).GetComponent(); } } [HarmonyPatch(typeof(ButlerEnemyAI), "CalculateAnimationDirection")] [HarmonyPostfix] public static void OnCalculateAnimationDirection(ButlerEnemyAI __instance, float maxSpeed, ref float ___velX, ref float ___velZ) { if (FreminetReplacement.Value) { Animator component = ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer")).gameObject.GetComponent(); if (!((Object)(object)component == (Object)null)) { component.SetFloat("VelocityX", Mathf.Clamp(___velX, 0f - maxSpeed, maxSpeed)); component.SetFloat("VelocityZ", Mathf.Clamp(___velZ, 0f - maxSpeed, maxSpeed)); } } } [HarmonyPatch(typeof(ButlerEnemyAI), "KillEnemy")] [HarmonyPostfix] public static void OnDeath(ButlerEnemyAI __instance) { if (FreminetReplacement.Value) { ((EnemyAI)__instance).creatureSFX.volume = 0.01f; } } [HarmonyPatch(typeof(ButlerBeesEnemyAI), "Start")] [HarmonyPostfix] public static void PluginDetectButlerBees(ButlerBeesEnemyAI __instance) { //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) if (FreminetReplacement.Value) { __instance.buzzing.clip = soundFremPersWalking; __instance.buzzing.Play(); Transform parent = ((Component)__instance).transform.Find("ScanNode"); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("BugSwarmParticle")).gameObject); Object.Destroy((Object)(object)((Component)((Component)__instance).gameObject.transform.Find("BugSwarmParticle").Find("Target")).gameObject.GetComponent()); PenguinObject = Object.Instantiate(PenguinPrefab); ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Pers"; PenguinObject.transform.SetParent(parent); PenguinObject.transform.localRotation = Quaternion.identity; PenguinObject.transform.localPosition = new Vector3(0f, -2f, 0f); Vector3 position = ((Component)__instance).transform.position; PenguinFacingDirection penguinFacingDirection = PenguinObject.AddComponent(); penguinFacingDirection.butlerBeesEnemyAI = __instance; penguinFacingDirection.prevPosition = position; ((EnemyAI)__instance).creatureAnimator = ((Component)PenguinObject.transform).GetComponent(); } } [HarmonyPatch(typeof(ButlerBeesEnemyAI), "DoAIInterval")] [HarmonyPostfix] public static void Movement(ButlerBeesEnemyAI __instance) { if (FreminetReplacement.Value) { Animator creatureAnimator = ((EnemyAI)__instance).creatureAnimator; ((Behaviour)((EnemyAI)__instance).creatureAnimator).enabled = true; ((Behaviour)creatureAnimator).enabled = true; creatureAnimator.SetBool("moving", true); } } [HarmonyPatch(typeof(FlowerSnakeEnemy), "Start")] [HarmonyPostfix] public static void PluginDetectFlowerSnake(FlowerSnakeEnemy __instance) { //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) if (XiaoReplacement.Value) { ((EnemyAI)__instance).enemyType.audioClips[0] = XiaoChuckle1; ((EnemyAI)__instance).enemyType.audioClips[1] = XiaoChuckle3; ((EnemyAI)__instance).enemyType.audioClips[2] = XiaoChuckle4; ((EnemyAI)__instance).enemyType.audioClips[3] = XiaoChuckle5; ((EnemyAI)__instance).enemyType.audioClips[6] = XiaoLeap1; ((EnemyAI)__instance).enemyType.audioClips[7] = XiaoLeap2; ((EnemyAI)__instance).enemyType.audioClips[8] = XiaoCling; ((EnemyAI)__instance).enemyType.audioClips[10] = XiaoLeap3; ((EnemyAI)__instance).enemyType.deathSFX = XiaoDeath; Transform parent = ((Component)__instance).transform.Find("FlowerLizardModel"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FlowerLizardModel").Find("LODContainer").Find("LOD0")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FlowerLizardModel").Find("LODContainer").Find("LOD0")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("FlowerLizardModel").Find("LODContainer").Find("LOD0")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode")).gameObject.GetComponent().headerText = "Xiao"; XiaoObject = Object.Instantiate(XiaoPrefab); XiaoObject.transform.SetParent(parent); XiaoObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); XiaoObject.transform.localPosition = new Vector3(0f, 0f, 0f); ((EnemyAI)__instance).creatureAnimator = ((Component)XiaoObject.transform).GetComponent(); } } [HarmonyPatch(typeof(RadMechAI), "Start")] [HarmonyPostfix] public static void PluginDetectMech(RadMechAI __instance) { //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_021b: Unknown result type (might be due to invalid IL or missing references) //IL_0667: Unknown result type (might be due to invalid IL or missing references) //IL_03a1: Unknown result type (might be due to invalid IL or missing references) //IL_042f: Unknown result type (might be due to invalid IL or missing references) //IL_04bd: Unknown result type (might be due to invalid IL or missing references) //IL_054b: Unknown result type (might be due to invalid IL or missing references) //IL_05d9: Unknown result type (might be due to invalid IL or missing references) //IL_075a: Unknown result type (might be due to invalid IL or missing references) if (!RuinGuardReplacement.Value) { return; } ((EnemyAI)__instance).enemyType.audioClips[4] = soundRuinGuardBrainWash; ((EnemyAI)__instance).enemyType.audioClips[5] = soundRuinGuardBrainWash; ((EnemyAI)__instance).enemyType.audioClips[6] = soundRuinGuardBrainWash; ((EnemyAI)__instance).enemyType.audioClips[7] = soundRuinGuardBrainWash; ((EnemyAI)__instance).enemyType.audioClips[8] = soundRuinGuardBrainWash; ((EnemyAI)__instance).enemyType.audioClips[9] = soundRuinGuardBrainWash; ((EnemyAI)__instance).enemyType.audioClips[10] = soundRuinGuardBrainWash; __instance.blowtorchAudio.clip = soundLaserNoise; __instance.engineSFX.volume = 0f; ((EnemyAI)__instance).creatureSFX.volume = 0f; __instance.LocalLRADAudio.clip = soundRuinGuardBrainWash; __instance.LocalLRADAudio2.volume = 0f; Transform parent = ((Component)__instance).transform.Find("MeshContainer"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Body")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("ScanNode (1)")).gameObject.GetComponent().headerText = "Ruin Guard"; RuinGuardObject = Object.Instantiate(RuinGuardPrefab); RuinGuardObject.GetComponent().mainScript = ((Component)((Component)__instance).transform.Find("MeshContainer").Find("AnimContainer")).GetComponent().mainScript; RuinGuardObject.transform.SetParent(parent); RuinGuardObject.AddComponent(); RuinGuardObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); RuinGuardObject.transform.localPosition = new Vector3(0f, 0f, 0f); RuinGuardObject.transform.localScale = new Vector3(35f, 35f, 35f); ((EnemyAI)__instance).creatureAnimator = ((Component)RuinGuardObject.transform).GetComponent(); __instance.gunPoint = ((Component)__instance).transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("MissilePoint"); if ((Object)(object)__instance != (Object)null && (Object)(object)RuinGuardObject != (Object)null) { Transform val = ((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("TorsoContainer") .Find("Torso") .Find("LightContainer"); if ((Object)(object)val != (Object)null) { val.SetParent(((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("Root") .Find("UpperBody") .Find("Head") .Find("front eye")); val.position = ((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("Root") .Find("UpperBody") .Find("Head") .Find("front eye") .position; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("Root") .Find("UpperBody") .Find("Head") .Find("front eye") .Find("LightContainer") .Find("Pointlight")).transform.localPosition = new Vector3(0f, 0f, 0f); ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("Root") .Find("UpperBody") .Find("Head") .Find("front eye") .Find("LightContainer") .Find("Spotlight")).transform.localPosition = new Vector3(0f, 0f, 0f); ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("Root") .Find("UpperBody") .Find("Head") .Find("front eye") .Find("LightContainer") .Find("Sphere")).transform.localPosition = new Vector3(0f, 0f, 0f); ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("Root") .Find("UpperBody") .Find("Head") .Find("front eye") .Find("LightContainer") .Find("Sphere")).transform.localScale = new Vector3(0.7f, 0.7f, 0.7f); } else { mls.LogError((object)"ScanNode transform not found."); } } Transform val2 = ((Component)__instance).gameObject.transform.Find("MeshContainer").Find("ScanNode (1)"); if ((Object)(object)val2 != (Object)null) { val2.SetParent(RuinGuardObject.transform.Find("Armature").Find("全ての親").Find("Root")); val2.localPosition = new Vector3(0f, 0.1f, 0f); } else { mls.LogError((object)"ScanNode transform not found."); } Transform val3 = ((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("TorsoContainer") .Find("Torso") .Find("RightUpperArm") .Find("RightLowerarm") .Find("ClawTrigger"); val3.SetParent(((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("Root") .Find("UpperBody") .Find("Shoulder_Right") .Find("Arm_Right") .Find("Hand_Right") .Find("GrabPlayerPoint")); val3.localPosition = Vector3.zero; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("LegLeft") .Find("LegLeft2") .Find("SmokeTrail")).GetComponent().maxParticles = 0; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("LegRight") .Find("LegRight2") .Find("SmokeTrailRightLeg")).GetComponent().maxParticles = 0; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("TorsoContainer") .Find("Torso") .Find("LeftUpperArm") .Find("GunArmContainer") .Find("LeftLowerArm") .Find("FlamethrowerParticle")).GetComponent().maxParticles = 0; ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("metarig") .Find("TorsoContainer") .Find("Torso") .Find("LeftUpperArm") .Find("GunArmContainer") .Find("LeftLowerArm") .Find("FlamethrowerParticle") .Find("MainBlast (1)")).GetComponent().maxParticles = 0; __instance.rightFootPoint = ((Component)__instance).transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("右足IK"); __instance.leftFootPoint = ((Component)__instance).transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("左足IK"); __instance.AttemptGrabPoint = ((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("Root") .Find("LowerBody") .Find("UpperLeg_Right") .Find("LowerLeg_Right") .Find("Foot_Right") .Find("StartGrabPoint"); __instance.centerPosition = ((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("Root") .Find("UpperBody") .Find("Head") .Find("front eye"); __instance.holdPlayerPoint = ((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Ruin_Guard(Clone)").Find("Armature") .Find("全ての親") .Find("Root") .Find("UpperBody") .Find("Shoulder_Right") .Find("Arm_Right") .Find("Hand_Right") .Find("GrabPlayerPoint"); } [HarmonyPatch(typeof(RadMechAI), "CancelTorchPlayerAnimation")] [HarmonyPostfix] public static void CorrectPose(RadMechAI __instance) { if (RuinGuardReplacement.Value) { ((EnemyAI)__instance).creatureAnimator.SetTrigger("CorrectPose"); FieldInfo field = typeof(RadMechAI).GetField("disableWalking", BindingFlags.Instance | BindingFlags.NonPublic); if (field != null) { field.SetValue(__instance, false); } else { mls.LogError((object)"Could not find the private field 'disableWalking' in RadMechAI."); } } } [HarmonyPatch(typeof(ClaySurgeonAI), "Start")] [HarmonyPostfix] public static void PluginDetectSurgeon(ClaySurgeonAI __instance) { //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) if (ChioriReplacement.Value) { ((EnemyAI)__instance).enemyType.hitBodySFX = soundChioriHit; __instance.paradeClips[0] = soundChioriMarch1; __instance.paradeClips[1] = soundChioriMarch2; __instance.paradeClips[2] = soundChioriMarch3; __instance.paradeClips[3] = soundChioriMarch4; __instance.paradeClips[4] = soundChioriMarch5; __instance.snareDrum = soundChioriSnareDrum; __instance.snipScissors = soundChioriSnip; Transform parent = ((Component)__instance).transform.Find("MeshContainer"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("Mesh")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("Scissors") .Find("LowerBlade")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer").Find("Scissors") .Find("UpperBlade")).gameObject.GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode (2)")).gameObject.GetComponent().headerText = "Chiori"; ((Component)__instance).gameObject.transform.Find("ScanNode (2)").localPosition = new Vector3(0f, 1.3f, 0f); ChioriObject = Object.Instantiate(ChioriPrefab); ChioriObject.transform.SetParent(parent); EnemyAnimationEvent component = ((Component)((Component)__instance).transform.Find("MeshContainer").Find("Chiori(Clone)")).GetComponent(); if ((Object)(object)component == (Object)null) { ChioriObject.AddComponent(); } ChioriObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); ChioriObject.transform.localPosition = new Vector3(0f, 0f, 0f); ((EnemyAI)__instance).creatureAnimator = ((Component)ChioriObject.transform).GetComponent(); ChioriObject.GetComponent().mainScript = ((Component)((Component)__instance).gameObject.transform.Find("MeshContainer").Find("AnimContainer")).GetComponent().mainScript; } } [HarmonyPatch(typeof(ClaySurgeonAI), "SetVisibility")] [HarmonyPostfix] public static void ChioriMats(ClaySurgeonAI __instance) { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) if (ChioriReplacement.Value) { float num = Vector3.Distance(((Component)StartOfRound.Instance.audioListener).transform.position, ((Component)__instance).transform.position + Vector3.up * 0.7f); float num2 = (num - __instance.minDistance) / (__instance.maxDistance - __instance.minDistance); SkinnedMeshRenderer component = ((Component)((Component)__instance).transform.Find("MeshContainer").Find("Chiori(Clone)").Find("Hair")).GetComponent(); SkinnedMeshRenderer component2 = ((Component)((Component)__instance).transform.Find("MeshContainer").Find("Chiori(Clone)").Find("Body")).GetComponent(); SkinnedMeshRenderer component3 = ((Component)((Component)__instance).transform.Find("MeshContainer").Find("Chiori(Clone)").Find("Face")).GetComponent(); SkinnedMeshRenderer component4 = ((Component)((Component)__instance).transform.Find("MeshContainer").Find("Chiori(Clone)").Find("Sword_mesh")).GetComponent(); SkinnedMeshRenderer component5 = ((Component)((Component)__instance).transform.Find("MeshContainer").Find("Chiori(Clone)").Find("Sword2_mesh")).GetComponent(); Material[] materials = ((Renderer)component).materials; foreach (Material val in materials) { val.SetFloat("_DissolveStrength", num2); } Material[] materials2 = ((Renderer)component2).materials; foreach (Material val2 in materials2) { val2.SetFloat("_DissolveStrength", num2); } Material[] materials3 = ((Renderer)component3).materials; foreach (Material val3 in materials3) { val3.SetFloat("_DissolveStrength", num2); } Material[] materials4 = ((Renderer)component4).materials; foreach (Material val4 in materials4) { val4.SetFloat("_DissolveStrength", num2); } Material[] materials5 = ((Renderer)component5).materials; foreach (Material val5 in materials5) { val5.SetFloat("_DissolveStrength", num2); } } } [HarmonyPatch(typeof(BushWolfEnemy), "Start")] [HarmonyPostfix] public static void PluginDetectBushWolf(BushWolfEnemy __instance) { //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_031a: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) if (XianglingReplacement.Value) { GameObject gameObject = ((Component)((Component)__instance).transform.Find("AnimContainer")).gameObject; if (!HasChildWithName(gameObject, "Xiangling1(Clone)") && !HasChildWithName(gameObject, "Guoba(Clone)")) { __instance.hitBushWolfSFX = soundXianglingHit; __instance.callsClose[0] = soundXianglingCloseCall1; __instance.callsClose[1] = soundXianglingCloseCall2; __instance.callsFar[0] = soundXianglingFarCall1; __instance.callsFar[1] = soundXianglingFarCall2; __instance.growlSFX[0] = soundXianglingGrowl1; __instance.growlSFX[1] = soundXianglingGrowl2; __instance.growlSFX[2] = soundXianglingGrowl3; __instance.growlSFX[3] = soundXianglingGrowl4; __instance.killSFX = soundXianglingKill; __instance.shootTongueSFX = soundXianglingShootTongue; __instance.snarlSFX = soundXianglingSnarl; __instance.tongueShootSFX = soundXianglingShootTongue; ((EnemyAI)__instance).dieSFX = soundXianglingDie; ((EnemyAI)__instance).enemyType.stunSFX = soundXianglingStun; Transform parent = ((Component)__instance).transform.Find("AnimContainer"); Transform parent2 = ((Component)__instance).transform.Find("AnimContainer"); ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("Mesh").Find("BodyLOD0")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("Mesh").Find("BodyLOD1")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("Mesh").Find("BodyLOD2")).gameObject.GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("GameObject").Find("FrogTongue")).GetComponent()).enabled = false; ((Renderer)((Component)((Component)__instance).gameObject.transform.Find("AnimContainer").Find("metarigContainer").Find("metarig") .Find("Bone.001") .Find("UpperChest") .Find("Neck1") .Find("Neck2") .Find("Neck3") .Find("Head") .Find("PlayerHead")).GetComponent()).enabled = false; ((Component)((Component)__instance).gameObject.transform.Find("ScanNode (1)")).gameObject.GetComponent().headerText = "Xiangling"; XianglingObject = Object.Instantiate(XianglingPrefab); XianglingObject.transform.SetParent(parent); GuobaObject = Object.Instantiate(GuobaPrefab); GuobaObject.transform.SetParent(parent2); XianglingObject.AddComponent(); XianglingObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); XianglingObject.transform.localPosition = new Vector3(0f, 0f, 0f); GuobaObject.transform.localPosition = new Vector3(0f, 0f, 0f); __instance.tongueStartPoint = ((Component)((Component)__instance).gameObject.transform.Find("AnimContainer").Find("Xiangling1(Clone)").Find("Armature") .Find("全ての親") .Find("センター") .Find("センター2") .Find("グルーブ") .Find("グルーブ2") .Find("腰") .Find("上半身") .Find("上半身2") .Find("首") .Find("頭") .Find("舌1") .Find("TongueStartPoint")).transform; ((EnemyAI)__instance).creatureAnimator = ((Component)XianglingObject.transform).GetComponent(); } } } [HarmonyPatch(typeof(BushWolfEnemy), "LateUpdate")] [HarmonyPostfix] public static void GuobaSize(BushWolfEnemy __instance) { //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Expected O, but got Unknown //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0188: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) if (!XianglingReplacement.Value || (Object)(object)__instance == (Object)null) { return; } Transform val = ((Component)__instance).transform.Find("AnimContainer").Find("Guoba(Clone)"); if ((Object)(object)val == (Object)null) { return; } bool activeSelf = ((Component)((Component)__instance).gameObject.transform.Find("GameObject")).gameObject.activeSelf; ((Component)val).gameObject.SetActive(activeSelf); Vector3 val2 = (((Object)(object)val.parent != (Object)null) ? val.parent.lossyScale : Vector3.one); Vector3 val3 = default(Vector3); ((Vector3)(ref val3))..ctor(10f, 10f, 10f); Vector3 localScale = default(Vector3); ((Vector3)(ref localScale))..ctor(val3.x / val2.x, val3.y / val2.y, val3.z / val2.z); val.localScale = localScale; FieldInfo field = typeof(BushWolfEnemy).GetField("tongueTarget", BindingFlags.Instance | BindingFlags.NonPublic); if (!(field == null)) { Transform val4 = (Transform)field.GetValue(__instance); if (!((Object)(object)val4 == (Object)null) && !((Object)(object)__instance.tongueStartPoint == (Object)null)) { Vector3 val5 = __instance.tongueStartPoint.position - val4.position; ((Vector3)(ref val5)).Normalize(); Vector3 position = val4.position + val5 * 1f; position.y -= 0.7f; ((Component)val).transform.position = position; Vector3 val6 = val4.position - val.position; ((Component)val).transform.rotation = Quaternion.LookRotation(val6); ((Component)val).transform.Rotate(70f, 0f, 0f, (Space)1); } } } private static bool HasChildWithName(GameObject parent, string childName) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown foreach (Transform item in parent.transform) { Transform val = item; if (((Object)val).name == childName) { return true; } } return false; } [HarmonyPatch(typeof(BushWolfEnemy), "KillEnemy")] [HarmonyPostfix] public static void DeadXiangling(BushWolfEnemy __instance) { if (XianglingReplacement.Value) { ((EnemyAI)__instance).creatureVoice.volume = 0f; ((EnemyAI)__instance).creatureSFX.volume = 0f; __instance.tongueAudio.volume = 0f; __instance.growlAudio.volume = 0f; } } [HarmonyPatch(typeof(MoldSpreadManager), "Start")] [HarmonyPostfix] public static void DetectMold(MoldSpreadManager __instance) { //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) if (PepperBushReplacement.Value) { Transform val = __instance.moldPrefab.transform.Find("PepperBush(Clone)"); if (!((Object)(object)val != (Object)null)) { ((Renderer)((Component)__instance.moldPrefab.transform.Find("Weed1")).GetComponent()).enabled = false; ((Renderer)((Component)__instance.moldPrefab.transform.Find("Weed2")).GetComponent()).enabled = false; ((Renderer)((Component)__instance.moldPrefab.transform.Find("Weed2 (1)")).GetComponent()).enabled = false; ((Renderer)((Component)__instance.moldPrefab.transform.Find("Weed2 (2)")).GetComponent()).enabled = false; ((Renderer)((Component)__instance.moldPrefab.transform.Find("Weed2 (3)")).GetComponent()).enabled = false; ((Component)__instance.moldPrefab.transform.Find("VainScanNode")).GetComponent().headerText = "Pepper Bush"; GameObject val2 = Object.Instantiate(PepperBush); val2.transform.SetParent(__instance.moldPrefab.transform, false); val2.transform.localPosition = Vector3.zero; val2.transform.localRotation = Quaternion.identity; } } } [HarmonyPatch(typeof(TerminalAccessibleObject), "Start")] [HarmonyPostfix] public static void SlammerDetect(TerminalAccessibleObject __instance) { //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) if (RaidenHandReplacement.Value && ((Object)__instance).name == "TerminalObjectContainer") { Transform val = ((Component)__instance).transform; while ((Object)(object)val.parent != (Object)null) { val = val.parent; } GameObject gameObject = ((Component)val).gameObject; ((Renderer)((Component)gameObject.transform.Find("Container").Find("AnimContainer").Find("BaseSupport")).GetComponent()).enabled = false; ((Renderer)((Component)gameObject.transform.Find("Container").Find("AnimContainer").Find("SpikeRoof")).GetComponent()).enabled = false; ((Renderer)((Component)gameObject.transform.Find("Container").Find("AnimContainer").Find("SpikeRoof") .Find("MovingBar")).GetComponent()).enabled = false; HandObject = Object.Instantiate(HandPrefab); HandObject.transform.SetParent(gameObject.transform.Find("Container").Find("AnimContainer").Find("SpikeRoof")); HandObject.transform.localPosition = new Vector3(0.5f, 0.2f, 0.4f); HandObject.transform.localRotation = Quaternion.Euler(270f, 180f, 0f); gameObject.transform.Find("Container").Find("AnimContainer").Find("SpikeRoof") .localRotation = Quaternion.Euler(270f, 270f, 0f); ((Component)gameObject.transform.Find("Container").Find("AnimContainer")).GetComponent().audioClip = HandSlam; ((Component)gameObject.transform.Find("Container").Find("AnimContainer")).GetComponent().audioClip2 = soundSilence; ((Component)gameObject.transform.Find("CreakingSFX")).GetComponent().clip = HandCreak; ((Component)gameObject.transform.Find("CreakingSFX")).GetComponent().Play(); ((Collider)((Component)gameObject.transform.Find("Container").Find("Colliders").Find("Cube")).GetComponent()).enabled = false; ((Collider)((Component)gameObject.transform.Find("Container").Find("Colliders").Find("Cube (2)")).GetComponent()).enabled = false; ((Collider)((Component)gameObject.transform.Find("Container").Find("Colliders").Find("Cube (1)")).GetComponent()).enabled = false; } } [HarmonyPatch(typeof(SpikeRoofTrap), "SetRandomSpikeTrapAudioPitch")] [HarmonyPostfix] public static void SlammerSoundDetect(SpikeRoofTrap __instance) { if (RaidenHandReplacement.Value) { __instance.spikeTrapAudio.pitch = 1f; } } [HarmonyPatch(typeof(VehicleController), "Start")] [HarmonyPrefix] public static void PluginDetectCruiser(VehicleController __instance) { //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_02e1: Unknown result type (might be due to invalid IL or missing references) //IL_036f: Unknown result type (might be due to invalid IL or missing references) //IL_03fd: Unknown result type (might be due to invalid IL or missing references) //IL_04e2: Unknown result type (might be due to invalid IL or missing references) //IL_05c2: Unknown result type (might be due to invalid IL or missing references) //IL_0650: Unknown result type (might be due to invalid IL or missing references) //IL_06de: Unknown result type (might be due to invalid IL or missing references) //IL_06e3: Unknown result type (might be due to invalid IL or missing references) //IL_07be: Unknown result type (might be due to invalid IL or missing references) //IL_086b: Unknown result type (might be due to invalid IL or missing references) //IL_0870: Unknown result type (might be due to invalid IL or missing references) //IL_0880: Unknown result type (might be due to invalid IL or missing references) //IL_0a80: Unknown result type (might be due to invalid IL or missing references) //IL_0a9c: Unknown result type (might be due to invalid IL or missing references) //IL_0bd2: Unknown result type (might be due to invalid IL or missing references) //IL_0ccf: Unknown result type (might be due to invalid IL or missing references) //IL_0d7b: Unknown result type (might be due to invalid IL or missing references) //IL_0e78: Unknown result type (might be due to invalid IL or missing references) //IL_0f75: Unknown result type (might be due to invalid IL or missing references) //IL_10c3: Unknown result type (might be due to invalid IL or missing references) //IL_1050: Unknown result type (might be due to invalid IL or missing references) //IL_11d0: Unknown result type (might be due to invalid IL or missing references) //IL_12bc: Unknown result type (might be due to invalid IL or missing references) //IL_13a8: Unknown result type (might be due to invalid IL or missing references) //IL_142f: Unknown result type (might be due to invalid IL or missing references) //IL_144b: Unknown result type (might be due to invalid IL or missing references) //IL_1504: Unknown result type (might be due to invalid IL or missing references) //IL_157a: Unknown result type (might be due to invalid IL or missing references) //IL_1596: Unknown result type (might be due to invalid IL or missing references) //IL_164f: Unknown result type (might be due to invalid IL or missing references) //IL_1bac: Unknown result type (might be due to invalid IL or missing references) //IL_1bb1: Unknown result type (might be due to invalid IL or missing references) //IL_1bb3: Unknown result type (might be due to invalid IL or missing references) //IL_1bbb: Unknown result type (might be due to invalid IL or missing references) //IL_1bc0: Unknown result type (might be due to invalid IL or missing references) //IL_1bc4: Unknown result type (might be due to invalid IL or missing references) //IL_1c4d: Unknown result type (might be due to invalid IL or missing references) //IL_1ce6: Unknown result type (might be due to invalid IL or missing references) //IL_1d7f: Unknown result type (might be due to invalid IL or missing references) //IL_1725: Unknown result type (might be due to invalid IL or missing references) //IL_17d1: Unknown result type (might be due to invalid IL or missing references) //IL_17ed: Unknown result type (might be due to invalid IL or missing references) //IL_1809: Unknown result type (might be due to invalid IL or missing references) //IL_1825: Unknown result type (might be due to invalid IL or missing references) //IL_1841: Unknown result type (might be due to invalid IL or missing references) //IL_185d: Unknown result type (might be due to invalid IL or missing references) //IL_1879: Unknown result type (might be due to invalid IL or missing references) if (AndriusReplacement.Value) { ((Component)((Component)__instance).transform.Find("Meshes").Find("RadioSignalAudio")).GetComponent().clip = null; MeshRenderer[] componentsInChildren = ((Component)__instance).GetComponentsInChildren(); SkinnedMeshRenderer[] componentsInChildren2 = ((Component)__instance).GetComponentsInChildren(); MeshRenderer[] array = componentsInChildren; foreach (MeshRenderer val in array) { ((Renderer)val).enabled = false; } SkinnedMeshRenderer[] array2 = componentsInChildren2; foreach (SkinnedMeshRenderer val2 in array2) { ((Renderer)val2).enabled = false; } Transform val3 = ((Component)__instance).transform.Find("Meshes"); AndriusObject = Object.Instantiate(AndriusPrefab); AndriusObject.transform.SetParent(val3); AndriusObject.transform.localPosition = new Vector3(0f, -2.2f, 0f); AndriusObject.transform.localScale = new Vector3(2f, 2f, 2f); Transform val4 = ((Component)__instance).transform.Find("Triggers").Find("DriverSide").Find("DriverSeatPositionNode"); if ((Object)(object)val4 != (Object)null) { val4.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject")); val4.localPosition = new Vector3(-0.022f, 0.0186f, -0.0046f); } Object.Destroy((Object)(object)((Component)val3.Find("MainBodyDestroyed")).GetComponent()); Transform val5 = ((Component)__instance).transform.Find("Triggers").Find("DriverSide").Find("DriverSeatTrigger"); if ((Object)(object)val5 != (Object)null) { ((Component)val5).GetComponent().hoverTip = "Climb On [LMB]"; ((Component)val5).GetComponent().twoHandedItemAllowed = true; val5.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_L_Clavicle") .Find("ClimbOnLocation")); val5.localPosition = Vector3.zero; ((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_L_Clavicle") .Find("ClimbOnLocation") .localScale = new Vector3(2.6f, 1.8f, 2.1f); ((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_L_Clavicle") .Find("ClimbOnLocation") .localPosition = new Vector3(0f, 0f, -0.003f); } Transform val6 = ((Component)__instance).transform.Find("Triggers").Find("PassengerSide").Find("PassengerSeatPositionNode"); if ((Object)(object)val6 != (Object)null) { val6.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject")); val6.localPosition = new Vector3(-0.0171f, 0.0183f, 0.0062f); } Transform val7 = ((Component)__instance).transform.Find("Triggers").Find("PassengerSide").Find("PassengerSeatTrigger"); if ((Object)(object)val7 != (Object)null) { ((Component)val7).GetComponent().hoverTip = "Climb On [LMB]"; ((Component)val7).GetComponent().twoHandedItemAllowed = true; val7.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("ClimbOnLocation")); val7.localPosition = Vector3.zero; ((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("ClimbOnLocation") .localScale = new Vector3(2.6f, 1.8f, 2.1f); ((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("ClimbOnLocation") .localPosition = Vector4.op_Implicit(new Vector4(0f, 0f, 0.003f)); } Transform val8 = ((Component)__instance).transform.Find("Triggers").Find("HonkHorn"); if ((Object)(object)val8 != (Object)null) { val8.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject")); val8.localPosition = new Vector3(-0.0258f, 0.0237f, -0.0031f); ((Component)val8).GetComponent().hoverTip = "Howl : [LMB]"; ((Component)val8).GetComponent().holdTip = "(Howling)"; } Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("Meshes").Find("DriverSeatContainer").Find("Spring.001")).GetComponent()); ((Component)((Component)__instance).transform.Find("Meshes").Find("HornAudio")).GetComponent().clip = soundAndriusHorn; Transform val9 = ((Component)__instance).transform.Find("ExitPoints"); if ((Object)(object)val9 != (Object)null) { Vector3 localPosition = val9.localPosition; localPosition.y = 5f; val9.localPosition = localPosition; val9.Find("DriverSide").SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_L_Hair_07") .Find("DriversSeatPosition")); val9.Find("PassengerSide").SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_R_Hair_07") .Find("PassengersSeatPosition")); } __instance.baseCarHP = 100; Transform val10 = ((Component)__instance).transform.Find("Meshes").Find("CarHoodContainer"); if ((Object)(object)val10 != (Object)null) { val10.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject")); val10.localPosition = new Vector3(-0.038f, 0.019f, 0.006f); val10.localRotation = Quaternion.Euler(280f, 0f, 190f); ((Component)val10.Find("CarHoodMesh").Find("HoodTrigger")).GetComponent().hoverTip = "Open/Shut Healing Area: [LMB]"; ((Component)val10.Find("CarHoodMesh")).GetComponent().audioClip = soundAndriusExhale; ((Component)val10.Find("CarHoodMesh")).GetComponent().audioClip2 = soundAndriusExhale; } Transform val11 = ((Component)__instance).transform.Find("Meshes").Find("SteeringWheelContainer"); if ((Object)(object)val11 != (Object)null) { val11.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject")); val11.localPosition = new Vector3(-0.026f, 0.024f, -0.003f); ((Renderer)((Component)val11.Find("SteeringWheel")).GetComponent()).enabled = true; } Transform val12 = ((Component)__instance).transform.Find("Meshes").Find("GearStickContainer"); if ((Object)(object)val12 != (Object)null) { val12.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject") .Find("Gears")); val12.localPosition = new Vector3(-1.05f, 0.0017f, 2.3213f); ((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject") .Find("Gears") .localPosition = new Vector3(-0.0036f, -0.0001f, -0.0041f); ((Renderer)((Component)val12.Find("GearStick")).GetComponent()).enabled = true; } Transform val13 = ((Component)__instance).transform.Find("Meshes").Find("CarKeyContainer"); if ((Object)(object)val13 != (Object)null) { val13.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject") .Find("KeyHole")); val13.localPosition = new Vector3(-2.36f, 0.57f, 2.2f); ((Renderer)((Component)val13.Find("CarKey")).GetComponent()).enabled = true; } Transform val14 = ((Component)__instance).transform.Find("Triggers").Find("Radio"); if ((Object)(object)val14 != (Object)null) { val14.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject") .Find("Radio")); val14.localPosition = new Vector3(-1.1301f, -0.0486f, 2.3653f); } Transform val15 = ((Component)__instance).transform.Find("Triggers").Find("ButtonAnimContainer"); if ((Object)(object)val15 != (Object)null) { val15.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject")); val15.localPosition = new Vector3(-0.025f, 0.02f, 0.001f); ((Renderer)((Component)val15.Find("RedButton")).GetComponent()).enabled = true; ((Renderer)((Component)val15.Find("ButtonGlass")).GetComponent()).enabled = true; ((Renderer)((Component)val15.Find("Cube")).GetComponent()).enabled = true; } ((Component)__instance).transform.Find("PushTrigger").localScale = new Vector3(0.01f, 0.01f, 0.01f); ((Component)((Component)__instance).transform.Find("Meshes").Find("CabinWindowContainer").Find("CabinWindowAnimContainer")).GetComponent().audioClip = soundAndriusGrowl3; Transform val16 = ((Component)__instance).transform.Find("Triggers").Find("ChangeChannel (1)"); if ((Object)(object)val15 != (Object)null) { val16.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject")); val16.localPosition = new Vector3(-0.0289f, 0.0232f, -0.0057f); ((Component)val16).GetComponent().hoverTip = "Wag Tail : [LMB]"; } Transform val17 = ((Component)__instance).transform.Find("Triggers").Find("ChangeChannel (2)"); if ((Object)(object)val15 != (Object)null) { val17.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject")); val17.localPosition = new Vector3(-0.0279f, 0.0224f, -0.0061f); ((Component)val17).GetComponent().hoverTip = "Dominate : [LMB]"; } Transform val18 = ((Component)__instance).transform.Find("Triggers").Find("ChangeChannel (3)"); if ((Object)(object)val15 != (Object)null) { val18.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Hair_10") .Find("FrontDashObject")); val18.localPosition = new Vector3(-0.027f, 0.0213f, -0.0064f); ((Component)val18).GetComponent().hoverTip = "Brighten Eyes : [LMB]"; } BoxCollider component = ((Component)((Component)__instance).transform.Find("Meshes").Find("DoorLeftContainer").Find("Door") .Find("DoorTrigger")).GetComponent(); if ((Object)(object)component != (Object)null) { ((Component)component).gameObject.GetComponent().twoHandedItemAllowed = true; SetColliderCenter(component, new Vector3(0f, 10f, 0f)); SetColliderExtents(component, new Vector3(0.5f, 3f, 3f)); Transform val19 = ((Component)__instance).transform.Find("Meshes").Find("DoorLeftContainer").Find("Door") .Find("DoorTrigger"); val19.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_L_Clavicle") .Find("DoorLocation")); val19.localPosition = Vector3.zero; } BoxCollider component2 = ((Component)((Component)__instance).transform.Find("Meshes").Find("DoorRightContainer").Find("Door") .Find("DoorTrigger")).GetComponent(); if ((Object)(object)component2 != (Object)null) { ((Component)component2).gameObject.GetComponent().twoHandedItemAllowed = true; SetColliderCenter(component2, new Vector3(0f, 10f, 0f)); SetColliderExtents(component2, new Vector3(0.5f, 3f, 3f)); Transform val20 = ((Component)__instance).transform.Find("Meshes").Find("DoorRightContainer").Find("Door") .Find("DoorTrigger"); val20.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("DoorLocation")); val20.localPosition = Vector3.zero; } Transform val21 = ((Component)__instance).transform.Find("Meshes").Find("Headlights"); if ((Object)(object)val21 != (Object)null) { val21.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Neck2") .Find("Bone_Head") .Find("HeadLights")); val21.localPosition = Vector3.zero; ((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_Neck") .Find("Bone_Neck1") .Find("Bone_Neck2") .Find("Bone_Head") .Find("HeadLights") .localPosition = new Vector3(0.002f, -0.025f, 0f); ((Component)val21.Find("Spot Light")).GetComponent().color = Color.cyan; ((Component)val21.Find("Spot Light (1)")).GetComponent().color = Color.cyan; ((Component)val21.Find("Spot Light (2)")).GetComponent().color = Color.cyan; ((Component)val21.Find("Spot Light (3)")).GetComponent().color = Color.cyan; ((Component)val21.Find("Spot Light (4)")).GetComponent().color = Color.cyan; ((Component)val21.Find("Spot Light (5)")).GetComponent().color = Color.cyan; } Physics.IgnoreLayerCollision(3, 30); ((Component)((Component)__instance).transform.Find("Triggers").Find("BackPhysicsRegion")).gameObject.SetActive(false); ((Component)((Component)__instance).transform.Find("Triggers").Find("ItemDropRegion")).gameObject.SetActive(false); ((Component)((Component)__instance).transform.Find("Meshes").Find("BackDoorContainer")).gameObject.SetActive(false); ((Component)((Component)__instance).transform.Find("ExhaustSmoke")).gameObject.SetActive(false); __instance.engineRev = soundAndriusEngineRev; __instance.engineRun = soundAndriusEngineRun; __instance.engineRun2 = soundAndriusEngineRun2; ((Component)((Component)__instance).transform.Find("Meshes").Find("EngineAudio2")).GetComponent().clip = soundAndriusEngineRun2; __instance.engineStartSuccessful = soundAndriusEngineStart; __instance.headlightsToggleSFX = soundAndriusHeadlights; __instance.obstacleCollisions[0] = soundAndriusHitObstacle1; __instance.obstacleCollisions[1] = soundAndriusHitObstacle2; __instance.obstacleCollisions[2] = soundAndriusHitObstacle3; __instance.revEngineStart = soundAndriusRevEngine; __instance.rollingAudio.clip = soundAndriusRolling; __instance.skiddingAudio.clip = soundAndriusTireSkid; __instance.windshieldBreak = soundAndriusShatter; __instance.turbulenceAudio.clip = soundAndriusTurb; Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("Meshes").Find("DoorLeftContainer").Find("Door") .Find("Collider")).GetComponent()); Object.Destroy((Object)(object)((Component)((Component)__instance).transform.Find("Meshes").Find("DoorRightContainer").Find("Door") .Find("Collider")).GetComponent()); __instance.radioClips[0] = soundAndriusRadio1; __instance.radioClips[1] = soundAndriusRadio2; __instance.radioClips[2] = soundAndriusRadio3; __instance.radioClips[3] = soundAndriusRadio4; __instance.springForce = 50f; ((Collider)((Component)((Component)__instance).transform.Find("Meshes").Find("DoorLeftContainer").Find("Door") .Find("Collider")).GetComponent()).enabled = false; ((Collider)((Component)((Component)__instance).transform.Find("Meshes").Find("DoorRightContainer").Find("Door") .Find("Collider")).GetComponent()).enabled = false; ((Behaviour)((Component)((Component)__instance).transform.Find("Meshes").Find("DoorLeftContainer").Find("Door") .Find("CarDoorAudio")).GetComponent()).enabled = false; ((Behaviour)((Component)((Component)__instance).transform.Find("Meshes").Find("DoorRightContainer").Find("Door") .Find("CarDoorAudio")).GetComponent()).enabled = false; GameObject gameObject = ((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)")).gameObject; LayerMask val22 = LayerMask.op_Implicit(524360); LayerMask excludeLayers = LayerMask.op_Implicit(~LayerMask.op_Implicit(val22)); SetExclusionLayers(gameObject, excludeLayers); Transform val23 = ((Component)__instance).transform.Find("Triggers").Find("RightShelfPlacementCollider"); val23.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("RightShelf")); val23.localPosition = new Vector3(0.001f, 0.011f, -0.002f); ((Component)val23).GetComponent().twoHandedItemAllowed = true; Transform val24 = ((Component)__instance).transform.Find("Triggers").Find("LeftShelfPlacementCollider"); val24.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("LeftShelf")); val24.localPosition = new Vector3(0.002f, -0.008f, 0.002f); ((Component)val24).GetComponent().twoHandedItemAllowed = true; Transform val25 = ((Component)__instance).transform.Find("Triggers").Find("CenterShelfPlacementCollider"); val25.SetParent(((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("CenterShelf")); val25.localPosition = new Vector3(0.009f, -0.009f, 0f); ((Component)val25).GetComponent().twoHandedItemAllowed = true; AndriusVehicleHandler andriusVehicleHandler = AndriusObject.AddComponent(); andriusVehicleHandler.vehicle = __instance; andriusVehicleHandler.andriusAnimator = ((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)")).GetComponent(); __instance.ToggleHeadlightsLocalClient(); } } [HarmonyPatch(typeof(VehicleController), "Update")] [HarmonyPrefix] public static void AndriusModifications(VehicleController __instance) { if (AndriusReplacement.Value) { if (((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_L_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent().hoverTip == "Use door : [LMB]") { ((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_L_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent().hoverTip = ""; ((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_L_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent().hoverIcon = Transparent; ((Collider)((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_L_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent()).isTrigger = true; } if (((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent().hoverTip == "Use door : [LMB]" && (Object)(object)__instance.currentPassenger != (Object)null) { ((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent().hoverTip = "Exit : [LMB]"; ((Collider)((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent()).isTrigger = true; } if (((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent().hoverTip == "Use door : [LMB]" && (Object)(object)__instance.currentPassenger == (Object)null) { ((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent().hoverTip = ""; ((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent().hoverIcon = Transparent; ((Collider)((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent()).isTrigger = true; } FieldInfo field = typeof(VehicleController).GetField("radioSignalQuality", BindingFlags.Instance | BindingFlags.NonPublic); if (field != null) { field.SetValue(__instance, 4f); } else { mls.LogError((object)"Could not find the private field 'radioSignalQuality' in VehicleController."); } } } [HarmonyPatch(typeof(VehicleController), "SetPassengerInCar")] [HarmonyPrefix] public static void DoorModifications(VehicleController __instance) { if (AndriusReplacement.Value) { ((Component)((Component)__instance).transform.Find("Meshes").Find("Andrius(Clone)").Find("Monster_Wolf_LupiBoreas") .Find("Monster_Wolf_LupiBoreas_Model") .Find("Bone_Root") .Find("Bone_Spine") .Find("Bone_Spine_01") .Find("Bone_Spine_02") .Find("Bone_FrontRoot") .Find("Bone_R_Clavicle") .Find("DoorLocation") .Find("DoorTrigger")).GetComponent().hoverTip = "Exit : [LMB]"; } } [HarmonyPatch(typeof(CaveDwellerAI), "Start")] [HarmonyPostfix] public static void PluginDetectAmber(CaveDwellerAI __instance) { //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Unknown result type (might be due to invalid IL or missing references) if (AmberReplacement.Value) { Transform val = ((Component)__instance).transform.Find("MeshContainer"); Transform val2 = ((Component)__instance).transform.Find("BabyMeshContainer"); ((Renderer)((Component)val.Find("Mesh")).GetComponent()).enabled = false; Object.Destroy((Object)(object)((Component)val2.Find("BabyManeaterMesh")).GetComponent()); ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Baron Bunny"; BaronBunnyObject = Object.Instantiate(BaronBunnyPrefab); BaronBunnyObject.transform.SetParent(val2); BaronBunnyObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); BaronBunnyObject.transform.localPosition = Vector3.zero; BaronBunnyObject.transform.localScale = new Vector3(2f, 2f, 2f); AmberObject = Object.Instantiate(AmberPrefab); AmberObject.transform.SetParent(val); AmberObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); AmberObject.transform.localPosition = Vector3.zero; AmberObject.transform.localScale = new Vector3(20f, 20f, 20f); ((EnemyAI)__instance).enemyType.deathSFX = soundAmberDeath; __instance.biteSFX = soundAmberEatScrap; __instance.fakeCrySFX[0] = soundAmberCryFake; __instance.fakeCrySFX[1] = soundAmberCryFake; __instance.fakeCrySFX[2] = soundAmberCryFake; __instance.fakeCrySFX[3] = soundAmberCryFake; __instance.pukeSFX = soundAmberPuke; __instance.squirmingSFX = soundAmberSquirm; __instance.transformationSFX = soundAmberTransformation; __instance.cooldownSFX = soundAmberCooldown; __instance.growlSFX = soundAmberGrowl; ((Component)((Component)__instance).transform.Find("Clicking1")).GetComponent().volume = 0f; ((Component)((Component)__instance).transform.Find("Clicking2")).GetComponent().clip = soundAmberClick2; ((Component)((Component)__instance).transform.Find("Scream")).GetComponent().clip = soundAmberLeap; ((Component)((Component)__instance).transform.Find("ScreamNondiagetic")).GetComponent().clip = soundAmberLeap; ((Component)((Component)__instance).transform.Find("AdultCreatureVoice")).GetComponent().clip = soundAmberCry; ((Component)((Component)__instance).transform.Find("BabyMeshContainer").Find("CryingAudio")).GetComponent().clip = soundAmberCry; ((Component)__instance.babyTearsParticle).gameObject.transform.localPosition = new Vector3(0f, 0f, 0f); __instance.babyCreatureAnimator = ((Component)val2.Find("BaronBunny(Clone)")).GetComponent(); ((EnemyAI)__instance).creatureAnimator = ((Component)val.Find("Amber(Clone)")).GetComponent(); ((GrabbableObject)((Component)__instance).GetComponentInChildren()).itemProperties.itemName = "Baron Bunny"; ((Component)((Component)__instance).transform.Find("Clicking2")).GetComponent().pitch = 1f; ((Component)((Component)__instance).transform.Find("MeshContainer").Find("AnimContainer").Find("Spine") .Find("BloodSpurtParticle1 (1)") .Find("BloodSpurtParticle")).gameObject.SetActive(false); ((Component)((Component)__instance).transform.Find("MeshContainer").Find("AnimContainer").Find("Spine") .Find("BloodSpurtParticle1 (1)") .Find("BloodParticle")).gameObject.SetActive(false); ((Component)((Component)__instance).transform.Find("MeshContainer").Find("AnimContainer").Find("Spine") .Find("BloodSpurtParticle1 (1)")).gameObject.SetActive(false); ((GrabbableObject)((Component)__instance).GetComponentInChildren()).itemProperties.itemIcon = BaronBunny; } } [HarmonyPatch(typeof(CaveDwellerAI), "StartTransformationAnim")] [HarmonyPostfix] public static void PluginDetectAmberTransformation(CaveDwellerAI __instance) { if (AmberReplacement.Value) { ((Component)((Component)__instance).transform.Find("ScanNode")).GetComponent().headerText = "Amber"; ((Component)((Component)__instance).transform.Find("MeshContainer").Find("Amber(Clone)").Find("AmberExplode")).gameObject.SetActive(true); } } [HarmonyPatch(typeof(CaveDwellerAI), "BabyUpdate")] [HarmonyPrefix] public static void PluginOutsideBaby(CaveDwellerAI __instance) { ((EnemyAI)__instance).isOutside = false; } [HarmonyPatch(typeof(MaskedReplacementBase), "Awake")] [HarmonyPrefix] public static bool SkinAlbedo() { if (AlbedoReplacement.Value) { return false; } return true; } public static void SetColliderSize(BoxCollider collider, Vector3 size) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) collider.size = size; } public static void SetColliderCenter(BoxCollider collider, Vector3 center) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) collider.center = center; } public static void SetColliderExtents(BoxCollider collider, Vector3 extents) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) collider.extents = extents; } public static void SetExclusionLayers(GameObject parentObject, LayerMask excludeLayers) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) SetExclusionLayersRecursive(parentObject.transform, excludeLayers); } private static void SetExclusionLayersRecursive(Transform parentTransform, LayerMask excludeLayers) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) foreach (Transform item in parentTransform) { Transform val = item; BoxCollider component = ((Component)val).GetComponent(); if ((Object)(object)component != (Object)null) { ((Collider)component).excludeLayers = excludeLayers; } SetExclusionLayersRecursive(val, excludeLayers); } } private static void SetExclusionLayersRecursiveNoReplace(Transform parentTransform, LayerMask newExcludeLayers) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0037: 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) foreach (Transform item in parentTransform) { Transform val = item; BoxCollider component = ((Component)val).GetComponent(); if ((Object)(object)component != (Object)null) { ((Collider)component).excludeLayers = LayerMask.op_Implicit(LayerMask.op_Implicit(((Collider)component).excludeLayers) | LayerMask.op_Implicit(newExcludeLayers)); } SetExclusionLayersRecursive(val, newExcludeLayers); } } }