diff --git a/Abstracts/CustomPotionModel.cs b/Abstracts/CustomPotionModel.cs
index b33b6313..2887c702 100644
--- a/Abstracts/CustomPotionModel.cs
+++ b/Abstracts/CustomPotionModel.cs
@@ -1,6 +1,5 @@
using HarmonyLib;
using BaseLib.Patches.Content;
-using MegaCrit.Sts2.Core.Helpers;
using MegaCrit.Sts2.Core.Models;
namespace BaseLib.Abstracts;
diff --git a/Abstracts/CustomReward.cs b/Abstracts/CustomReward.cs
index e38a327f..6d424aa1 100644
--- a/Abstracts/CustomReward.cs
+++ b/Abstracts/CustomReward.cs
@@ -4,8 +4,6 @@
using MegaCrit.Sts2.Core.Entities.Players;
using MegaCrit.Sts2.Core.Helpers;
using MegaCrit.Sts2.Core.Localization;
-using MegaCrit.Sts2.Core.Localization.DynamicVars;
-using MegaCrit.Sts2.Core.Models;
using MegaCrit.Sts2.Core.Multiplayer.Game;
using MegaCrit.Sts2.Core.Rewards;
using MegaCrit.Sts2.Core.Saves.Runs;
diff --git a/Abstracts/PlaceholderCharacterModel.cs b/Abstracts/PlaceholderCharacterModel.cs
index 62b51fac..eb9df228 100644
--- a/Abstracts/PlaceholderCharacterModel.cs
+++ b/Abstracts/PlaceholderCharacterModel.cs
@@ -1,6 +1,4 @@
using MegaCrit.Sts2.Core.Helpers;
-using System;
-using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace BaseLib.Abstracts;
diff --git a/BaseLibScenes/NHorizontalScrollContainer.cs b/BaseLibScenes/NHorizontalScrollContainer.cs
index ded819e2..b7087977 100644
--- a/BaseLibScenes/NHorizontalScrollContainer.cs
+++ b/BaseLibScenes/NHorizontalScrollContainer.cs
@@ -1,5 +1,4 @@
-using BaseLib.Utils;
-using Godot;
+using Godot;
using MegaCrit.Sts2.Core.ControllerInput;
using MegaCrit.Sts2.Core.Helpers;
diff --git a/Cards/Variables/ExhaustiveVar.cs b/Cards/Variables/ExhaustiveVar.cs
index b1e94013..82d35535 100644
--- a/Cards/Variables/ExhaustiveVar.cs
+++ b/Cards/Variables/ExhaustiveVar.cs
@@ -1,28 +1,49 @@
-using System.Diagnostics;
-using BaseLib.Extensions;
+using BaseLib.Extensions;
using MegaCrit.Sts2.Core.Combat;
using MegaCrit.Sts2.Core.Entities.Cards;
using MegaCrit.Sts2.Core.Entities.Creatures;
+using MegaCrit.Sts2.Core.HoverTips;
using MegaCrit.Sts2.Core.Localization.DynamicVars;
using MegaCrit.Sts2.Core.Models;
namespace BaseLib.Cards.Variables;
+///
+/// Defines a that marks a card as Exhaustive.
+///
+///
+/// Exhaustive cards automatically exhaust after a fixed number of plays within a combat.
+/// BaseLib will handle displaying a , and exhausting the card once it has been played enough.
+/// To display the text on the card, add "[gold]Exhaustive[/gold] {Exhaustive:diff()}" to your card's description.
+///
public class ExhaustiveVar : DynamicVar
{
-
+ ///
+ /// The Key to find an Exhaustive var in a .
+ ///
public const string Key = "Exhaustive";
+ ///
+ /// Create a new instance with the count provided.
+ ///
+ /// The number of times the card can be played before it is exhausted.
public ExhaustiveVar(decimal exhaustiveCount) : base(Key, exhaustiveCount)
{
this.WithTooltip();
}
+ ///
public override void UpdateCardPreview(CardModel card, CardPreviewMode previewMode, Creature? target, bool runGlobalHooks)
{
PreviewValue = ExhaustiveCount(card, IntValue);
}
-
+
+ ///
+ /// Helper method to determine how many plays remain on an Exhaustive card.
+ ///
+ /// The exhaustive card.
+ /// The base value from the instance.
+ /// The number of plays remaining until this card is exhausted.
public static int ExhaustiveCount(CardModel card, int baseExhaustive)
{
if (baseExhaustive <= 0)
diff --git a/Cards/Variables/RefundVar.cs b/Cards/Variables/RefundVar.cs
index a184d940..477583a3 100644
--- a/Cards/Variables/RefundVar.cs
+++ b/Cards/Variables/RefundVar.cs
@@ -1,9 +1,5 @@
using BaseLib.Extensions;
-using MegaCrit.Sts2.Core.Combat;
-using MegaCrit.Sts2.Core.Entities.Cards;
-using MegaCrit.Sts2.Core.Entities.Creatures;
using MegaCrit.Sts2.Core.Localization.DynamicVars;
-using MegaCrit.Sts2.Core.Models;
namespace BaseLib.Cards.Variables;
diff --git a/Extensions/CardExtensions.cs b/Extensions/CardExtensions.cs
index 29380242..c8b1b43b 100644
--- a/Extensions/CardExtensions.cs
+++ b/Extensions/CardExtensions.cs
@@ -3,7 +3,6 @@
using BaseLib.Abstracts;
using BaseLib.Patches.Content;
using BaseLib.Patches.Features;
-using BaseLib.Utils;
using MegaCrit.Sts2.Core.Entities.Cards;
using MegaCrit.Sts2.Core.Entities.Creatures;
using MegaCrit.Sts2.Core.Models;
diff --git a/Extensions/MethodInfoExtensions.cs b/Extensions/MethodInfoExtensions.cs
index 506e0fc0..70c399b3 100644
--- a/Extensions/MethodInfoExtensions.cs
+++ b/Extensions/MethodInfoExtensions.cs
@@ -1,5 +1,4 @@
using HarmonyLib;
-using System;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
diff --git a/Hooks/IAfterScryed.cs b/Hooks/IAfterScryed.cs
index 4b40ebf0..10260582 100644
--- a/Hooks/IAfterScryed.cs
+++ b/Hooks/IAfterScryed.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using MegaCrit.Sts2.Core.Entities.Players;
+using MegaCrit.Sts2.Core.Entities.Players;
using MegaCrit.Sts2.Core.GameActions.Multiplayer;
using MegaCrit.Sts2.Core.Models;
diff --git a/Patches/Content/ContentPatches.cs b/Patches/Content/ContentPatches.cs
index 8dc8c0a5..110b32bd 100644
--- a/Patches/Content/ContentPatches.cs
+++ b/Patches/Content/ContentPatches.cs
@@ -9,14 +9,9 @@
using MegaCrit.Sts2.Core.Helpers;
using MegaCrit.Sts2.Core.Modding;
using MegaCrit.Sts2.Core.Models;
-using MegaCrit.Sts2.Core.Models.Acts;
using MegaCrit.Sts2.Core.Models.Relics;
-using MegaCrit.Sts2.Core.Random;
using MegaCrit.Sts2.Core.Rooms;
using MegaCrit.Sts2.Core.Runs;
-using MegaCrit.Sts2.Core.Saves;
-using MegaCrit.Sts2.Core.Timeline.Epochs;
-using MegaCrit.Sts2.Core.Unlocks;
namespace BaseLib.Patches.Content;
diff --git a/Patches/Features/AutoPlayCustomTargetPatch.cs b/Patches/Features/AutoPlayCustomTargetPatch.cs
index b58508b5..b762fefa 100644
--- a/Patches/Features/AutoPlayCustomTargetPatch.cs
+++ b/Patches/Features/AutoPlayCustomTargetPatch.cs
@@ -1,4 +1,3 @@
-using BaseLib.Utils;
using HarmonyLib;
using MegaCrit.Sts2.Core.Commands;
using MegaCrit.Sts2.Core.Entities.Cards;
diff --git a/Patches/Features/BetterConsoleAutocompletePatch.cs b/Patches/Features/BetterConsoleAutocompletePatch.cs
index 57f833a4..d083d3bb 100644
--- a/Patches/Features/BetterConsoleAutocompletePatch.cs
+++ b/Patches/Features/BetterConsoleAutocompletePatch.cs
@@ -1,6 +1,4 @@
using System.Reflection.Emit;
-using System.Runtime.CompilerServices;
-using BaseLib.Utils.Patching;
using Godot;
using HarmonyLib;
using MegaCrit.Sts2.Core.DevConsole;
diff --git a/Patches/Features/CustomTargetType.cs b/Patches/Features/CustomTargetType.cs
index 6e91da1a..111b7847 100644
--- a/Patches/Features/CustomTargetType.cs
+++ b/Patches/Features/CustomTargetType.cs
@@ -1,7 +1,6 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using BaseLib.Patches.Content;
-using BaseLib.Utils;
using Godot;
using HarmonyLib;
using MegaCrit.Sts2.Core.Audio.Debug;
@@ -12,7 +11,6 @@
using MegaCrit.Sts2.Core.Entities.Players;
using MegaCrit.Sts2.Core.Helpers;
using MegaCrit.Sts2.Core.Models;
-using MegaCrit.Sts2.Core.Nodes;
using MegaCrit.Sts2.Core.Nodes.Combat;
using MegaCrit.Sts2.Core.Nodes.CommonUi;
using MegaCrit.Sts2.Core.Nodes.GodotExtensions;
diff --git a/Patches/Features/ModInteropPatch.cs b/Patches/Features/ModInteropPatch.cs
index 18017a7c..7bfed6ff 100644
--- a/Patches/Features/ModInteropPatch.cs
+++ b/Patches/Features/ModInteropPatch.cs
@@ -1,5 +1,4 @@
-using System.Collections.ObjectModel;
-using System.Reflection;
+using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using BaseLib.Extensions;
diff --git a/Patches/Features/PersistPatch.cs b/Patches/Features/PersistPatch.cs
index 0694005b..0fc16acc 100644
--- a/Patches/Features/PersistPatch.cs
+++ b/Patches/Features/PersistPatch.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
-using System.Reflection;
+using System.Reflection;
using BaseLib.Cards.Variables;
using BaseLib.Utils.Patching;
using HarmonyLib;
diff --git a/Patches/Fixes/AnyPlayerCardTargetingPatches.cs b/Patches/Fixes/AnyPlayerCardTargetingPatches.cs
index d08674d1..db9c292f 100644
--- a/Patches/Fixes/AnyPlayerCardTargetingPatches.cs
+++ b/Patches/Fixes/AnyPlayerCardTargetingPatches.cs
@@ -12,7 +12,6 @@
using MegaCrit.Sts2.Core.Nodes.HoverTips;
using MegaCrit.Sts2.Core.Nodes.Rooms;
using MegaCrit.Sts2.Core.Nodes.Vfx;
-using BaseLib.Utils;
using System.Reflection;
using static BaseLib.Patches.Fixes.AnyPlayerCardTargetingHelper;
diff --git a/Patches/UI/AncientSourceLabel.cs b/Patches/UI/AncientSourceLabel.cs
index 69fba75a..87755601 100644
--- a/Patches/UI/AncientSourceLabel.cs
+++ b/Patches/UI/AncientSourceLabel.cs
@@ -4,7 +4,6 @@
using HarmonyLib;
using MegaCrit.Sts2.addons.mega_text;
using MegaCrit.Sts2.Core.Helpers;
-using MegaCrit.Sts2.Core.Localization;
using MegaCrit.Sts2.Core.Models;
using MegaCrit.Sts2.Core.Nodes;
diff --git a/Patches/UI/CustomCharacterSelectEntryPatch.cs b/Patches/UI/CustomCharacterSelectEntryPatch.cs
index 6d56c550..aad46531 100644
--- a/Patches/UI/CustomCharacterSelectEntryPatch.cs
+++ b/Patches/UI/CustomCharacterSelectEntryPatch.cs
@@ -1,9 +1,5 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
using BaseLib.Abstracts;
using BaseLib.BaseLibScenes;
-using BaseLib.Extensions;
using BaseLib.Utils;
using Godot;
using HarmonyLib;
diff --git a/Patches/UI/CustomResourceUiPatches.cs b/Patches/UI/CustomResourceUiPatches.cs
index cf831c62..c0137ee1 100644
--- a/Patches/UI/CustomResourceUiPatches.cs
+++ b/Patches/UI/CustomResourceUiPatches.cs
@@ -1,7 +1,4 @@
using BaseLib.Abstracts;
-using BaseLib.BaseLibScenes;
-using BaseLib.Utils;
-using Godot;
using HarmonyLib;
using MegaCrit.Sts2.Core.Entities.Cards;
using MegaCrit.Sts2.Core.Nodes.Cards;
diff --git a/Patches/UI/EventSourceLabel.cs b/Patches/UI/EventSourceLabel.cs
index 803e13ce..7ed6e361 100644
--- a/Patches/UI/EventSourceLabel.cs
+++ b/Patches/UI/EventSourceLabel.cs
@@ -4,7 +4,6 @@
using HarmonyLib;
using MegaCrit.Sts2.addons.mega_text;
using MegaCrit.Sts2.Core.Helpers;
-using MegaCrit.Sts2.Core.Localization;
using MegaCrit.Sts2.Core.Models;
using MegaCrit.Sts2.Core.Nodes.Events;
diff --git a/Patches/UI/MonsterSourceLabel.cs b/Patches/UI/MonsterSourceLabel.cs
index e98197f7..489daf29 100644
--- a/Patches/UI/MonsterSourceLabel.cs
+++ b/Patches/UI/MonsterSourceLabel.cs
@@ -1,8 +1,6 @@
using BaseLib.Config;
using BaseLib.Utils;
using HarmonyLib;
-using MegaCrit.Sts2.addons.mega_text;
-using MegaCrit.Sts2.Core.Entities.Creatures;
using MegaCrit.Sts2.Core.Nodes.Combat;
namespace BaseLib.Patches.UI;
diff --git a/Patches/Utils/SavedSpireFieldPatch.cs b/Patches/Utils/SavedSpireFieldPatch.cs
index 6ba2d319..4dac816b 100644
--- a/Patches/Utils/SavedSpireFieldPatch.cs
+++ b/Patches/Utils/SavedSpireFieldPatch.cs
@@ -1,4 +1,3 @@
-using BaseLib.Patches.Saves;
using BaseLib.Utils;
using Godot;
using HarmonyLib;
diff --git a/Patches/Utils/SelfApplyDebuffPatch.cs b/Patches/Utils/SelfApplyDebuffPatch.cs
index 13c3c1f8..0df0d16c 100644
--- a/Patches/Utils/SelfApplyDebuffPatch.cs
+++ b/Patches/Utils/SelfApplyDebuffPatch.cs
@@ -1,6 +1,5 @@
using System.Reflection;
using BaseLib.Abstracts;
-using BaseLib.Utils;
using HarmonyLib;
using MegaCrit.Sts2.Core.Combat;
using MegaCrit.Sts2.Core.Commands;
diff --git a/Utils/CustomBackgroundAssets.cs b/Utils/CustomBackgroundAssets.cs
index dd4b8d2d..2136ffde 100644
--- a/Utils/CustomBackgroundAssets.cs
+++ b/Utils/CustomBackgroundAssets.cs
@@ -1,6 +1,4 @@
-using System.Reflection;
-using Godot;
-using HarmonyLib;
+using Godot;
using MegaCrit.Sts2.Core.Random;
using MegaCrit.Sts2.Core.Rooms;
diff --git a/Utils/GeneratedNodePool.cs b/Utils/GeneratedNodePool.cs
index 5ab59b1a..abd19c34 100644
--- a/Utils/GeneratedNodePool.cs
+++ b/Utils/GeneratedNodePool.cs
@@ -3,8 +3,6 @@
using MegaCrit.Sts2.Core.Helpers;
using MegaCrit.Sts2.Core.Logging;
using MegaCrit.Sts2.Core.Nodes.Pooling;
-using System;
-using System.Collections.Generic;
namespace BaseLib.Utils;
diff --git a/Utils/Patching/IMatcher.cs b/Utils/Patching/IMatcher.cs
index 45907159..c1977341 100644
--- a/Utils/Patching/IMatcher.cs
+++ b/Utils/Patching/IMatcher.cs
@@ -1,5 +1,4 @@
using HarmonyLib;
-using System.Collections.Generic;
namespace BaseLib.Utils.Patching;
diff --git a/Utils/PoolAttribute.cs b/Utils/PoolAttribute.cs
index af347e6f..8e53831e 100644
--- a/Utils/PoolAttribute.cs
+++ b/Utils/PoolAttribute.cs
@@ -1,5 +1,3 @@
-using System;
-
namespace BaseLib.Utils;
[AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = false)]