Decompiled source of DUBBING SPANISH MOD v1.0.0

DubbingMod/DubbingMod.dll

Decompiled 2 months ago
using System;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
using DubbingMod;
using HarmonyLib;
using SettingsMenu.Components;
using TMPro;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("DubbingMod")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DubbingMod")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("bd9fdc13-6da9-4337-aba1-a1f8186a7b2b")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
[HarmonyPatch(typeof(Mandalore), "Start")]
internal class MandalorePatch
{
	public static void Postfix(Mandalore __instance, ref AudioSource ___aud)
	{
		if (PlayerPrefs.HasKey("activeDubbing") && PlayerPrefs.GetInt("activeDubbing") == 1)
		{
			AudioSource obj = ___aud;
			obj.volume *= 5f;
			__instance.voiceFull = Plugin.assets.LoadAsset<AudioClip>("mandaloreFullAuto.ogg");
			__instance.voiceFuller = Plugin.assets.LoadAsset<AudioClip>("mandaloreFullerAuto.ogg");
			__instance.voices[0].secondPhase = Plugin.assets.LoadAsset<AudioClip>("mandalorePhaseChange1Manda.ogg");
			__instance.voices[1].secondPhase = Plugin.assets.LoadAsset<AudioClip>("mandalorePhaseChange1Owl.ogg");
			__instance.voices[0].thirdPhase = Plugin.assets.LoadAsset<AudioClip>("mandalorePhaseChange2Manda.ogg");
			__instance.voices[1].thirdPhase = Plugin.assets.LoadAsset<AudioClip>("mandalorePhaseChange2Owl.ogg");
			__instance.voices[0].finalPhase = Plugin.assets.LoadAsset<AudioClip>("mandalorePhaseChangeFinalManda.ogg");
			__instance.voices[1].finalPhase = Plugin.assets.LoadAsset<AudioClip>("mandalorePhaseChangeFinalOwl.ogg");
			__instance.voices[0].death = Plugin.assets.LoadAsset<AudioClip>("mandaloreDefeatedManda.ogg");
			__instance.voices[1].death = Plugin.assets.LoadAsset<AudioClip>("mandaloreDefeatedOwl.ogg");
			__instance.voices[0].taunts = (AudioClip[])(object)new AudioClip[3]
			{
				Plugin.assets.LoadAsset<AudioClip>("mandaloreTaunt_HoldStill.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("mandaloreTaunt_ImGonnaShootThem.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("mandaloreTaunt_WhyAreWeInThePast.ogg")
			};
			__instance.voices[1].taunts = (AudioClip[])(object)new AudioClip[3]
			{
				Plugin.assets.LoadAsset<AudioClip>("mandaloreTaunt_ImGonnaPoisonYou.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("mandaloreTaunt_What.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("mandaloreTaunt_YouCannotImagine.ogg")
			};
		}
	}
}
[HarmonyPatch(typeof(StockMapInfo), "Awake")]
internal class ShammyPatch
{
	private static void Postfix(StockMapInfo __instance)
	{
		AudioSource[] array = Resources.FindObjectsOfTypeAll<AudioSource>();
		foreach (AudioSource val in array)
		{
			if (!Object.op_Implicit((Object)(object)val.clip))
			{
				continue;
			}
			Debug.Log((object)((Object)val.clip).name);
			string name = ((Object)val.clip).name;
			string text = name;
			if (!(text == "waitingpuzzle_shammy"))
			{
				if (text == "waitingpuzzle2_mandy")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("mandaloreIntro.ogg");
				}
			}
			else
			{
				val.clip = Plugin.assets.LoadAsset<AudioClip>("owlIntro.ogg");
			}
		}
	}
}
namespace DubbingMod;

public static class MainMenuPatches
{
	[HarmonyPatch(typeof(SettingsPageBuilder))]
	public static class AudioPatch
	{
		[HarmonyPatch("BuildPage")]
		[HarmonyPostfix]
		public static void OpcionesPostfijo(SettingsPageBuilder __instance)
		{
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			if (((Object)__instance).name != "Audio" || (Object)(object)((Component)__instance).transform.parent == (Object)null)
			{
				return;
			}
			Debug.Log((object)"[AudioDubSlider] Procesando la página de configuración de Audio");
			if (!(((Object)((Component)((Component)__instance).transform.GetChild(0)).transform).name == "Container"))
			{
				return;
			}
			try
			{
				GameObject gameObject = ((Component)__instance).gameObject;
				gameObject.SetActive(true);
				GameObject gameObjectChild = GetGameObjectChild(gameObject, "Container");
				GameObject gameObjectChild2 = GetGameObjectChild(gameObjectChild, "Subtitles");
				GameObject val = Object.Instantiate<GameObject>(gameObjectChild2, gameObjectChild.transform);
				val.GetComponent<RectTransform>().anchoredPosition = new Vector2(300f, -225f);
				((Object)val).name = "Dialogue Dub";
				GameObject gameObjectChild3 = GetGameObjectChild(val, "Toggle(Clone)");
				Toggle component = gameObjectChild3.GetComponent<Toggle>();
				GameObject val2 = Object.Instantiate<GameObject>(gameObjectChild3, gameObjectChild3.transform.parent);
				((Object)val2).name = "DubToggle";
				val2.SetActive(true);
				Toggle dubToggle = val2.GetComponent<Toggle>();
				GameObject gameObjectChild4 = GetGameObjectChild(GetGameObjectChild(gameObjectChild3, "Background"), "Checkmark");
				GameObject gameObjectChild5 = GetGameObjectChild(GetGameObjectChild(gameObjectChild3, "Background"), "FakeCheck");
				gameObjectChild4.SetActive(false);
				gameObjectChild5.SetActive(false);
				GameObject gameObjectChild6 = GetGameObjectChild(val2, "Background");
				GameObject gameObjectChild7 = GetGameObjectChild(gameObjectChild6, "Checkmark");
				((Selectable)dubToggle).targetGraphic = (Graphic)(object)gameObjectChild6.GetComponent<Image>();
				dubToggle.graphic = (Graphic)(object)gameObjectChild7.GetComponent<Image>();
				bool isOn = PlayerPrefs.GetInt("activeDubbing", 0) == 1;
				dubToggle.isOn = isOn;
				((Selectable)dubToggle).transition = (Transition)1;
				Object.Destroy((Object)(object)GetGameObjectChild(val, "Reset Button Variant(Clone)"));
				((UnityEvent<bool>)(object)dubToggle.onValueChanged).AddListener((UnityAction<bool>)delegate
				{
					bool isOn2 = dubToggle.isOn;
					PlayerPrefs.SetInt("activeDubbing", isOn2 ? 1 : 0);
					PlayerPrefs.Save();
					Debug.Log((object)("[AudioDubSlider] Doblaje de audio activado/desactivado: " + isOn2));
					ActualizarConfiguracionDoblaje(isOn2);
				});
				try
				{
					((TMP_Text)GetTextMeshProUGUI(GetGameObjectChild(val, "Text"))).text = "DOBLAJE \n<size=9>(REQUIERE REINICIAR)</size>";
				}
				catch (Exception ex)
				{
					Debug.LogError((object)("[AudioDubSlider] Error al configurar el texto, usando valor por defecto. Error: " + ex));
					((TMP_Text)GetTextMeshProUGUI(GetGameObjectChild(val, "Text"))).text = "DOBLAJE \n<size=9>(REQUIERE REINICIAR)</size>";
				}
				Debug.Log((object)"[AudioDubSlider] Creación exitosa del AudioDubSlider");
			}
			catch (Exception ex2)
			{
				Debug.LogError((object)("[AudioDubSlider] Error en SetActive: " + ex2));
			}
		}

