using System;
using System.Collections.Generic;
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 BepInEx.Configuration;
using BepInEx.Logging;
using EntityStates;
using EntityStates.Bandit2.Weapon;
using EntityStates.Captain.Weapon;
using EntityStates.CaptainSupplyDrop;
using EntityStates.Chef;
using EntityStates.Commando.CommandoWeapon;
using EntityStates.Engi.EngiBubbleShield;
using EntityStates.Engi.Mine;
using EntityStates.EngiTurret.EngiTurretWeapon;
using EntityStates.FalseSon;
using EntityStates.Huntress;
using EntityStates.Huntress.HuntressWeapon;
using EntityStates.Huntress.Weapon;
using EntityStates.Loader;
using EntityStates.Mage;
using EntityStates.Mage.Weapon;
using EntityStates.Merc;
using EntityStates.Railgunner.Weapon;
using EntityStates.Seeker;
using EntityStates.Toolbot;
using EntityStates.Treebot.TreebotFlower;
using EntityStates.Treebot.Weapon;
using EntityStates.VoidSurvivor.Weapon;
using IL.RoR2;
using Microsoft.CodeAnalysis;
using Mono.Cecil.Cil;
using MonoMod.Cil;
using On.EntityStates.Bandit2.Weapon;
using On.EntityStates.Captain.Weapon;
using On.EntityStates.Chef;
using On.EntityStates.Engi.EngiBubbleShield;
using On.EntityStates.FalseSon;
using On.EntityStates.Huntress.HuntressWeapon;
using On.EntityStates.Huntress.Weapon;
using On.EntityStates.Loader;
using On.EntityStates.Merc;
using On.EntityStates.Railgunner.Weapon;
using On.EntityStates.Seeker;
using On.EntityStates.Toolbot;
using On.EntityStates.Treebot.TreebotFlower;
using On.EntityStates.Treebot.Weapon;
using On.EntityStates.VoidSurvivor.Weapon;
using On.RoR2;
using On.RoR2.Projectile;
using RoR2;
using RoR2.Orbs;
using RoR2.Projectile;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Networking;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("SurvivorTweaks")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("SurvivorTweaks")]
[assembly: AssemblyTitle("SurvivorTweaks")]
[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 SurvivorTweaks
{
internal static class Log
{
private static ManualLogSource _logSource;
internal static void Init(ManualLogSource logSource)
{
_logSource = logSource;
}
internal static void Debug(object data)
{
_logSource.LogDebug(data);
}
internal static void Error(object data)
{
_logSource.LogError(data);
}
internal static void Fatal(object data)
{
_logSource.LogFatal(data);
}
internal static void Info(object data)
{
_logSource.LogInfo(data);
}
internal static void Message(object data)
{
_logSource.LogMessage(data);
}
internal static void Warning(object data)
{
_logSource.LogWarning(data);
}
}
[BepInPlugin("Jeffdev.SurvivorTweaks", "SurvivorTweaks", "2.2.2")]
public class SurvivorTweaks : BaseUnityPlugin
{
[Serializable]
[CompilerGenerated]
private sealed class <>c
{
public static readonly <>c <>9 = new <>c();
public static hook_AuthorityModifyOverlapAttack <>9__311_3;
public static hook_OnEnter <>9__311_6;
public static hook_OnEnter <>9__311_7;
public static hook_OnProjectileFiredLocal <>9__311_8;
public static hook_RootPulse <>9__311_9;
public static hook_AuthorityModifyOverlapAttack <>9__311_10;
public static hook_OnEnter <>9__311_16;
public static hook_OnEnter <>9__311_17;
public static hook_OnEnter <>9__311_18;
public static hook_OnEnter <>9__311_19;
public static Func<Instruction, bool> <>9__311_25;
public static Manipulator <>9__311_20;
public static hook_OnEnter <>9__311_21;
public static hook_OnEnter <>9__311_22;
public static hook_OnEnter <>9__311_23;
public static Func<Instruction, bool> <>9__319_0;
public static Func<float, float> <>9__319_1;
public static Func<Instruction, bool> <>9__319_2;
public static Func<Instruction, bool> <>9__319_3;
public static Func<float, float> <>9__319_4;
public static Func<Instruction, bool> <>9__320_0;
public static Func<Instruction, bool> <>9__320_1;
public static Func<Instruction, bool> <>9__320_2;
public static Func<Instruction, bool> <>9__320_3;
public static Func<Instruction, bool> <>9__320_4;
public static Func<Instruction, bool> <>9__320_5;
public static Func<Instruction, bool> <>9__320_6;
public static Func<float, float> <>9__320_7;
public static Func<Instruction, bool> <>9__325_0;
internal void <Awake>b__311_3(orig_AuthorityModifyOverlapAttack orig, SlashBlade self, OverlapAttack overlapAttack)
{
overlapAttack.damage = (float)bandDaggerDmg.Value / 100f * ((BaseState)self).damageStat;
orig.Invoke(self, overlapAttack);
}
internal void <Awake>b__311_6(orig_OnEnter orig, ToolbotDash self)
{
self.speedMultiplier = multTransportMoveSpd.Value / 100;
orig.Invoke(self);
}
internal void <Awake>b__311_7(orig_OnEnter orig, Deployed self)
{
orig.Invoke(self);
BeginRapidlyActivatingAndDeactivating component = ((EntityState)self).gameObject.GetComponent<BeginRapidlyActivatingAndDeactivating>();
if (Object.op_Implicit((Object)(object)component))
{
((Behaviour)component).enabled = false;
}
}
internal void <Awake>b__311_8(orig_OnProjectileFiredLocal orig, AimMortar2 self)
{
if (self.healthCostFraction != 0f)
{
self.healthCostFraction = (float)rexSeedSelf.Value / 100f;
}
orig.Invoke(self);
}
internal void <Awake>b__311_9(orig_RootPulse orig, TreebotFlower2Projectile self)
{
self.procCoefficient = rexGrowthRootProc.Value;
orig.Invoke(self);
}
internal void <Awake>b__311_10(orig_AuthorityModifyOverlapAttack orig, SwingComboFist self, OverlapAttack overlapAttack)
{
overlapAttack.damage = (float)loaderKnuckleDmg.Value / 100f * ((BaseState)self).damageStat;
overlapAttack.procCoefficient = loaderKnuckleProc.Value;
orig.Invoke(self, overlapAttack);
}
internal void <Awake>b__311_16(orig_OnEnter orig, CrushBase self)
{
if (self is CrushCorruption)
{
self.selfHealFraction = (float)voidSuppressHeal.Value / 100f;
self.corruptionChange = -voidSuppressCorruptCrushed.Value;
}
else if (self is CrushHealth)
{
self.selfHealFraction = 0f - (float)voidCorruptSuppressCrush.Value / 100f;
self.corruptionChange = voidCorruptSuppressGain.Value;
}
orig.Invoke(self);
}
internal void <Awake>b__311_17(orig_OnEnter orig, SpiritPunch self)
{
self.dmgBuffIncrease = seekerInnerSpiritPunchThird.Value / 100f;
orig.Invoke(self);
}
internal void <Awake>b__311_18(orig_OnEnter orig, Meditate self)
{
self.blastRadius = seekerMeditateAoE.Value;
self.blastRadiusScaling = (float)seekerInnerMeditateRadius.Value - 1f;
orig.Invoke(self);
}
internal void <Awake>b__311_19(orig_OnEnter orig, Reprieve self)
{
self.barrierTranquilityGrowth = seekerInnerReprieveBarrier.Value / 100f;
self.barrierOnReprieveEnter = seekerReprieveBarrier.Value / 100f;
orig.Invoke(self);
}
internal void <Awake>b__311_20(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
ILCursor val = new ILCursor(il);
int num = 0;
while (val.TryGotoNext(new Func<Instruction, bool>[1]
{
(Instruction i) => ILPatternMatchingExt.MatchLdcR4(i, 0.04f)
}))
{
val.Next.Operand = chefKissHeal.Value / 2f / 100f;
num++;
}
Log.Info($"Replaced {num} occurrences of 0.04f for Chefs Kiss");
}
internal bool <Awake>b__311_25(Instruction i)
{
return ILPatternMatchingExt.MatchLdcR4(i, 0.04f);
}
internal void <Awake>b__311_21(orig_OnEnter orig, YesChef self)
{
self.explosionDamageCoefficient = chefYesChefDmg.Value;
orig.Invoke(self);
}
internal void <Awake>b__311_22(orig_OnEnter orig, MeridiansWillFire self)
{
self.damage = falseSonMeridianDmg.Value / 100f;
self.forcePullRadius = falseSonMeridianPullAoe.Value;
self.blastRadius = falseSonMeridianAoe.Value;
self.coreBuffDuration = falseSonMeridianGrowthBase.Value;
self.bonusDurationFromGrowth = falseSonMeridianGrowthIncrease.Value;
orig.Invoke(self);
}
internal void <Awake>b__311_23(orig_OnEnter orig, LaserFatherBurstPrep self)
{
self.secondaryRefillPercentage = falseSonBurstSpikeFill.Value / 100f;
orig.Invoke(self);
}
internal bool <IL_DotController_AddDot>b__319_0(Instruction x)
{
return ILPatternMatchingExt.MatchLdcR4(x, 1f);
}
internal float <IL_DotController_AddDot>b__319_1(float orig)
{
return acridPoisonMaxHealth.Value;
}
internal bool <IL_DotController_AddDot>b__319_2(Instruction x)
{
return ILPatternMatchingExt.MatchLdfld<DotStack>(x, "damage");
}
internal bool <IL_DotController_AddDot>b__319_3(Instruction x)
{
return ILPatternMatchingExt.MatchLdcR4(x, 50f);
}
internal float <IL_DotController_AddDot>b__319_4(float orig)
{
return acridPoisonCap.Value / 100f;
}
internal bool <HealthComponent_Heal>b__320_0(Instruction x)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
return x.OpCode == OpCodes.Ldsfld;
}
internal bool <HealthComponent_Heal>b__320_1(Instruction x)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
return x.OpCode == OpCodes.Callvirt;
}
internal bool <HealthComponent_Heal>b__320_2(Instruction x)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
return x.OpCode == OpCodes.Stloc_3;
}
internal bool <HealthComponent_Heal>b__320_3(Instruction x)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
return x.OpCode == OpCodes.Ldc_R4;
}
internal bool <HealthComponent_Heal>b__320_4(Instruction x)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
return x.OpCode == OpCodes.Ldloc_3;
}
internal bool <HealthComponent_Heal>b__320_5(Instruction x)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
return x.OpCode == OpCodes.Conv_R4;
}
internal bool <HealthComponent_Heal>b__320_6(Instruction x)
{
return ILPatternMatchingExt.MatchLdcR4(x, 0.1f);
}
internal float <HealthComponent_Heal>b__320_7(float orig)
{
return seekerSojournHealReduction.Value / 100f;
}
internal bool <BulletAttack_HandleBulletDamage>b__325_0(Instruction x)
{
return ILPatternMatchingExt.MatchCall(x, typeof(NetworkExtensions), "ReadDamageInfo");
}
}
public const string PluginGUID = "Jeffdev.SurvivorTweaks";
public const string PluginAuthor = "Jeffdev";
public const string PluginName = "SurvivorTweaks";
public const string PluginVersion = "2.2.2";
public static ConfigEntry<int> cmdDblTapDmg;
public static ConfigEntry<float> cmdDblTapProc;
public static ConfigEntry<int> cmdRoundDmg;
public static ConfigEntry<float> cmdRoundProc;
public static ConfigEntry<int> cmdBlastDmg;
public static ConfigEntry<float> cmdBlastProc;
public static ConfigEntry<int> cmdSuppDmg;
public static ConfigEntry<float> cmdSuppProc;
public static ConfigEntry<int> cmdGrenadeAoe;
public static ConfigEntry<int> cmdGrenadeDmg;
public static ConfigEntry<float> cmdGrenadeProc;
public static ConfigEntry<int> huntStrafeDmg;
public static ConfigEntry<float> huntStrafeProc;
public static ConfigEntry<int> huntFlurryDmg;
public static ConfigEntry<float> huntFlurryProc;
public static ConfigEntry<int> huntGlaiveDmg;
public static ConfigEntry<int> huntGlaiveDmgBounce;
public static ConfigEntry<float> huntGlaiveProc;
public static ConfigEntry<float> huntArrowRainAoe;
public static ConfigEntry<int> huntArrowRainDmg;
public static ConfigEntry<float> huntArrowRainProc;
public static ConfigEntry<int> huntBallistaDmg;
public static ConfigEntry<float> huntBallistaProc;
public static ConfigEntry<int> bandHemoDmg;
public static ConfigEntry<int> bandBurstDmg;
public static ConfigEntry<float> bandBurstProc;
public static ConfigEntry<int> bandBlastDmg;
public static ConfigEntry<float> bandBlastProc;
public static ConfigEntry<int> bandDaggerDmg;
public static ConfigEntry<float> bandDaggerProc;
public static ConfigEntry<int> bandShivDmg;
public static ConfigEntry<float> bandShivProc;
public static ConfigEntry<int> bandSmokeDmg;
public static ConfigEntry<float> bandSmokeProc;
public static ConfigEntry<int> bandLightsOutDmg;
public static ConfigEntry<float> bandLightsOutProc;
public static ConfigEntry<int> bandDesperadoDmg;
public static ConfigEntry<int> bandDesperadoBuff;
public static ConfigEntry<float> bandDesperadoProc;
public static ConfigEntry<int> multNailgunDmg;
public static ConfigEntry<float> multNailgunProc;
public static ConfigEntry<int> multRebarDmg;
public static ConfigEntry<float> multRebarProc;
public static ConfigEntry<float> multScrapAoe;
public static ConfigEntry<int> multScrapDmg;
public static ConfigEntry<float> multScrapProc;
public static ConfigEntry<int> multSawDmg;
public static ConfigEntry<float> multSawProc;
public static ConfigEntry<int> multCanisterDmg;
public static ConfigEntry<int> multBombletDmg;
public static ConfigEntry<float> multCanisterProc;
public static ConfigEntry<float> multBombletProc;
public static ConfigEntry<int> multTransportDmg;
public static ConfigEntry<int> multTransportMoveSpd;
public static ConfigEntry<float> multTransportProc;
public static ConfigEntry<float> engGrenadeAoe;
public static ConfigEntry<int> engGrenadeDmg;
public static ConfigEntry<int> engGrenadeMax;
public static ConfigEntry<float> engGrenadeProc;
public static ConfigEntry<float> engPressureAoe;
public static ConfigEntry<int> engPressureMinDmg;
public static ConfigEntry<int> engPressureMaxDmg;
public static ConfigEntry<float> engPressureProc;
public static ConfigEntry<float> engSpiderAoe;
public static ConfigEntry<int> engSpiderDmg;
public static ConfigEntry<float> engSpiderProc;
public static ConfigEntry<int> engBubbleDuration;
public static ConfigEntry<int> engHarpoonDmg;
public static ConfigEntry<float> engHarpoonProc;
public static ConfigEntry<int> engHarpoonRange;
public static ConfigEntry<int> engTurretGaussDmg;
public static ConfigEntry<float> engTurretGaussProc;
public static ConfigEntry<int> engTurretCarbonDmg;
public static ConfigEntry<float> engTurretCarbonProc;
public static ConfigEntry<float> artiFlameAoe;
public static ConfigEntry<int> artiFlameDmg;
public static ConfigEntry<float> artiFlameProc;
public static ConfigEntry<float> artiPlasmaAoe;
public static ConfigEntry<int> artiPlasmaDmg;
public static ConfigEntry<float> artiPlasmaProc;
public static ConfigEntry<float> artiBombAoe;
public static ConfigEntry<int> artiBombSparkDmg;
public static ConfigEntry<float> artiBombProc;
public static ConfigEntry<float> artiSparkProc;
public static ConfigEntry<int> artiSpearMinDmg;
public static ConfigEntry<int> artiSpearMaxDmg;
public static ConfigEntry<float> artiSpearProc;
public static ConfigEntry<int> artiSnapDmg;
public static ConfigEntry<float> artiSnapProc;
public static ConfigEntry<int> artiFlamethrowerDmg;
public static ConfigEntry<float> artiFlamethrowerProc;
public static ConfigEntry<float> artiIonAoe;
public static ConfigEntry<int> artiIonDmg;
public static ConfigEntry<float> artiIonProc;
public static ConfigEntry<int> mercSwordDmg;
public static ConfigEntry<float> mercSwordProc;
public static ConfigEntry<int> mercWhirlwindDmg;
public static ConfigEntry<float> mercWhirlwindProc;
public static ConfigEntry<int> mercRisingDmg;
public static ConfigEntry<float> mercRisingProc;
public static ConfigEntry<int> mercBindDmg;
public static ConfigEntry<float> mercBindProc;
public static ConfigEntry<int> mercFocusDmg;
public static ConfigEntry<float> mercFocusProc;
public static ConfigEntry<int> mercEviscDmg;
public static ConfigEntry<float> mercEviscProc;
public static ConfigEntry<int> mercSlicingDmg;
public static ConfigEntry<float> mercSlicingProc;
public static ConfigEntry<int> rexWeakenArmor;
public static ConfigEntry<int> rexWeakenDuration;
public static ConfigEntry<int> rexWeakenMove;
public static ConfigEntry<int> rexInjectDmg;
public static ConfigEntry<int> rexInjectHeal;
public static ConfigEntry<float> rexInjectProc;
public static ConfigEntry<int> rexDrillDmg;
public static ConfigEntry<int> rexDrillDuration;
public static ConfigEntry<int> rexDrillProjCount;
public static ConfigEntry<float> rexDrillProc;
public static ConfigEntry<float> rexDrillAoe;
public static ConfigEntry<int> rexSeedDmg;
public static ConfigEntry<float> rexSeedProc;
public static ConfigEntry<int> rexSeedSelf;
public static ConfigEntry<int> rexBrambleDmg;
public static ConfigEntry<int> rexBrambleHeal;
public static ConfigEntry<float> rexBrambleProc;
public static ConfigEntry<int> rexBrambleSelf;
public static ConfigEntry<int> rexHarvestDmg;
public static ConfigEntry<int> rexHarvestDuration;
public static ConfigEntry<int> rexHarvestHeal;
public static ConfigEntry<float> rexHarvestProc;
public static ConfigEntry<float> rexGrowthAoe;
public static ConfigEntry<int> rexGrowthDmg;
public static ConfigEntry<int> rexGrowthDuration;
public static ConfigEntry<int> rexGrowthHealPulse;
public static ConfigEntry<int> rexGrowthHealPulseCount;
public static ConfigEntry<int> rexGrowthSelf;
public static ConfigEntry<float> rexGrowthProjProc;
public static ConfigEntry<float> rexGrowthRootProc;
public static ConfigEntry<int> loaderKnuckleDmg;
public static ConfigEntry<float> loaderKnuckleProc;
public static ConfigEntry<int> loaderSpikedDmg;
public static ConfigEntry<float> loaderSpikedProc;
public static ConfigEntry<float> loaderChargedGauntletProc;
public static ConfigEntry<int> loaderThunderGauntletCone;
public static ConfigEntry<float> loaderThunderGauntletProc;
public static ConfigEntry<int> loaderPylonDmg;
public static ConfigEntry<int> loaderPylonDuration;
public static ConfigEntry<int> loaderPylonProjectiles;
public static ConfigEntry<float> loaderPylonProc;
public static ConfigEntry<int> loaderPylonRange;
public static ConfigEntry<int> loaderThunderslamDmg;
public static ConfigEntry<float> loaderThunderslamProc;
public static ConfigEntry<float> acridPoisonMaxHealth;
public static ConfigEntry<float> acridPoisonBaseDamage;
public static ConfigEntry<float> acridPoisonCap;
public static ConfigEntry<int> acridPoisonDuration;
public static ConfigEntry<int> acridBlightDuration;
public static ConfigEntry<float> acridBlightDmg;
public static ConfigEntry<int> acridWoundsSwipeDmg;
public static ConfigEntry<int> acridWoundsFinalDmg;
public static ConfigEntry<float> acridWoundsProc;
public static ConfigEntry<int> acridNeuroDmg;
public static ConfigEntry<float> acridNeuroProc;
public static ConfigEntry<int> acridBiteDmg;
public static ConfigEntry<float> acridBiteProc;
public static ConfigEntry<int> acridLeapPoolDmg;
public static ConfigEntry<int> acridLeapPoolDuration;
public static ConfigEntry<int> acridLeapDmg;
public static ConfigEntry<float> acridLeapProc;
public static ConfigEntry<float> acridLeapAcidProc;
public static ConfigEntry<int> acridFrenziedDmg;
public static ConfigEntry<float> acridFrenziedProc;
public static ConfigEntry<int> acridPandemicDmg;
public static ConfigEntry<int> acridPandemicRange;
public static ConfigEntry<float> acridPandemicProc;
public static DotIndex SulfurPoisonIndex;
public static ConfigEntry<int> captainShotgunDmg;
public static ConfigEntry<float> captainShotgunProc;
public static ConfigEntry<float> captainTaserAoe;
public static ConfigEntry<int> captainTaserDmg;
public static ConfigEntry<float> captainTaserProc;
public static ConfigEntry<int> captainProbeDmg;
public static ConfigEntry<float> captainProbeProc;
public static ConfigEntry<int> captainDiabloDmg;
public static ConfigEntry<float> captainDiabloProc;
public static ConfigEntry<int> captainBeaconDmg;
public static ConfigEntry<int> captainBeaconRadius;
public static ConfigEntry<int> captainBeaconHeal;
public static ConfigEntry<float> captainBeaconShockCount;
public static ConfigEntry<int> captainBeaconResupplyUses;
public static ConfigEntry<int> railgunnerXQRDamage;
public static ConfigEntry<float> railgunnerXQRProc;
public static ConfigEntry<int> railgunnerM99Damage;
public static ConfigEntry<float> railgunnerM99Proc;
public static ConfigEntry<int> railgunnerHH44Damage;
public static ConfigEntry<float> railgunnerHH44Proc;
public static ConfigEntry<int> railgunnerPolarDuration;
public static ConfigEntry<int> railgunnerSuperCritMult;
public static ConfigEntry<int> railgunnerSuperDamage;
public static ConfigEntry<float> railgunnerSuperProc;
public static ConfigEntry<int> railgunnerCryoDamage;
public static ConfigEntry<float> railgunnerCryoProc;
public static ConfigEntry<int> voidDrownDmg;
public static ConfigEntry<float> voidDrownProc;
public static ConfigEntry<int> voidCorruptDrownDmg;
public static ConfigEntry<float> voidCorruptDrownProc;
public static ConfigEntry<int> voidFloodUnchargedDmg;
public static ConfigEntry<int> voidFloodChargedDmg;
public static ConfigEntry<float> voidFloodProc;
public static ConfigEntry<int> voidCorruptFloodDmg;
public static ConfigEntry<float> voidCorruptFloodProc;
public static ConfigEntry<int> voidSuppressCorruptCrushed;
public static ConfigEntry<int> voidSuppressHeal;
public static ConfigEntry<int> voidCorruptSuppressGain;
public static ConfigEntry<int> voidCorruptSuppressCrush;
public static ConfigEntry<float> seekerInnerSpiritPunchThird;
public static ConfigEntry<float> seekerInnerUnseenHandHeal;
public static ConfigEntry<float> seekerInnerSojournRadius;
public static ConfigEntry<float> seekerInnerReprieveBarrier;
public static ConfigEntry<float> seekerInnerMeditateHeal;
public static ConfigEntry<float> seekerInnerMeditateDmg;
public static ConfigEntry<int> seekerInnerMeditateRadius;
public static ConfigEntry<float> seekerInnerPalmSize;
public static ConfigEntry<float> seekerInnerPalmSpeed;
public static ConfigEntry<int> seekerInnerPalmDmg;
public static ConfigEntry<float> seekerInnerPalmHeal;
public static ConfigEntry<int> seekerSpiritPunchDmg;
public static ConfigEntry<int> seekerSpiritPunchThirdDmg;
public static ConfigEntry<float> seekerSpiritPunchProc;
public static ConfigEntry<float> seekerSpiritPunchThirdProc;
public static ConfigEntry<int> seekerSpiritPunchAoE;
public static ConfigEntry<int> seekerUnseenHandDmg;
public static ConfigEntry<float> seekerUnseenHandHeal;
public static ConfigEntry<float> seekerUnseenHandProc;
public static ConfigEntry<int> seekerSoulSpiralDmg;
public static ConfigEntry<int> seekerSoulSpiralHits;
public static ConfigEntry<float> seekerSoulSpiralBarrier;
public static ConfigEntry<float> seekerSoulSpiralProc;
public static ConfigEntry<int> seekerSojournDmg;
public static ConfigEntry<float> seekerSojournSelfDmg;
public static ConfigEntry<int> seekerSojournBaseMinRadius;
public static ConfigEntry<int> seekerSojournBaseMaxRadius;
public static ConfigEntry<float> seekerSojournDmgIncrease;
public static ConfigEntry<float> seekerSojournHealReduction;
public static ConfigEntry<float> seekerSojournProc;
public static ConfigEntry<int> seekerReprieveDmg;
public static ConfigEntry<float> seekerReprieveBarrier;
public static ConfigEntry<float> seekerReprieveProc;
public static ConfigEntry<int> seekerCycloneDmg;
public static ConfigEntry<float> seekerCycloneHeal;
public static ConfigEntry<int> seekerCycloneDuration;
public static ConfigEntry<int> seekerCycloneRadius;
public static ConfigEntry<float> seekerCycloneDmgIncrease;
public static ConfigEntry<float> seekerCycloneHealIncrease;
public static ConfigEntry<float> seekerCycloneDurationIncrease;
public static ConfigEntry<int> seekerMeditateDmg;
public static ConfigEntry<float> seekerMeditateHeal;
public static ConfigEntry<int> seekerMeditateAoE;
public static ConfigEntry<float> seekerMeditateProc;
public static ConfigEntry<int> seekerPalmMinDmg;
public static ConfigEntry<int> seekerPalmMaxDmg;
public static ConfigEntry<float> seekerPalmMinHeal;
public static ConfigEntry<float> seekerPalmMaxHeal;
public static ConfigEntry<float> seekerPalmBarrier;
public static ConfigEntry<float> seekerPalmProc;
public static ConfigEntry<float> chefKissHeal;
public static ConfigEntry<float> chefOilPoolProc;
public static ConfigEntry<float> chefSearDmg;
public static ConfigEntry<float> chefSearProc;
public static ConfigEntry<float> chefSearBoostDmg;
public static ConfigEntry<float> chefSearBoostProc;
public static ConfigEntry<float> chefIceDmg;
public static ConfigEntry<float> chefIceProc;
public static ConfigEntry<int> chefIceAoe;
public static ConfigEntry<float> chefIceBoostDmg;
public static ConfigEntry<float> chefIceBoostProc;
public static ConfigEntry<int> chefIceBoostAoe;
public static ConfigEntry<float> chefOilSpillDmg;
public static ConfigEntry<float> chefOilSpillProc;
public static ConfigEntry<float> chefGlazeDmg;
public static ConfigEntry<float> chefGlazeProc;
public static ConfigEntry<float> chefYesChefDmg;
public static ConfigEntry<float> chefYesChefProc;
public static ConfigEntry<float> falseSonClubDmg;
public static ConfigEntry<float> falseSonClubProc;
public static ConfigEntry<float> falseSonOverheadClubDmg;
public static ConfigEntry<float> falseSonChargeClubDmg;
public static ConfigEntry<float> falseSonChargeClubProc;
public static ConfigEntry<float> falseSonSpikeDmg;
public static ConfigEntry<float> falseSonSpikeProc;
public static ConfigEntry<float> falseSonStakeDmg;
public static ConfigEntry<float> falseSonStakeProc;
public static ConfigEntry<float> falseSonStakeBoltDmg;
public static ConfigEntry<float> falseSonStakeBoltProc;
public static ConfigEntry<int> falseSonStakeBoltAoe;
public static ConfigEntry<float> falseSonStepDmg;
public static ConfigEntry<float> falseSonStepProc;
public static ConfigEntry<float> falseSonMeridianDmg;
public static ConfigEntry<int> falseSonMeridianAoe;
public static ConfigEntry<int> falseSonMeridianPullAoe;
public static ConfigEntry<float> falseSonMeridianGrowthBase;
public static ConfigEntry<float> falseSonMeridianGrowthIncrease;
public static ConfigEntry<float> falseSonFatherProc;
public static ConfigEntry<float> falseSonBurstDmg;
public static ConfigEntry<float> falseSonBurstProc;
public static ConfigEntry<float> falseSonBurstSpikeFill;
public static string[] survivorBodies = new string[18]
{
"CommandoBody", "HuntressBody", "Bandit2Body", "ToolbotBody", "MercBody", "EngiBody", "EngiTurretBody", "EngiWalkerTurretBody", "MageBody", "TreebotBody",
"LoaderBody", "CrocoBody", "CaptainBody", "RailgunnerBody", "VoidSurvivorBody", "SeekerBody", "ChefBody", "FalseSonBody"
};
public void Awake()
{
//IL_296b: Unknown result type (might be due to invalid IL or missing references)
//IL_2975: Expected O, but got Unknown
//IL_297c: Unknown result type (might be due to invalid IL or missing references)
//IL_2986: Expected O, but got Unknown
//IL_298d: Unknown result type (might be due to invalid IL or missing references)
//IL_2997: Expected O, but got Unknown
//IL_299e: Unknown result type (might be due to invalid IL or missing references)
//IL_29a8: Expected O, but got Unknown
//IL_29af: Unknown result type (might be due to invalid IL or missing references)
//IL_29b9: Expected O, but got Unknown
//IL_29e4: Unknown result type (might be due to invalid IL or missing references)
//IL_29ee: Expected O, but got Unknown
//IL_29f5: Unknown result type (might be due to invalid IL or missing references)
//IL_29ff: Expected O, but got Unknown
//IL_29cd: Unknown result type (might be due to invalid IL or missing references)
//IL_29d2: Unknown result type (might be due to invalid IL or missing references)
//IL_29d8: Expected O, but got Unknown
//IL_2a13: Unknown result type (might be due to invalid IL or missing references)
//IL_2a18: Unknown result type (might be due to invalid IL or missing references)
//IL_2a1e: Expected O, but got Unknown
//IL_2a4e: Unknown result type (might be due to invalid IL or missing references)
//IL_2a58: Expected O, but got Unknown
//IL_2a37: Unknown result type (might be due to invalid IL or missing references)
//IL_2a3c: Unknown result type (might be due to invalid IL or missing references)
//IL_2a42: Expected O, but got Unknown
//IL_2a6c: Unknown result type (might be due to invalid IL or missing references)
//IL_2a71: Unknown result type (might be due to invalid IL or missing references)
//IL_2a77: Expected O, but got Unknown
//IL_2a90: Unknown result type (might be due to invalid IL or missing references)
//IL_2a95: Unknown result type (might be due to invalid IL or missing references)
//IL_2a9b: Expected O, but got Unknown
//IL_2acb: Unknown result type (might be due to invalid IL or missing references)
//IL_2ad5: Expected O, but got Unknown
//IL_2adc: Unknown result type (might be due to invalid IL or missing references)
//IL_2ae6: Expected O, but got Unknown
//IL_2aed: Unknown result type (might be due to invalid IL or missing references)
//IL_2af7: Expected O, but got Unknown
//IL_2afe: Unknown result type (might be due to invalid IL or missing references)
//IL_2b08: Expected O, but got Unknown
//IL_2b0f: Unknown result type (might be due to invalid IL or missing references)
//IL_2b19: Expected O, but got Unknown
//IL_2ab4: Unknown result type (might be due to invalid IL or missing references)
//IL_2ab9: Unknown result type (might be due to invalid IL or missing references)
//IL_2abf: Expected O, but got Unknown
//IL_2b2d: Unknown result type (might be due to invalid IL or missing references)
//IL_2b32: Unknown result type (might be due to invalid IL or missing references)
//IL_2b38: Expected O, but got Unknown
//IL_2b51: Unknown result type (might be due to invalid IL or missing references)
//IL_2b56: Unknown result type (might be due to invalid IL or missing references)
//IL_2b5c: Expected O, but got Unknown
//IL_2b75: Unknown result type (might be due to invalid IL or missing references)
//IL_2b7a: Unknown result type (might be due to invalid IL or missing references)
//IL_2b80: Expected O, but got Unknown
//IL_2bb0: Unknown result type (might be due to invalid IL or missing references)
//IL_2bba: Expected O, but got Unknown
//IL_2b99: Unknown result type (might be due to invalid IL or missing references)
//IL_2b9e: Unknown result type (might be due to invalid IL or missing references)
//IL_2ba4: Expected O, but got Unknown
//IL_2bce: Unknown result type (might be due to invalid IL or missing references)
//IL_2bd3: Unknown result type (might be due to invalid IL or missing references)
//IL_2bd9: Expected O, but got Unknown
//IL_2bf2: Unknown result type (might be due to invalid IL or missing references)
//IL_2bf7: Unknown result type (might be due to invalid IL or missing references)
//IL_2bfd: Expected O, but got Unknown
//IL_2c16: Unknown result type (might be due to invalid IL or missing references)
//IL_2c1b: Unknown result type (might be due to invalid IL or missing references)
//IL_2c21: Expected O, but got Unknown
//IL_2c51: Unknown result type (might be due to invalid IL or missing references)
//IL_2c5b: Expected O, but got Unknown
//IL_2c62: Unknown result type (might be due to invalid IL or missing references)
//IL_2c6c: Expected O, but got Unknown
//IL_2c73: Unknown result type (might be due to invalid IL or missing references)
//IL_2c7d: Expected O, but got Unknown
//IL_2c84: Unknown result type (might be due to invalid IL or missing references)
//IL_2c8e: Expected O, but got Unknown
//IL_2c95: Unknown result type (might be due to invalid IL or missing references)
//IL_2c9f: Expected O, but got Unknown
//IL_2ca6: Unknown result type (might be due to invalid IL or missing references)
//IL_2cb0: Expected O, but got Unknown
//IL_2cb7: Unknown result type (might be due to invalid IL or missing references)
//IL_2cc1: Expected O, but got Unknown
//IL_2cc8: Unknown result type (might be due to invalid IL or missing references)
//IL_2cd2: Expected O, but got Unknown
//IL_2cd9: Unknown result type (might be due to invalid IL or missing references)
//IL_2ce3: Expected O, but got Unknown
//IL_2c3a: Unknown result type (might be due to invalid IL or missing references)
//IL_2c3f: Unknown result type (might be due to invalid IL or missing references)
//IL_2c45: Expected O, but got Unknown
Log.Init(((BaseUnityPlugin)this).Logger);
cmdDblTapDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Commando - Double Tap", "Damage", 100, "Base damage % for Double Tap.");
cmdDblTapProc = ((BaseUnityPlugin)this).Config.Bind<float>("Commando - Double Tap", "Proc Coefficient", 1f, "Proc coefficient for Double Tap.");
cmdRoundDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Commando - Phase Round", "Damage", 300, "Base damage % for Phase Round.");
cmdRoundProc = ((BaseUnityPlugin)this).Config.Bind<float>("Commando - Phase Round", "Proc Coefficient", 1f, "Proc coefficient for Phase Round.");
cmdBlastDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Commando - Phase Blast", "Damage", 200, "Base damage % per shot for Phase Blast.");
cmdBlastProc = ((BaseUnityPlugin)this).Config.Bind<float>("Commando - Phase Blast", "Proc Coefficient", 0.5f, "Proc coefficient for Phase Blast.");
cmdSuppDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Commando - Suppressive Fire", "Damage", 100, "Base damage % for Suppressive Fire.");
cmdSuppProc = ((BaseUnityPlugin)this).Config.Bind<float>("Commando - Suppressive Fire", "Proc Coefficient", 1f, "Proc coefficient for Suppressive Fire.");
cmdGrenadeAoe = ((BaseUnityPlugin)this).Config.Bind<int>("Commando - Frag Grenade", "Explosion Radius", 11, "Explosion radius of Frag Grenade in meters.");
cmdGrenadeDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Commando - Frag Grenade", "Damage", 700, "Base damage % for Frag Grenade.");
cmdGrenadeProc = ((BaseUnityPlugin)this).Config.Bind<float>("Commando - Frag Grenade", "Proc Coefficient", 1f, "Proc coefficient for Frag Grenade.");
huntStrafeDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Huntress - Strafe", "Damage", 150, "Base damage % for Strafe.");
huntStrafeProc = ((BaseUnityPlugin)this).Config.Bind<float>("Huntress - Strafe", "Proc Coefficient", 1f, "Proc coefficient for Strafe.");
huntFlurryDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Huntress - Flurry", "Damage", 100, "Base damage % for Flurry.");
huntFlurryProc = ((BaseUnityPlugin)this).Config.Bind<float>("Huntress - Flurry", "Proc Coefficient", 0.7f, "Proc coefficient for Flurry.");
huntGlaiveDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Huntress - Laser Glaive", "Damage", 250, "Base damage % for the initial hit of Laser Glaive.");
huntGlaiveDmgBounce = ((BaseUnityPlugin)this).Config.Bind<int>("Huntress - Laser Glaive", "Bounce Damage", 10, "TOTAL damage increase % for Laser Glaive per bounce.");
huntGlaiveProc = ((BaseUnityPlugin)this).Config.Bind<float>("Huntress - Laser Glaive", "Proc Coefficient", 0.8f, "Proc coefficient for Laser Glaive.");
huntArrowRainAoe = ((BaseUnityPlugin)this).Config.Bind<float>("Huntress - Arrow Rain", "Scale", 1f, "Area of effect scale for Arrow Rain. 1.0 is no scaling from default.");
huntArrowRainDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Huntress - Arrow Rain", "Damage", 330, "Base damage % for Arrow Rain per second.");
huntArrowRainProc = ((BaseUnityPlugin)this).Config.Bind<float>("Huntress - Arrow Rain", "Proc Coefficient", 0.2f, "Proc coefficient for Arrow Rain.");
huntBallistaDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Huntress - Ballista", "Damage", 900, "Base damage % for Ballista.");
huntBallistaProc = ((BaseUnityPlugin)this).Config.Bind<float>("Huntress - Ballista", "Proc Coefficient", 1f, "Proc coefficient for Ballista.");
bandHemoDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Bandit - Hemorrhage", "Damage", 2000, "Amount of base damage % done by Hemorrhage.");
bandBurstDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Bandit - Burst", "Damage", 100, "Damage multiplier % of each Burst projectile.");
bandBurstProc = ((BaseUnityPlugin)this).Config.Bind<float>("Bandit - Burst", "Proc Coefficient", 0.5f, "Proc coefficient of Burst.");
bandBlastDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Bandit - Blast", "Damage", 330, "Damage multiplier % of each Blast projectile.");
bandBlastProc = ((BaseUnityPlugin)this).Config.Bind<float>("Bandit - Blast", "Proc Coefficient", 1f, "Proc coefficient of Blast.");
bandDaggerDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Bandit - Serrated Dagger", "Damage", 360, "Damage multiplier % of Serrated Dagger.");
bandDaggerProc = ((BaseUnityPlugin)this).Config.Bind<float>("Bandit - Serrated Dagger", "Proc Coefficient", 1f, "Proc coefficient of Serrated Dagger.");
bandShivDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Bandit - Serrated Shiv", "Damage", 240, "Damage multiplier % of each Serrated Shiv projectile.");
bandShivProc = ((BaseUnityPlugin)this).Config.Bind<float>("Bandit - Serrated Shiv", "Proc Coefficient", 1f, "Proc coefficient of Serrated Shiv.");
bandSmokeDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Bandit - Smoke Bomb", "Damage", 200, "Damage multiplier % of Smoke Bomb Enter/Exit.");
bandSmokeProc = ((BaseUnityPlugin)this).Config.Bind<float>("Bandit - Smoke Bomb", "Proc Coefficient", 1f, "Proc coefficient of Smoke Bomb.");
bandLightsOutDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Bandit - Lights Out", "Damage", 600, "Damage multiplier % of each Lights Out projectile.");
bandLightsOutProc = ((BaseUnityPlugin)this).Config.Bind<float>("Bandit - Lights Out", "Proc Coefficient", 1f, "Proc coefficient of Lights Out.");
bandDesperadoDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Bandit - Desperado", "Damage", 600, "Damage multiplier % of each Desperado projectile.");
bandDesperadoBuff = ((BaseUnityPlugin)this).Config.Bind<int>("Bandit - Desperado", "Buff Damage", 10, "Damage multiplier % increase per Bandit Skull buff.");
bandDesperadoProc = ((BaseUnityPlugin)this).Config.Bind<float>("Bandit - Desperado", "Proc Coefficient", 1f, "Proc coefficient of Desperado.");
multNailgunDmg = ((BaseUnityPlugin)this).Config.Bind<int>("MUL-T - Auto-Nailgun", "Damage", 70, "Damage multiplier % of each Auto-Nailgun projectile.");
multNailgunProc = ((BaseUnityPlugin)this).Config.Bind<float>("MUL-T - Auto-Nailgun", "Proc Coefficient", 0.6f, "Proc coefficient of Auto-Nailgun.");
multRebarDmg = ((BaseUnityPlugin)this).Config.Bind<int>("MUL-T - Rebar Puncher", "Damage", 600, "Damage multiplier % of each Rebar Puncher projectile.");
multRebarProc = ((BaseUnityPlugin)this).Config.Bind<float>("MUL-T - Rebar Puncher", "Proc Coefficient", 1f, "Proc coefficient of Rebar Puncher.");
multScrapAoe = ((BaseUnityPlugin)this).Config.Bind<float>("MUL-T - Scrap Launcher", "Explosion Radius", 7f, "Explosion radius of Scrap Launcher in meters.");
multScrapDmg = ((BaseUnityPlugin)this).Config.Bind<int>("MUL-T - Scrap Launcher", "Damage", 360, "Damage multiplier % of each Scrap Launcher projectile.");
multScrapProc = ((BaseUnityPlugin)this).Config.Bind<float>("MUL-T - Scrap Launcher", "Proc Coefficient", 1f, "Proc coefficient of Scrap Launcher.");
multSawDmg = ((BaseUnityPlugin)this).Config.Bind<int>("MUL-T - Power Saw", "Damage", 100, "Damage multiplier % of each Power Saw tick.");
multSawProc = ((BaseUnityPlugin)this).Config.Bind<float>("MUL-T - Power Saw", "Proc Coefficient", 1f, "Proc coefficient of Power Saw.");
multCanisterDmg = ((BaseUnityPlugin)this).Config.Bind<int>("MUL-T - Blast Canister", "Canister Damage", 220, "Damage multiplier % of Blast Canister explosion.");
multBombletDmg = ((BaseUnityPlugin)this).Config.Bind<int>("MUL-T - Blast Canister", "Bomblet Damage", 44, "Damage multiplier % of Blast Canister bomblets.");
multCanisterProc = ((BaseUnityPlugin)this).Config.Bind<float>("MUL-T - Blast Canister", "Canister Proc Coefficient", 1f, "Proc coefficient of Blast Canister explosion.");
multBombletProc = ((BaseUnityPlugin)this).Config.Bind<float>("MUL-T - Blast Canister", "Bomblet Proc Coefficient", 0.3f, "Proc coefficient of Blast Canister bomblets.");
multTransportDmg = ((BaseUnityPlugin)this).Config.Bind<int>("MUL-T - Transport Mode", "Damage", 250, "Damage multiplier % of Transport Mode attack.");
multTransportMoveSpd = ((BaseUnityPlugin)this).Config.Bind<int>("MUL-T - Transport Mode", "Movement Speed Bonus", 220, "Movement speed bonus % granted by Transport Mode.");
multTransportProc = ((BaseUnityPlugin)this).Config.Bind<float>("MUL-T - Transport Mode", "Proc Coefficient", 1f, "Proc coefficient of Transport Mode attack.");
engGrenadeAoe = ((BaseUnityPlugin)this).Config.Bind<float>("Engineer - Bouncing Grenades", "Explosion Radius", 3.5f, "Explosion radius of Bouncing Grenades in meters.");
engGrenadeDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Engineer - Bouncing Grenades", "Damage", 100, "Damage multiplier % of each Bouncing Grenade projectile.");
engGrenadeProc = ((BaseUnityPlugin)this).Config.Bind<float>("Engineer - Bouncing Grenades", "Proc Coefficient", 1f, "Proc coefficient of Bouncing Grenades.");
engPressureAoe = ((BaseUnityPlugin)this).Config.Bind<float>("Engineer - Pressure Mines", "Explosion Radius", 7.5f, "Explosion radius of Pressure Mines in meters.");
engPressureMinDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Engineer - Pressure Mines", "Unarmed Damage", 300, "Damage multiplier % of Pressure Mines when not fully armed.");
engPressureMaxDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Engineer - Pressure Mines", "Fully Armed Damage", 900, "Damage multiplier % of Pressure Mines when fully armed.");
engPressureProc = ((BaseUnityPlugin)this).Config.Bind<float>("Engineer - Pressure Mines", "Proc Coefficient", 1f, "Proc coefficient of Pressure Mines.");
engSpiderAoe = ((BaseUnityPlugin)this).Config.Bind<float>("Engineer - Spider Mines", "Explosion Radius", 7.5f, "Explosion radius of Spider Mines in meters.");
engSpiderDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Engineer - Spider Mines", "Damage", 600, "Damage multiplier % of Spider Mines.");
engSpiderProc = ((BaseUnityPlugin)this).Config.Bind<float>("Engineer - Spider Mines", "Proc Coefficient", 1f, "Proc coefficient of Spider Mines.");
engBubbleDuration = ((BaseUnityPlugin)this).Config.Bind<int>("Engineer - Bubble Shield", "Duration", 15, "Duration of Bubble Shield in seconds.");
engHarpoonDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Engineer - Thermal Harpoons", "Damage", 500, "Damage multiplier % of each Thermal Harpoon projectile.");
engHarpoonProc = ((BaseUnityPlugin)this).Config.Bind<float>("Engineer - Thermal Harpoons", "Proc Coefficient", 1f, "Proc coefficient of Thermal Harpoons.");
engTurretGaussDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Engineer - TR12 Gauss Auto-Turret", "Damage", 70, "Damage multiplier % of each TR12 Gauss Auto-Turret projectile.");
engTurretGaussProc = ((BaseUnityPlugin)this).Config.Bind<float>("Engineer - TR12 Gauss Auto-Turret", "Proc Coefficient", 1f, "Proc coefficient of TR12 Gauss Auto-Turret.");
engTurretCarbonDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Engineer - TR58 Carbonizer Turret", "Damage", 40, "Damage multiplier % of each TR58 Carbonizer Turret projectile.");
engTurretCarbonProc = ((BaseUnityPlugin)this).Config.Bind<float>("Engineer - TR58 Carbonizer Turret", "Proc Coefficient", 0.6f, "Proc coefficient of TR58 Carbonizer Turret.");
artiFlameAoe = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Flame Bolt", "Explosion Radius", 2.5f, "Explosion radius of Flame Bolt in meters.");
artiFlameDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Artificer - Flame Bolt", "Damage", 280, "Damage multiplier % of each Flame Bolt projectile.");
artiFlameProc = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Flame Bolt", "Proc Coefficient", 0.5f, "Proc coefficient of Flame Bolt.");
artiPlasmaAoe = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Plasma Bolt", "Explosion Radius", 6f, "Explosion radius of Plasma Bolt in meters.");
artiPlasmaDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Artificer - Plasma Bolt", "Damage", 280, "Damage multiplier % of each Plasma Bolt projectile.");
artiPlasmaProc = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Plasma Bolt", "Proc Coefficient", 0.5f, "Proc coefficient of Plasma Bolt.");
artiBombAoe = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Charged Nano-Bomb", "Explosion Radius", 14f, "Explosion radius of Charged Nano-Bomb in meters.");
artiBombSparkDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Artificer - Charged Nano-Bomb", "Spark Damage", 10, "Damage multiplier % of Charged Nano-Bomb sparks, % of damage extra or less from the nano bomb");
artiBombProc = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Charged Nano-Bomb", "Explosion Proc Coefficient", 1f, "Proc coefficient of Charged Nano-Bomb explosion.");
artiSparkProc = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Charged Nano-Bomb", "Spark Proc Coefficient", 0.3f, "Proc coefficient of Charged Nano-Bomb sparks.");
artiSpearMinDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Artificer - Cast Nano-Spear", "Min Damage", 400, "Minimum damage multiplier % of Cast Nano-Spear projectile.");
artiSpearMaxDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Artificer - Cast Nano-Spear", "Max Damage", 1200, "Maximum damage multiplier % of Cast Nano-Spear projectile.");
artiSpearProc = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Cast Nano-Spear", "Proc Coefficient", 1f, "Proc coefficient of Cast Nano-Spear projectile.");
artiSnapDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Artificer - Snapfreeze", "Damage", 100, "Damage multiplier % of Snapfreeze projectile.");
artiSnapProc = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Snapfreeze", "Proc Coefficient", 1f, "Proc coefficient of Snapfreeze projectile.");
artiFlamethrowerDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Artificer - Flamethrower", "Damage", 95, "Damage multiplier % of each Flamethrower projectile.");
artiFlamethrowerProc = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Flamethrower", "Proc Coefficient", 1f, "Proc coefficient of Flamethrower.");
artiIonAoe = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Ion Surge", "Explosion Radius", 14f, "Explosion radius of Ion Surge in meters.");
artiIonDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Artificer - Ion Surge", "Damage", 800, "Damage multiplier % of Ion Surge projectile.");
artiIonProc = ((BaseUnityPlugin)this).Config.Bind<float>("Artificer - Ion Surge", "Proc Coefficient", 1f, "Proc coefficient of Ion Surge.");
mercSwordDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Mercenary - Laser Sword", "Damage", 130, "Damage multiplier % of each Laser Sword slice.");
mercSwordProc = ((BaseUnityPlugin)this).Config.Bind<float>("Mercenary - Laser Sword", "Proc Coefficient", 1f, "Proc coefficient of each Laser Sword slice.");
mercWhirlwindDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Mercenary - Whirlwind", "Damage", 200, "Damage multiplier % of each Whirlwind slice.");
mercWhirlwindProc = ((BaseUnityPlugin)this).Config.Bind<float>("Mercenary - Whirlwind", "Proc Coefficient", 1f, "Proc coefficient of Whirlwind.");
mercRisingDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Mercenary - Rising Thunder", "Damage", 550, "Damage multiplier % of Rising Thunder.");
mercRisingProc = ((BaseUnityPlugin)this).Config.Bind<float>("Mercenary - Rising Thunder", "Proc Coefficient", 1f, "Proc coefficient of Rising Thunder.");
mercBindDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Mercenary - Binding Assault", "Damage", 300, "Damage multiplier % of each Binding Assault slice.");
mercBindProc = ((BaseUnityPlugin)this).Config.Bind<float>("Mercenary - Binding Assault", "Proc Coefficient", 1f, "Proc coefficient of Binding Assault.");
mercFocusDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Mercenary - Focused Assault", "Damage", 700, "Damage multiplier % of Focused Assault.");
mercFocusProc = ((BaseUnityPlugin)this).Config.Bind<float>("Mercenary - Focused Assault", "Proc Coefficient", 1f, "Proc coefficient of Focused Assault.");
mercEviscDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Mercenary - Eviscerate", "Damage", 110, "Damage multiplier % of each Eviscerate slice.");
mercEviscProc = ((BaseUnityPlugin)this).Config.Bind<float>("Mercenary - Eviscerate", "Proc Coefficient", 1f, "Proc coefficient of Eviscerate.");
mercSlicingDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Mercenary - Slicing Winds", "Damage", 100, "Damage multiplier % of each Slicing Winds slice.");
mercSlicingProc = ((BaseUnityPlugin)this).Config.Bind<float>("Mercenary - Slicing Winds", "Proc Coefficient", 1f, "Proc coefficient of Slicing Winds.");
rexInjectDmg = ((BaseUnityPlugin)this).Config.Bind<int>("REX - DIRECTIVE: Inject", "Damage", 80, "Damage multiplier % of each Inject projectile.");
rexInjectHeal = ((BaseUnityPlugin)this).Config.Bind<int>("REX - DIRECTIVE: Inject", "Heal Multiplier", 60, "Heal multiplier % of Inject damage dealt.");
rexInjectProc = ((BaseUnityPlugin)this).Config.Bind<float>("REX - DIRECTIVE: Inject", "Proc Coefficient", 0.5f, "Proc coefficient of Inject.");
rexDrillDmg = ((BaseUnityPlugin)this).Config.Bind<int>("REX - DIRECTIVE: Drill", "Damage", 90, "Damage multiplier % of each drill projectile.");
rexDrillDuration = ((BaseUnityPlugin)this).Config.Bind<int>("REX - DIRECTIVE: Drill", "Duration", 3, "Duration of Drill in seconds.");
rexDrillProjCount = ((BaseUnityPlugin)this).Config.Bind<int>("REX - DIRECTIVE: Drill", "Projectile Count", 16, "Number of projectiles created by Drill.");
rexDrillProc = ((BaseUnityPlugin)this).Config.Bind<float>("REX - DIRECTIVE: Drill", "Proc Coefficient", 0.5f, "Proc coefficient of Drill.");
rexDrillAoe = ((BaseUnityPlugin)this).Config.Bind<float>("REX - DIRECTIVE: Drill", "Area of Effect", 1f, "Area of Effect scale for Drill. 1.0 is no scaling.");
rexSeedDmg = ((BaseUnityPlugin)this).Config.Bind<int>("REX - Seed Barrage", "Damage", 450, "Damage multiplier % of Seed Barrage.");
rexSeedProc = ((BaseUnityPlugin)this).Config.Bind<float>("REX - Seed Barrage", "Proc Coefficient", 1f, "Proc coefficient of Seed Barrage.");
rexSeedSelf = ((BaseUnityPlugin)this).Config.Bind<int>("REX - Seed Barrage", "Self-Damage", 15, "Percent of max HP consumed when using Seed Barrage.");
rexBrambleDmg = ((BaseUnityPlugin)this).Config.Bind<int>("REX - Bramble Volley", "Damage", 550, "Damage multiplier % of Bramble Volley attack.");
rexBrambleHeal = ((BaseUnityPlugin)this).Config.Bind<int>("REX - Bramble Volley", "Healing", 10, "Percent of max HP healed per enemy hit by Bramble Volley.");
rexBrambleProc = ((BaseUnityPlugin)this).Config.Bind<float>("REX - Bramble Volley", "Proc Coefficient", 0.5f, "Proc coefficient of Bramble Volley.");
rexBrambleSelf = ((BaseUnityPlugin)this).Config.Bind<int>("REX - Bramble Volley", "Self-Damage", 20, "Percent of max HP consumed when using Bramble Volley.");
rexHarvestDmg = ((BaseUnityPlugin)this).Config.Bind<int>("REX - DIRECTIVE: Harvest", "Damage", 330, "Damage multiplier % of Harvest attack.");
rexHarvestDuration = ((BaseUnityPlugin)this).Config.Bind<int>("REX - DIRECTIVE: Harvest", "Fruit Duration", 20, "Duration (in seconds) of fruits on the ground.");
rexHarvestHeal = ((BaseUnityPlugin)this).Config.Bind<int>("REX - DIRECTIVE: Harvest", "Fruit Healing", 25, "Percent of max HP healed by Harvest fruits.");
rexHarvestProc = ((BaseUnityPlugin)this).Config.Bind<float>("REX - DIRECTIVE: Harvest", "Proc Coefficient", 1f, "Proc coefficient of Harvest.");
rexGrowthAoe = ((BaseUnityPlugin)this).Config.Bind<float>("REX - Tangling Growth", "Explosion Radius", 10f, "Explosion radius of Tangling Growth in meters.");
rexGrowthDmg = ((BaseUnityPlugin)this).Config.Bind<int>("REX - Tangling Growth", "Damage", 200, "Damage multiplier % of Tangling Growth.");
rexGrowthDuration = ((BaseUnityPlugin)this).Config.Bind<int>("REX - Tangling Growth", "Duration", 8, "Duration of Tangling Growth roots in seconds.");
rexGrowthHealPulse = ((BaseUnityPlugin)this).Config.Bind<int>("REX - Tangling Growth", "Root Pulse Healing", 13, "Percent of total max HP healed per enemy snared by Tangling Growth, after all pulses.");
rexGrowthHealPulseCount = ((BaseUnityPlugin)this).Config.Bind<int>("REX - Tangling Growth", "Root Pulse Healing Count", 17, "How many pulses to do.");
rexGrowthSelf = ((BaseUnityPlugin)this).Config.Bind<int>("REX - Tangling Growth", "Self-Damage", 25, "Percent of max HP consumed when using Tangling Growth.");
rexGrowthProjProc = ((BaseUnityPlugin)this).Config.Bind<float>("REX - Tangling Growth", "Projectile Proc Coefficient", 1f, "Proc coefficient of Tangling Growth projectile.");
rexGrowthRootProc = ((BaseUnityPlugin)this).Config.Bind<float>("REX - Tangling Growth", "Root Proc Coefficient", 0f, "Proc coefficient of Tangling Growth roots.");
loaderKnuckleDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Loader - Knuckleboom", "Damage", 320, "Damage multiplier % of each Knuckleboom swing.");
loaderKnuckleProc = ((BaseUnityPlugin)this).Config.Bind<float>("Loader - Knuckleboom", "Proc Coefficient", 1f, "Proc coefficient of Knuckleboom.");
loaderSpikedDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Loader - Spiked Fist", "Damage", 320, "Damage multiplier % of Spiked Fist projectile.");
loaderSpikedProc = ((BaseUnityPlugin)this).Config.Bind<float>("Loader - Spiked Fist", "Proc Coefficient", 1f, "Proc coefficient of Spiked Fist.");
loaderChargedGauntletProc = ((BaseUnityPlugin)this).Config.Bind<float>("Loader - Charged Gauntlet", "Proc Coefficient", 1f, "Proc coefficient of Charged Gauntlet.");
loaderThunderGauntletCone = ((BaseUnityPlugin)this).Config.Bind<int>("Loader - Thunder Gauntlet", "Cone Damage", 900, "Damage multiplier % of Thunder Gauntlet lightning cone.");
loaderThunderGauntletProc = ((BaseUnityPlugin)this).Config.Bind<float>("Loader - Thunder Gauntlet", "Proc Coefficient", 1f, "Proc coefficient of Thunder Gauntlet.");
loaderPylonDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Loader - M551 Pylon", "Damage", 100, "Damage multiplier % of each Pylon projectile.");
loaderPylonDuration = ((BaseUnityPlugin)this).Config.Bind<int>("Loader - M551 Pylon", "Duration", 16, "Duration of Pylon in seconds.");
loaderPylonProjectiles = ((BaseUnityPlugin)this).Config.Bind<int>("Loader - M551 Pylon", "Projectile Count", 6, "Number of projectiles fired by Pylon.");
loaderPylonProc = ((BaseUnityPlugin)this).Config.Bind<float>("Loader - M551 Pylon", "Proc Coefficient", 0.5f, "Proc coefficient of Pylon.");
loaderPylonRange = ((BaseUnityPlugin)this).Config.Bind<int>("Loader - M551 Pylon", "Range", 25, "Range of Pylon in meters.");
loaderThunderslamDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Loader - Thunderslam", "Damage", 2000, "Damage multiplier % of Thunderslam.");
loaderThunderslamProc = ((BaseUnityPlugin)this).Config.Bind<float>("Loader - Thunderslam", "Proc Coefficient", 1f, "Proc coefficient of Thunderslam.");
acridPoisonMaxHealth = ((BaseUnityPlugin)this).Config.Bind<float>("Acrid - Poison", "Damage (Max Health)", 1f, "Damage multiplier % of victim’s maximum health for Poison.");
acridPoisonBaseDamage = ((BaseUnityPlugin)this).Config.Bind<float>("Acrid - Poison", "Damage (Base)", 100f, "Damage multiplier % of base damage for Poison.");
acridPoisonCap = ((BaseUnityPlugin)this).Config.Bind<float>("Acrid - Poison", "Damage Cap", 5000f, "Maximum damage multiplier % cap of Poison.");
acridPoisonDuration = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Poison", "Duration", 10, "Duration of Poison in seconds.");
acridBlightDuration = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Blight", "Duration", 5, "Duration of Blight in seconds.");
acridBlightDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Acrid - Blight", "Damage", 20f, "Damage multiplier % per tick of Blight.");
acridWoundsSwipeDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Vicious Wounds", "Swipe Damage", 200, "Damage multiplier % of first two swipes of Vicious Wounds.");
acridWoundsFinalDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Vicious Wounds", "Final Swipe Damage", 400, "Damage multiplier % of final swipe of Vicious Wounds.");
acridWoundsProc = ((BaseUnityPlugin)this).Config.Bind<float>("Acrid - Vicious Wounds", "Proc Coefficient", 1f, "Proc coefficient of Vicious Wounds.");
acridNeuroDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Neurotoxin", "Damage", 240, "Damage multiplier % of Neurotoxin.");
acridNeuroProc = ((BaseUnityPlugin)this).Config.Bind<float>("Acrid - Neurotoxin", "Proc Coefficient", 1f, "Proc coefficient of Neurotoxin.");
acridBiteDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Ravenous Bite", "Damage", 320, "Damage multiplier % of Ravenous Bite.");
acridBiteProc = ((BaseUnityPlugin)this).Config.Bind<float>("Acrid - Ravenous Bite", "Proc Coefficient", 1f, "Proc coefficient of Ravenous Bite.");
acridLeapPoolDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Caustic Leap", "Pool Damage", 25, "Damage multiplier % per tick of Caustic Leap's acid pool.");
acridLeapPoolDuration = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Caustic Leap", "Pool Duration", 10, "Duration of Caustic Leap’' acid pool in seconds.");
acridLeapDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Caustic Leap", "Leap Damage", 320, "Damage multiplier % of Caustic Leap impact.");
acridLeapProc = ((BaseUnityPlugin)this).Config.Bind<float>("Acrid - Caustic Leap", "Proc Coefficient", 1f, "Proc coefficient of Caustic Leap.");
acridLeapAcidProc = ((BaseUnityPlugin)this).Config.Bind<float>("Acrid - Caustic Leap", "Pool Proc Coefficient", 0.1f, "Proc coefficient of Caustic Leap's acid pool.");
acridFrenziedDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Frenzied Leap", "Damage", 550, "Damage multiplier % of Frenzied Leap.");
acridFrenziedProc = ((BaseUnityPlugin)this).Config.Bind<float>("Acrid - Frenzied Leap", "Proc Coefficient", 1f, "Proc coefficient of Frenzied Leap.");
acridPandemicDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Pandemic", "Damage", 100, "Damage multiplier % of Pandemic.");
acridPandemicRange = ((BaseUnityPlugin)this).Config.Bind<int>("Acrid - Pandemic", "Spread Range", 30, "Range in meters of Pandemic’s spread.");
acridPandemicProc = ((BaseUnityPlugin)this).Config.Bind<float>("Acrid - Pandemic", "Proc Coefficient", 1f, "Proc coefficient of Pandemic.");
captainShotgunDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Captain - Vulcan Shotgun", "Damage Multiplier", 120, "Damage multiplier % of Vulcan Shotgun.");
captainShotgunProc = ((BaseUnityPlugin)this).Config.Bind<float>("Captain - Vulcan Shotgun", "Proc Coefficient", 0.75f, "Proc coefficient of Vulcan Shotgun.");
captainTaserAoe = ((BaseUnityPlugin)this).Config.Bind<float>("Captain - Power Taser", "Area of Effect", 2f, "Area of effect radius (in meters) of Power Taser.");
captainTaserDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Captain - Power Taser", "Damage Multiplier", 100, "Damage multiplier % of Power Taser.");
captainTaserProc = ((BaseUnityPlugin)this).Config.Bind<float>("Captain - Power Taser", "Proc Coefficient", 1f, "Proc coefficient of Power Taser.");
captainProbeDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Captain - Orbital Probe", "Damage Multiplier", 1000, "Damage multiplier % of Orbital Probe.");
captainProbeProc = ((BaseUnityPlugin)this).Config.Bind<float>("Captain - Orbital Probe", "Proc Coefficient", 1f, "Proc coefficient of Orbital Probe.");
captainDiabloDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Captain - OGM-72 DIABLO Strike", "Damage Multiplier", 40000, "Damage multiplier % of Diablo Strike.");
captainDiabloProc = ((BaseUnityPlugin)this).Config.Bind<float>("Captain - OGM-72 DIABLO Strike", "Proc Coefficient", 1f, "Proc coefficient of Diablo Strike.");
captainBeaconDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Captain - Orbital Supply Beacon", "Damage Multiplier", 2000, "Damage multiplier % of Orbital Supply Beacon.");
captainBeaconRadius = ((BaseUnityPlugin)this).Config.Bind<int>("Captain - Orbital Supply Beacon", "Radius", 10, "Radius of Orbital Supply Beacon in meters.");
captainBeaconHeal = ((BaseUnityPlugin)this).Config.Bind<int>("Captain - Beacon Healing", "Maximum Health Healing", 10, "Percent of max HP healed per second.");
captainBeaconShockCount = ((BaseUnityPlugin)this).Config.Bind<float>("Captain - Beacon Shocking", "Shocks Frequency", 0.33f, "The frequency of shots for captains shock beacon.");
captainBeaconResupplyUses = ((BaseUnityPlugin)this).Config.Bind<int>("Captain - Beacon Resupply", "Number of Uses", 3, "Number of uses provided by Resupply Beacon.");
railgunnerXQRDamage = ((BaseUnityPlugin)this).Config.Bind<int>("Railgunner - XQR Smart Round System", "Damage Multiplier", 100, "Damage multiplier % of XQR Smart Round System.");
railgunnerXQRProc = ((BaseUnityPlugin)this).Config.Bind<float>("Railgunner - XQR Smart Round System", "Proc Coefficient", 1f, "Proc coefficient of XQR Smart Round System (original value: 1.0).");
railgunnerM99Damage = ((BaseUnityPlugin)this).Config.Bind<int>("Railgunner - M99", "Damage Multiplier", 1000, "Damage multiplier % of M99.");
railgunnerM99Proc = ((BaseUnityPlugin)this).Config.Bind<float>("Railgunner - M99", "Proc Coefficient", 1f, "Proc coefficient of M99.");
railgunnerHH44Damage = ((BaseUnityPlugin)this).Config.Bind<int>("Railgunner - HH44", "Damage Multiplier", 400, "Damage multiplier % of HH44 (original value: 400%).");
railgunnerHH44Proc = ((BaseUnityPlugin)this).Config.Bind<float>("Railgunner - HH44", "Proc Coefficient", 1f, "Proc coefficient of HH44.");
railgunnerPolarDuration = ((BaseUnityPlugin)this).Config.Bind<int>("Railgunner - Polar Field Device", "Duration", 12, "Duration in seconds of Polar Field Device (original value: 12s).");
railgunnerSuperCritMult = ((BaseUnityPlugin)this).Config.Bind<int>("Railgunner - Supercharged Railgun", "Critical Strike Damage Multiplier", 150, "Critical strike damage multiplier % of Supercharged Railgun.");
railgunnerSuperDamage = ((BaseUnityPlugin)this).Config.Bind<int>("Railgunner - Supercharged Railgun", "Damage Multiplier", 4000, "Damage multiplier % of Supercharged Railgun.");
railgunnerSuperProc = ((BaseUnityPlugin)this).Config.Bind<float>("Railgunner - Supercharged Railgun", "Proc Coefficient", 3f, "Proc coefficient of Supercharged Railgun.");
railgunnerCryoDamage = ((BaseUnityPlugin)this).Config.Bind<int>("Railgunner - Cryocharged Railgun", "Damage Multiplier", 2000, "Damage multiplier % of Cryocharged Railgun.");
railgunnerCryoProc = ((BaseUnityPlugin)this).Config.Bind<float>("Railgunner - Cryocharged Railgun", "Proc Coefficient", 1.5f, "Proc coefficient of Cryocharged Railgun");
voidDrownDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Void Fiend - Drown", "Damage", 300, "Damage multiplier % of Drown.");
voidDrownProc = ((BaseUnityPlugin)this).Config.Bind<float>("Void Fiend - Drown", "Proc Coefficient", 1f, "Proc coefficient of Drown.");
voidCorruptDrownDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Void Fiend - Corrupted Drown", "Damage per Tick", 250, "Damage multiplier % per tick of Corrupted Drown (8 ticks per second).");
voidCorruptDrownProc = ((BaseUnityPlugin)this).Config.Bind<float>("Void Fiend - Corrupted Drown", "Proc Coefficient", 0.625f, "Proc coefficient of Corrupted Drown.");
voidFloodUnchargedDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Void Fiend - Flood", "Damage Uncharged", 600, "Damage multiplier % of uncharged Flood.");
voidFloodChargedDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Void Fiend - Flood", "Damage Charged", 1100, "Damage multiplier % of charged Flood.");
voidFloodProc = ((BaseUnityPlugin)this).Config.Bind<float>("Void Fiend - Flood", "Proc Coefficient", 1f, "Proc coefficient of Flood.");
voidCorruptFloodDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Void Fiend - Corrupted Flood", "Damage", 1100, "Damage multiplier % of Corrupted Flood.");
voidCorruptFloodProc = ((BaseUnityPlugin)this).Config.Bind<float>("Void Fiend - Corrupted Flood", "Proc Coefficient", 1f, "Proc coefficient of Corrupted Flood.");
voidSuppressCorruptCrushed = ((BaseUnityPlugin)this).Config.Bind<int>("Void Fiend - Suppress", "Corruption Crushed", 25, "Percent of corruption reduced when casting Suppress.");
voidSuppressHeal = ((BaseUnityPlugin)this).Config.Bind<int>("Void Fiend - Suppress", "Healing", 25, "Percent of max HP healed when casting Suppress.");
voidCorruptSuppressGain = ((BaseUnityPlugin)this).Config.Bind<int>("Void Fiend - Corrupted Suppress", "Corruption Gain", 25, "Percent of corruption gained when casting Corrupted Suppress.");
voidCorruptSuppressCrush = ((BaseUnityPlugin)this).Config.Bind<int>("Void Fiend - Corrupted Suppress", "HP Crushed", 25, "Percent of max HP crushed when casting Corrupted Suppress.");
seekerInnerSpiritPunchThird = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Inner Strength", "Spirit Punch Third Damage Increase", 6.67f, "Spirit Punch third explosion damage increase %.");
seekerInnerUnseenHandHeal = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Inner Strength", "Unseen Hand Healing Increase", 4f, "Healing increase % for Unseen Hand.");
seekerInnerSojournRadius = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Inner Strength", "Sojourn Explosion Radius Increase", 14.28f, "Explosion radius increase % for Sojourn.");
seekerInnerReprieveBarrier = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Inner Strength", "Reprieve Barrier Increase", 10f, "Barrier increase % for Reprieve.");
seekerInnerMeditateHeal = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Inner Strength", "Meditate Healing Increase", 4f, "Healing increase % for Meditate.");
seekerInnerMeditateDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Inner Strength", "Meditate Damage Increase", 200f, "Damage increase % for Meditate.");
seekerInnerMeditateRadius = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Inner Strength", "Meditate Radius Increase", 2, "Radius increase in meters for Meditate.");
seekerInnerPalmSize = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Inner Strength", "Palm Blast Size Increase", 15f, "Size increase % for Palm Blast.");
seekerInnerPalmSpeed = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Inner Strength", "Palm Blast Speed Increase", 8.33f, "Speed increase % for Palm Blast.");
seekerInnerPalmDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Inner Strength", "Palm Blast Damage Increase", 250, "Damage increase % for Palm Blast.");
seekerInnerPalmHeal = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Inner Strength", "Palm Blast Healing Increase", 3f, "Healing increase % for Palm Blast.");
seekerSpiritPunchDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Spirit Punch", "Damage", 250, "Base damage % for Spirit Punch.");
seekerSpiritPunchThirdDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Spirit Punch", "Third Explosion Damage", 350, "Third explosion damage % for Spirit Punch.");
seekerSpiritPunchProc = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Spirit Punch", "Proc Coefficient", 1f, "Proc coefficient for Spirit Punch.");
seekerSpiritPunchThirdProc = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Spirit Punch", "Proc Coefficient", 0.75f, "Proc coefficient for third explosion Spirit Punch.");
seekerSpiritPunchAoE = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Spirit Punch", "Area of Effect", 7, "AoE radius in meters for Spirit Punch.");
seekerUnseenHandDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Unseen Hand", "Damage", 600, "Base damage % for Unseen Hand.");
seekerUnseenHandHeal = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Unseen Hand", "Heal Percent", 3.5f, "Healing increase % for Unseen Hand.");
seekerUnseenHandProc = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Unseen Hand", "Proc Coefficient", 1f, "Proc Coefficient for Unseen Hand.");
seekerSoulSpiralDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Soul Spiral", "Damage", 150, "Base damage % for Soul Spiral.");
seekerSoulSpiralHits = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Soul Spiral", "Orb Hits Before Expiring", 11, "Number of orb hits before expiring without Tranquility.");
seekerSoulSpiralBarrier = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Soul Spiral", "Barrier Gain", 3f, "Barrier gain % of max HP from Soul Spiral.");
seekerSoulSpiralProc = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Soul Spiral", "Proc Coefficient", 1f, "Proc coefficient of Soul Spiral.");
seekerSojournDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Sojourn", "Damage", 500, "Base damage % for Sojourn.");
seekerSojournSelfDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Sojourn", "Damage Per Second", 25f, "Damage % received per second.");
seekerSojournDmgIncrease = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Sojourn", "Damage Increase Per Second", 500f, "Damage multiplier increase % per second.");
seekerSojournBaseMinRadius = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Sojourn", "Base Min Radius", 5, "Base Min Radius of Sojourn in meters.");
seekerSojournBaseMaxRadius = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Sojourn", "Base Max Radius", 20, "Base Max Radius of Sojourn in meters.");
seekerSojournHealReduction = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Sojourn", "Healing Reduction Per Second", 10f, "Healing reduction % per second.");
seekerSojournProc = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Sojourn", "Proc Coefficient", 1f, "Proc coefficient for Sojourn.");
seekerReprieveDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Reprieve", "Damage", 200, "Damage % for Reprieve.");
seekerReprieveBarrier = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Reprieve", "Barrier Gain", 20f, "Barrier gain % of maximum health.");
seekerReprieveProc = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Reprieve", "Proc Coefficient", 1f, "Proc coefficient for Reprieve.");
seekerCycloneDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Reprieve", "Cyclone Damage", 100, "Damage multiplier % every 0.5s.");
seekerCycloneHeal = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Reprieve", "Healing", 1f, "Healing % every 0.5s.");
seekerCycloneDuration = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Reprieve", "Duration", 4, "Duration in seconds.");
seekerCycloneRadius = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Reprieve", "Radius", 20, "Radius in meters.");
seekerCycloneDmgIncrease = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Reprieve", "Damage Increase Per Second", 50f, "Damage increase % per second of flight.");
seekerCycloneHealIncrease = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Reprieve", "Healing Increase Per Second", 1f, "Healing increase % per second of flight.");
seekerCycloneDurationIncrease = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Reprieve", "Duration Increase Per Second", 0.5f, "Duration increase in seconds per second of flight.");
seekerMeditateDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Meditate", "Damage", 300, "Damage multiplier % of Meditate.");
seekerMeditateHeal = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Meditate", "Maximum Health Healing", 25f, "Healing % of max HP.");
seekerMeditateAoE = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Meditate", "Area of Effect", 10, "AoE radius in meters.");
seekerMeditateProc = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Meditate", "Proc Coefficient", 1f, "Proc coefficient of Meditate.");
seekerPalmMinDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Palm Blast", "Min Damage", 400, "Min Damage multiplier % of Palm Blast.");
seekerPalmMaxDmg = ((BaseUnityPlugin)this).Config.Bind<int>("Seeker - Palm Blast", "Max Damage", 700, "Damage multiplier % of Charged Palm Blast.");
seekerPalmMinHeal = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Palm Blast", "Min Healing", 9f, "Min Healing % of Palm Blast.");
seekerPalmMaxHeal = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Palm Blast", "Max Healing", 15f, "Healing % of Charged Palm Blast");
seekerPalmBarrier = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Palm Blast", "Multihit Barrier Gain", 20f, "Barrier gain % of max HP.");
seekerPalmProc = ((BaseUnityPlugin)this).Config.Bind<float>("Seeker - Palm Blast", "Proc Coefficient", 1f, "Proc coefficient of Palm Blast.");
chefKissHeal = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Chefs Kiss", "Heal Amount", 8f, "Base heal % amount of max HP for Chef's Kiss.");
chefOilPoolProc = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Oil Pools", "Oil Pool Proc Coefficient", 0.1f, "Proc coefficient for Chef's Oil Pools.");
chefSearDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Sear", "Damage", 600f, "Base damage % for Sear.");
chefSearProc = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Sear", "Proc Coefficient", 1f, "Proc coefficient for Sear.");
chefSearBoostDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Sear", "Boosted Damage", 700f, "Base damage % for boosted Sear projectiles.");
chefSearBoostProc = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Sear", "Boosted Proc Coefficient", 1f, "Proc coefficient for boosted Sear projectiles.");
chefIceDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Ice Box", "Damage", 150f, "Base damage % for each Ice Box projectile.");
chefIceProc = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Ice Box", "Proc Coefficient", 1f, "Proc coefficient for each Ice Box projectile.");
chefIceAoe = ((BaseUnityPlugin)this).Config.Bind<int>("Chef - Ice Box", "Explosion Radius", 3, "Explosion radius of Ice Box projecitles in meters.");
chefIceBoostDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Ice Box", "Boosted Damage", 1500f, "Base damage % for boosted Ice Box.");
chefIceBoostProc = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Ice Box", "Boosted Proc Coefficient", 1f, "Proc coefficient for boosted Ice Box.");
chefIceBoostAoe = ((BaseUnityPlugin)this).Config.Bind<int>("Chef - Ice Box", "Boosted Explosion Radius", 15, "Explosion radius of boosted Ice Box.");
chefOilSpillDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Oil Spill", "Damage", 200f, "Base damage % for Oil Spill.");
chefOilSpillProc = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Oil Spill", "Proc Coefficient", 1f, "Proc coefficient for Oil Spill.");
chefGlazeDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Glaze", "Damage", 250f, "Base damage % for each Glaze projectile.");
chefGlazeProc = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Glaze", "Proc Coefficient", 1f, "Proc coefficient for each Glaze projectile.");
chefYesChefDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Yes Chef", "Damage", 400f, "Base damage % for Yes Chef explosion.");
chefYesChefProc = ((BaseUnityPlugin)this).Config.Bind<float>("Chef - Yes Chef", "Proc Coefficient", 0.33f, "Proc coefficient for Yes Chef explosion.");
falseSonClubDmg = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Club of the Forsaken", "Damage", 450f, "Base damage % for Club of the Forsaken.");
falseSonOverheadClubDmg = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Club of the Forsaken", "Overhead Swing Damage", 400f, "Base damage % for Club of the Forsaken Overhead Swing.");
falseSonClubProc = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Club of the Forsaken", "Proc Coefficient", 1f, "Proc coefficient for Club of the Forsaken.");
falseSonChargeClubDmg = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Club of the Forsaken", "Charged Damage", 1000f, "Base damage % for Charged Club of the Forsaken.");
falseSonChargeClubProc = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Club of the Forsaken", "Proc Coefficient", 1.5f, "Proc coefficient for Charged Club of the Forsaken.");
falseSonSpikeDmg = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Lunar Spikes", "Damage", 200f, "Base damage % for Lunar Spikes.");
falseSonSpikeProc = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Lunar Spikes", "Proc Coefficient", 1f, "Proc coefficient for Lunar Spikes.");
falseSonStakeDmg = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Lunar Stakes", "Damage", 300f, "Base damage % for Lunar Stakes.");
falseSonStakeProc = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Lunar Stakes", "Proc Coefficient", 1f, "Proc coefficient for Lunar Stakes.");
falseSonStakeBoltDmg = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Lunar Stakes", "Bolt Damage", 150f, "Base damage % for Lunar Stake Lightning Bolt.");
falseSonStakeBoltProc = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Lunar Stakes", "Bolt Proc Coefficient", 1f, "Proc coefficient for Lunar Stake Lightning Bolt.");
falseSonStakeBoltAoe = ((BaseUnityPlugin)this).Config.Bind<int>("False Son - Lunar Stakes", "Bolt AOE Radius", 6, "Area of effect radius in meters for Lunar Stake Lightning Bolt.");
falseSonStepDmg = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Step of the Brothers", "Damage", 200f, "Base damage % for Step of the Brothers.");
falseSonStepProc = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Step of the Brothers", "Proc Coefficient", 0.5f, "Proc coefficient for Step of the Brothers.");
falseSonMeridianDmg = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Meridians Will", "Damage", 150f, "Base damage % for Meridian's Will.");
falseSonMeridianAoe = ((BaseUnityPlugin)this).Config.Bind<int>("False Son - Meridians Will", "AOE Radius", 25, "Area of effect radius in meters for Meridian's Will.");
falseSonMeridianPullAoe = ((BaseUnityPlugin)this).Config.Bind<int>("False Son - Meridians Will", "Pull Radius", 15, "Pull radius for Meridian's Will.");
falseSonMeridianGrowthBase = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Meridians Will", "Growth Base", 4f, "Base growth multiplier for Meridian's Will.");
falseSonMeridianGrowthIncrease = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Meridians Will", "Growth Increase", 0.33f, "Growth increase per stack for Meridian's Will.");
falseSonFatherProc = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Laser of the Father", "Proc Coefficient", 0.45f, "Proc coefficient for Laser of the Father.");
falseSonBurstDmg = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Laser Burst", "Damage", 1250f, "Base damage % for Laser Burst.");
falseSonBurstProc = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Laser Burst", "Proc Coefficient", 1f, "Proc coefficient for Laser Burst.");
falseSonBurstSpikeFill = ((BaseUnityPlugin)this).Config.Bind<float>("False Son - Laser Burst", "Spike Refill", 50f, "Percentage of Lunar Spikes refilled by Laser Burst.");
FireSeekingArrow.CreateArrowOrb += new hook_CreateArrowOrb(FireSeekingArrow_CreateArrowOrb);
FireFlurrySeekingArrow.CreateArrowOrb += new hook_CreateArrowOrb(FireFlurrySeekingArrow_CreateArrowOrb);
FireArrowSnipe.ModifyBullet += (hook_ModifyBullet)delegate(orig_ModifyBullet orig, FireArrowSnipe self, BulletAttack bulletAttack)
{
ApplyCustomBulletValues(huntBallistaDmg.Value, huntBallistaProc.Value, ((BaseState)self).damageStat, bulletAttack);
orig.Invoke(self, bulletAttack);
};
Bandit2FireRifle.ModifyBullet += (hook_ModifyBullet)delegate(orig_ModifyBullet orig, Bandit2FireRifle self, BulletAttack bulletAttack)
{
ApplyCustomBulletValues(bandBlastDmg.Value, bandBlastProc.Value, ((BaseState)self).damageStat, bulletAttack);
orig.Invoke(self, bulletAttack);
};
FireShotgun2.ModifyBullet += (hook_ModifyBullet)delegate(orig_ModifyBullet orig, FireShotgun2 self, BulletAttack bulletAttack)
{
ApplyCustomBulletValues(bandBurstDmg.Value, bandBurstProc.Value, ((BaseState)self).damageStat, bulletAttack);
orig.Invoke(self, bulletAttack);
};
object obj = <>c.<>9__311_3;
if (obj == null)
{
hook_AuthorityModifyOverlapAttack val = delegate(orig_AuthorityModifyOverlapAttack orig, SlashBlade self, OverlapAttack overlapAttack)
{
overlapAttack.damage = (float)bandDaggerDmg.Value / 100f * ((BaseState)self).damageStat;
orig.Invoke(self, overlapAttack);
};
<>c.<>9__311_3 = val;
obj = (object)val;
}
SlashBlade.AuthorityModifyOverlapAttack += (hook_AuthorityModifyOverlapAttack)obj;
FireSidearmResetRevolver.ModifyBullet += (hook_ModifyBullet)delegate(orig_ModifyBullet orig, FireSidearmResetRevolver self, BulletAttack bulletAttack)
{
ApplyCustomBulletValues(bandLightsOutDmg.Value, bandLightsOutProc.Value, ((BaseState)self).damageStat, bulletAttack);
orig.Invoke(self, bulletAttack);
};
FireSidearmSkullRevolver.ModifyBullet += (hook_ModifyBullet)delegate(orig_ModifyBullet orig, FireSidearmSkullRevolver self, BulletAttack bulletAttack)
{
orig.Invoke(self, bulletAttack);
ApplyCustomBulletValues(bandDesperadoDmg.Value, bandDesperadoProc.Value, ((BaseState)self).damageStat, bulletAttack);
int num2 = 0;
if (Object.op_Implicit((Object)(object)((EntityState)self).characterBody))
{
num2 = ((EntityState)self).characterBody.GetBuffCount(Buffs.BanditSkull);
}
float num3 = 1f + (float)bandDesperadoBuff.Value / 100f * (float)num2;
bulletAttack.damage *= num3;
};
object obj2 = <>c.<>9__311_6;
if (obj2 == null)
{
hook_OnEnter val2 = delegate(orig_OnEnter orig, ToolbotDash self)
{
self.speedMultiplier = multTransportMoveSpd.Value / 100;
orig.Invoke(self);
};
<>c.<>9__311_6 = val2;
obj2 = (object)val2;
}
ToolbotDash.OnEnter += (hook_OnEnter)obj2;
object obj3 = <>c.<>9__311_7;
if (obj3 == null)
{
hook_OnEnter val3 = delegate(orig_OnEnter orig, Deployed self)
{
orig.Invoke(self);
BeginRapidlyActivatingAndDeactivating component28 = ((EntityState)self).gameObject.GetComponent<BeginRapidlyActivatingAndDeactivating>();
if (Object.op_Implicit((Object)(object)component28))
{
((Behaviour)component28).enabled = false;
}
};
<>c.<>9__311_7 = val3;
obj3 = (object)val3;
}
Deployed.OnEnter += (hook_OnEnter)obj3;
FocusedAssaultDash.HandleHit += new hook_HandleHit(FocusedAssaultDash_HandleHit);
object obj4 = <>c.<>9__311_8;
if (obj4 == null)
{
hook_OnProjectileFiredLocal val4 = delegate(orig_OnProjectileFiredLocal orig, AimMortar2 self)
{
if (self.healthCostFraction != 0f)
{
self.healthCostFraction = (float)rexSeedSelf.Value / 100f;
}
orig.Invoke(self);
};
<>c.<>9__311_8 = val4;
obj4 = (object)val4;
}
AimMortar2.OnProjectileFiredLocal += (hook_OnProjectileFiredLocal)obj4;
object obj5 = <>c.<>9__311_9;
if (obj5 == null)
{
hook_RootPulse val5 = delegate(orig_RootPulse orig, TreebotFlower2Projectile self)
{
self.procCoefficient = rexGrowthRootProc.Value;
orig.Invoke(self);
};
<>c.<>9__311_9 = val5;
obj5 = (object)val5;
}
TreebotFlower2Projectile.RootPulse += (hook_RootPulse)obj5;
object obj6 = <>c.<>9__311_10;
if (obj6 == null)
{
hook_AuthorityModifyOverlapAttack val6 = delegate(orig_AuthorityModifyOverlapAttack orig, SwingComboFist self, OverlapAttack overlapAttack)
{
overlapAttack.damage = (float)loaderKnuckleDmg.Value / 100f * ((BaseState)self).damageStat;
overlapAttack.procCoefficient = loaderKnuckleProc.Value;
orig.Invoke(self, overlapAttack);
};
<>c.<>9__311_10 = val6;
obj6 = (object)val6;
}
SwingComboFist.AuthorityModifyOverlapAttack += (hook_AuthorityModifyOverlapAttack)obj6;
FireCaptainShotgun.ModifyBullet += (hook_ModifyBullet)delegate(orig_ModifyBullet orig, FireCaptainShotgun self, BulletAttack bulletAttack)
{
ApplyCustomBulletValues(captainShotgunDmg.Value, captainShotgunProc.Value, ((BaseState)self).damageStat, bulletAttack);
orig.Invoke(self, bulletAttack);
};
FireSnipeHeavy.ModifyBullet += (hook_ModifyBullet)delegate(orig_ModifyBullet orig, FireSnipeHeavy self, BulletAttack bulletAttack)
{
ApplyCustomBulletValues(railgunnerM99Damage.Value, railgunnerM99Proc.Value, ((BaseState)self).damageStat, bulletAttack);
orig.Invoke(self, bulletAttack);
};
FireSnipeLight.ModifyBullet += (hook_ModifyBullet)delegate(orig_ModifyBullet orig, FireSnipeLight self, BulletAttack bulletAttack)
{
ApplyCustomBulletValues(railgunnerHH44Damage.Value, railgunnerHH44Proc.Value, ((BaseState)self).damageStat, bulletAttack);
orig.Invoke(self, bulletAttack);
};
FireSnipeSuper.ModifyBullet += (hook_ModifyBullet)delegate(orig_ModifyBullet orig, FireSnipeSuper self, BulletAttack bulletAttack)
{
ApplyCustomBulletValues(railgunnerSuperDamage.Value, railgunnerSuperProc.Value, ((BaseState)self).damageStat, bulletAttack);
if (bulletAttack.isCrit)
{
((BaseFireSnipe)self).critDamageMultiplier = (float)railgunnerSuperCritMult.Value / 100f;
}
orig.Invoke(self, bulletAttack);
};
FireSnipeCryo.ModifyBullet += (hook_ModifyBullet)delegate(orig_ModifyBullet orig, FireSnipeCryo self, BulletAttack bulletAttack)
{
ApplyCustomBulletValues(railgunnerCryoDamage.Value, railgunnerCryoProc.Value, ((BaseState)self).damageStat, bulletAttack);
orig.Invoke(self, bulletAttack);
};
object obj7 = <>c.<>9__311_16;
if (obj7 == null)
{
hook_OnEnter val7 = delegate(orig_OnEnter orig, CrushBase self)
{
if (self is CrushCorruption)
{
self.selfHealFraction = (float)voidSuppressHeal.Value / 100f;
self.corruptionChange = -voidSuppressCorruptCrushed.Value;
}
else if (self is CrushHealth)
{
self.selfHealFraction = 0f - (float)voidCorruptSuppressCrush.Value / 100f;
self.corruptionChange = voidCorruptSuppressGain.Value;
}
orig.Invoke(self);
};
<>c.<>9__311_16 = val7;
obj7 = (object)val7;
}
CrushBase.OnEnter += (hook_OnEnter)obj7;
object obj8 = <>c.<>9__311_17;
if (obj8 == null)
{
hook_OnEnter val8 = delegate(orig_OnEnter orig, SpiritPunch self)
{
self.dmgBuffIncrease = seekerInnerSpiritPunchThird.Value / 100f;
orig.Invoke(self);
};
<>c.<>9__311_17 = val8;
obj8 = (object)val8;
}
SpiritPunch.OnEnter += (hook_OnEnter)obj8;
object obj9 = <>c.<>9__311_18;
if (obj9 == null)
{
hook_OnEnter val9 = delegate(orig_OnEnter orig, Meditate self)
{
self.blastRadius = seekerMeditateAoE.Value;
self.blastRadiusScaling = (float)seekerInnerMeditateRadius.Value - 1f;
orig.Invoke(self);
};
<>c.<>9__311_18 = val9;
obj9 = (object)val9;
}
Meditate.OnEnter += (hook_OnEnter)obj9;
object obj10 = <>c.<>9__311_19;
if (obj10 == null)
{
hook_OnEnter val10 = delegate(orig_OnEnter orig, Reprieve self)
{
self.barrierTranquilityGrowth = seekerInnerReprieveBarrier.Value / 100f;
self.barrierOnReprieveEnter = seekerReprieveBarrier.Value / 100f;
orig.Invoke(self);
};
<>c.<>9__311_19 = val10;
obj10 = (object)val10;
}
Reprieve.OnEnter += (hook_OnEnter)obj10;
SeekerController.CmdTriggerHealPulse += new hook_CmdTriggerHealPulse(SeekerController_CmdTriggerHealPulse);
object obj11 = <>c.<>9__311_20;
if (obj11 == null)
{
Manipulator val11 = delegate(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
ILCursor val17 = new ILCursor(il);
int num = 0;
while (val17.TryGotoNext(new Func<Instruction, bool>[1]
{
(Instruction i) => ILPatternMatchingExt.MatchLdcR4(i, 0.04f)
}))
{
val17.Next.Operand = chefKissHeal.Value / 2f / 100f;
num++;
}
Log.Info($"Replaced {num} occurrences of 0.04f for Chefs Kiss");
};
<>c.<>9__311_20 = val11;
obj11 = (object)val11;
}
GlobalEventManager.OnCharacterDeath += (Manipulator)obj11;
object obj12 = <>c.<>9__311_21;
if (obj12 == null)
{
hook_OnEnter val12 = delegate(orig_OnEnter orig, YesChef self)
{
self.explosionDamageCoefficient = chefYesChefDmg.Value;
orig.Invoke(self);
};
<>c.<>9__311_21 = val12;
obj12 = (object)val12;
}
YesChef.OnEnter += (hook_OnEnter)obj12;
object obj13 = <>c.<>9__311_22;
if (obj13 == null)
{
hook_OnEnter val13 = delegate(orig_OnEnter orig, MeridiansWillFire self)
{
self.damage = falseSonMeridianDmg.Value / 100f;
self.forcePullRadius = falseSonMeridianPullAoe.Value;
self.blastRadius = falseSonMeridianAoe.Value;
self.coreBuffDuration = falseSonMeridianGrowthBase.Value;
self.bonusDurationFromGrowth = falseSonMeridianGrowthIncrease.Value;
orig.Invoke(self);
};
<>c.<>9__311_22 = val13;
obj13 = (object)val13;
}
MeridiansWillFire.OnEnter += (hook_OnEnter)obj13;
object obj14 = <>c.<>9__311_23;
if (obj14 == null)
{
hook_OnEnter val14 = delegate(orig_OnEnter orig, LaserFatherBurstPrep self)
{
self.secondaryRefillPercentage = falseSonBurstSpikeFill.Value / 100f;
orig.Invoke(self);
};
<>c.<>9__311_23 = val14;
obj14 = (object)val14;
}
LaserFatherBurstPrep.OnEnter += (hook_OnEnter)obj14;
BulletAttack.HandleBulletDamage += new Manipulator(BulletAttack_HandleBulletDamage);
HealthComponent.Heal += new Manipulator(HealthComponent_Heal);
BulletAttack.DefaultHitCallbackImplementation += new hook_DefaultHitCallbackImplementation(BulletAttack_DefaultHitCallbackImplementation);
DotController.InitDotCatalog += new hook_InitDotCatalog(DotController_InitDotCatalog);
DotController.AddDot_GameObject_float_HurtBox_DotIndex_float_Nullable1_Nullable1_Nullable1 += new Manipulator(IL_DotController_AddDot);
DotController.AddDot_GameObject_float_HurtBox_DotIndex_float_Nullable1_Nullable1_Nullable1 += new hook_AddDot_GameObject_float_HurtBox_DotIndex_float_Nullable1_Nullable1_Nullable1(DotController_AddDot_GameObject_float_HurtBox_DotIndex_float_Nullable1_Nullable1_Nullable1);
BlastAttack.PerformDamageServer += new hook_PerformDamageServer(BlastAttack_PerformDamageServer);
OverlapAttack.PerformDamage += new hook_PerformDamage(OverlapAttack_PerformDamage);
ProjectileManager.FireProjectileServer += new hook_FireProjectileServer(ProjectileManager_FireProjectileServer);
try
{
RoR2Application.onLoad = (Action)Delegate.Combine(RoR2Application.onLoad, (Action)delegate
{
//IL_0893: Unknown result type (might be due to invalid IL or missing references)
//IL_0898: Unknown result type (might be due to invalid IL or missing references)
//IL_08e0: Unknown result type (might be due to invalid IL or missing references)
//IL_08e5: Unknown result type (might be due to invalid IL or missing references)
//IL_09ba: Unknown result type (might be due to invalid IL or missing references)
//IL_09bf: Unknown result type (might be due to invalid IL or missing references)
//IL_09d4: Unknown result type (might be due to invalid IL or missing references)
//IL_09e3: Unknown result type (might be due to invalid IL or missing references)
//IL_0a01: Unknown result type (might be due to invalid IL or missing references)
//IL_0a06: Unknown result type (might be due to invalid IL or missing references)
//IL_0a5d: Unknown result type (might be due to invalid IL or missing references)
//IL_0a62: Unknown result type (might be due to invalid IL or missing references)
//IL_0aa4: Unknown result type (might be due to invalid IL or missing references)
//IL_0aa9: Unknown result type (might be due to invalid IL or missing references)
//IL_0af2: Unknown result type (might be due to invalid IL or missing references)
//IL_0af7: Unknown result type (might be due to invalid IL or missing references)
//IL_0b2f: Unknown result type (might be due to invalid IL or missing references)
//IL_0b34: Unknown result type (might be due to invalid IL or missing references)
//IL_0b76: Unknown result type (might be due to invalid IL or missing references)
//IL_0b7b: Unknown result type (might be due to invalid IL or missing references)
//IL_0bbc: Unknown result type (might be due to invalid IL or missing references)
//IL_0bc1: Unknown result type (might be due to invalid IL or missing references)
//IL_0bf3: Unknown result type (might be due to invalid IL or missing references)
//IL_0bf8: Unknown result type (might be due to invalid IL or missing references)
//IL_0c50: Unknown result type (might be due to invalid IL or missing references)
//IL_0c55: Unknown result type (might be due to invalid IL or missing references)
//IL_0c9c: Unknown result type (might be due to invalid IL or missing references)
//IL_0ca1: Unknown result type (might be due to invalid IL or missing references)
//IL_0ce8: Unknown result type (might be due to invalid IL or missing references)
//IL_0ced: Unknown result type (might be due to invalid IL or missing references)
//IL_0d0f: Unknown result type (might be due to invalid IL or missing references)
//IL_0d14: Unknown result type (might be due to invalid IL or missing references)
//IL_0d62: Unknown result type (might be due to invalid IL or missing references)
//IL_0d67: Unknown result type (might be due to invalid IL or missing references)
//IL_0e02: Unknown result type (might be due to invalid IL or missing references)
//IL_0e07: Unknown result type (might be due to invalid IL or missing references)
//IL_0e4e: Unknown result type (might be due to invalid IL or missing references)
//IL_0e53: Unknown result type (might be due to invalid IL or missing references)
//IL_0e85: Unknown result type (might be due to invalid IL or missing references)
//IL_0e8a: Unknown result type (might be due to invalid IL or missing references)
//IL_0ed8: Unknown result type (might be due to invalid IL or missing references)
//IL_0edd: Unknown result type (might be due to invalid IL or missing references)
//IL_0f2f: Unknown result type (might be due to invalid IL or missing references)
//IL_0f3e: Unknown result type (might be due to invalid IL or missing references)
//IL_0f5c: Unknown result type (might be due to invalid IL or missing references)
//IL_0f61: Unknown result type (might be due to invalid IL or missing references)
//IL_0fe4: Unknown result type (might be due to invalid IL or missing references)
//IL_0fe9: Unknown result type (might be due to invalid IL or missing references)
//IL_1022: Unknown result type (might be due to invalid IL or missing references)
//IL_1027: Unknown result type (might be due to invalid IL or missing references)
//IL_10d5: Unknown result type (might be due to invalid IL or missing references)
//IL_10da: Unknown result type (might be due to invalid IL or missing references)
//IL_110c: Unknown result type (might be due to invalid IL or missing references)
//IL_1111: Unknown result type (might be due to invalid IL or missing references)
//IL_114a: Unknown result type (might be due to invalid IL or missing references)
//IL_114f: Unknown result type (might be due to invalid IL or missing references)
//IL_1188: Unknown result type (might be due to invalid IL or missing references)
//IL_118d: Unknown result type (might be due to invalid IL or missing references)
//IL_11fd: Unknown result type (might be due to invalid IL or missing references)
//IL_1202: Unknown result type (might be due to invalid IL or missing references)
//IL_1234: Unknown result type (might be due to invalid IL or missing references)
//IL_1239: Unknown result type (might be due to invalid IL or missing references)
//IL_1283: Unknown result type (might be due to invalid IL or missing references)
//IL_1288: Unknown result type (might be due to invalid IL or missing references)
//IL_12d2: Unknown result type (might be due to invalid IL or missing references)
//IL_12d7: Unknown result type (might be due to invalid IL or missing references)
//IL_132e: Unknown result type (might be due to invalid IL or missing references)
//IL_1333: Unknown result type (might be due to invalid IL or missing references)
//IL_1365: Unknown result type (might be due to invalid IL or missing references)
//IL_136a: Unknown result type (might be due to invalid IL or missing references)
//IL_13b2: Unknown result type (might be due to invalid IL or missing references)
//IL_13b7: Unknown result type (might be due to invalid IL or missing references)
//IL_13c6: Unknown result type (might be due to invalid IL or missing references)
//IL_13cb: Unknown result type (might be due to invalid IL or missing references)
//IL_1440: Unknown result type (might be due to invalid IL or missing references)
//IL_1445: Unknown result type (might be due to invalid IL or missing references)
//IL_146d: Unknown result type (might be due to invalid IL or missing references)
//IL_1472: Unknown result type (might be due to invalid IL or missing references)
//IL_14a4: Unknown result type (might be due to invalid IL or missing references)
//IL_14a9: Unknown result type (might be due to invalid IL or missing references)
//IL_14cc: Unknown result type (might be due to invalid IL or missing references)
//IL_14d1: Unknown result type (might be due to invalid IL or missing references)
//IL_1503: Unknown result type (might be due to invalid IL or missing references)
//IL_1508: Unknown result type (might be due to invalid IL or missing references)
//IL_153a: Unknown result type (might be due to invalid IL or missing references)
//IL_153f: Unknown result type (might be due to invalid IL or missing references)
//IL_1571: Unknown result type (might be due to invalid IL or missing references)
//IL_1576: Unknown result type (might be due to invalid IL or missing references)
//IL_15a8: Unknown result type (might be due to invalid IL or missing references)
//IL_15ad: Unknown result type (might be due to invalid IL or missing references)
//IL_15f0: Unknown result type (might be due to invalid IL or missing references)
//IL_15f5: Unknown result type (might be due to invalid IL or missing references)
//IL_1658: Unknown result type (might be due to invalid IL or missing references)
//IL_165d: Unknown result type (might be due to invalid IL or missing references)
//IL_16c0: Unknown result type (might be due to invalid IL or missing referenc