Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of HenryChargeTweaks v1.0.0
HenryChargeTweaks.dll
Decompiled a day agousing System.Reflection; using System.Runtime.CompilerServices; using BepInEx; using BepInEx.Configuration; using HenryMod.Modules.Components; using RoR2; using UnityEngine; using UnityEngine.Networking; [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: CompilationRelaxations(8)] [assembly: AssemblyVersion("0.0.0.0")] namespace HenryChargeTweaks; [BepInPlugin("com.henrychargetweaks.plugin", "Henry Charge Tweaks", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public sealed class HenryChargeTweaksPlugin : BaseUnityPlugin { public const string PluginGuid = "com.henrychargetweaks.plugin"; public const string PluginName = "Henry Charge Tweaks"; public const string PluginVersion = "1.0.0"; private ConfigEntry<bool> pluginEnabled; private ConfigEntry<float> furyPerSecond; private ConfigEntry<float> furyPerPrimaryHit; private ConfigEntry<float> furyPerKill; private void Awake() { pluginEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enabled", true, "Set to false to leave Henry's fury meter completely unchanged by this plugin."); furyPerSecond = ((BaseUnityPlugin)this).Config.Bind<float>("Charge sources", "Fury per second", 0.5f, "Fury gained automatically every second. Set to 0 to disable automatic charging."); furyPerPrimaryHit = ((BaseUnityPlugin)this).Config.Bind<float>("Charge sources", "Fury per primary hit", 2f, "Fury gained for every enemy damaged by Henry's primary attack. Set to 0 to disable this source."); furyPerKill = ((BaseUnityPlugin)this).Config.Bind<float>("Charge sources", "Fury per kill", 5f, "Fury gained when Henry gets a kill. Set to 0 to disable this source."); GlobalEventManager.onServerDamageDealt += OnServerDamageDealt; GlobalEventManager.onCharacterDeathGlobal += OnCharacterDeathGlobal; ((BaseUnityPlugin)this).Logger.LogInfo((object)"Henry Charge Tweaks loaded."); } private void OnDestroy() { GlobalEventManager.onServerDamageDealt -= OnServerDamageDealt; GlobalEventManager.onCharacterDeathGlobal -= OnCharacterDeathGlobal; } private void FixedUpdate() { if (!NetworkServer.active || !pluginEnabled.Value || furyPerSecond.Value <= 0f) { return; } float amount = furyPerSecond.Value * Time.fixedDeltaTime; foreach (CharacterBody readOnlyInstances in CharacterBody.readOnlyInstancesList) { AddFury(((Component)readOnlyInstances).GetComponent<HenryFuryComponent>(), amount); } } private void OnServerDamageDealt(DamageReport report) { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Invalid comparison between Unknown and I4 if (NetworkServer.active && pluginEnabled.Value && report != null && !((Object)(object)report.attackerBody == (Object)null) && (int)report.damageInfo.damageType.damageSource == 1) { AddFury(((Component)report.attackerBody).GetComponent<HenryFuryComponent>(), furyPerPrimaryHit.Value); } } private void OnCharacterDeathGlobal(DamageReport report) { if (NetworkServer.active && pluginEnabled.Value && report != null && !((Object)(object)report.attackerBody == (Object)null)) { AddFury(((Component)report.attackerBody).GetComponent<HenryFuryComponent>(), furyPerKill.Value); } } private static void AddFury(HenryFuryComponent fury, float amount) { if (!((Object)(object)fury == (Object)null) && !(amount <= 0f) && !(fury.currentFury >= fury.maxFury)) { fury.AddFury(amount); } } }