		public static void ActualizarConfiguracionDoblaje(bool estaActivado)
		{
			if (estaActivado)
			{
				Plugin.assets.LoadAsset<AudioClip>("archivoDeDoblaje");
			}
			else
			{
				Plugin.assets.LoadAsset<AudioClip>("archivoDeAudioOriginal");
			}
		}

		public static GameObject GetGameObjectChild(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 ((Component)val).gameObject;
				}
			}
			return null;
		}

		public static TextMeshProUGUI GetTextMeshProUGUI(GameObject obj)
		{
			return obj.GetComponent<TextMeshProUGUI>();
		}
	}
}
[HarmonyPatch(typeof(StockMapInfo), "Awake")]
internal class GabrielPatch2
{
	public static void Postfix(StockMapInfo __instance)
	{
		if (!PlayerPrefs.HasKey("activeDubbing") || PlayerPrefs.GetInt("activeDubbing") != 1)
		{
			return;
		}
		if ((Object)(object)Plugin.assets == (Object)null)
		{
			Debug.LogError((object)"AssetBundle no cargado en GabrielPatch2.");
			return;
		}
		AudioSource[] array = Resources.FindObjectsOfTypeAll<AudioSource>();
		foreach (AudioSource val in array)
		{
			if (Object.op_Implicit((Object)(object)val.clip))
			{
				switch (((Object)val.clip).name)
				{
				case "gab_Intro1d":
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielIntro1.ogg");
					break;
				case "gab_Intro2b":
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielIntro2.ogg");
					break;
				case "gab_Behold":
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielFightStart.ogg");
					break;
				case "gab_Insignificant2b":
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielDefeated.ogg");
					break;
				case "gab_Woes":
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielOutro.ogg");
					break;
				}
			}
		}
	}
}
[HarmonyPatch(typeof(Gabriel), "Start")]
public static class GabrielPatch
{
	[HarmonyPostfix]
	public static void Gabriel_VoiceSwap(ref Gabriel __instance, ref GabrielVoice ___voice)
	{
		if (PlayerPrefs.HasKey("activeDubbing") && PlayerPrefs.GetInt("activeDubbing") == 1)
		{
			if ((Object)(object)Plugin.assets == (Object)null)
			{
				Debug.LogError((object)"AssetBundle no cargado en GabrielPatch.");
				return;
			}
			___voice.taunt = (AudioClip[])(object)new AudioClip[12]
			{
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_YouDefyTheLight.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_AMereObject.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_ThereCanBeOnlyLight.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_Foolishness.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_AnImperfection.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_NotEvenMortal.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_YouAreLessThanNothing.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_YoureAnError.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_TheLightIsPerfection.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_YouAreOutclassed.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_YourCrimeIsExistence.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielTaunt_YouMakeEven.ogg")
			};
			___voice.phaseChange = Plugin.assets.LoadAsset<AudioClip>("gabrielPhaseChange.ogg");
			___voice.bigHurt = (AudioClip[])(object)new AudioClip[1] { Plugin.assets.LoadAsset<AudioClip>("gabrielBigHurt1.ogg") };
			___voice.hurt = (AudioClip[])(object)new AudioClip[4]
			{
				Plugin.assets.LoadAsset<AudioClip>("gabrielHurt1.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielHurt2.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielHurt3.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("gabrielHurt4.ogg")
			};
		}
	}
}
[HarmonyPatch(typeof(GabrielSecond), "Start")]
internal class GabrielCombatPatch
{
	public static void Postfix(GabrielSecond __instance, ref GabrielVoice ___voice)
	{
		if (!PlayerPrefs.HasKey("activeDubbing") || PlayerPrefs.GetInt("activeDubbing") != 1)
		{
			return;
		}
		if ((Object)(object)Plugin.assets == (Object)null)
		{
			Debug.LogError((object)"AssetBundle no cargado en GabrielCombatPatch.");
			return;
		}
		string[] array = new string[7] { "gabrielSecondTaunt_IsThisWhatILostTo.ogg", "gabrielSecondTaunt_YoureGettingRusty.ogg", "gabrielSecondTaunt_LetsSettleThis.ogg", "gabrielSecondTaunt_NothingButScrap.ogg", "gabrielSecondTaunt_IllShowYouDivine.ogg", "gabrielSecondTaunt_TimeToRight.ogg", "gabrielSecondTaunt_YouNeedMorePower.ogg" };
		for (int i = 0; i < ___voice.taunt.Length; i++)
		{
			___voice.taunt[i] = Plugin.assets.LoadAsset<AudioClip>(array[i]);
		}
		___voice.phaseChange = Plugin.assets.LoadAsset<AudioClip>("gabrielSecondPhaseChange.ogg");
		for (int j = 0; j < ___voice.hurt.Length; j++)
		{
			___voice.hurt[j] = Plugin.assets.LoadAsset<AudioClip>($"gabrielSecondHurt{j + 1}.ogg");
		}
		string[] array2 = new string[7] { "gabrielSecondTaunt_IveNeverHadAFight.ogg", "gabrielSecondTaunt_ShowMeWhat.ogg", "gabrielSecondTaunt_NowThisIsAFight.ogg", "gabrielSecondTaunt_WhatIsThisFeeling.ogg", "gabrielSecondTaunt_ComeGetSomeBlood.ogg", "gabrielSecondTaunt_ComeOnMachine.ogg", "gabrielSecondTaunt_IllShowYouTrueSplendor.ogg" };
		for (int k = 0; k < ___voice.tauntSecondPhase.Length; k++)
		{
			___voice.tauntSecondPhase[k] = Plugin.assets.LoadAsset<AudioClip>(array2[k]);
		}
	}
}
[HarmonyPatch(typeof(StockMapInfo), "Awake")]
internal class GabrielPatch3
{
	private static void Postfix(StockMapInfo __instance)
	{
		if (!PlayerPrefs.HasKey("activeDubbing") || PlayerPrefs.GetInt("activeDubbing") != 1)
		{
			return;
		}
		if ((Object)(object)Plugin.assets == (Object)null)
		{
			Debug.LogError((object)"AssetBundle no cargado en GabrielPatch3.");
			return;
		}
		AudioSource[] array = Resources.FindObjectsOfTypeAll<AudioSource>();
		foreach (AudioSource val in array)
		{
			if (Object.op_Implicit((Object)(object)val.clip))
			{
				switch (((Object)val.clip).name)
				{
				case "gab2nd_intro1b":
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielSecondIntro.ogg");
					break;
				case "gab2nd_intro2":
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielSecondFightStart.ogg");
					break;
				case "gab_Behold":
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielFightStart.ogg");
					break;
				case "gab2nd_Woes":
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielSecondOutro.ogg");
					break;
				case "gab2nd_outro":
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielSecondDefeated.ogg");
					break;
				}
			}
		}
	}
}
[HarmonyPatch(typeof(StockMapInfo), "Awake")]
public static class GabrielPatch4
{
	[HarmonyPostfix]
	public static void Postfix(StockMapInfo __instance)
	{
		if (!PlayerPrefs.HasKey("activeDubbing") || PlayerPrefs.GetInt("activeDubbing") != 1)
		{
			return;
		}
		if ((Object)(object)Plugin.assets == (Object)null)
		{
			Debug.LogError((object)"AssetBundle no cargado en GabrielPatch4.");
			return;
		}
		AudioSource[] array = Resources.FindObjectsOfTypeAll<AudioSource>();
		foreach (AudioSource val in array)
		{
			if (Object.op_Implicit((Object)(object)val.clip))
			{
				if (((Object)val.clip).name == "gab2nd_6-1tease1")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielHeresyFirst.ogg");
				}
				else if (((Object)val.clip).name == "gab2nd_6-1tease2")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielHeresySecond.ogg");
				}
			}
		}
	}
}
[HarmonyPatch(typeof(StockMapInfo), "Awake")]
public static class GabrielPatch5
{
	[HarmonyPostfix]
	public static void Postfix(StockMapInfo __instance)
	{
		if (!PlayerPrefs.HasKey("activeDubbing") || PlayerPrefs.GetInt("activeDubbing") != 1)
		{
			return;
		}
		if ((Object)(object)Plugin.assets == (Object)null)
		{
			Debug.LogError((object)"AssetBundle no cargado en GabrielPatch5.");
			return;
		}
		AudioSource[] array = Resources.FindObjectsOfTypeAll<AudioSource>();
		foreach (AudioSource val in array)
		{
			if (Object.op_Implicit((Object)(object)val.clip) && (((Object)val.clip).name == "gab_Hologram" || ((Object)val.clip).name == "gab_HologramFiltered"))
			{
				val.clip = Plugin.assets.LoadAsset<AudioClip>("gabrielBoat.ogg");
			}
		}
	}
}
public static class AssetBundleManager
{
	public static AssetBundle assets;

