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 HGStyledSurvivors v1.0.0
HGStyledSurvivors.dll
Decompiled 2 years agousing System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using HG.Reflection; using Mordekaiser; using R2API; using R2API.Utils; using RoR2; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: OptIn] [assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = "")] [assembly: AssemblyCompany("HGStyledSurvivors")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("HGStyledSurvivors")] [assembly: AssemblyTitle("HGStyledSurvivors")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace HGStyledSurvivors; internal class Assets { public static AssetBundle MainAssetBundle; public static T Load<T>(string name) where T : Object { return MainAssetBundle.LoadAsset<T>(name); } public static void PopulateAssets() { Assembly executingAssembly = Assembly.GetExecutingAssembly(); if ((Object)(object)MainAssetBundle == (Object)null) { using (Stream stream = executingAssembly.GetManifestResourceStream("HGStyledSurvivors.AssetBundle.hgstyled")) { MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.Dragonyck.HGStyledSurvivors", "HGStyledSurvivors", "1.0.0")] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] public class MainPlugin : BaseUnityPlugin { public const string MODUID = "com.Dragonyck.HGStyledSurvivors"; public const string MODNAME = "HGStyledSurvivors"; public const string VERSION = "1.0.0"; private void Awake() { Assets.PopulateAssets(); } private void Start() { if (ModCompat.MordekaiserEnabled) { ModCompat.AddMordSkin(); } } } public static class ModCompat { private static bool? mordEnabled; public static bool MordekaiserEnabled { get { if (!mordEnabled.HasValue) { mordEnabled = Chainloader.PluginInfos.ContainsKey("com.Dragonyck.Mordekaiser"); } return mordEnabled.Value; } } public static void AddMordSkin() { //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_0296: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: Unknown result type (might be due to invalid IL or missing references) //IL_02d1: Unknown result type (might be due to invalid IL or missing references) //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_02f8: Unknown result type (might be due to invalid IL or missing references) //IL_0301: Unknown result type (might be due to invalid IL or missing references) //IL_0326: Unknown result type (might be due to invalid IL or missing references) //IL_0328: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) ModelSkinController componentInChildren = Assets.MainAssetBundle.LoadAsset<GameObject>("Assets/MordekaiserAssets/mordekaiser.prefab").GetComponentInChildren<ModelSkinController>(); RendererInfo[] rendererInfos = componentInChildren.skins[0].rendererInfos; SkinDef val = componentInChildren.skins[8]; componentInChildren.skins = (SkinDef[])(object)new SkinDef[1] { val }; List<Renderer> list = new List<Renderer>(); RendererInfo[] rendererInfos2 = val.rendererInfos; foreach (RendererInfo val2 in rendererInfos2) { string name = ((Object)val2.renderer).name; if (name.Contains("skin13")) { list.Add(val2.renderer); val2.defaultMaterial.SetTexture("_MainTex", (Texture)(object)Assets.Load<Texture2D>("main")); } } Material[] array = (Material[])(object)new Material[2]; Renderer[] componentsInChildren = ((Component)componentInChildren).GetComponentsInChildren<Renderer>(); foreach (Renderer val3 in componentsInChildren) { string name2 = ((Object)val3).name; if (name2 == "skin13BodyFX" || name2 == "skin13FX") { val3.sharedMaterials[0].SetTexture("_MainTex", (Texture)(object)Assets.Load<Texture2D>("fx")); val3.sharedMaterials[0].SetColor("_Color", new Color(0f, 0.86274f, 1f, 0.2549f)); val3.sharedMaterials[0].SetFloat("_Emission", 2f); val3.sharedMaterials[1].SetColor("_Color", new Color(0.69411f, 1f, 0.89411f)); array[0] = val3.sharedMaterials[0]; array[1] = val3.sharedMaterials[1]; } } Renderer renderer = rendererInfos[1].renderer; renderer.sharedMaterials = array; rendererInfos = rendererInfos.Where((RendererInfo x, int index) => index != 2).ToArray(); val.nameToken = "Default"; val.icon = LoadoutAPI.CreateSkinIcon(new Color(46f / 85f, 46f / 51f, 32f / 51f), new Color(0.7450981f, 37f / 51f, 0.7686275f), new Color(0.2f, 0.1647059f, 0.2235294f), new Color(0.4f, 0.3686275f, 0.4392157f)); val.meshReplacements = (MeshReplacement[])(object)new MeshReplacement[4] { new MeshReplacement { mesh = Assets.Load<Mesh>("skin13Crown"), renderer = renderer }, new MeshReplacement { mesh = Assets.Load<Mesh>("skin13Body"), renderer = list[0] }, new MeshReplacement { mesh = Assets.Load<Mesh>("skin13Mace"), renderer = list[1] }, new MeshReplacement { mesh = Assets.Load<Mesh>("skin13Module"), renderer = list[2] } }; MainPlugin.characterPrefab.GetComponent<CharacterBody>().portraitIcon = (Texture)(object)Assets.Load<Sprite>("portrait").texture; } }