Decompiled source of FriendSkins v1.0.4
ToothlessMod.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using Dissonance; using GameNetcodeStuff; using HarmonyLib; using Microsoft.CodeAnalysis; using ModelReplacement; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("ToothlessMod")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("ToothlessMod")] [assembly: AssemblyTitle("ToothlessMod")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace ToothlessModelReplacement { public class MRTOOTHLESS : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Toothless"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { GameObject gameObject = ((Component)base.replacementModel.transform.Find("Toothless.004/Root/Hips/Spine_01/Spine_01.001/Spine_02/Spine_03/Spine_04/Spine_05/Spine_06/Spine_07/Spine_08/Spine_09/Head_01/Jaw_02")).gameObject; JawSync jawSync = gameObject.AddComponent(typeof(JawSync)) as JawSync; jawSync.player = ((BodyReplacementBase)this).controller; jawSync.init(); } } public class JawSync : MonoBehaviour { public PlayerControllerB player; public float initialJawOpening = 0.03840819f; public float maxJawOpening = 0.1f; public float sensibility = 1f; protected VoicePlayerState voice; private void Start() { } private void Update() { //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_00a7: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)StartOfRound.Instance.voiceChatModule == (Object)null) { return; } if (voice == null) { init(); } if (voice != null) { float y = initialJawOpening; if (voice.IsSpeaking) { y = initialJawOpening - Mathf.Clamp(voice.Amplitude * sensibility, 0f, maxJawOpening); } Vector3 localPosition = ((Component)this).gameObject.transform.localPosition; localPosition.y = y; ((Component)this).gameObject.transform.localPosition = localPosition; } } public void init() { StartOfRound.Instance.RefreshPlayerVoicePlaybackObjects(); voice = player.voicePlayerState; if (voice == null && (Object)(object)player == (Object)(object)StartOfRound.Instance.localPlayerController) { voice = StartOfRound.Instance.voiceChatModule.FindPlayer(StartOfRound.Instance.voiceChatModule.LocalPlayerName); } } } [BepInPlugin("com.greezor.ToothlessModel", "ToothlessModel", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { public static ConfigFile config; public static ConfigEntry<bool> enableModelForAllSuits { get; private set; } public static ConfigEntry<bool> enableModelAsDefault { get; private set; } public static ConfigEntry<string> suitNamesToEnableModel { get; private set; } private static void InitConfig() { enableModelForAllSuits = config.Bind<bool>("Suits to Replace Settings", "Enable Model for all Suits", false, "Enable to model replace every suit. Set to false to specify suits"); enableModelAsDefault = config.Bind<bool>("Suits to Replace Settings", "Enable Model as default", false, "Enable to model replace every suit that hasn't been otherwise registered."); suitNamesToEnableModel = config.Bind<string>("Suits to Replace Settings", "Suits to enable Model for", "Toothless", "Enter a comma separated list of suit names.(Additionally, [Green suit,Pajama suit,Hazard suit])"); } private void Awake() { //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Expected O, but got Unknown config = ((BaseUnityPlugin)this).Config; InitConfig(); Assets.PopulateAssets(); if (enableModelForAllSuits.Value) { ModelReplacementAPI.RegisterModelReplacementOverride(typeof(MRTOOTHLESS)); } if (enableModelAsDefault.Value) { ModelReplacementAPI.RegisterModelReplacementDefault(typeof(MRTOOTHLESS)); } string[] array = suitNamesToEnableModel.Value.Split(','); string[] array2 = array; foreach (string text in array2) { ModelReplacementAPI.RegisterSuitModelReplacement(text, typeof(MRTOOTHLESS)); } Harmony val = new Harmony("com.greezor.ToothlessModel"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin com.greezor.ToothlessModel is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "grztoothlessbundle"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }
VALORANT_MOD_LETHAL.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("VALORANT_MOD_LETHAL")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("VALORANT_MOD_LETHAL")] [assembly: AssemblyTitle("VALORANT_MOD_LETHAL")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace ModelReplacement { public class MRASTRA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "ASTRA"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRBREACH : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "BREACH"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRBRIMSTONE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "BRIMSTONE"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRCHAMBER : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "CHAMBER"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRCYPHER : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "CYPHER"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRCLOVE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "CLOVE"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRDEADLOCK : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "DEADLOCK"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRFADE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "FADE"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRGEKKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "GEKKO"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRHARBOR : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "HARBOR"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRISO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "ISO"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRJETT : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "JETT"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKAYO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "KAYO"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKILLJOY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "KILLJOY"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNEON : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NEON"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MROMEN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "OMEN"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPHOENIX : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PHOENIX"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRAZE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "RAZE"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRREYNA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "REYNA"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSAGE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "SAGE"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSKYE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "SKYE"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSOVA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "SOVA"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRVIPER : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "VIPER"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRVYSE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "VYSE"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRWINGMAN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "WINGMAN"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRYORU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "YORU"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("astrodart_VALORANT_AGENTS", "VALORANT_AGENTS", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private void Awake() { //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Expected O, but got Unknown Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("ASTRA", typeof(MRASTRA)); ModelReplacementAPI.RegisterSuitModelReplacement("BREACH", typeof(MRBREACH)); ModelReplacementAPI.RegisterSuitModelReplacement("BRIMSTONE", typeof(MRBRIMSTONE)); ModelReplacementAPI.RegisterSuitModelReplacement("CHAMBER", typeof(MRCHAMBER)); ModelReplacementAPI.RegisterSuitModelReplacement("CLOVE", typeof(MRCLOVE)); ModelReplacementAPI.RegisterSuitModelReplacement("CYPHER", typeof(MRCYPHER)); ModelReplacementAPI.RegisterSuitModelReplacement("DEADLOCK", typeof(MRDEADLOCK)); ModelReplacementAPI.RegisterSuitModelReplacement("FADE", typeof(MRFADE)); ModelReplacementAPI.RegisterSuitModelReplacement("GEKKO", typeof(MRGEKKO)); ModelReplacementAPI.RegisterSuitModelReplacement("HARBOR", typeof(MRHARBOR)); ModelReplacementAPI.RegisterSuitModelReplacement("ISO", typeof(MRISO)); ModelReplacementAPI.RegisterSuitModelReplacement("JETT", typeof(MRJETT)); ModelReplacementAPI.RegisterSuitModelReplacement("KAYO", typeof(MRKAYO)); ModelReplacementAPI.RegisterSuitModelReplacement("KILLJOY", typeof(MRKILLJOY)); ModelReplacementAPI.RegisterSuitModelReplacement("NEON", typeof(MRNEON)); ModelReplacementAPI.RegisterSuitModelReplacement("OMEN", typeof(MROMEN)); ModelReplacementAPI.RegisterSuitModelReplacement("PHOENIX", typeof(MRPHOENIX)); ModelReplacementAPI.RegisterSuitModelReplacement("RAZE", typeof(MRRAZE)); ModelReplacementAPI.RegisterSuitModelReplacement("REYNA", typeof(MRREYNA)); ModelReplacementAPI.RegisterSuitModelReplacement("SAGE", typeof(MRSAGE)); ModelReplacementAPI.RegisterSuitModelReplacement("SKYE", typeof(MRSKYE)); ModelReplacementAPI.RegisterSuitModelReplacement("SOVA", typeof(MRSOVA)); ModelReplacementAPI.RegisterSuitModelReplacement("VIPER", typeof(MRVIPER)); ModelReplacementAPI.RegisterSuitModelReplacement("VYSE", typeof(MRVYSE)); ModelReplacementAPI.RegisterSuitModelReplacement("WINGMAN", typeof(MRWINGMAN)); ModelReplacementAPI.RegisterSuitModelReplacement("YORU", typeof(MRYORU)); Harmony val = new Harmony("astrodart_VALORANT_AGENTS"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin astrodart_VALORANT_AGENTS is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "valorant_bundle"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }
DarknessMod.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("DarknessMod")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("DarknessMod")] [assembly: AssemblyTitle("DarknessMod")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace ModelReplacement { public class MRDARKNESS : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "darkness"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("RedsunDarknessModel", "DarknessModel", "0.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { public static ConfigFile config; public static ConfigEntry<bool> enableModelForAllSuits { get; private set; } public static ConfigEntry<bool> enableModelAsDefault { get; private set; } public static ConfigEntry<string> suitNamesToEnableModel { get; private set; } private static void InitConfig() { enableModelForAllSuits = config.Bind<bool>("Suits to Replace Settings", "Enable Model for all Suits", false, "Enable to model replace every suit. Set to false to specify suits"); enableModelAsDefault = config.Bind<bool>("Suits to Replace Settings", "Enable Model as default", false, "Enable to model replace every suit that hasn't been otherwise registered."); suitNamesToEnableModel = config.Bind<string>("Suits to Replace Settings", "Suits to enable Model for", "Darkness", "Enter a comma separated list of suit names.(Additionally, [Green suit,Pajama suit,Hazard suit])"); } private void Awake() { //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Expected O, but got Unknown config = ((BaseUnityPlugin)this).Config; InitConfig(); Assets.PopulateAssets(); if (enableModelForAllSuits.Value) { ModelReplacementAPI.RegisterModelReplacementOverride(typeof(MRDARKNESS)); } if (enableModelAsDefault.Value) { ModelReplacementAPI.RegisterModelReplacementDefault(typeof(MRDARKNESS)); } string[] array = suitNamesToEnableModel.Value.Split(','); string[] array2 = array; foreach (string text in array2) { ModelReplacementAPI.RegisterSuitModelReplacement(text, typeof(MRDARKNESS)); } Harmony val = new Harmony("RedsunDarknessModel"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin RedsunDarknessModel is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "RedsunDarknessModel"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }
Female.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("Female")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Female")] [assembly: AssemblyTitle("Female")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace ModelReplacement { public class MRSCAVENGER_FEMALE1 : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Scavenger_female1"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("com.vegasx.femalescavenger", "Female Scavenger", "0.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { public static ConfigFile config; public static ConfigEntry<bool> enableModelForAllSuits { get; private set; } public static ConfigEntry<bool> enableModelAsDefault { get; private set; } public static ConfigEntry<string> suitNamesToEnableModel { get; private set; } private static void InitConfig() { enableModelForAllSuits = config.Bind<bool>("Suits to Replace Settings", "Enable Model for all Suits", false, "Enable to model replace every suit. Set to false to specify suits"); enableModelAsDefault = config.Bind<bool>("Suits to Replace Settings", "Enable Model as default", false, "Enable to model replace every suit that hasn't been otherwise registered."); suitNamesToEnableModel = config.Bind<string>("Suits to Replace Settings", "Suits to enable Model for", "Female", "Enter a comma separated list of suit names.(Additionally, [Green suit,Pajama suit,Hazard suit])"); } private void Awake() { //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Expected O, but got Unknown config = ((BaseUnityPlugin)this).Config; InitConfig(); Assets.PopulateAssets(); if (enableModelForAllSuits.Value) { ModelReplacementAPI.RegisterModelReplacementOverride(typeof(MRSCAVENGER_FEMALE1)); } if (enableModelAsDefault.Value) { ModelReplacementAPI.RegisterModelReplacementDefault(typeof(MRSCAVENGER_FEMALE1)); } string[] array = suitNamesToEnableModel.Value.Split(','); string[] array2 = array; foreach (string text in array2) { ModelReplacementAPI.RegisterSuitModelReplacement(text, typeof(MRSCAVENGER_FEMALE1)); } Harmony val = new Harmony("com.vegasx.femalescavenger"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin com.vegasx.femalescavenger is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "femalebundle"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }
HololiveModelReplacements.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using HololiveModelAdditions.Replacements; using Microsoft.CodeAnalysis; using ModelReplacement; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("HololiveModelReplacements")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+e1fca9e336bed92c92e3fdb6f03eec9baa15581a")] [assembly: AssemblyProduct("HololiveModelReplacements")] [assembly: AssemblyTitle("HololiveModelReplacements")] [assembly: AssemblyVersion("1.0.0.0")] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace HololiveModelAdditions { [BepInPlugin("tacocat.HololiveModels", "Hololive Company", "1.3.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { public static ConfigFile config; public void InitConfig() { } private void Awake() { //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Expected O, but got Unknown config = ((BaseUnityPlugin)this).Config; InitConfig(); Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("Kiara", typeof(KiaraReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Botan", typeof(BotanReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Gura", typeof(GuraReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Lamy", typeof(LamyReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Okayu", typeof(OkayuReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Watame", typeof(WatameReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Pekora", typeof(PekoraReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Koyori", typeof(KoyoriReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Korone", typeof(KoroneReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Polka", typeof(PolkaReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Towa", typeof(TowaReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Marine", typeof(MarineReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Kanata", typeof(KanataReplacement)); Harmony val = new Harmony("tacocat.HololiveModels"); val.PatchAll(); } } public static class Assets { public static string mainAssetBundleName = "mbundle"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name; } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace HololiveModelAdditions.Replacements { public class KiaraReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "kiaraPrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class BotanReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "botanPrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class GuraReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "guraPrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class LamyReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "lamyPrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class OkayuReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "okayuPrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class WatameReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "watamePrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class PekoraReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "pekoraPrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class KoyoriReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "koyoriPrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class KoroneReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "koronePrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class PolkaReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "polkaPrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class TowaReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "towaPrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class MarineReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "marinePrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class KanataReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "kanataPrefab"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } }
Th8.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using ModelReplacement; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("Th8")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Th8")] [assembly: AssemblyTitle("Th8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace Touhou8Models { public class MREIRIN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Eirin"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMOKOU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Mokou"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMYSTIA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Mystia"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRTEWI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Tewi"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRWRIGGLE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Wriggle"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKEINE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Keine"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKAGUYA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kaguya"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRREISEN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Reisen"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("Shen.Touhou8Models", "Touhou8PlayerModels", "0.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private void Awake() { //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Expected O, but got Unknown Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("Wriggle", typeof(MRWRIGGLE)); ModelReplacementAPI.RegisterSuitModelReplacement("Mystia", typeof(MRMYSTIA)); ModelReplacementAPI.RegisterSuitModelReplacement("Keine", typeof(MRKEINE)); ModelReplacementAPI.RegisterSuitModelReplacement("Tewi", typeof(MRTEWI)); ModelReplacementAPI.RegisterSuitModelReplacement("Reisen", typeof(MRREISEN)); ModelReplacementAPI.RegisterSuitModelReplacement("Eirin", typeof(MREIRIN)); ModelReplacementAPI.RegisterSuitModelReplacement("Kaguya", typeof(MRKAGUYA)); ModelReplacementAPI.RegisterSuitModelReplacement("Mokou", typeof(MRMOKOU)); Harmony val = new Harmony("Shen.Touhou8Models"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin Shen.Touhou8Models is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "Touhou8PlayerModel"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }
Th10.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using ModelReplacement; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("Th10")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Th10")] [assembly: AssemblyTitle("Th10")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace Touhou10Models { public class MRKANAKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kanako"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRHINA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Hina"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMOMIJI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Momiji"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSHIZUHA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Shizuha"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMINORIKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Minoriko"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNITORI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Nitori"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSANAE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Sanae"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSUWAKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Suwako"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("Shen.Touhou10Models", "Touhou10PlayerModels", "0.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private void Awake() { //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Expected O, but got Unknown Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("Shizuha", typeof(MRSHIZUHA)); ModelReplacementAPI.RegisterSuitModelReplacement("Minoriko", typeof(MRMINORIKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Hina", typeof(MRHINA)); ModelReplacementAPI.RegisterSuitModelReplacement("Nitori", typeof(MRNITORI)); ModelReplacementAPI.RegisterSuitModelReplacement("Momiji", typeof(MRMOMIJI)); ModelReplacementAPI.RegisterSuitModelReplacement("Sanae", typeof(MRSANAE)); ModelReplacementAPI.RegisterSuitModelReplacement("Kanako", typeof(MRKANAKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Suwako", typeof(MRSUWAKO)); Harmony val = new Harmony("Shen.Touhou10Models"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin Shen.Touhou10Models is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "Touhou10PlayerModel"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }
Th12.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using ModelReplacement; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("Th12")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Th12")] [assembly: AssemblyTitle("Th12")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace Touhou12Models { public class MRNUE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Nue"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNAZRIN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Nazrin"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRBYAKUREN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Byakuren"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRICHIRIN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Ichirin"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKOGASA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kogasa"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSHOU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Shou"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMURASA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Murasa"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("Shen.Touhou12Models", "Touhou12PlayerModels", "0.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private void Awake() { //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Expected O, but got Unknown Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("Nazrin", typeof(MRNAZRIN)); ModelReplacementAPI.RegisterSuitModelReplacement("Kogasa", typeof(MRKOGASA)); ModelReplacementAPI.RegisterSuitModelReplacement("Ichirin", typeof(MRICHIRIN)); ModelReplacementAPI.RegisterSuitModelReplacement("Murasa", typeof(MRMURASA)); ModelReplacementAPI.RegisterSuitModelReplacement("Shou", typeof(MRSHOU)); ModelReplacementAPI.RegisterSuitModelReplacement("Byakuren", typeof(MRBYAKUREN)); ModelReplacementAPI.RegisterSuitModelReplacement("Nue", typeof(MRNUE)); Harmony val = new Harmony("Shen.Touhou12Models"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin Shen.Touhou12Models is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "Touhou12PlayerModel"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }
Th15.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using ModelReplacement; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("Th15")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Th15")] [assembly: AssemblyTitle("Th15")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace Touhou15Models { public class MRSEIRAN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Seiran"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRINGO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Ringo"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRDOREMY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Doremy"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSAGUME : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Sagume"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRCLOWNPIECE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Clownpiece"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRJUNKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Junko"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRHECATIA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Hecatia"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("Shen.Touhou15Models", "Touhou15PlayerModels", "0.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private void Awake() { //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Expected O, but got Unknown Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("Seiran", typeof(MRSEIRAN)); ModelReplacementAPI.RegisterSuitModelReplacement("Ringo", typeof(MRRINGO)); ModelReplacementAPI.RegisterSuitModelReplacement("Doremy", typeof(MRDOREMY)); ModelReplacementAPI.RegisterSuitModelReplacement("Sagume", typeof(MRSAGUME)); ModelReplacementAPI.RegisterSuitModelReplacement("Clownpiece", typeof(MRCLOWNPIECE)); ModelReplacementAPI.RegisterSuitModelReplacement("Junko", typeof(MRJUNKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Hecatia", typeof(MRHECATIA)); Harmony val = new Harmony("Shen.Touhou15Models"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin Shen.Touhou15Models is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "Touhou15PlayerModel"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }
ThPW.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using ModelReplacement; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("ThPW")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("ThPW")] [assembly: AssemblyTitle("ThPW")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace TouhouPrintWorksModels { public class MRLUNA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Luna"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSTAR : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Star"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSUNNY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Sunny"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKASEN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kasen"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKOSUZU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kosuzu"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMIYOI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Miyoi"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRAKYUU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Akyuu"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("Shen.TouhouPrintWorksModels", "TouhouPrintWorksPlayerModels", "0.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private void Awake() { //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Expected O, but got Unknown Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("Luna", typeof(MRLUNA)); ModelReplacementAPI.RegisterSuitModelReplacement("Star", typeof(MRSTAR)); ModelReplacementAPI.RegisterSuitModelReplacement("Sunny", typeof(MRSUNNY)); ModelReplacementAPI.RegisterSuitModelReplacement("Kasen", typeof(MRKASEN)); ModelReplacementAPI.RegisterSuitModelReplacement("Kosuzu", typeof(MRKOSUZU)); ModelReplacementAPI.RegisterSuitModelReplacement("Miyoi", typeof(MRMIYOI)); ModelReplacementAPI.RegisterSuitModelReplacement("Akyuu", typeof(MRAKYUU)); Harmony val = new Harmony("Shen.TouhouPrintWorksModels"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin Shen.TouhouPrintWorksModels is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "TouhouPrintWorksPlayerModel"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }
ThSO.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using ModelReplacement; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("ThSO")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("ThSO")] [assembly: AssemblyTitle("ThSO")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace TouhouSpinOffModels { public class MRSUIKA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Suika"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRIKU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Iku"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRTENSHI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Tenshi"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKOKORO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kokoro"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSUMIREKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Sumireko"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRYUUMA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Yuuma"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRJOON : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Joon"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSHION : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Shion"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("Shen.TouhouSpinOffModels", "TouhouSpinOffPlayerModels", "0.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private void Awake() { //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Expected O, but got Unknown Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("Suika", typeof(MRSUIKA)); ModelReplacementAPI.RegisterSuitModelReplacement("Iku", typeof(MRIKU)); ModelReplacementAPI.RegisterSuitModelReplacement("Tenshi", typeof(MRTENSHI)); ModelReplacementAPI.RegisterSuitModelReplacement("Kokoro", typeof(MRKOKORO)); ModelReplacementAPI.RegisterSuitModelReplacement("Sumireko", typeof(MRSUMIREKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Yuuma", typeof(MRYUUMA)); ModelReplacementAPI.RegisterSuitModelReplacement("Joon", typeof(MRJOON)); ModelReplacementAPI.RegisterSuitModelReplacement("Shion", typeof(MRSHION)); Harmony val = new Harmony("Shen.TouhouSpinOffModels"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin Shen.TouhouSpinOffModels is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "TouhouSpinOffPlayerModel"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }