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 VerdantFallsReshaded v1.0.3
VerdantReshade.dll
Decompiled 2 years agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using Rewired.ComponentControls.Effects; using RoR2; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Rendering.PostProcessing; using UnityEngine.SceneManagement; [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 = "")] [assembly: AssemblyCompany("VerdantReshade")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("VerdantReshade")] [assembly: AssemblyTitle("VerdantReshade")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: UnverifiableCode] namespace VerdantReshade; internal class Hook { internal static void Hooks() { SceneManager.sceneLoaded += SceneManager_sceneLoaded; } private static void SceneManager_sceneLoaded(Scene scene, LoadSceneMode sceneMode) { //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Expected O, but got Unknown //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) if (((Scene)(ref scene)).name == "lakes") { GameObject[] rootGameObjects = ((Scene)(ref scene)).GetRootGameObjects(); GameObject val = rootGameObjects[2]; Transform child = val.transform.GetChild(0); if (MainPlugin.enableParticles.Value) { GameObject val2 = Object.Instantiate<GameObject>(Prefabs.particles, child); val2.transform.localPosition = new Vector3(10f, 150f, 0f); } if (MainPlugin.enableLights.Value) { GameObject val3 = new GameObject("FlowerLight", new Type[1] { typeof(Light) }); val3.transform.parent = child; val3.transform.localPosition = new Vector3(0f, 450f, 0f); Light component = val3.GetComponent<Light>(); component.range = 1000f; component.intensity = 0.4f; component.color = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)243, (byte)213, byte.MaxValue)); } if (MainPlugin.disableBackground.Value) { ((Component)val.transform.GetChild(10)).gameObject.SetActive(false); } if (MainPlugin.enableParticles.Value) { Object.Instantiate<GameObject>(Prefabs.particles, new Vector3(80f, 80f, -110f), Quaternion.identity, child).transform.localScale = new Vector3(-6f, 6f, 6f); Object.Instantiate<GameObject>(Prefabs.particles, new Vector3(-80f, 80f, -110f), Quaternion.identity, child).transform.localScale = new Vector3(8f, 8f, 8f); } GameObject val4 = rootGameObjects[15]; PostProcessVolume componentInChildren = val4.GetComponentInChildren<PostProcessVolume>(); componentInChildren.profile = Prefabs.profile; componentInChildren.sharedProfile = Prefabs.profile; componentInChildren.priority = 1f; Object.Destroy((Object)(object)((Component)componentInChildren).GetComponent<SetAmbientLight>()); if (MainPlugin.enableClouds.Value) { GameObject gameObject = ((Component)val4.transform.GetChild(4)).gameObject; RotateAroundAxis val5 = gameObject.AddComponent<RotateAroundAxis>(); val5.speed = (Speed)1; val5.slowRotationSpeed = 1f; val5.rotateAroundAxis = (RotationAxis)1; ((Component)componentInChildren).gameObject.SetActive(false); ((Component)componentInChildren).gameObject.SetActive(true); } } } } [BepInPlugin("com.Dragonyck.VerdantReshade", "VerdantReshade", "1.0.3")] public class MainPlugin : BaseUnityPlugin { public const string MODUID = "com.Dragonyck.VerdantReshade"; public const string MODNAME = "VerdantReshade"; public const string VERSION = "1.0.3"; internal static ConfigEntry<bool> disableBackground; internal static ConfigEntry<bool> enableLights; internal static ConfigEntry<bool> enableClouds; internal static ConfigEntry<bool> enableParticles; private void Awake() { disableBackground = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Disable Background Terrain", true, "Disables background planes."); enableLights = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enable Big Flower Subtle Light", true, "Enables lights around the beeg flower."); enableClouds = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enable Cloud Improvements", true, "Increased Opacity and move slowly."); enableParticles = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enable Flower Particles", true, "The little fairies flying around it."); Prefabs.CreatePrefabs(); Hook.Hooks(); } } internal class Prefabs { internal static PostProcessProfile profile; internal static GameObject particles; internal static T Load<T>(string path) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) return Addressables.LoadAssetAsync<T>((object)path).WaitForCompletion(); } internal static void CreatePrefabs() { //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected O, but got Unknown //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Expected O, but got Unknown //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Expected O, but got Unknown //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Expected O, but got Unknown //IL_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Unknown result type (might be due to invalid IL or missing references) //IL_033a: Unknown result type (might be due to invalid IL or missing references) PostProcessProfile val = Load<PostProcessProfile>("RoR2/DLC2/lakes/ppSceneTL.asset"); profile = Object.Instantiate<PostProcessProfile>(Load<PostProcessProfile>("RoR2/Base/title/PostProcessing/ppLocalMagmaWorm.asset")); ((Object)profile).name = "ppScenePrettyLakes"; List<PostProcessEffectSettings> settings = profile.settings; Bloom val2 = (Bloom)settings[0]; ((ParameterOverride<float>)(object)val2.intensity).value = 1.5f; ((ParameterOverride)val2.threshold).overrideState = true; ((ParameterOverride<float>)(object)val2.threshold).value = 0.2f; ((ParameterOverride<Color>)(object)val2.color).value = Color32.op_Implicit(new Color32((byte)199, (byte)191, (byte)125, byte.MaxValue)); ColorGrading val3 = (ColorGrading)settings[1]; ((ParameterOverride)val3.temperature).overrideState = false; ((ParameterOverride)val3.colorFilter).overrideState = true; ((ParameterOverride<Color>)(object)val3.colorFilter).value = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)171, (byte)204, byte.MaxValue)); ((ParameterOverride)val3.saturation).overrideState = true; ((ParameterOverride<float>)(object)val3.saturation).value = 5f; ((ParameterOverride)val3.contrast).overrideState = true; ((ParameterOverride<float>)(object)val3.contrast).value = 10f; RampFog val4 = ScriptableObject.CreateInstance<RampFog>(); ((PostProcessEffectSettings)val4).active = true; ((ParameterOverride)((PostProcessEffectSettings)val4).enabled).overrideState = true; ((ParameterOverride<bool>)(object)((PostProcessEffectSettings)val4).enabled).value = true; ((ParameterOverride)val4.fogPower).overrideState = false; ((ParameterOverride)val4.fogZero).overrideState = false; ((ParameterOverride)val4.fogHeightStart).overrideState = false; ((ParameterOverride)val4.fogHeightEnd).overrideState = false; ((ParameterOverride)val4.fogHeightIntensity).overrideState = false; ((ParameterOverride)val4.fogColorStart).overrideState = false; ((ParameterOverride)val4.skyboxStrength).overrideState = false; ((ParameterOverride<Color>)(object)val4.fogColorMid).value = Color32.op_Implicit(new Color32((byte)87, (byte)30, (byte)74, (byte)105)); ((ParameterOverride<Color>)(object)val4.fogColorEnd).value = Color32.op_Implicit(new Color32((byte)61, (byte)28, (byte)53, (byte)234)); ((ParameterOverride<float>)(object)val4.fogIntensity).value = 0.3f; if (MainPlugin.enableClouds.Value) { Load<Material>("RoR2/DLC2/lakes/Assets/matTLCloud.mat").SetFloat("_AlphaBoost", 0.228f); } Load<Material>("RoR2/DLC2/lakes/Assets/matTLTerrainCliff.mat").SetFloat("_RedChannelSpecularStrength", 0.1f); GameObject val5 = new GameObject("dontDestroyOnLoad"); val5.SetActive(false); Object.DontDestroyOnLoad((Object)(object)val5); if (MainPlugin.enableParticles.Value) { particles = Object.Instantiate<GameObject>(((Component)Load<GameObject>("RoR2/Base/Teleporters/Teleporter1.prefab").GetComponentInChildren<ParticleSystem>()).gameObject, val5.transform); ParticleSystemRenderer component = particles.GetComponent<ParticleSystemRenderer>(); ((Renderer)component).material = new Material(((Renderer)component).material); ((Renderer)component).material.SetColor("_TintColor", Color32.op_Implicit(new Color32((byte)193, (byte)69, (byte)166, (byte)190))); ((Renderer)component).material.SetTexture("_MainTex", (Texture)(object)Load<Texture2D>("RoR2/Base/Common/VFX/texOmniHitspark2Mask.png")); ((Renderer)component).material.SetTexture("_RemapTex", (Texture)(object)Load<Texture2D>("RoR2/Base/Common/ColorRamps/texRampAreaIndicator.png")); ((Renderer)component).material.DisableKeyword("VERTEXCOLOR"); ParticleSystem component2 = particles.GetComponent<ParticleSystem>(); MainModule main = component2.main; ((MainModule)(ref main)).startSizeMultiplier = 0.1f; } } }