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()
{
}
}