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 RoR2;
using RoR2.Skills;
using UnityEngine;
using UnityEngine.AddressableAssets;
[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("Bite")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Bite")]
[assembly: AssemblyTitle("Bite")]
[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 Bite
{
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("com.sixfears7.M1BitePlus", "M1BitePlus", "1.1.0")]
public class M1Bite : BaseUnityPlugin
{
private GameObject acridBodyPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Croco/CrocoBody.prefab").WaitForCompletion();
public static ConfigEntry<bool> m1Bite { get; set; }
public static ConfigEntry<bool> m1Spit { get; set; }
public static ConfigEntry<float> changeBiteAttackSpeed { get; set; }
public static ConfigEntry<float> changeSpitAttackSpeed { get; set; }
public void Awake()
{
//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
//IL_0160: Unknown result type (might be due to invalid IL or missing references)
//IL_019a: Unknown result type (might be due to invalid IL or missing references)
//IL_01a4: Expected O, but got Unknown
//IL_01a9: Unknown result type (might be due to invalid IL or missing references)
//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
//IL_0242: Unknown result type (might be due to invalid IL or missing references)
//IL_027c: Unknown result type (might be due to invalid IL or missing references)
//IL_0286: Expected O, but got Unknown
//IL_028b: Unknown result type (might be due to invalid IL or missing references)
//IL_028d: Unknown result type (might be due to invalid IL or missing references)
Debug.Log((object)"Setting Configs");
m1Bite = ((BaseUnityPlugin)this).Config.Bind<bool>("M1BitePlus", "Bite", true, "Makes Bite a Primary");
changeBiteAttackSpeed = ((BaseUnityPlugin)this).Config.Bind<float>("M1BitePlus", "Bite Recharge", 0f, "Base recharge interval for Bite");
changeSpitAttackSpeed = ((BaseUnityPlugin)this).Config.Bind<float>("M1BitePlus+", "Spit Recharge", 2f, "Base recharge interval for Spit");
m1Spit = ((BaseUnityPlugin)this).Config.Bind<bool>("M1BitePlus", "Spit", false, "Makes Spit a Primary");
Debug.Log((object)"1");
SkillLocator component = acridBodyPrefab.GetComponent<SkillLocator>();
SkillFamily skillFamily = component.primary.skillFamily;
SkillFamily skillFamily2 = component.secondary.skillFamily;
GameObject val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Croco/CrocoBody.prefab").WaitForCompletion();
for (int i = 0; i < skillFamily2.variants.Length; i++)
{
if (skillFamily2.variants[i].skillDef.skillName == "CrocoBite")
{
skillFamily2.variants[i].skillDef.baseRechargeInterval = changeBiteAttackSpeed.Value;
Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1);
Variant[] variants = skillFamily.variants;
int num = skillFamily.variants.Length - 1;
Variant val2 = default(Variant);
val2.skillDef = skillFamily2.variants[i].skillDef;
((Variant)(ref val2)).viewableNode = new Node(skillFamily2.variants[i].skillDef.skillNameToken, false, (Node)null);
variants[num] = val2;
}
if (skillFamily2.variants[i].skillDef.skillName == "CrocoSpit")
{
skillFamily2.variants[i].skillDef.baseRechargeInterval = changeSpitAttackSpeed.Value;
if (m1Spit.Value)
{
Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1);
Variant[] variants2 = skillFamily.variants;
int num2 = skillFamily.variants.Length - 1;
Variant val3 = default(Variant);
val3.skillDef = skillFamily2.variants[i].skillDef;
((Variant)(ref val3)).viewableNode = new Node(skillFamily2.variants[i].skillDef.skillNameToken, false, (Node)null);
variants2[num2] = val3;
}
}
}
}
}
}