Files
ConfigurableCombo/Service.cs
jorg 77d9494447 fix(RDM): Use Enchanted melee actions when Black & White mana ≥ 20
Red Mage melee combo (Riposte 7504 → Zwerchhau 7512 → Redoublement 7516)
should switch to Enchanted variants (7527, 7528, 7529) when both mana
gauges are 20 or higher. The plugin was forcing base actions instead.

Changes:
- Add IJobGauges to read RDM Black/White mana
- ResolveRdmEnchanted(): substitute 7527/7528/7529 when mana ≥ 20
- NormalizeLastComboMoveForSequence(): game/overlay may report Enchanted
  IDs; map to base for correct sequence index lookup
- Apply resolution in UseAction, ExecuteSlotById, GetSlotAppearance,
  GetIcon, OnFrameworkUpdate
- Match combo trigger when slot shows Enchanted Riposte (7527)
- ClearOverlayIfActionNotInCombo: treat Enchanted IDs as in-combo
- SetOurComboState: Enchanted Redoublement = last step for GCD block

Also: remove hardcoded DalamudLibPath so SDK uses platform defaults
(~/.xlcore/dalamud/Hooks/dev/ on Linux, %AppData% on Windows)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-22 17:40:56 -06:00

24 lines
1.2 KiB
C#

using Dalamud.Game.ClientState.Objects;
using Dalamud.IoC;
using Dalamud.Plugin;
using Dalamud.Plugin.Services;
namespace ConfigurableCombo;
internal class Service
{
internal static PluginConfiguration Configuration { get; set; } = null!;
internal static PluginAddressResolver Address { get; set; } = null!;
internal static IconReplacer IconReplacer { get; set; } = null!;
[PluginService] internal static IDalamudPluginInterface Interface { get; private set; } = null!;
[PluginService] internal static IClientState ClientState { get; private set; } = null!;
[PluginService] internal static IChatGui ChatGui { get; private set; } = null!;
[PluginService] internal static ICommandManager CommandManager { get; private set; } = null!;
[PluginService] internal static IDataManager DataManager { get; private set; } = null!;
[PluginService] internal static IPluginLog PluginLog { get; private set; } = null!;
[PluginService] internal static ITextureProvider TextureProvider { get; private set; } = null!;
[PluginService] internal static IFramework Framework { get; private set; } = null!;
[PluginService] internal static IJobGauges JobGauges { get; private set; } = null!;
}