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.Configuration;
using Microsoft.CodeAnalysis;
using On.RoR2;
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("BlightStacking")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+81264d99306aff2f692597793431f2b05c94a946")]
[assembly: AssemblyProduct("BlightStacking")]
[assembly: AssemblyTitle("BlightStacking")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
[module: UnverifiableCode]
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 AegisRemovesBarrierDecay
{
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("Wolfo.BlightStackingRefreshesDuration", "BlightStackingRefreshesDuration", "1.0.0")]
public class BlightStacking : BaseUnityPlugin
{
public static ConfigEntry<float> BlightDuration;
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.AddDot += new hook_AddDot(DotController_AddDot);
LanguageAPI.Add("CROCO_PASSIVE_ALT_DESCRIPTION", "<style=cIsHealing>Poisonous</style> attacks apply stacking <style=cIsDamage>Blight</style> instead, dealing <style=cIsDamage>60% damage per second</style>. Applying <style=cIsDamage>Blight refreshes</style> it's duraton.", "en");
BlightDuration = ((BaseUnityPlugin)this).Config.Bind<float>("Main", "Blight Refresh Duration", 5f, "Duration of refreshed blights. Would not change the duration if initial blights unless over vanilla full duration of 5.");
}
private void DotController_AddDot(orig_AddDot orig, DotController self, GameObject attackerObject, float duration, DotIndex dotIndex, float damageMultiplier, uint? maxStacksFromAttacker, float? totalDamage, DotIndex? preUpgradeDotIndex)
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_0019: Invalid comparison between Unknown and I4
//IL_003d: Unknown result type (might be due to invalid IL or missing references)
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
orig.Invoke(self, attackerObject, duration, dotIndex, damageMultiplier, maxStacksFromAttacker, totalDamage, preUpgradeDotIndex);
if ((int)dotIndex != 5)
{
return;
}
int i = 0;
for (int count = self.dotStackList.Count; i < count; i++)
{
if (self.dotStackList[i].dotIndex == dotIndex)
{
self.dotStackList[i].timer = Mathf.Max(self.dotStackList[i].timer, BlightDuration.Value);
}
}
}
}
}