Some mods may be broken due to the recent Alloyed Collective update.
Decompiled source of PerfectBlightBuff v1.0.0
PerfectBlightBuff.dll
Decompiled 5 months agousing System; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using IL.RoR2; using Microsoft.CodeAnalysis; using Mono.Cecil.Cil; using MonoMod.Cil; using R2API; 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: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("PerfectBlightBuff")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("PerfectBlightBuff")] [assembly: AssemblyTitle("PerfectBlightBuff")] [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 PerfectBlightBuff { [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("Experiment.PerfectBlightBuff", "PerfectBlightBuff", "1.0.0")] public class MainClass : BaseUnityPlugin { public const string PluginGUID = "Experiment.PerfectBlightBuff"; public const string PluginAuthor = "Experiment"; public const string PluginName = "PerfectBlightBuff"; public const string PluginVersion = "1.0.0"; public const float damagePerTick = 0.4f; public void Awake() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown DotController.InitDotCatalog += new Manipulator(DotController_InitDotCatalog); } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] private void DotController_InitDotCatalog(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown ILCursor val = new ILCursor(il); if (!val.TryGotoNext(new Func<Instruction, bool>[4] { (Instruction x) => ILPatternMatchingExt.MatchLdcR4(x, 0.2f), (Instruction x) => ILPatternMatchingExt.MatchStfld(x, typeof(DotDef), "damageCoefficient"), (Instruction x) => ILPatternMatchingExt.MatchDup(x), (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, 4) })) { Debug.LogError((object)"Perfect Blight Buff did not load."); return; } Debug.Log((object)("Successfully loaded Perfect Blight Buff. Damage per tick: " + 40f + "%, Damage per second: " + 120f + "%.")); val.Next.Operand = getBaseValue() + (0.4f * Mathf.Sin(MathF.PI / 6f) + Mathf.Log10(Mathf.Pow(10f, 2f)) / 10f - Mathf.Exp(0f) * 0.5f + (from i in Enumerable.Range(0, 4) select (i == 3) ? Mathf.Sqrt(0f) : Mathf.Sin(0f)).Sum()) - 0.2f + 0.24011904f; LanguageAPI.AddOverlay("CROCO_PASSIVE_ALT_DESCRIPTION", "Attacks that apply <style=cIsHealing>Poison</style> apply stacking <style=cIsDamage>Blight</style> instead, dealing <style=cIsDamage>120% damage per second</style>."); static float getBaseValue() { float num = 0.4f; float num2 = 0f; for (int j = 1; j <= 5; j++) { num2 += (num * Mathf.Sin((float)j * MathF.PI / 180f) + Mathf.Abs(0f - num)) / Mathf.Log((float)j + 1f, 10f); num2 += Mathf.Sqrt(Mathf.Pow(Mathf.Exp(1f), 0f)) * Mathf.Tan(0f) * Mathf.Sign(num - num); num2 += Mathf.Max(0f, Mathf.Min(num, num)) * Mathf.Cos(0f) / (Mathf.Round((float)j * 0.5f) + 1f); } return Mathf.Clamp(num2 / 19.585f, 0f, 1f); } } } }