From d83290f4bbbfb7f373a7bd7e755206f50daf7164 Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Thu, 12 Sep 2024 23:43:10 -0500
Subject: [PATCH] Add DisplayStatus methods and update various properties
- Added `DisplayStatus` method to multiple rotation classes to display status using `ImGui.Text`.
- Updated `NinjaRotation.cs` with new properties and converted `HasJin` to a property.
- Added `HaveMeikyoShisui` property to `SamuraiRotation.cs`.
- Updated `DisplayStatus` in `SummonerRotation.cs` and `WhiteMageRotation.cs` to show additional info.
- Removed `HaveMeikyoShisui` method from `DummyClass.cs`.
---
ECommons | 2 +-
.../Rotations/Basic/AstrologianRotation.cs | 8 +++-
.../Rotations/Basic/BardRotation.cs | 12 ++++++
.../Rotations/Basic/BlackMageRotation.cs | 20 +++++++++
.../Rotations/Basic/DancerRotation.cs | 9 ++++
.../Rotations/Basic/DragoonRotation.cs | 9 ++++
.../Rotations/Basic/GunbreakerRotation.cs | 8 ++++
.../Rotations/Basic/MachinistRotation.cs | 11 +++++
.../Rotations/Basic/MonkRotation.cs | 13 ++++++
.../Rotations/Basic/NinjaRotation.cs | 28 +++++++++++-
.../Rotations/Basic/PaladinRotation.cs | 12 ++++++
.../Rotations/Basic/PictomancerRotation.cs | 43 ++++++++++++++++---
.../Rotations/Basic/ReaperRotation.cs | 15 +++++++
.../Rotations/Basic/RedMageRotation.cs | 10 +++++
.../Rotations/Basic/SageRotation.cs | 10 +++++
.../Rotations/Basic/SamuraiRotation.cs | 19 ++++++++
.../Rotations/Basic/ScholarRotation.cs | 7 +++
.../Rotations/Basic/SummonerRotation.cs | 20 +++++++--
.../Rotations/Basic/ViperRotation.cs | 41 +++++++++++++++++-
.../Rotations/Basic/WhiteMageRotation.cs | 1 +
RotationSolver.DummyRotations/DummyClass.cs | 4 --
21 files changed, 282 insertions(+), 20 deletions(-)
diff --git a/ECommons b/ECommons
index f27a8bba4..1038f5ae8 160000
--- a/ECommons
+++ b/ECommons
@@ -1 +1 @@
-Subproject commit f27a8bba48e281b768a6a4ee3daa1ddedf421ccc
+Subproject commit 1038f5ae8964c7ea57aea6f0fe2aef7c9be50848
diff --git a/RotationSolver.Basic/Rotations/Basic/AstrologianRotation.cs b/RotationSolver.Basic/Rotations/Basic/AstrologianRotation.cs
index 5aee6bdcf..0b5de889d 100644
--- a/RotationSolver.Basic/Rotations/Basic/AstrologianRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/AstrologianRotation.cs
@@ -23,7 +23,13 @@ partial class AstrologianRotation
/// Can use Umbral or Astral draw, active draw matching what the next draw will be, ASTRAL, UMBRAL
///
protected static DrawType ActiveDraw => JobGauge.ActiveDraw;
-
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text($"DrawnCard: {string.Join(", ", DrawnCard)}");
+ ImGui.Text($"DrawnCrownCard: {DrawnCrownCard}");
+ ImGui.Text($"ActiveDraw: {ActiveDraw}");
+ }
#endregion
diff --git a/RotationSolver.Basic/Rotations/Basic/BardRotation.cs b/RotationSolver.Basic/Rotations/Basic/BardRotation.cs
index cfe0e7444..68d825d91 100644
--- a/RotationSolver.Basic/Rotations/Basic/BardRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/BardRotation.cs
@@ -52,6 +52,18 @@ partial class BardRotation
///
protected static bool SongEndAfterGCD(uint gctCount = 0, float offset = 0)
=> SongEndAfter(GCDTime(gctCount, offset));
+
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("Repertoire: " + Repertoire.ToString());
+ ImGui.Text("Song: " + Song.ToString());
+ ImGui.Text("LastSong: " + LastSong.ToString());
+ ImGui.Text("SoulVoice: " + SoulVoice.ToString());
+ ImGui.Text("SongTimeRaw: " + SongTimeRaw.ToString());
+ ImGui.Text("SongTime: " + SongTime.ToString());
+ ImGui.Text("BloodletterMax: " + BloodletterMax.ToString());
+ }
#endregion
#region PvE
diff --git a/RotationSolver.Basic/Rotations/Basic/BlackMageRotation.cs b/RotationSolver.Basic/Rotations/Basic/BlackMageRotation.cs
index cdf873761..48c75f5f7 100644
--- a/RotationSolver.Basic/Rotations/Basic/BlackMageRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/BlackMageRotation.cs
@@ -137,6 +137,26 @@ public static bool IsPolyglotStacksMaxed
}
}
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("HasFire: " + HasFire.ToString());
+ ImGui.Text("HasThunder: " + HasThunder.ToString());
+ ImGui.Text("IsPolyglotStacksMaxed: " + IsPolyglotStacksMaxed.ToString());
+ ImGui.Text("UmbralIceStacks: " + UmbralIceStacks.ToString());
+ ImGui.Text("AstralFireStacks: " + AstralFireStacks.ToString());
+ ImGui.Text("AstralSoulStacks: " + AstralSoulStacks.ToString());
+ ImGui.Text("PolyglotStacks: " + PolyglotStacks.ToString());
+ ImGui.Text("UmbralHearts: " + UmbralHearts.ToString());
+ ImGui.Text("IsParadoxActive: " + IsParadoxActive.ToString());
+ ImGui.Text("UmbralIceStacks: " + UmbralIceStacks.ToString());
+ ImGui.Text("InUmbralIce: " + InUmbralIce.ToString());
+ ImGui.Text("InAstralFire: " + InAstralFire.ToString());
+ ImGui.Text("IsEnochianActive: " + IsEnochianActive.ToString());
+ ImGui.Text("EnochianTimeRaw: " + EnochianTimeRaw.ToString());
+ ImGui.Text("EnochianTime: " + EnochianTime.ToString());
+ }
+
static partial void ModifyBlizzardPvE(ref ActionSetting setting)
{
diff --git a/RotationSolver.Basic/Rotations/Basic/DancerRotation.cs b/RotationSolver.Basic/Rotations/Basic/DancerRotation.cs
index 9209551e0..5c5dec23e 100644
--- a/RotationSolver.Basic/Rotations/Basic/DancerRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/DancerRotation.cs
@@ -27,6 +27,15 @@ partial class DancerRotation
///
public static byte CompletedSteps => JobGauge.CompletedSteps;
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("IsDancing: " + IsDancing.ToString());
+ ImGui.Text("Esprit: " + Esprit.ToString());
+ ImGui.Text("Feathers: " + Feathers.ToString());
+ ImGui.Text("CompletedSteps: " + CompletedSteps.ToString());
+ }
+
static partial void ModifyCascadePvE(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.SilkenSymmetry];
diff --git a/RotationSolver.Basic/Rotations/Basic/DragoonRotation.cs b/RotationSolver.Basic/Rotations/Basic/DragoonRotation.cs
index a5d90b56c..024e32b19 100644
--- a/RotationSolver.Basic/Rotations/Basic/DragoonRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/DragoonRotation.cs
@@ -41,6 +41,15 @@ partial class DragoonRotation
protected static bool LOTDEndAfterGCD(uint gctCount = 0, float offset = 0)
=> LOTDEndAfter(GCDTime(gctCount, offset));
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("EyeCount: " + EyeCount.ToString());
+ ImGui.Text("FocusCount: " + FocusCount.ToString());
+ ImGui.Text("LOTDTimeRaw: " + LOTDTimeRaw.ToString());
+ ImGui.Text("LOTDTime: " + LOTDTime.ToString());
+ }
+
//Job
static partial void ModifyTrueThrustPvE(ref ActionSetting setting)
diff --git a/RotationSolver.Basic/Rotations/Basic/GunbreakerRotation.cs b/RotationSolver.Basic/Rotations/Basic/GunbreakerRotation.cs
index 94c7f7346..cdc7eeae5 100644
--- a/RotationSolver.Basic/Rotations/Basic/GunbreakerRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/GunbreakerRotation.cs
@@ -31,6 +31,14 @@ partial class GunbreakerRotation
///
///
public static byte MaxAmmo => CartridgeChargeIiTrait.EnoughLevel ? (byte)3 : (byte)2;
+
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("Ammo: " + Ammo.ToString());
+ ImGui.Text("AmmoComboStep: " + AmmoComboStep.ToString());
+ ImGui.Text("MaxAmmo: " + MaxAmmo.ToString());
+ }
#endregion
diff --git a/RotationSolver.Basic/Rotations/Basic/MachinistRotation.cs b/RotationSolver.Basic/Rotations/Basic/MachinistRotation.cs
index 83d24bba2..1015eff35 100644
--- a/RotationSolver.Basic/Rotations/Basic/MachinistRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/MachinistRotation.cs
@@ -48,6 +48,17 @@ partial class MachinistRotation
///
protected static bool OverheatedEndAfterGCD(uint gctCount = 0, float offset = 0)
=> OverheatedEndAfter(GCDTime(gctCount, offset));
+
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("IsOverheated: " + IsOverheated.ToString());
+ ImGui.Text("Heat: " + Heat.ToString());
+ ImGui.Text("Battery: " + Battery.ToString());
+ ImGui.Text("LastSummonBatteryPower: " + LastSummonBatteryPower.ToString());
+ ImGui.Text("OverheatTimeRemainingRaw: " + OverheatTimeRemainingRaw.ToString());
+ ImGui.Text("OverheatTime: " + OverheatTime.ToString());
+ }
#endregion
static partial void ModifySplitShotPvE(ref ActionSetting setting)
diff --git a/RotationSolver.Basic/Rotations/Basic/MonkRotation.cs b/RotationSolver.Basic/Rotations/Basic/MonkRotation.cs
index f1a64f753..f7eff0e96 100644
--- a/RotationSolver.Basic/Rotations/Basic/MonkRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/MonkRotation.cs
@@ -44,6 +44,19 @@ partial class MonkRotation
/// Gets the amount of available Coeurl Fury stacks.
///
public static int CoeurlFury => JobGauge.CoeurlFury;
+
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text($"CoeurlFury: {CoeurlFury}");
+ ImGui.Text($"RaptorFury: {RaptorFury}");
+ ImGui.Text($"OpoOpoFury: {OpoOpoFury}");
+ ImGui.Text($"NoNadi: {NoNadi}");
+ ImGui.Text($"HasLunar: {HasLunar}");
+ ImGui.Text($"HasSolar: {HasSolar}");
+ ImGui.Text($"Chakra: {Chakra}");
+ ImGui.Text($"BeastChakras: {string.Join(", ", BeastChakras)}");
+ }
#endregion
static partial void ModifyBootshinePvE(ref ActionSetting setting)
diff --git a/RotationSolver.Basic/Rotations/Basic/NinjaRotation.cs b/RotationSolver.Basic/Rotations/Basic/NinjaRotation.cs
index 95714f60a..074bcf9a0 100644
--- a/RotationSolver.Basic/Rotations/Basic/NinjaRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/NinjaRotation.cs
@@ -19,7 +19,33 @@ partial class NinjaRotation
///
/// Is enough level for Jin
///
- public static bool HasJin = IncreaseAttackSpeedTrait.EnoughLevel;
+ public static bool HasJin => IncreaseAttackSpeedTrait.EnoughLevel;
+
+ ///
+ /// Determines if Trick Attack is in its effective period.
+ ///
+ public bool InTrickAttack => (KunaisBanePvE.Cooldown.IsCoolingDown || TrickAttackPvE.Cooldown.IsCoolingDown) && (!KunaisBanePvE.Cooldown.ElapsedAfter(17) || !TrickAttackPvE.Cooldown.ElapsedAfter(17));
+
+ ///
+ /// Determines if Mug is in its effective period.
+ ///
+ public bool InMug => MugPvE.Cooldown.IsCoolingDown && !MugPvE.Cooldown.ElapsedAfter(19);
+
+ ///
+ /// Checks if no ninjutsu action is currently selected or if the Rabbit Medium has been invoked.
+ ///
+ public static bool NoNinjutsu => AdjustId(ActionID.NinjutsuPvE) is ActionID.NinjutsuPvE or ActionID.RabbitMediumPvE;
+
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text($"Ninki: {Ninki}");
+ ImGui.Text($"Kazematoi: {Kazematoi}");
+ ImGui.Text($"HasJin: {HasJin}");
+ ImGui.Text($"InTrickAttack: {InTrickAttack}");
+ ImGui.Text($"InMug: {InMug}");
+ ImGui.Text($"NoNinjutsu: {NoNinjutsu}");
+ }
#endregion
static partial void ModifySpinningEdgePvE(ref ActionSetting setting)
diff --git a/RotationSolver.Basic/Rotations/Basic/PaladinRotation.cs b/RotationSolver.Basic/Rotations/Basic/PaladinRotation.cs
index 36b0ea735..97f16de74 100644
--- a/RotationSolver.Basic/Rotations/Basic/PaladinRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/PaladinRotation.cs
@@ -42,6 +42,18 @@ public static byte RequiescatStacks
/// Gets the current level of the Oath gauge.
///
public static byte OathGauge => JobGauge.OathGauge;
+
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("RequiescatStacks: " + RequiescatStacks.ToString());
+ ImGui.Text("OathGauge: " + OathGauge.ToString());
+ ImGui.Text("HasDivineMight: " + HasDivineMight.ToString());
+ ImGui.Text("HasFightOrFlight: " + HasFightOrFlight.ToString());
+ ImGui.Text("CanHealAreaAbility: " + CanHealAreaAbility.ToString());
+ ImGui.Text("CanHealSingleSpell: " + CanHealSingleSpell.ToString());
+ }
+
#endregion
private protected sealed override IBaseAction TankStance => IronWillPvE;
diff --git a/RotationSolver.Basic/Rotations/Basic/PictomancerRotation.cs b/RotationSolver.Basic/Rotations/Basic/PictomancerRotation.cs
index 69e41dff7..8f3169094 100644
--- a/RotationSolver.Basic/Rotations/Basic/PictomancerRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/PictomancerRotation.cs
@@ -110,6 +110,42 @@ public partial class PictomancerRotation
#endregion
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text($"PaletteGauge: {PaletteGauge}");
+ ImGui.Text($"Paint: {Paint}");
+ ImGui.Text($"CreatureMotifDrawn: {CreatureMotifDrawn}");
+ ImGui.Text($"WeaponMotifDrawn: {WeaponMotifDrawn}");
+ ImGui.Text($"LandscapeMotifDrawn: {LandscapeMotifDrawn}");
+ ImGui.Text($"MooglePortraitReady: {MooglePortraitReady}");
+ ImGui.Text($"MadeenPortraitReady: {MadeenPortraitReady}");
+ ImGui.Text($"CreatureFlags: {CreatureFlags}");
+ ImGui.Text($"isPomMotifReady: {isPomMotifReady}");
+ ImGui.Text($"isWingMotifReady: {isWingMotifReady}");
+ ImGui.Text($"isClawMotifReady: {isClawMotifReady}");
+ ImGui.Text($"isMawMotifReady: {isMawMotifReady}");
+ ImGui.Text($"CanvasFlags: {CanvasFlags}");
+ ImGui.Text($"isPomMuseReady: {isPomMuseReady}");
+ ImGui.Text($"isWingMuseReady: {isWingMuseReady}");
+ ImGui.Text($"isClawMuseReady: {isClawMuseReady}");
+ ImGui.Text($"isMawMuseReady: {isMawMuseReady}");
+ ImGui.Text($"isHammerMuseReady: {isHammerMuseReady}");
+ ImGui.Text($"isStarryMuseReady: {isStarryMuseReady}");
+ ImGui.Text($"MaxStrikingMuse: {MaxStrikingMuse}");
+ ImGui.Text($"Level100: {Level100}");
+ ImGui.Text($"HasSubtractivePalette: {HasSubtractivePalette}");
+ ImGui.Text($"HasAetherhues: {HasAetherhues}");
+ ImGui.Text($"HasAetherhues2: {HasAetherhues2}");
+ ImGui.Text($"HasSubtractiveSpectrum: {HasSubtractiveSpectrum}");
+ ImGui.Text($"HasHyperphantasia: {HasHyperphantasia}");
+ ImGui.Text($"HasHammerTime: {HasHammerTime}");
+ ImGui.Text($"HasMonochromeTones: {HasMonochromeTones}");
+ ImGui.Text($"HasStarryMuse: {HasStarryMuse}");
+ ImGui.Text($"HammerStacks: {HammerStacks}");
+ ImGui.Text($"SubtractiveStacks: {SubtractiveStacks}");
+ }
+
#region Job States
///
@@ -189,13 +225,6 @@ public static byte SubtractiveStacks
}
}
- ///
- public override void DisplayStatus()
- {
- ImGui.Text("HammerStacks: " + HammerStacks.ToString());
- ImGui.Text("SubtractiveStacks: " + SubtractiveStacks.ToString());
- }
-
#endregion
static partial void ModifyFireInRedPvE(ref ActionSetting setting)
diff --git a/RotationSolver.Basic/Rotations/Basic/ReaperRotation.cs b/RotationSolver.Basic/Rotations/Basic/ReaperRotation.cs
index d27ad4c05..012842cbb 100644
--- a/RotationSolver.Basic/Rotations/Basic/ReaperRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/ReaperRotation.cs
@@ -55,6 +55,21 @@ partial class ReaperRotation
///
///
public static byte VoidShroud => JobGauge.VoidShroud;
+
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("HasEnshrouded: " + HasEnshrouded.ToString());
+ ImGui.Text("HasSoulReaver: " + HasSoulReaver.ToString());
+ ImGui.Text("HasExecutioner: " + HasExecutioner.ToString());
+ ImGui.Text("HasIdealHost: " + HasIdealHost.ToString());
+ ImGui.Text("HasOblatio: " + HasOblatio.ToString());
+ ImGui.Text("HasPerfectioParata: " + HasPerfectioParata.ToString());
+ ImGui.Text("Soul: " + Soul.ToString());
+ ImGui.Text("Shroud: " + Shroud.ToString());
+ ImGui.Text("LemureShroud: " + LemureShroud.ToString());
+ ImGui.Text("VoidShroud: " + VoidShroud.ToString());
+ }
#endregion
static partial void ModifySlicePvE(ref ActionSetting setting)
diff --git a/RotationSolver.Basic/Rotations/Basic/RedMageRotation.cs b/RotationSolver.Basic/Rotations/Basic/RedMageRotation.cs
index 845f61398..3d33a9fe7 100644
--- a/RotationSolver.Basic/Rotations/Basic/RedMageRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/RedMageRotation.cs
@@ -28,6 +28,16 @@ partial class RedMageRotation
/// Is larger than
///
public static bool IsWhiteManaLargerThanBlackMana => WhiteMana > BlackMana;
+
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("WhiteMana: " + WhiteMana.ToString());
+ ImGui.Text("BlackMana: " + BlackMana.ToString());
+ ImGui.Text("ManaStacks: " + ManaStacks.ToString());
+ ImGui.Text("IsWhiteManaLargerThanBlackMana: " + IsWhiteManaLargerThanBlackMana.ToString());
+ ImGui.Text("CanHealSingleSpell: " + CanHealSingleSpell.ToString());
+ }
#endregion
private static readonly StatusID[] SwiftcastStatus = [.. StatusHelper.SwiftcastStatus, StatusID.Acceleration];
diff --git a/RotationSolver.Basic/Rotations/Basic/SageRotation.cs b/RotationSolver.Basic/Rotations/Basic/SageRotation.cs
index 4259ca6be..76771991a 100644
--- a/RotationSolver.Basic/Rotations/Basic/SageRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/SageRotation.cs
@@ -44,6 +44,16 @@ partial class SageRotation
///
protected static bool AddersgallEndAfterGCD(uint gctCount = 0, float offset = 0)
=> AddersgallEndAfter(GCDTime(gctCount, offset));
+
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("HasEukrasia: " + HasEukrasia.ToString());
+ ImGui.Text("Addersgall: " + Addersgall.ToString());
+ ImGui.Text("Addersting: " + Addersting.ToString());
+ ImGui.Text("AddersgallTime: " + AddersgallTime.ToString());
+ ImGui.Text("AddersgallTimerRaw: " + AddersgallTimerRaw.ToString());
+ }
#endregion
private protected sealed override IBaseAction Raise => EgeiroPvE;
diff --git a/RotationSolver.Basic/Rotations/Basic/SamuraiRotation.cs b/RotationSolver.Basic/Rotations/Basic/SamuraiRotation.cs
index 4f93fce9f..373e575dd 100644
--- a/RotationSolver.Basic/Rotations/Basic/SamuraiRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/SamuraiRotation.cs
@@ -60,6 +60,25 @@ partial class SamuraiRotation
public static bool IsMoonTimeLessThanFlower
=> Player.StatusTime(true, StatusID.Fugetsu) < Player.StatusTime(true, StatusID.Fuka);
+ ///
+ ///
+ ///
+ public static bool HaveMeikyoShisui => Player.HasStatus(true, StatusID.MeikyoShisui);
+
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("HasSetsu: " + HasSetsu.ToString());
+ ImGui.Text("HasGetsu: " + HasGetsu.ToString());
+ ImGui.Text("HasKa: " + HasKa.ToString());
+ ImGui.Text("Kenki: " + Kenki.ToString());
+ ImGui.Text("MeditationStacks: " + MeditationStacks.ToString());
+ ImGui.Text("Kaeshi: " + Kaeshi.ToString());
+ ImGui.Text("SenCount: " + SenCount.ToString());
+ ImGui.Text("HasMoon: " + HasMoon.ToString());
+ ImGui.Text("HasFlower: " + HasFlower.ToString());
+ ImGui.Text("HaveMeikyoShisui: " + HaveMeikyoShisui.ToString());
+ }
#endregion
#region PvE Actions
diff --git a/RotationSolver.Basic/Rotations/Basic/ScholarRotation.cs b/RotationSolver.Basic/Rotations/Basic/ScholarRotation.cs
index 096434342..14db910bf 100644
--- a/RotationSolver.Basic/Rotations/Basic/ScholarRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/ScholarRotation.cs
@@ -23,6 +23,13 @@ partial class ScholarRotation
///
public static float SeraphTime => SeraphTimeRaw - DataCenter.DefaultGCDRemain;
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("FairyGauge: " + FairyGauge.ToString());
+ ImGui.Text("HasAetherflow: " + HasAetherflow.ToString());
+ ImGui.Text("SeraphTime: " + SeraphTime.ToString());
+ }
#endregion
private sealed protected override IBaseAction Raise => ResurrectionPvE;
diff --git a/RotationSolver.Basic/Rotations/Basic/SummonerRotation.cs b/RotationSolver.Basic/Rotations/Basic/SummonerRotation.cs
index c40bed1d3..a915cc1fd 100644
--- a/RotationSolver.Basic/Rotations/Basic/SummonerRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/SummonerRotation.cs
@@ -117,15 +117,27 @@ protected static bool AttunmentTimeEndAfterGCD(uint gcdCount = 0, float offset =
///
///
private static bool HasSummon => DataCenter.HasPet && SummonTimeEndAfterGCD();
- #endregion
///
public override void DisplayStatus()
{
- ImGui.Text("AttunmentTime: " + AttunmentTimeRaw.ToString());
- ImGui.Text("SummonTime: " + SummonTimeRaw.ToString());
- ImGui.Text("Pet: " + DataCenter.HasPet.ToString());
+ ImGui.Text("CanHealSingleSpell: " + CanHealSingleSpell.ToString());
+ ImGui.Text("InBahamut: " + InBahamut.ToString());
+ ImGui.Text("InSolarBahamut: " + InSolarBahamut.ToString());
+ ImGui.Text("InPhoenix: " + InPhoenix.ToString());
+ ImGui.Text("HasAetherflowStacks: " + HasAetherflowStacks.ToString());
+ ImGui.Text("Attunement: " + Attunement.ToString());
+ ImGui.Text("IsIfritReady: " + IsIfritReady.ToString());
+ ImGui.Text("IsTitanReady: " + IsTitanReady.ToString());
+ ImGui.Text("IsGarudaReady: " + IsGarudaReady.ToString());
+ ImGui.Text("InIfrit: " + InIfrit.ToString());
+ ImGui.Text("InTitan: " + InTitan.ToString());
+ ImGui.Text("InGaruda: " + InGaruda.ToString());
+ ImGui.Text("SummonTime: " + SummonTime.ToString());
+ ImGui.Text("AttunmentTime: " + AttunmentTime.ToString());
+ ImGui.Text("HasSummon: " + HasSummon.ToString());
}
+ #endregion
static partial void ModifySummonRubyPvE(ref ActionSetting setting)
{
diff --git a/RotationSolver.Basic/Rotations/Basic/ViperRotation.cs b/RotationSolver.Basic/Rotations/Basic/ViperRotation.cs
index 873c831b4..7f137dd56 100644
--- a/RotationSolver.Basic/Rotations/Basic/ViperRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/ViperRotation.cs
@@ -59,6 +59,45 @@ public partial class ViperRotation
/// Gets Max stacks of Anguine Tribute.
///
public static byte MaxAnguine => EnhancedSerpentsLineageTrait.EnoughLevel ? (byte)5 : (byte)4;
+
+ ///
+ public override void DisplayStatus()
+ {
+ ImGui.Text("RattlingCoilStacks: " + RattlingCoilStacks.ToString());
+ ImGui.Text("MaxRattling: " + MaxRattling.ToString());
+ ImGui.Text("SerpentOffering: " + SerpentOffering.ToString());
+ ImGui.Text("AnguineTribute: " + AnguineTribute.ToString());
+ ImGui.Text("DreadCombo: " + DreadCombo.ToString());
+ ImGui.Text("NODREAD: " + NODREAD.ToString());
+ ImGui.Text("SerpentCombo: " + SerpentCombo.ToString());
+ ImGui.Text("TWINSREADY: " + TWINSREADY.ToString());
+ ImGui.Text("THRESHREADY: " + THRESHREADY.ToString());
+ ImGui.Text("UNCOILEDREADY: " + UNCOILEDREADY.ToString());
+ ImGui.Text("MaxAnguine: " + MaxAnguine.ToString());
+ ImGui.Text("HasSteel: " + HasSteel.ToString());
+ ImGui.Text("HasReavers: " + HasReavers.ToString());
+ ImGui.Text("NoHone: " + NoHone.ToString());
+ ImGui.Text("HasHind: " + HasHind.ToString());
+ ImGui.Text("HasFlank: " + HasFlank.ToString());
+ ImGui.Text("HasBane: " + HasBane.ToString());
+ ImGui.Text("HasSting: " + HasSting.ToString());
+ ImGui.Text("HasNoVenom: " + HasNoVenom.ToString());
+ ImGui.Text("HasReawakend: " + HasReawakend.ToString());
+ ImGui.Text("IsSwift: " + IsSwift.ToString());
+ ImGui.Text("IsHunter: " + IsHunter.ToString());
+ ImGui.Text("SwiftTime: " + SwiftTime.ToString());
+ ImGui.Text("HuntersTime: " + HuntersTime.ToString());
+ ImGui.Text("HasHunterVenom: " + HasHunterVenom.ToString());
+ ImGui.Text("HasSwiftVenom: " + HasSwiftVenom.ToString());
+ ImGui.Text("HasFellHuntersVenom: " + HasFellHuntersVenom.ToString());
+ ImGui.Text("HasFellskinsVenom: " + HasFellskinsVenom.ToString());
+ ImGui.Text("HasGrimHunter: " + HasGrimHunter.ToString());
+ ImGui.Text("HasGrimSkin: " + HasGrimSkin.ToString());
+ ImGui.Text("HasPoisedFang: " + HasPoisedFang.ToString());
+ ImGui.Text("HasPoisedBlood: " + HasPoisedBlood.ToString());
+ ImGui.Text("HunterLessThanSwift: " + HunterLessThanSwift.ToString());
+ ImGui.Text("SwiftLessThanHunter: " + SwiftLessThanHunter.ToString());
+ }
#endregion
#region Statuses
@@ -177,8 +216,6 @@ public partial class ViperRotation
/// Indicates that Swiftscaled is ending before Hunters Instinct.
///
public static bool SwiftLessThanHunter => Player.StatusTime(true, StatusID.Swiftscaled) < Player.StatusTime(true, StatusID.HuntersInstinct);
-
-
#endregion
#region Actions
diff --git a/RotationSolver.Basic/Rotations/Basic/WhiteMageRotation.cs b/RotationSolver.Basic/Rotations/Basic/WhiteMageRotation.cs
index 13f26512a..c488e6e02 100644
--- a/RotationSolver.Basic/Rotations/Basic/WhiteMageRotation.cs
+++ b/RotationSolver.Basic/Rotations/Basic/WhiteMageRotation.cs
@@ -62,6 +62,7 @@ public override void DisplayStatus()
ImGui.Text("SacredSightStacks: " + SacredSightStacks.ToString());
ImGui.Text("LilyTime: " + LilyTime.ToString());
ImGui.Text("BloodLilyStacks: " + BloodLily.ToString());
+ ImGui.Text("Lily: " + Lily.ToString());
}
#endregion
diff --git a/RotationSolver.DummyRotations/DummyClass.cs b/RotationSolver.DummyRotations/DummyClass.cs
index 7cffe4129..80cde6968 100644
--- a/RotationSolver.DummyRotations/DummyClass.cs
+++ b/RotationSolver.DummyRotations/DummyClass.cs
@@ -169,9 +169,5 @@ protected override bool GeneralGCD(out IAction? act)
}
#endregion
-
- #region Extra Methods
- private static bool HaveMeikyoShisui => Player.HasStatus(true, StatusID.MeikyoShisui);
- #endregion
}
}