	public static void LoadAssets()
	{
		if ((Object)(object)assets == (Object)null)
		{
			assets = Plugin.assets;
			if ((Object)(object)assets == (Object)null)
			{
				Debug.LogError((object)"No se pudo cargar el AssetBundle.");
			}
			else
			{
				Debug.Log((object)"AssetBundle cargado correctamente.");
			}
		}
	}
}
[HarmonyPatch(typeof(MinosPrime), "PlayVoice")]
internal class MinosPatch
{
	public static void Prefix(MinosPrime __instance, AudioClip[] voice)
	{
	}
}
[HarmonyPatch(typeof(MinosPrime), "Start")]
internal class MinosPatch1
{
	public static void Postfix(MinosPrime __instance, ref AudioSource ___aud)
	{
		if (PlayerPrefs.HasKey("activeDubbing") && PlayerPrefs.GetInt("activeDubbing") == 1)
		{
			AudioSource obj = ___aud;
			obj.volume *= 5f;
			__instance.dropkickVoice = (AudioClip[])(object)new AudioClip[2]
			{
				Plugin.assets.LoadAsset<AudioClip>("minosPrimeJudgement1.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("minosPrimeJudgement2.ogg")
			};
			__instance.comboVoice = (AudioClip[])(object)new AudioClip[2]
			{
				Plugin.assets.LoadAsset<AudioClip>("minosPrimePrepareThyself1.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("minosPrimePrepareThyself2.ogg")
			};
			__instance.boxingVoice = (AudioClip[])(object)new AudioClip[2]
			{
				Plugin.assets.LoadAsset<AudioClip>("minosPrimeThyEndIsNow1.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("minosPrimeThyEndIsNow2.ogg")
			};
			__instance.riderKickVoice = (AudioClip[])(object)new AudioClip[2]
			{
				Plugin.assets.LoadAsset<AudioClip>("minosPrimeDie1.ogg"),
				Plugin.assets.LoadAsset<AudioClip>("minosPrimeDie2.ogg")
			};
			__instance.dropAttackVoice = (AudioClip[])(object)new AudioClip[1] { Plugin.assets.LoadAsset<AudioClip>("minosPrimeCrush1.ogg") };
			__instance.hurtVoice = (AudioClip[])(object)new AudioClip[1] { Plugin.assets.LoadAsset<AudioClip>("minosPrimeHurt1.ogg") };
			__instance.phaseChangeVoice = Plugin.assets.LoadAsset<AudioClip>("minosPrimePhaseChange.ogg");
		}
	}
}
[HarmonyPatch(typeof(StockMapInfo), "Awake")]
internal class MinosPatch2
{
	private static void Postfix(StockMapInfo __instance)
	{
		AssetBundleManager.LoadAssets();
		if (!PlayerPrefs.HasKey("activeDubbing") || PlayerPrefs.GetInt("activeDubbing") != 1 || (Object)(object)AssetBundleManager.assets == (Object)null)
		{
			return;
		}
		AudioSource[] array = Resources.FindObjectsOfTypeAll<AudioSource>();
		foreach (AudioSource val in array)
		{
			if (Object.op_Implicit((Object)(object)val.clip))
			{
				switch (((Object)val.clip).name)
				{
				case "mp_intro2":
					val.clip = AssetBundleManager.assets.LoadAsset<AudioClip>("minosPrimeIntro.ogg");
					break;
				case "mp_outro":
					val.clip = AssetBundleManager.assets.LoadAsset<AudioClip>("minosPrimeDefeated.ogg");
					break;
				case "mp_deathscream":
					val.clip = AssetBundleManager.assets.LoadAsset<AudioClip>("minosPrimeDeathScream.ogg");
					break;
				case "mp_useless":
					val.clip = AssetBundleManager.assets.LoadAsset<AudioClip>("minosPrimeRespawn.ogg");
					break;
				}
			}
		}
	}
}
[HarmonyPatch(typeof(StockMapInfo), "Awake")]
public static class MuseumPatch
{
	[HarmonyPostfix]
	public static void Postfix(StockMapInfo __instance)
	{
		if (!PlayerPrefs.HasKey("activeDubbing") || PlayerPrefs.GetInt("activeDubbing") != 1)
		{
			return;
		}
		AudioSource[] array = Resources.FindObjectsOfTypeAll<AudioSource>();
		foreach (AudioSource val in array)
		{
			if (Object.op_Implicit((Object)(object)val.clip))
			{
				Debug.Log((object)((Object)val.clip).name);
				if (((Object)val.clip).name == "MandyPickUp")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("MandyPickUp.ogg");
				}
				else if (((Object)val.clip).name == "MandyThrow")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("MandyThrow.ogg");
				}
				else if (((Object)val.clip).name == "MandyEasterEgg")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("MandyEasterEgg.ogg");
				}
				else if (((Object)val.clip).name == "HakitaPickUp")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("HakitaPickUp.ogg");
				}
				else if (((Object)val.clip).name == "HakitaThrow")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("HakitaThrow.ogg");
				}
				else if (((Object)val.clip).name == "WeytePickUp")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("WeytePickUp.ogg");
				}
				else if (((Object)val.clip).name == "WeyteThrow")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("WeyteThrow.ogg");
				}
				else if (((Object)val.clip).name == "LenvalPickUp")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("LenvalPickUp.ogg");
				}
				else if (((Object)val.clip).name == "LenvalThrow")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("LenvalThrow.ogg");
				}
				else if (((Object)val.clip).name == "GianniPickUp")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("GianniPickUp.ogg");
				}
				else if (((Object)val.clip).name == "GianniThrow")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("GianniThrow.ogg");
				}
				else if (((Object)val.clip).name == "QuetzalPickUp")
				{
					val.clip = Plugin.assets.LoadAsset<AudioClip>("QuetzalPickUp.ogg");
				}
			}
		}
	}
}
[BepInPlugin("com.espteam.dubbingmod", "DubbingMod", "1.0")]
public class Plugin : BaseUnityPlugin
{
	public static Plugin Instance;

