using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using R2API;
using RiskOfOptions;
using RiskOfOptions.OptionConfigs;
using RiskOfOptions.Options;
using RoR2;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("operator buff")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("operator buff")]
[assembly: AssemblyTitle("operator buff")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace DroneSynergy;
[BepInPlugin("com.Azrael.DroneSynergy", "Operator Drone Synergy", "1.0.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class DroneSynergyMod : BaseUnityPlugin
{
private readonly string[] droneNames = new string[14]
{
"RechargeDroneBody", "BombardmentDroneBody", "CleanupDroneBody", "EmergencyDroneBody", "EquipmentDroneBody", "CopycatDroneBody", "Drone1Body", "Drone2Body", "FlameDroneBody", "JailerDroneBody",
"JunkDroneBody", "MissileDroneBody", "MegaDroneBody", "HaulerDroneBody"
};
private ConfigEntry<float> cfgEmergencyRegenMult;
private ConfigEntry<float> cfgEmergencyBaseRegen;
private ConfigEntry<float> cfgGunnerDamageMult;
private ConfigEntry<float> cfgHealingBaseRegen;
private ConfigEntry<float> cfgHealingRegenMult;
private ConfigEntry<float> cfgMissileCrit;
private ConfigEntry<float> cfgMissileCritDmg;
private ConfigEntry<float> cfgMegaDamageMult;
private ConfigEntry<float> cfgEquipDamageMult;
private ConfigEntry<float> cfgFlameAtkSpdMult;
private ConfigEntry<float> cfgRechargeArmor;
private ConfigEntry<float> cfgBombardCrit;
private ConfigEntry<float> cfgBombardCritDmg;
private ConfigEntry<float> cfgCleanupMoveSpd;
private ConfigEntry<float> cfgCleanupAtkSpd;
private ConfigEntry<float> cfgCopycatArmor;
private ConfigEntry<float> cfgCopycatArmorMult;
private ConfigEntry<float> cfgJailerShield;
private ConfigEntry<float> cfgJunkHealthMult;
private ConfigEntry<float> cfgHaulerAtkSpd;
private ConfigEntry<float> cfgHaulerMoveSpdMult;
public void Awake()
{
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
//IL_0019: Expected O, but got Unknown
SetupConfigAndOptions();
RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(ApplyDroneSynergy);
}
private void SetupConfigAndOptions()
{
//IL_0051: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_007c: Expected O, but got Unknown
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0081: Expected O, but got Unknown
//IL_0088: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
//IL_00b3: Expected O, but got Unknown
//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
//IL_00b8: Expected O, but got Unknown
//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
//IL_00e9: Unknown result type (might be due to invalid IL or missing references)
//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
//IL_010f: Expected O, but got Unknown
//IL_010a: Unknown result type (might be due to invalid IL or missing references)
//IL_0114: Expected O, but got Unknown
//IL_0165: Unknown result type (might be due to invalid IL or missing references)
//IL_016a: Unknown result type (might be due to invalid IL or missing references)
//IL_0175: Unknown result type (might be due to invalid IL or missing references)
//IL_0180: Unknown result type (might be due to invalid IL or missing references)
//IL_0190: Expected O, but got Unknown
//IL_018b: Unknown result type (might be due to invalid IL or missing references)
//IL_0195: Expected O, but got Unknown
//IL_019c: Unknown result type (might be due to invalid IL or missing references)
//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
//IL_01c7: Expected O, but got Unknown
//IL_01c2: Unknown result type (might be due to invalid IL or missing references)
//IL_01cc: Expected O, but got Unknown
//IL_021d: Unknown result type (might be due to invalid IL or missing references)
//IL_0222: Unknown result type (might be due to invalid IL or missing references)
//IL_022d: Unknown result type (might be due to invalid IL or missing references)
//IL_0238: Unknown result type (might be due to invalid IL or missing references)
//IL_0248: Expected O, but got Unknown
//IL_0243: Unknown result type (might be due to invalid IL or missing references)
//IL_024d: Expected O, but got Unknown
//IL_0254: Unknown result type (might be due to invalid IL or missing references)
//IL_0259: Unknown result type (might be due to invalid IL or missing references)
//IL_0264: Unknown result type (might be due to invalid IL or missing references)
//IL_026f: Unknown result type (might be due to invalid IL or missing references)
//IL_027f: Expected O, but got Unknown
//IL_027a: Unknown result type (might be due to invalid IL or missing references)
//IL_0284: Expected O, but got Unknown
//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
//IL_02cb: Unknown result type (might be due to invalid IL or missing references)
//IL_02db: Expected O, but got Unknown
//IL_02d6: Unknown result type (might be due to invalid IL or missing references)
//IL_02e0: Expected O, but got Unknown
//IL_030c: Unknown result type (might be due to invalid IL or missing references)
//IL_0311: Unknown result type (might be due to invalid IL or missing references)
//IL_031c: Unknown result type (might be due to invalid IL or missing references)
//IL_0327: Unknown result type (might be due to invalid IL or missing references)
//IL_0337: Expected O, but got Unknown
//IL_0332: Unknown result type (might be due to invalid IL or missing references)
//IL_033c: Expected O, but got Unknown
//IL_0368: Unknown result type (might be due to invalid IL or missing references)
//IL_036d: Unknown result type (might be due to invalid IL or missing references)
//IL_0378: Unknown result type (might be due to invalid IL or missing references)
//IL_0383: Unknown result type (might be due to invalid IL or missing references)
//IL_0393: Expected O, but got Unknown
//IL_038e: Unknown result type (might be due to invalid IL or missing references)
//IL_0398: Expected O, but got Unknown
//IL_03c4: Unknown result type (might be due to invalid IL or missing references)
//IL_03c9: Unknown result type (might be due to invalid IL or missing references)
//IL_03d4: Unknown result type (might be due to invalid IL or missing references)
//IL_03df: Unknown result type (might be due to invalid IL or missing references)
//IL_03ef: Expected O, but got Unknown
//IL_03ea: Unknown result type (might be due to invalid IL or missing references)
//IL_03f4: Expected O, but got Unknown
//IL_0445: Unknown result type (might be due to invalid IL or missing references)
//IL_044a: Unknown result type (might be due to invalid IL or missing references)
//IL_0455: Unknown result type (might be due to invalid IL or missing references)
//IL_0460: Unknown result type (might be due to invalid IL or missing references)
//IL_0470: Expected O, but got Unknown
//IL_046b: Unknown result type (might be due to invalid IL or missing references)
//IL_0475: Expected O, but got Unknown
//IL_047c: Unknown result type (might be due to invalid IL or missing references)
//IL_0481: Unknown result type (might be due to invalid IL or missing references)
//IL_048c: Unknown result type (might be due to invalid IL or missing references)
//IL_0497: Unknown result type (might be due to invalid IL or missing references)
//IL_04a7: Expected O, but got Unknown
//IL_04a2: Unknown result type (might be due to invalid IL or missing references)
//IL_04ac: Expected O, but got Unknown
//IL_04fd: Unknown result type (might be due to invalid IL or missing references)
//IL_0502: Unknown result type (might be due to invalid IL or missing references)
//IL_050d: Unknown result type (might be due to invalid IL or missing references)
//IL_0518: Unknown result type (might be due to invalid IL or missing references)
//IL_0528: Expected O, but got Unknown
//IL_0523: Unknown result type (might be due to invalid IL or missing references)
//IL_052d: Expected O, but got Unknown
//IL_0534: Unknown result type (might be due to invalid IL or missing references)
//IL_0539: Unknown result type (might be due to invalid IL or missing references)
//IL_0544: Unknown result type (might be due to invalid IL or missing references)
//IL_054f: Unknown result type (might be due to invalid IL or missing references)
//IL_055f: Expected O, but got Unknown
//IL_055a: Unknown result type (might be due to invalid IL or missing references)
//IL_0564: Expected O, but got Unknown
//IL_05b5: Unknown result type (might be due to invalid IL or missing references)
//IL_05ba: Unknown result type (might be due to invalid IL or missing references)
//IL_05c5: Unknown result type (might be due to invalid IL or missing references)
//IL_05d0: Unknown result type (might be due to invalid IL or missing references)
//IL_05e0: Expected O, but got Unknown
//IL_05db: Unknown result type (might be due to invalid IL or missing references)
//IL_05e5: Expected O, but got Unknown
//IL_05ec: Unknown result type (might be due to invalid IL or missing references)
//IL_05f1: Unknown result type (might be due to invalid IL or missing references)
//IL_05fc: Unknown result type (might be due to invalid IL or missing references)
//IL_0607: Unknown result type (might be due to invalid IL or missing references)
//IL_0617: Expected O, but got Unknown
//IL_0612: Unknown result type (might be due to invalid IL or missing references)
//IL_061c: Expected O, but got Unknown
//IL_0648: Unknown result type (might be due to invalid IL or missing references)
//IL_064d: Unknown result type (might be due to invalid IL or missing references)
//IL_0658: Unknown result type (might be due to invalid IL or missing references)
//IL_0663: Unknown result type (might be due to invalid IL or missing references)
//IL_0673: Expected O, but got Unknown
//IL_066e: Unknown result type (might be due to invalid IL or missing references)
//IL_0678: Expected O, but got Unknown
//IL_06a4: Unknown result type (might be due to invalid IL or missing references)
//IL_06a9: Unknown result type (might be due to invalid IL or missing references)
//IL_06b4: Unknown result type (might be due to invalid IL or missing references)
//IL_06bf: Unknown result type (might be due to invalid IL or missing references)
//IL_06cf: Expected O, but got Unknown
//IL_06ca: Unknown result type (might be due to invalid IL or missing references)
//IL_06d4: Expected O, but got Unknown
//IL_0725: Unknown result type (might be due to invalid IL or missing references)
//IL_072a: Unknown result type (might be due to invalid IL or missing references)
//IL_0735: Unknown result type (might be due to invalid IL or missing references)
//IL_0740: Unknown result type (might be due to invalid IL or missing references)
//IL_0750: Expected O, but got Unknown
//IL_074b: Unknown result type (might be due to invalid IL or missing references)
//IL_0755: Expected O, but got Unknown
//IL_075c: Unknown result type (might be due to invalid IL or missing references)
//IL_0761: Unknown result type (might be due to invalid IL or missing references)
//IL_076c: Unknown result type (might be due to invalid IL or missing references)
//IL_0777: Unknown result type (might be due to invalid IL or missing references)
//IL_0787: Expected O, but got Unknown
//IL_0782: Unknown result type (might be due to invalid IL or missing references)
//IL_078c: Expected O, but got Unknown
cfgEmergencyRegenMult = ((BaseUnityPlugin)this).Config.Bind<float>("Emergency Drone", "Regen Multiplier", 0.05f, "Percentage regen boost per drone (0.05 = 5%)");
cfgEmergencyBaseRegen = ((BaseUnityPlugin)this).Config.Bind<float>("Emergency Drone", "Base Regen", 0.1f, "Flat regen boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgEmergencyRegenMult, new StepSliderConfig
{
min = 0f,
max = 1f,
increment = 0.05f
}));
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgEmergencyBaseRegen, new StepSliderConfig
{
min = 0f,
max = 5f,
increment = 0.1f
}));
cfgGunnerDamageMult = ((BaseUnityPlugin)this).Config.Bind<float>("Gunner Drone", "Damage Multiplier", 0.1f, "Percentage damage boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgGunnerDamageMult, new StepSliderConfig
{
min = 0f,
max = 2f,
increment = 0.05f
}));
cfgHealingBaseRegen = ((BaseUnityPlugin)this).Config.Bind<float>("Healing Drone", "Base Regen", 0.05f, "Flat regen boost per drone");
cfgHealingRegenMult = ((BaseUnityPlugin)this).Config.Bind<float>("Healing Drone", "Regen Multiplier", 0.03f, "Percentage regen boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgHealingBaseRegen, new StepSliderConfig
{
min = 0f,
max = 5f,
increment = 0.05f
}));
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgHealingRegenMult, new StepSliderConfig
{
min = 0f,
max = 1f,
increment = 0.01f
}));
cfgMissileCrit = ((BaseUnityPlugin)this).Config.Bind<float>("Missile Drone", "Crit Chance", 1f, "Flat crit chance per drone (5 = 5%)");
cfgMissileCritDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Missile Drone", "Crit Damage Multiplier", 0.5f, "Percentage crit damage boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgMissileCrit, new StepSliderConfig
{
min = 0f,
max = 100f,
increment = 1f
}));
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgMissileCritDmg, new StepSliderConfig
{
min = 0f,
max = 5f,
increment = 0.1f
}));
cfgMegaDamageMult = ((BaseUnityPlugin)this).Config.Bind<float>("TC-280", "Damage Multiplier", 1f, "Percentage damage boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgMegaDamageMult, new StepSliderConfig
{
min = 0f,
max = 5f,
increment = 0.1f
}));
cfgEquipDamageMult = ((BaseUnityPlugin)this).Config.Bind<float>("Equipment Drone", "Damage Multiplier", 0.1f, "Percentage damage boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgEquipDamageMult, new StepSliderConfig
{
min = 0f,
max = 2f,
increment = 0.05f
}));
cfgFlameAtkSpdMult = ((BaseUnityPlugin)this).Config.Bind<float>("Flame Drone", "Attack Speed Multiplier", 0.5f, "Percentage attack speed boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgFlameAtkSpdMult, new StepSliderConfig
{
min = 0f,
max = 3f,
increment = 0.1f
}));
cfgRechargeArmor = ((BaseUnityPlugin)this).Config.Bind<float>("Barrier Drone", "Armor Add", 5f, "Flat armor boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgRechargeArmor, new StepSliderConfig
{
min = 0f,
max = 100f,
increment = 5f
}));
cfgBombardCrit = ((BaseUnityPlugin)this).Config.Bind<float>("Bombardment Drone", "Crit Chance", 10f, "Flat crit chance per drone");
cfgBombardCritDmg = ((BaseUnityPlugin)this).Config.Bind<float>("Bombardment Drone", "Crit Damage Multiplier", 1f, "Percentage crit damage boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgBombardCrit, new StepSliderConfig
{
min = 0f,
max = 100f,
increment = 1f
}));
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgBombardCritDmg, new StepSliderConfig
{
min = 0f,
max = 5f,
increment = 0.1f
}));
cfgCleanupMoveSpd = ((BaseUnityPlugin)this).Config.Bind<float>("Cleanup Drone", "Base Move Speed", 0.5f, "Flat movement speed boost per drone");
cfgCleanupAtkSpd = ((BaseUnityPlugin)this).Config.Bind<float>("Cleanup Drone", "Base Attack Speed", 0.1f, "Flat attack speed boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgCleanupMoveSpd, new StepSliderConfig
{
min = 0f,
max = 5f,
increment = 0.1f
}));
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgCleanupAtkSpd, new StepSliderConfig
{
min = 0f,
max = 2f,
increment = 0.05f
}));
cfgCopycatArmor = ((BaseUnityPlugin)this).Config.Bind<float>("Freeze Drone", "Armor Add", 10f, "Flat armor boost per drone");
cfgCopycatArmorMult = ((BaseUnityPlugin)this).Config.Bind<float>("Freeze Drone", "Armor Multiplier", 0.3f, "Percentage total armor boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgCopycatArmor, new StepSliderConfig
{
min = 0f,
max = 100f,
increment = 5f
}));
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgCopycatArmorMult, new StepSliderConfig
{
min = 0f,
max = 2f,
increment = 0.1f
}));
cfgJailerShield = ((BaseUnityPlugin)this).Config.Bind<float>("Jailer Drone", "Base Shield Add", 50f, "Flat shield boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgJailerShield, new StepSliderConfig
{
min = 0f,
max = 500f,
increment = 10f
}));
cfgJunkHealthMult = ((BaseUnityPlugin)this).Config.Bind<float>("Junk Drone", "Health Multiplier", 0.1f, "Percentage health boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgJunkHealthMult, new StepSliderConfig
{
min = 0f,
max = 2f,
increment = 0.05f
}));
cfgHaulerAtkSpd = ((BaseUnityPlugin)this).Config.Bind<float>("Hauler Drone", "Base Attack Speed", 0.1f, "Flat attack speed boost per drone");
cfgHaulerMoveSpdMult = ((BaseUnityPlugin)this).Config.Bind<float>("Hauler Drone", "Move Speed Multiplier", 0.1f, "Percentage movement speed boost per drone");
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgHaulerAtkSpd, new StepSliderConfig
{
min = 0f,
max = 2f,
increment = 0.05f
}));
ModSettingsManager.AddOption((BaseOption)new StepSliderOption(cfgHaulerMoveSpdMult, new StepSliderConfig
{
min = 0f,
max = 2f,
increment = 0.05f
}));
}
private void ApplyDroneSynergy(CharacterBody sender, StatHookEventArgs args)
{
if ((Object)(object)sender == (Object)null || (Object)(object)sender.master == (Object)null || !((Object)sender).name.Contains("DroneTechBody"))
{
return;
}
Dictionary<string, int> dictionary = new Dictionary<string, int>();
string[] array = droneNames;
foreach (string key in array)
{
dictionary[key] = 0;
}
foreach (CharacterMaster readOnlyInstances in CharacterMaster.readOnlyInstancesList)
{
if (!Object.op_Implicit((Object)(object)readOnlyInstances.minionOwnership) || !((Object)(object)readOnlyInstances.minionOwnership.ownerMaster == (Object)(object)sender.master))
{
continue;
}
CharacterBody body = readOnlyInstances.GetBody();
if ((Object)(object)body != (Object)null && (Object)(object)body.healthComponent != (Object)null && body.healthComponent.alive)
{
string name = ((Object)readOnlyInstances.bodyPrefab).name;
if (dictionary.ContainsKey(name))
{
dictionary[name]++;
}
}
}
if (dictionary["EmergencyDroneBody"] > 0)
{
ApplyEmergencyDroneBuff(dictionary["EmergencyDroneBody"], args);
}
if (dictionary["Drone1Body"] > 0)
{
ApplyDrone1Buff(dictionary["Drone1Body"], args);
}
if (dictionary["Drone2Body"] > 0)
{
ApplyDrone2Buff(dictionary["Drone2Body"], args);
}
if (dictionary["MissileDroneBody"] > 0)
{
ApplyMissileDroneBuff(dictionary["MissileDroneBody"], args);
}
if (dictionary["MegaDroneBody"] > 0)
{
ApplyMegaDroneBuff(dictionary["MegaDroneBody"], args);
}
if (dictionary["EquipmentDroneBody"] > 0)
{
ApplyEquipmentDroneBuff(dictionary["EquipmentDroneBody"], args);
}
if (dictionary["FlameDroneBody"] > 0)
{
ApplyFlameDroneBuff(dictionary["FlameDroneBody"], args);
}
if (dictionary["RechargeDroneBody"] > 0)
{
ApplyRechargeDroneBuff(dictionary["RechargeDroneBody"], args);
}
if (dictionary["BombardmentDroneBody"] > 0)
{
ApplyBombardmentDroneBuff(dictionary["BombardmentDroneBody"], args);
}
if (dictionary["CleanupDroneBody"] > 0)
{
ApplyCleanupDroneBuff(dictionary["CleanupDroneBody"], args);
}
if (dictionary["CopycatDroneBody"] > 0)
{
ApplyCopycatDroneBuff(dictionary["CopycatDroneBody"], args);
}
if (dictionary["JailerDroneBody"] > 0)
{
ApplyJailerDroneBuff(dictionary["JailerDroneBody"], args);
}
if (dictionary["JunkDroneBody"] > 0)
{
ApplyJunkDroneBuff(dictionary["JunkDroneBody"], args);
}
if (dictionary["HaulerDroneBody"] > 0)
{
ApplyHaulerDroneBuff(dictionary["HaulerDroneBody"], args);
}
}
private void ApplyEmergencyDroneBuff(int count, StatHookEventArgs args)
{
args.regenMultAdd += cfgEmergencyRegenMult.Value * (float)count;
args.baseRegenAdd += cfgEmergencyBaseRegen.Value * (float)count;
}
private void ApplyDrone1Buff(int count, StatHookEventArgs args)
{
args.damageMultAdd += cfgGunnerDamageMult.Value * (float)count;
}
private void ApplyDrone2Buff(int count, StatHookEventArgs args)
{
args.baseRegenAdd += cfgHealingBaseRegen.Value * (float)count;
args.regenMultAdd += cfgHealingRegenMult.Value * (float)count;
}
private void ApplyMissileDroneBuff(int count, StatHookEventArgs args)
{
args.critAdd += cfgMissileCrit.Value * (float)count;
args.critDamageMultAdd += cfgMissileCritDmg.Value * (float)count;
}
private void ApplyMegaDroneBuff(int count, StatHookEventArgs args)
{
args.damageMultAdd += cfgMegaDamageMult.Value * (float)count;
}
private void ApplyEquipmentDroneBuff(int count, StatHookEventArgs args)
{
args.damageMultAdd += cfgEquipDamageMult.Value * (float)count;
}
private void ApplyFlameDroneBuff(int count, StatHookEventArgs args)
{
args.attackSpeedMultAdd += cfgFlameAtkSpdMult.Value * (float)count;
}
private void ApplyRechargeDroneBuff(int count, StatHookEventArgs args)
{
args.armorAdd += cfgRechargeArmor.Value * (float)count;
}
private void ApplyBombardmentDroneBuff(int count, StatHookEventArgs args)
{
args.critAdd += cfgBombardCrit.Value * (float)count;
args.critDamageMultAdd += cfgBombardCritDmg.Value * (float)count;
}
private void ApplyCleanupDroneBuff(int count, StatHookEventArgs args)
{
args.baseMoveSpeedAdd += cfgCleanupMoveSpd.Value * (float)count;
args.baseAttackSpeedAdd += cfgCleanupAtkSpd.Value * (float)count;
}
private void ApplyCopycatDroneBuff(int count, StatHookEventArgs args)
{
args.armorAdd += cfgCopycatArmor.Value * (float)count;
args.armorTotalMult += cfgCopycatArmorMult.Value * (float)count;
}
private void ApplyJailerDroneBuff(int count, StatHookEventArgs args)
{
args.baseShieldAdd += cfgJailerShield.Value * (float)count;
}
private void ApplyJunkDroneBuff(int count, StatHookEventArgs args)
{
args.healthMultAdd += cfgJunkHealthMult.Value * (float)count;
}
private void ApplyHaulerDroneBuff(int count, StatHookEventArgs args)
{
args.baseAttackSpeedAdd += cfgHaulerAtkSpd.Value * (float)count;
args.moveSpeedMultAdd += cfgHaulerMoveSpdMult.Value * (float)count;
}
}