Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of TouhouPlayerModels v0.11.0
BepInEx/plugins/TouhouPlayerModels.dll
Decompiled 2 years 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("TouhouPlayerModels")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("TouhouPlayerModels")] [assembly: AssemblyTitle("TouhouPlayerModels")] [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 TouhouModels { public class MRURUMI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Urumi"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMOMOYO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Momoyo"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRREISEN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Reisen"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRFUTO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Futo"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSHION : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Shion"; 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 MRKOISHI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Koishi"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRFLANDRE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Flandre"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRCHIMATA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Chimata"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKANAKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kanako"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSEIJA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Seija"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRTSUKASA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Tsukasa"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRREIMU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Reimu"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMARISA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Marisa"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRREMILIA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Remilia"; 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 MRSATORI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Satori"; 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 MRKOGASA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kogasa"; 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 MRNUE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Nue"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRYOSHIKA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Yoshika"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRAUNN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Aunn"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRYUUGI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Yuugi"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKAGEROU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kagerou"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKYOUKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kyouko"; 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 MRPARSEE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Parsee"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRUMIA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Rumia"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRCIRNO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Cirno"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRDAIYOUSEI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Daiyousei"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNARUMI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Narumi"; 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 MRKEIKI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Keiki"; 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 MRSEIRAN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Seiran"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRTAKANE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Takane"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMEILING : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Meiling"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKOAKUMA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Koakuma"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPATCHOULI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Patchouli"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSAKUYA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Sakuya"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRLETTY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Letty"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRCHEN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Chen"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRALICE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Alice"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRLILY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Lily"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMERLIN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Merlin"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRLYRICA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Lyrica"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRLUNASA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Lunasa"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRYOUMU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Youmu"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRYUYUKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Yuyuko"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRAN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Ran"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRYUKARI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Yukari"; 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 MRHECATIA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Hecatia"; 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 MRMYSTIA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Mystia"; 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 MRTEWI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Tewi"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MREIRIN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Eirin"; 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 MRSUIKA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Suika"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRAYA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Aya"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMEDICINE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Medicine"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRYUUKA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Yuuka"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKOMACHI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Komachi"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MREIKI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Eiki"; 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 MRSHIZUHA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Shizuha"; 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 MRNITORI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Nitori"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSUWAKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Suwako"; 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 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 MRYACHIE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Yachie"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSAKI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Saki"; 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 MRKUTAKA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kutaka"; 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 MRYAMAME : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Yamame"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRIN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Rin"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRUTSUHO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Utsuho"; 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 MRDOREMY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Doremy"; 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 MRBIKER : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Biker"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSUNIFORM : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Suniform"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRDOUJI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Douji"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRUNIFORM : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Runiform"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRARMOR : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Armor"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRTAGTEAM : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Tagteam"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRFIFTEEN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Fifteen"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRVILLAGE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Village"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMIKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Miko"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRAKYUU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Akyuu"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRETERNITY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Eternity"; 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 MRKOSUZU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kosuzu"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMIKE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Mike"; 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 MRMAYUMI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Mayumi"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MROKINA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Okina"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSATONO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Satono"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMAI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Mai"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRKIMONO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Kimono"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRYTAGTEAM : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Ytagteam"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRWINTER : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Winter"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMAMIZOU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Mamizou"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRMAMIVILLAGE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "MamiVillage"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSUKUNA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Sukuna"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRINALT : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "RinAlt"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSEKIBANKI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Sekibanki"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRAIKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Raiko"; 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 MRNAZRIN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Nazrin"; 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 MRMURASA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Murasa"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("Shen.TouhouModels", "Touhou Player Models", "0.11.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private void Awake() { //IL_09cf: Unknown result type (might be due to invalid IL or missing references) //IL_09d5: Expected O, but got Unknown Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("Momoyo", typeof(MRMOMOYO)); ModelReplacementAPI.RegisterSuitModelReplacement("Reisen", typeof(MRREISEN)); ModelReplacementAPI.RegisterSuitModelReplacement("Urumi", typeof(MRURUMI)); ModelReplacementAPI.RegisterSuitModelReplacement("Shion", typeof(MRSHION)); ModelReplacementAPI.RegisterSuitModelReplacement("Joon", typeof(MRJOON)); ModelReplacementAPI.RegisterSuitModelReplacement("Futo", typeof(MRFUTO)); ModelReplacementAPI.RegisterSuitModelReplacement("Flandre", typeof(MRFLANDRE)); ModelReplacementAPI.RegisterSuitModelReplacement("Koishi", typeof(MRKOISHI)); ModelReplacementAPI.RegisterSuitModelReplacement("Chimata", typeof(MRCHIMATA)); ModelReplacementAPI.RegisterSuitModelReplacement("Kanako", typeof(MRKANAKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Seija", typeof(MRSEIJA)); ModelReplacementAPI.RegisterSuitModelReplacement("Tsukasa", typeof(MRTSUKASA)); ModelReplacementAPI.RegisterSuitModelReplacement("Reimu", typeof(MRREIMU)); ModelReplacementAPI.RegisterSuitModelReplacement("Marisa", typeof(MRMARISA)); ModelReplacementAPI.RegisterSuitModelReplacement("Remilia", typeof(MRREMILIA)); ModelReplacementAPI.RegisterSuitModelReplacement("Sanae", typeof(MRSANAE)); ModelReplacementAPI.RegisterSuitModelReplacement("Satori", typeof(MRSATORI)); ModelReplacementAPI.RegisterSuitModelReplacement("Sumireko", typeof(MRSUMIREKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Kogasa", typeof(MRKOGASA)); ModelReplacementAPI.RegisterSuitModelReplacement("Nue", typeof(MRNUE)); ModelReplacementAPI.RegisterSuitModelReplacement("Momiji", typeof(MRMOMIJI)); ModelReplacementAPI.RegisterSuitModelReplacement("Yoshika", typeof(MRYOSHIKA)); ModelReplacementAPI.RegisterSuitModelReplacement("Aunn", typeof(MRAUNN)); ModelReplacementAPI.RegisterSuitModelReplacement("Yuugi", typeof(MRYUUGI)); ModelReplacementAPI.RegisterSuitModelReplacement("Kyouko", typeof(MRKYOUKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Mokou", typeof(MRMOKOU)); ModelReplacementAPI.RegisterSuitModelReplacement("Kagerou", typeof(MRKAGEROU)); ModelReplacementAPI.RegisterSuitModelReplacement("Parsee", typeof(MRPARSEE)); ModelReplacementAPI.RegisterSuitModelReplacement("Rumia", typeof(MRRUMIA)); ModelReplacementAPI.RegisterSuitModelReplacement("Cirno", typeof(MRCIRNO)); ModelReplacementAPI.RegisterSuitModelReplacement("Daiyousei", typeof(MRDAIYOUSEI)); ModelReplacementAPI.RegisterSuitModelReplacement("Narumi", typeof(MRNARUMI)); ModelReplacementAPI.RegisterSuitModelReplacement("Byakuren", typeof(MRBYAKUREN)); ModelReplacementAPI.RegisterSuitModelReplacement("Keiki", typeof(MRKEIKI)); ModelReplacementAPI.RegisterSuitModelReplacement("Ringo", typeof(MRRINGO)); ModelReplacementAPI.RegisterSuitModelReplacement("Seiran", typeof(MRSEIRAN)); ModelReplacementAPI.RegisterSuitModelReplacement("Takane", typeof(MRTAKANE)); ModelReplacementAPI.RegisterSuitModelReplacement("Meiling", typeof(MRMEILING)); ModelReplacementAPI.RegisterSuitModelReplacement("Koakuma", typeof(MRKOAKUMA)); ModelReplacementAPI.RegisterSuitModelReplacement("Patchouli", typeof(MRPATCHOULI)); ModelReplacementAPI.RegisterSuitModelReplacement("Sakuya", typeof(MRSAKUYA)); ModelReplacementAPI.RegisterSuitModelReplacement("Letty", typeof(MRLETTY)); ModelReplacementAPI.RegisterSuitModelReplacement("Chen", typeof(MRCHEN)); ModelReplacementAPI.RegisterSuitModelReplacement("Alice", typeof(MRALICE)); ModelReplacementAPI.RegisterSuitModelReplacement("Lily White", typeof(MRLILY)); ModelReplacementAPI.RegisterSuitModelReplacement("Merlin", typeof(MRMERLIN)); ModelReplacementAPI.RegisterSuitModelReplacement("Lyrica", typeof(MRLYRICA)); ModelReplacementAPI.RegisterSuitModelReplacement("Lunasa", typeof(MRLUNASA)); ModelReplacementAPI.RegisterSuitModelReplacement("Youmu", typeof(MRYOUMU)); ModelReplacementAPI.RegisterSuitModelReplacement("Yuyuko", typeof(MRYUYUKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Ran", typeof(MRRAN)); ModelReplacementAPI.RegisterSuitModelReplacement("Yukari", typeof(MRYUKARI)); ModelReplacementAPI.RegisterSuitModelReplacement("Tenshi", typeof(MRTENSHI)); ModelReplacementAPI.RegisterSuitModelReplacement("Hecatia", typeof(MRHECATIA)); ModelReplacementAPI.RegisterSuitModelReplacement("Wriggle", typeof(MRWRIGGLE)); ModelReplacementAPI.RegisterSuitModelReplacement("Mystia", typeof(MRMYSTIA)); ModelReplacementAPI.RegisterSuitModelReplacement("Keine", typeof(MRKEINE)); ModelReplacementAPI.RegisterSuitModelReplacement("Tewi", typeof(MRTEWI)); ModelReplacementAPI.RegisterSuitModelReplacement("Eirin", typeof(MREIRIN)); ModelReplacementAPI.RegisterSuitModelReplacement("Kaguya", typeof(MRKAGUYA)); ModelReplacementAPI.RegisterSuitModelReplacement("Suika", typeof(MRSUIKA)); ModelReplacementAPI.RegisterSuitModelReplacement("Aya", typeof(MRAYA)); ModelReplacementAPI.RegisterSuitModelReplacement("Medicine", typeof(MRMEDICINE)); ModelReplacementAPI.RegisterSuitModelReplacement("Yuuka", typeof(MRYUUKA)); ModelReplacementAPI.RegisterSuitModelReplacement("Komachi", typeof(MRKOMACHI)); ModelReplacementAPI.RegisterSuitModelReplacement("Eiki", typeof(MREIKI)); ModelReplacementAPI.RegisterSuitModelReplacement("Minoriko", typeof(MRMINORIKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Shizuha", typeof(MRSHIZUHA)); ModelReplacementAPI.RegisterSuitModelReplacement("Hina", typeof(MRHINA)); ModelReplacementAPI.RegisterSuitModelReplacement("Nitori", typeof(MRNITORI)); ModelReplacementAPI.RegisterSuitModelReplacement("Suwako", typeof(MRSUWAKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Sunny Milk", typeof(MRSUNNY)); ModelReplacementAPI.RegisterSuitModelReplacement("Luna Child", typeof(MRLUNA)); ModelReplacementAPI.RegisterSuitModelReplacement("Star Sapphire", typeof(MRSTAR)); ModelReplacementAPI.RegisterSuitModelReplacement("Yachie", typeof(MRYACHIE)); ModelReplacementAPI.RegisterSuitModelReplacement("Saki", typeof(MRSAKI)); ModelReplacementAPI.RegisterSuitModelReplacement("Yuuma", typeof(MRYUUMA)); ModelReplacementAPI.RegisterSuitModelReplacement("Kutaka", typeof(MRKUTAKA)); ModelReplacementAPI.RegisterSuitModelReplacement("Sagume", typeof(MRSAGUME)); ModelReplacementAPI.RegisterSuitModelReplacement("Clownpiece", typeof(MRCLOWNPIECE)); ModelReplacementAPI.RegisterSuitModelReplacement("Junko", typeof(MRJUNKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Yamame", typeof(MRYAMAME)); ModelReplacementAPI.RegisterSuitModelReplacement("Rin", typeof(MRRIN)); ModelReplacementAPI.RegisterSuitModelReplacement("Utsuho", typeof(MRUTSUHO)); ModelReplacementAPI.RegisterSuitModelReplacement("Shou", typeof(MRSHOU)); ModelReplacementAPI.RegisterSuitModelReplacement("Doremy", typeof(MRDOREMY)); ModelReplacementAPI.RegisterSuitModelReplacement("Kasen", typeof(MRKASEN)); ModelReplacementAPI.RegisterSuitModelReplacement("Hijiri Biker", typeof(MRBIKER)); ModelReplacementAPI.RegisterSuitModelReplacement("Seiran Uniform", typeof(MRSUNIFORM)); ModelReplacementAPI.RegisterSuitModelReplacement("Kasen Douji", typeof(MRDOUJI)); ModelReplacementAPI.RegisterSuitModelReplacement("Ringo Uniform", typeof(MRRUNIFORM)); ModelReplacementAPI.RegisterSuitModelReplacement("Junko Armor", typeof(MRARMOR)); ModelReplacementAPI.RegisterSuitModelReplacement("Shou Tag Team", typeof(MRTAGTEAM)); ModelReplacementAPI.RegisterSuitModelReplacement("Reisen 15", typeof(MRFIFTEEN)); ModelReplacementAPI.RegisterSuitModelReplacement("Reisen Village", typeof(MRVILLAGE)); ModelReplacementAPI.RegisterSuitModelReplacement("Miko", typeof(MRMIKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Akyuu", typeof(MRAKYUU)); ModelReplacementAPI.RegisterSuitModelReplacement("Eternity", typeof(MRETERNITY)); ModelReplacementAPI.RegisterSuitModelReplacement("Kokoro", typeof(MRKOKORO)); ModelReplacementAPI.RegisterSuitModelReplacement("Kosuzu", typeof(MRKOSUZU)); ModelReplacementAPI.RegisterSuitModelReplacement("Mike", typeof(MRMIKE)); ModelReplacementAPI.RegisterSuitModelReplacement("Miyoi", typeof(MRMIYOI)); ModelReplacementAPI.RegisterSuitModelReplacement("Mayumi", typeof(MRMAYUMI)); ModelReplacementAPI.RegisterSuitModelReplacement("Okina", typeof(MROKINA)); ModelReplacementAPI.RegisterSuitModelReplacement("Satono", typeof(MRSATONO)); ModelReplacementAPI.RegisterSuitModelReplacement("Mai", typeof(MRMAI)); ModelReplacementAPI.RegisterSuitModelReplacement("Yuugi Kimono", typeof(MRKIMONO)); ModelReplacementAPI.RegisterSuitModelReplacement("Yuugi Tag Team", typeof(MRYTAGTEAM)); ModelReplacementAPI.RegisterSuitModelReplacement("Aunn Winter", typeof(MRWINTER)); ModelReplacementAPI.RegisterSuitModelReplacement("Mamizou", typeof(MRMAMIZOU)); ModelReplacementAPI.RegisterSuitModelReplacement("Mami Village", typeof(MRMAMIVILLAGE)); ModelReplacementAPI.RegisterSuitModelReplacement("Sukuna", typeof(MRSUKUNA)); ModelReplacementAPI.RegisterSuitModelReplacement("Sekibanki", typeof(MRSEKIBANKI)); ModelReplacementAPI.RegisterSuitModelReplacement("Rin Alt", typeof(MRRINALT)); ModelReplacementAPI.RegisterSuitModelReplacement("Raiko", typeof(MRRAIKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Iku", typeof(MRIKU)); ModelReplacementAPI.RegisterSuitModelReplacement("Nazrin", typeof(MRNAZRIN)); ModelReplacementAPI.RegisterSuitModelReplacement("Ichirin", typeof(MRICHIRIN)); ModelReplacementAPI.RegisterSuitModelReplacement("Murasa", typeof(MRMURASA)); Harmony val = new Harmony("Shen.TouhouModels"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin Shen.TouhouModels is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "TouhouModels"; 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) { } } }