using System;
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.Logging;
using Microsoft.CodeAnalysis;
using On.RoR2;
using RoR2;
using UnityEngine;
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.0", FrameworkDisplayName = ".NET Standard 2.0")]
[assembly: AssemblyCompany("AntlersDecay")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("AntlersDecay")]
[assembly: AssemblyTitle("AntlersDecay")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace AntlersDecay
{
[BepInPlugin("HIFU.AntlersDecay", "AntlersDecay", "1.1.0")]
public class Main : BaseUnityPlugin
{
public const string PluginGUID = "HIFU.AntlersDecay";
public const string PluginAuthor = "HIFU";
public const string PluginName = "AntlersDecay";
public const string PluginVersion = "1.1.0";
public static ManualLogSource adLogger;
public static GameObject ppHolder;
public static GameObject ppHolderUI;
public static Color32 rallypointDeltaColor = new Color32((byte)187, (byte)236, byte.MaxValue, byte.MaxValue);
public static Color32 titanicPlainsColor = new Color32((byte)238, (byte)238, (byte)238, byte.MaxValue);
public static Color32 commencementStartColor = new Color32((byte)70, (byte)83, (byte)120, byte.MaxValue);
public static Color32 commencementMidColor = new Color32((byte)37, (byte)43, (byte)52, (byte)125);
public static Color32 grayColor = new Color32((byte)174, (byte)174, (byte)174, byte.MaxValue);
public void Awake()
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected O, but got Unknown
adLogger = ((BaseUnityPlugin)this).Logger;
if (ppHolder == null)
{
ppHolder = InitPP("AntlersDecay");
}
Highlight.Awake += new hook_Awake(Highlight_Awake);
SceneManager.sceneLoaded += SceneManager_sceneLoaded;
}
private void SceneManager_sceneLoaded(Scene scene, LoadSceneMode arg1)
{
string name = ((Scene)(ref scene)).name;
SwitchPP(name);
}
private void Highlight_Awake(orig_Awake orig, Highlight self)
{
orig.Invoke(self);
self.strength = 0.75f;
}
public static void SwitchPP(string sceneName)
{
//IL_0772: Unknown result type (might be due to invalid IL or missing references)
//IL_0777: Unknown result type (might be due to invalid IL or missing references)
//IL_0591: Unknown result type (might be due to invalid IL or missing references)
//IL_0596: Unknown result type (might be due to invalid IL or missing references)
//IL_059b: Unknown result type (might be due to invalid IL or missing references)
//IL_05cb: Unknown result type (might be due to invalid IL or missing references)
//IL_05d0: Unknown result type (might be due to invalid IL or missing references)
//IL_0421: Unknown result type (might be due to invalid IL or missing references)
//IL_0426: Unknown result type (might be due to invalid IL or missing references)
//IL_042b: Unknown result type (might be due to invalid IL or missing references)
//IL_030e: Unknown result type (might be due to invalid IL or missing references)
//IL_0313: Unknown result type (might be due to invalid IL or missing references)
//IL_0557: Unknown result type (might be due to invalid IL or missing references)
//IL_055c: Unknown result type (might be due to invalid IL or missing references)
//IL_0561: Unknown result type (might be due to invalid IL or missing references)
//IL_0635: Unknown result type (might be due to invalid IL or missing references)
//IL_063a: Unknown result type (might be due to invalid IL or missing references)
//IL_06d9: Unknown result type (might be due to invalid IL or missing references)
//IL_06de: Unknown result type (might be due to invalid IL or missing references)
//IL_0740: Unknown result type (might be due to invalid IL or missing references)
//IL_0745: Unknown result type (might be due to invalid IL or missing references)
//IL_0378: Unknown result type (might be due to invalid IL or missing references)
//IL_037d: Unknown result type (might be due to invalid IL or missing references)
//IL_06a4: Unknown result type (might be due to invalid IL or missing references)
//IL_06a9: Unknown result type (might be due to invalid IL or missing references)
//IL_048c: Unknown result type (might be due to invalid IL or missing references)
//IL_0491: Unknown result type (might be due to invalid IL or missing references)
//IL_0496: Unknown result type (might be due to invalid IL or missing references)
//IL_04a2: Unknown result type (might be due to invalid IL or missing references)
//IL_04a7: Unknown result type (might be due to invalid IL or missing references)
//IL_04ac: Unknown result type (might be due to invalid IL or missing references)
//IL_04d1: Unknown result type (might be due to invalid IL or missing references)
//IL_04d6: Unknown result type (might be due to invalid IL or missing references)
//IL_04db: Unknown result type (might be due to invalid IL or missing references)
//IL_04ed: Unknown result type (might be due to invalid IL or missing references)
//IL_04f2: Unknown result type (might be due to invalid IL or missing references)
//IL_04f7: Unknown result type (might be due to invalid IL or missing references)
//IL_0522: Unknown result type (might be due to invalid IL or missing references)
//IL_0527: Unknown result type (might be due to invalid IL or missing references)
//IL_0600: Unknown result type (might be due to invalid IL or missing references)
//IL_0605: Unknown result type (might be due to invalid IL or missing references)
//IL_03e7: Unknown result type (might be due to invalid IL or missing references)
//IL_03ec: Unknown result type (might be due to invalid IL or missing references)
//IL_03f1: Unknown result type (might be due to invalid IL or missing references)
//IL_0343: Unknown result type (might be due to invalid IL or missing references)
//IL_0348: Unknown result type (might be due to invalid IL or missing references)
//IL_03ad: Unknown result type (might be due to invalid IL or missing references)
//IL_03b2: Unknown result type (might be due to invalid IL or missing references)
//IL_03b7: Unknown result type (might be due to invalid IL or missing references)
//IL_066a: Unknown result type (might be due to invalid IL or missing references)
//IL_066f: Unknown result type (might be due to invalid IL or missing references)
//IL_0674: Unknown result type (might be due to invalid IL or missing references)
//IL_070e: Unknown result type (might be due to invalid IL or missing references)
//IL_0713: Unknown result type (might be due to invalid IL or missing references)
PostProcessProfile profile = ppHolder.GetComponent<PostProcessVolume>().profile;
((Object)profile).name = sceneName + " | Antler's Decay";
ColorGrading setting = profile.GetSetting<ColorGrading>();
adLogger.LogDebug((object)("color grading is " + (object)setting));
switch (sceneName)
{
case "dampcavesimple":
((ParameterOverride<float>)(object)setting.saturation).value = -64f;
((ParameterOverride<float>)(object)setting.contrast).value = 20f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
case "wispgraveyard":
((ParameterOverride<float>)(object)setting.saturation).value = -30f;
((ParameterOverride<float>)(object)setting.contrast).value = 5f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
case "rootjungle":
((ParameterOverride<float>)(object)setting.saturation).value = -40f;
((ParameterOverride<float>)(object)setting.contrast).value = 0f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
case "frozenwall":
((ParameterOverride<float>)(object)setting.saturation).value = 0f;
((ParameterOverride<float>)(object)setting.contrast).value = 15f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color32.op_Implicit(rallypointDeltaColor);
break;
case "golemplains":
((ParameterOverride<float>)(object)setting.contrast).value = 25f;
((ParameterOverride<float>)(object)setting.saturation).value = -30f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color32.op_Implicit(titanicPlainsColor);
break;
case "golemplains2":
((ParameterOverride<float>)(object)setting.contrast).value = 25f;
((ParameterOverride<float>)(object)setting.saturation).value = -30f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color32.op_Implicit(titanicPlainsColor);
break;
case "moon2":
{
Transform child = GameObject.Find("HOLDER: Gameplay Space").transform.GetChild(0).Find("Quadrant 4: Starting Temple").GetChild(0)
.GetChild(0)
.Find("FX")
.GetChild(0);
PostProcessVolume component = ((Component)child).GetComponent<PostProcessVolume>();
RampFog setting2 = component.profile.GetSetting<RampFog>();
((ParameterOverride<Color>)(object)setting2.fogColorStart).value = Color32.op_Implicit(commencementStartColor);
((ParameterOverride<Color>)(object)setting2.fogColorMid).value = Color32.op_Implicit(commencementMidColor);
component.weight = 0.68f;
HookLightingIntoPostProcessVolume component2 = ((Component)child).GetComponent<HookLightingIntoPostProcessVolume>();
component2.overrideAmbientColor = Color32.op_Implicit(new Color32((byte)71, (byte)71, (byte)81, byte.MaxValue));
component2.overrideDirectionalColor = Color32.op_Implicit(new Color32((byte)41, (byte)34, (byte)41, byte.MaxValue));
((ParameterOverride<float>)(object)setting.saturation).value = -10f;
((ParameterOverride<float>)(object)setting.contrast).value = 15f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
}
case "arena":
((ParameterOverride<float>)(object)setting.saturation).value = -30f;
((ParameterOverride<float>)(object)setting.contrast).value = 15f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color32.op_Implicit(grayColor);
break;
case "goolake":
((ParameterOverride<float>)(object)setting.contrast).value = 15f;
((ParameterOverride<float>)(object)setting.saturation).value = -20f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color32.op_Implicit(titanicPlainsColor);
break;
case "voidraid":
((ParameterOverride<float>)(object)setting.saturation).value = -30f;
((ParameterOverride<float>)(object)setting.contrast).value = 15f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
case "voidstage":
((ParameterOverride<float>)(object)setting.saturation).value = -20f;
((ParameterOverride<float>)(object)setting.contrast).value = 15f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
case "skymeadow":
((ParameterOverride<float>)(object)setting.saturation).value = -20f;
((ParameterOverride<float>)(object)setting.contrast).value = 5f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
case "foggyswamp":
((ParameterOverride<float>)(object)setting.contrast).value = 5f;
((ParameterOverride<float>)(object)setting.saturation).value = -30f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color32.op_Implicit(titanicPlainsColor);
break;
case "blackbeach":
((ParameterOverride<float>)(object)setting.saturation).value = -30f;
((ParameterOverride<float>)(object)setting.contrast).value = 10f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
case "blackbeach2":
((ParameterOverride<float>)(object)setting.saturation).value = -30f;
((ParameterOverride<float>)(object)setting.contrast).value = 10f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
case "sulfurpools":
((ParameterOverride<float>)(object)setting.saturation).value = -30f;
((ParameterOverride<float>)(object)setting.contrast).value = 5f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
case "shipgraveyard":
((ParameterOverride<float>)(object)setting.saturation).value = -20f;
((ParameterOverride<float>)(object)setting.contrast).value = 10f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
default:
((ParameterOverride<float>)(object)setting.saturation).value = -15f;
((ParameterOverride<float>)(object)setting.contrast).value = 15f;
((ParameterOverride<Color>)(object)setting.colorFilter).value = Color.white;
break;
}
}
public static GameObject InitPP(string name)
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0008: Expected O, but got Unknown
//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
//IL_00fa: Unknown result type (might be due to invalid IL or missing references)
//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
//IL_011e: Unknown result type (might be due to invalid IL or missing references)
//IL_0123: Unknown result type (might be due to invalid IL or missing references)
GameObject val = new GameObject(name);
Object.DontDestroyOnLoad((Object)(object)val);
val.layer = LayerIndex.postProcess.intVal;
val.AddComponent<AntlersDecayController>();
PostProcessVolume val2 = val.AddComponent<PostProcessVolume>();
Object.DontDestroyOnLoad((Object)(object)val2);
val2.isGlobal = true;
val2.weight = 1f;
val2.priority = float.MaxValue;
PostProcessProfile val3 = ScriptableObject.CreateInstance<PostProcessProfile>();
Object.DontDestroyOnLoad((Object)(object)val3);
((Object)val3).name = "pp" + name;
ColorGrading val4 = val3.AddSettings<ColorGrading>();
((PostProcessEffectSettings)val4).SetAllOverridesTo(true, true);
val2.sharedProfile = val3;
((ParameterOverride<bool>)(object)((PostProcessEffectSettings)val4).enabled).value = true;
((ParameterOverride<float>)(object)val4.saturation).value = -20f;
((ParameterOverride<float>)(object)val4.contrast).value = 30f;
((ParameterOverride<Tonemapper>)(object)val4.tonemapper).value = (Tonemapper)3;
((ParameterOverride<float>)(object)val4.toneCurveToeStrength).value = 1f;
((ParameterOverride<float>)(object)val4.toneCurveToeLength).value = 0.15f;
((ParameterOverride<Vector4>)(object)val4.lift).value = new Vector4(1f, 1f, 1.03f, 0f);
((ParameterOverride<Vector4>)(object)val4.gamma).value = new Vector4(1.15f, 1f, 1f, 0f);
Grain val5 = val3.AddSettings<Grain>();
((PostProcessEffectSettings)val5).SetAllOverridesTo(true, true);
((ParameterOverride<float>)(object)val5.intensity).value = 0.13f;
Bloom val6 = val3.AddSettings<Bloom>();
((PostProcessEffectSettings)val6).SetAllOverridesTo(true, true);
AmbientOcclusion val7 = val3.AddSettings<AmbientOcclusion>();
((PostProcessEffectSettings)val7).SetAllOverridesTo(true, true);
Vignette val8 = val3.AddSettings<Vignette>();
((PostProcessEffectSettings)val8).SetAllOverridesTo(true, true);
((ParameterOverride<float>)(object)val7.intensity).value = 0.3f;
((ParameterOverride<float>)(object)val7.radius).value = 0.25f;
((ParameterOverride<float>)(object)val7.thicknessModifier).value = 100f;
((ParameterOverride<float>)(object)val7.upsampleTolerance).value = 0f;
((ParameterOverride<float>)(object)val8.intensity).value = 0.2f;
return val;
}
}
public class AntlersDecayController : MonoBehaviour
{
public PostProcessVolume volume;
public void Start()
{
volume = ((Component)this).GetComponent<PostProcessVolume>();
}
}
}