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 Chory Breddy plussome v5.0.0
Chuck4Life.dll
Decompiled a year 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 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("Chuck4Life")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Chuck4Life")] [assembly: AssemblyTitle("Chuck4Life")] [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; } } } public class DRUGBIRD : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "DrugBird"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class ELF : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Elf"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MUMAN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "MuMan"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class RADMAN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Radman"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class RAT : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Rat"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class SMELLYTESTFBX : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Smellytestfbx"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class CHORY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Chory"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class VTWOLC : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "vTwoLC"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class GLAMROCKCHICA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "GlamrockChica"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class LCBLUE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "LCBLue"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MONTY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Monty"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class FILLER : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "FILLER"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class LATINA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Latina"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class FANCYFART : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "FancyFart"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class PJS : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PJS"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class OVERALLS : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Overalls"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class COZYTWO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "CozyTwo"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MAMALOVE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Mamalove"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class CUTIE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Cutie"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class ADORABLE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Adorable"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class HIPTWO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "HipTwo"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class NURSETWO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NurseTwo"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MANBABY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "ManBaby"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class BIMBOOB : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "BimBoob"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class XANDRATWO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "XandraTwo"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class GAMER : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "GAMER"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class PIMP : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Pimp"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class OLDTESTTHREE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "OldTESTThree"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class SLAYT : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "SLAYT"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class LMAO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "LMAO"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class ARMYCHICK : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "ArmyChick"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class COFFEE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Coffee"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class BEKIND : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "BeKind"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class FANCYBIRDIE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "FancyBirdie"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class LIGHTTEST : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "LightTEST"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class FINALTOOTH : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "FinalTOOTH"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class WORKMUMU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "WorkMumu"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class WORKRAD : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "WorkRad"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class SNOWMAN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Snowman"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class SNOWGUY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Snowguy"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } namespace ModelReplacement { public class MRGLAMROCKFREDDY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Glamrock freddy"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRSHATCHICABLEND : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "ShatChicablend"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class WET_FLOOR_V7 : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Wet_floor_v7"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MOUSEMOUSE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Mousemouse"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class FINALNAIL : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Finalnail"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class FRED : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Fred"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class RICK : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Rick"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class WINTER : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Winter"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("com.heronboy.choryandfreddy", "Chory and Breddy Bradbear", "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", "Default,Orange suit", "Enter a comma separated list of suit names.(Additionally, [Green suit,Pajama suit,Hazard suit])"); } private void Awake() { //IL_0486: Unknown result type (might be due to invalid IL or missing references) //IL_048c: Expected O, but got Unknown config = ((BaseUnityPlugin)this).Config; InitConfig(); Assets.PopulateAssets(); if (enableModelForAllSuits.Value) { ModelReplacementAPI.RegisterModelReplacementOverride(typeof(MRGLAMROCKFREDDY)); } if (enableModelAsDefault.Value) { ModelReplacementAPI.RegisterModelReplacementDefault(typeof(MRGLAMROCKFREDDY)); } string[] array = suitNamesToEnableModel.Value.Split(','); string[] array2 = array; foreach (string text in array2) { ModelReplacementAPI.RegisterSuitModelReplacement("FNAF Freddy", typeof(MRGLAMROCKFREDDY)); ModelReplacementAPI.RegisterSuitModelReplacement("FNAF Shattered Chica", typeof(MRSHATCHICABLEND)); ModelReplacementAPI.RegisterSuitModelReplacement("FNAF Wet Floor Bot", typeof(WET_FLOOR_V7)); ModelReplacementAPI.RegisterSuitModelReplacement("Other Minnie Min", typeof(MOUSEMOUSE)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel OG", typeof(FINALNAIL)); ModelReplacementAPI.RegisterSuitModelReplacement("FNAF HAR HAR HAR HAR HAR", typeof(FRED)); ModelReplacementAPI.RegisterSuitModelReplacement("FNAF Ricky", typeof(RICK)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Heavy Smoker", typeof(DRUGBIRD)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Elf", typeof(ELF)); ModelReplacementAPI.RegisterSuitModelReplacement("BG Radmoonkie", typeof(RADMAN)); ModelReplacementAPI.RegisterSuitModelReplacement("BG Mumu", typeof(MUMAN)); ModelReplacementAPI.RegisterSuitModelReplacement("Other Silly", typeof(RAT)); ModelReplacementAPI.RegisterSuitModelReplacement("Other Stinky", typeof(SMELLYTESTFBX)); ModelReplacementAPI.RegisterSuitModelReplacement("FNAF Perhaps a little silly", typeof(CHORY)); ModelReplacementAPI.RegisterSuitModelReplacement("Blank", typeof(VTWOLC)); ModelReplacementAPI.RegisterSuitModelReplacement("FNAF Chica", typeof(GLAMROCKCHICA)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Winter", typeof(WINTER)); ModelReplacementAPI.RegisterSuitModelReplacement("FNAF Monty", typeof(MONTY)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel", typeof(FINALTOOTH)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Hay", typeof(OVERALLS)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Fake Drip", typeof(LATINA)); ModelReplacementAPI.RegisterSuitModelReplacement("Other Fancy", typeof(FANCYFART)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Sleepy", typeof(PJS)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Confetti", typeof(GAMER)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Cozy", typeof(COZYTWO)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Love Coach", typeof(MAMALOVE)); ModelReplacementAPI.RegisterSuitModelReplacement("BG Adorable", typeof(ADORABLE)); ModelReplacementAPI.RegisterSuitModelReplacement("BG Cutie", typeof(CUTIE)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Hippie", typeof(HIPTWO)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Nurse", typeof(NURSETWO)); ModelReplacementAPI.RegisterSuitModelReplacement("Other Baby Eater", typeof(MANBABY)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Bubblegum", typeof(BIMBOOB)); ModelReplacementAPI.RegisterSuitModelReplacement("BG Xandra", typeof(XANDRATWO)); ModelReplacementAPI.RegisterSuitModelReplacement("Blank3", typeof(OLDTESTTHREE)); ModelReplacementAPI.RegisterSuitModelReplacement("BG Pimp", typeof(PIMP)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Hat", typeof(SLAYT)); ModelReplacementAPI.RegisterSuitModelReplacement("Big Bertha", typeof(LMAO)); ModelReplacementAPI.RegisterSuitModelReplacement("Weird Frog", typeof(LMAO)); ModelReplacementAPI.RegisterSuitModelReplacement("Rat Maid", typeof(LMAO)); ModelReplacementAPI.RegisterSuitModelReplacement("Bg Shock", typeof(SNOWGUY)); ModelReplacementAPI.RegisterSuitModelReplacement("BG Chill", typeof(SNOWMAN)); ModelReplacementAPI.RegisterSuitModelReplacement("BG Worker Mumu", typeof(WORKMUMU)); ModelReplacementAPI.RegisterSuitModelReplacement("BG Worker Rad", typeof(WORKRAD)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Light Test", typeof(LIGHTTEST)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Fancy", typeof(FANCYBIRDIE)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Be Kind", typeof(BEKIND)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Maid", typeof(COFFEE)); ModelReplacementAPI.RegisterSuitModelReplacement("Caramel Glory", typeof(ARMYCHICK)); } Harmony val = new Harmony("com.heronboy.choryandfreddy"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin com.heronboy.choryandfreddy is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "Charles4Life"; 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) { } } }