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 } }