	public static ManualLogSource Log;

	public static AssetBundle assets;

	public static ManualLogSource LoggerInstance => ((BaseUnityPlugin)Instance).Logger;

	private void Awake()
	{
		//IL_005d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0063: Expected O, but got Unknown
		Instance = this;
		Log = ((BaseUnityPlugin)this).Logger;
		assets = AssetBundle.LoadFromMemory(Resource1.doblaje);
		if ((Object)(object)assets == (Object)null)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)"No se pudo cargar el AssetBundle.");
		}
		else
		{
			((BaseUnityPlugin)this).Logger.LogInfo((object)"AssetBundle cargado correctamente.");
		}
		Harmony val = new Harmony("com.espteam.dubbingmod");
		val.PatchAll();
	}
}
[HarmonyPatch(typeof(SisyphusPrime), "PlayVoice")]
internal class SisyphusPatch
{
	public static void Prefix(SisyphusPrime __instance, AudioClip[] voice)
	{
	}
}
[HarmonyPatch(typeof(SisyphusPrime), "Start")]
internal class SisyphusPatch1
{
	public static void Postfix(SisyphusPrime __instance, ref AudioSource ___aud)
	{
		if (PlayerPrefs.HasKey("activeDubbing") && PlayerPrefs.GetInt("activeDubbing") == 1)
		{
			AssetBundleManager.LoadAssets();
			if (!((Object)(object)AssetBundleManager.assets == (Object)null))
			{
				AudioSource obj = ___aud;
				obj.volume *= 5f;
				__instance.clapVoice = (AudioClip[])(object)new AudioClip[2]
				{
					AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusBegone1.ogg"),
					AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusBegone2.ogg")
				};
				__instance.stompComboVoice = (AudioClip[])(object)new AudioClip[2]
				{
					AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusYouCantEscape1.ogg"),
					AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusYouCantEscape2.ogg")
				};
				__instance.uppercutComboVoice = (AudioClip[])(object)new AudioClip[2]
				{
					AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusDestroy1.ogg"),
					AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusDestroy2.ogg")
				};
				__instance.tauntVoice = (AudioClip[])(object)new AudioClip[2]
				{
					AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusNiceTry1.ogg"),
					AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusNiceTry2.ogg")
				};
				__instance.explosionVoice = (AudioClip[])(object)new AudioClip[1] { AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusThisWillHurt.ogg") };
				__instance.hurtVoice = (AudioClip[])(object)new AudioClip[1] { AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusGrunt.ogg") };
				__instance.phaseChangeVoice = AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusYesThatsIt.ogg");
			}
		}
	}
}
[HarmonyPatch(typeof(StockMapInfo), "Awake")]
internal class SisyphusPatch2
{
	private static void Postfix(StockMapInfo __instance)
	{
		if (!PlayerPrefs.HasKey("activeDubbing") || PlayerPrefs.GetInt("activeDubbing") != 1)
		{
			return;
		}
		AssetBundleManager.LoadAssets();
		if ((Object)(object)AssetBundleManager.assets == (Object)null)
		{
			return;
		}
		AudioSource[] array = Resources.FindObjectsOfTypeAll<AudioSource>();
		foreach (AudioSource val in array)
		{
			if (Object.op_Implicit((Object)(object)val.clip))
			{
				Debug.Log((object)((Object)val.clip).name);
				switch (((Object)val.clip).name)
				{
				case "sp_intro":
					val.clip = AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusIntro.ogg");
					break;
				case "sp_outro":
					val.clip = AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusOutro.ogg");
					break;
				case "sp_thisprison":
					val.clip = AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusThisPrison.ogg");
					break;
				case "sp_keepthemcoming":
					val.clip = AssetBundleManager.assets.LoadAsset<AudioClip>("sisyphusKeepThemComing.ogg");
					break;
				}
			}
		}
	}
}
[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[DebuggerNonUserCode]
[CompilerGenerated]
internal class Resource1
{
	private static ResourceManager resourceMan;

	private static CultureInfo resourceCulture;

	[EditorBrowsable(EditorBrowsableState.Advanced)]
	internal static ResourceManager ResourceManager
	{
		get
		{
			if (resourceMan == null)
			{
				ResourceManager resourceManager = new ResourceManager("DubbingMod.Resource1", typeof(Resource1).Assembly);
				resourceMan = resourceManager;
			}
			return resourceMan;
		}
	}

	[EditorBrowsable(EditorBrowsableState.Advanced)]
	internal static CultureInfo Culture
	{
		get
		{
			return resourceCulture;
		}
		set
		{
			resourceCulture = value;
		}
	}

	internal static byte[] doblaje
	{
		get
		{
			object @object = ResourceManager.GetObject("doblaje", resourceCulture);
			return (byte[])@object;
		}
	}

	internal Resource1()
	{
	}
}