feat: add option to only alternate in combat
This commit is contained in:
parent
05fffe39f8
commit
07b62ba03b
@ -19,6 +19,7 @@ public class Configuration : IPluginConfiguration {
|
||||
public bool Alternate = true;
|
||||
public bool ManaModeAlternateOnlyManaUsers = true;
|
||||
public float AlternateSeconds = 3.0f;
|
||||
public bool OnlyAlternateInCombat = true;
|
||||
public uint TextColour = 0xEDFFEC;
|
||||
public int TextAddRed;
|
||||
public int TextAddGreen;
|
||||
|
10
Plugin.cs
10
Plugin.cs
@ -3,6 +3,7 @@ using System.Globalization;
|
||||
using System.Text;
|
||||
using Dalamud.Game.Addon.Lifecycle;
|
||||
using Dalamud.Game.Addon.Lifecycle.AddonArgTypes;
|
||||
using Dalamud.Game.ClientState.Conditions;
|
||||
using Dalamud.Game.Gui.ContextMenu;
|
||||
using Dalamud.Game.Text;
|
||||
using Dalamud.IoC;
|
||||
@ -51,6 +52,9 @@ public class Plugin : IDalamudPlugin {
|
||||
[PluginService]
|
||||
internal IDataManager DataManager { get; init; }
|
||||
|
||||
[PluginService]
|
||||
internal ICondition Condition { get; init; }
|
||||
|
||||
// [PluginService]
|
||||
// internal ITextureProvider TextureProvider { get; init; }
|
||||
|
||||
@ -617,6 +621,8 @@ public class Plugin : IDalamudPlugin {
|
||||
);
|
||||
}
|
||||
|
||||
var inCombat = this.Condition[ConditionFlag.InCombat];
|
||||
|
||||
if (this.Config.Mode == MeterMode.Mana && info.IsChocobo) {
|
||||
var chocoboTimer = list->GetTextNodeById(5);
|
||||
var chocoboTimerIcon = list->GetTextNodeById(4);
|
||||
@ -624,7 +630,7 @@ public class Plugin : IDalamudPlugin {
|
||||
var hasTimer = chocoboTimer != null && chocoboTimer->IsVisible();
|
||||
var hasTimerIcon = chocoboTimerIcon != null && chocoboTimerIcon->IsVisible();
|
||||
|
||||
if (this.Config.Alternate && !this._showDps) {
|
||||
if (this.Config.Alternate && (!this.Config.OnlyAlternateInCombat || inCombat) && !this._showDps) {
|
||||
this.ResetMember(list, info, false, false);
|
||||
} else {
|
||||
if (hasTimer) {
|
||||
@ -647,7 +653,7 @@ public class Plugin : IDalamudPlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.Config.Alternate && !this._showDps && info.ClassJob is { } classJob) {
|
||||
if (this.Config.Alternate && (!this.Config.OnlyAlternateInCombat || inCombat) && !this._showDps && info.ClassJob is { } classJob) {
|
||||
var isCaster = Array.IndexOf(this._manaUsers, classJob) != -1;
|
||||
if (!this.Config.ManaModeAlternateOnlyManaUsers || isCaster) {
|
||||
this.ResetMember(list, info, false, false);
|
||||
|
@ -118,6 +118,7 @@ public class PluginUi : IDisposable {
|
||||
}
|
||||
|
||||
using (ImGuiHelper.DisabledUnless(this.Plugin.Config is { Alternate: true, Mode: MeterMode.Mana })) {
|
||||
anyChanged |= ImGui.Checkbox("Only alternate when in combat", ref this.Plugin.Config.OnlyAlternateInCombat);
|
||||
anyChanged |= ImGui.Checkbox("Only alternate on jobs that use mana", ref this.Plugin.Config.ManaModeAlternateOnlyManaUsers);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user