public static void RegisterCombatMessages() { //Highest priority: Don't show anything if we're not in combat CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(100, "", () => !Core.Me.InCombat)); //Second priority (tie): Bootshine CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(200, "Bootshine: Get behind Enemy", () => Core.Me.HasAura(Auras.OpoOpoForm) && Core.Me.HasAura(Auras.LeadenFist) && !Core.Me.HasAura(Auras.PerfectBalance))); //Second priority (tie): TwinSnakes CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(200, "TwinSnakes: Side of Enemy", () => Core.Me.HasAura(Auras.RaptorForm) && !Core.Me.HasAura(Auras.TwinSnakes, true, MonkSettings.Instance.TwinSnakesRefresh * 1100) && !Core.Me.HasAura(Auras.PerfectBalance))); //Second priority (tie): TrueStrike CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(200, "TrueStrike: Get behind Enemy", () => Core.Me.HasAura(Auras.RaptorForm) && Core.Me.HasAura(Auras.TwinSnakes, true, MonkSettings.Instance.TwinSnakesRefresh * 1000) && !Core.Me.HasAura(Auras.PerfectBalance))); //Second priority (tie): DragonKick CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(200, "DragonKick: Side of Enemy", () => Core.Me.HasAura(Auras.OpoOpoForm) && !Core.Me.HasAura(Auras.LeadenFist, true, MonkSettings.Instance.DragonKickRefresh * 1000) && !Core.Me.HasAura(Auras.PerfectBalance))); }
public static void RegisterCombatMessages() { //Highest priority: Don't show anything if we're not in combat CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(100, "", () => !Core.Me.InCombat || !Core.Me.HasTarget)); //Second priority: Don't show anything if positional requirements are Nulled CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(200, "", () => DragoonSettings.Instance.HidePositionalMessage || Core.Me.HasAura(Auras.TrueNorth) || DragoonSettings.Instance.EnemyIsOmni)); //Third priority : Positional CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "Chaotic Spring => BEHIND !!", "/Magitek;component/Resources/Images/General/ArrowDownHighlighted.png", () => !Core.Me.CurrentTarget.IsBehind && ActionManager.LastSpell == Spells.Disembowel)); CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "Wheeling Thrust => BEHIND !!", "/Magitek;component/Resources/Images/General/ArrowDownHighlighted.png", () => !Core.Me.CurrentTarget.IsBehind && Core.Me.HasAura(Auras.EnhancedWheelingThrust))); CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "Fang & Claw => SIDE !!!", "/Magitek;component/Resources/Images/General/ArrowSidesHighlighted.png", () => !Core.Me.CurrentTarget.IsFlanking && Core.Me.HasAura(Auras.SharperFangandClaw))); }
public static void RegisterCombatMessages(StateMachine <RdmStateIds> stateMachine) { Func <bool> bossPresenceOk = () => !RedMageSettings.Instance.MeleeComboBossesOnly || Combat.Enemies.Any(e => e.IsBoss()); Func <bool> InMeleeCombo = () => mComboStates.Contains(RdmStateMachine.StateMachine.CurrentState); //Highest priority: Don't show anything if we're not in combat CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(100, "", () => !Core.Me.InCombat)); //Second priority: Melee combo is ready CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(200, "Combo Ready!", () => stateMachine.CurrentState == RdmStateIds.ReadyForCombo && SmUtil.SyncedLevel >= Spells.Redoublement.LevelAcquired && bossPresenceOk())); //Third priority (tie): Melee combo will be ready soon (full combo, no manafication) CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "Combo Soon", () => WithinManaOf(11, 50) && SmUtil.SyncedLevel >= Spells.Redoublement.LevelAcquired && !InMeleeCombo() && bossPresenceOk())); //Third priority (tie): Melee combo will be ready soon (full combo, manafication) CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "Combo Soon", () => !WithinManaOf(0, RedMageSettings.Instance.ManaficationMaximumBlackAndWhiteMana) && ((WithinManaOf(0, RedMageSettings.Instance.ManaficationMinimumBlackAndWhiteMana) && Spells.Manafication.Cooldown.TotalMilliseconds <= 1000) || (WithinManaOf(11, RedMageSettings.Instance.ManaficationMinimumBlackAndWhiteMana) && !WithinManaOf(0, RedMageSettings.Instance.ManaficationMinimumBlackAndWhiteMana) && Spells.Manafication.Cooldown.TotalMilliseconds <= 5000)) && ManaficationEnabled && Spells.Manafication.Cooldown.TotalMilliseconds == 0 && !InMeleeCombo() && bossPresenceOk())); //Third priority (tie): Melee combo will be ready soon (no redoublement) CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "Combo Soon", () => WithinManaOf(11, 35) && SmUtil.SyncedLevel < Spells.Redoublement.LevelAcquired && SmUtil.SyncedLevel >= Spells.Zwerchhau.LevelAcquired && !InMeleeCombo() && bossPresenceOk())); }
public static void RegisterCombatMessages() { //Highest priority: Don't show anything if we're not in combat CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(100, "", () => !Core.Me.InCombat || !Core.Me.HasTarget) ); //Second priority: Don't show anything if positional requirements are Nulled CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(200, "", () => ReaperSettings.Instance.HidePositionalMessage || Core.Me.HasAura(Auras.TrueNorth) || ReaperSettings.Instance.EnemyIsOmni || Core.Me.HasAura(Auras.Enshrouded)) ); CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "Gibbet => SIDE !!!", "/Magitek;component/Resources/Images/General/ArrowSidesHighlighted.png", () => ReaperSettings.Instance.UseGibbet && Core.Me.HasAura(Auras.SoulReaver) && !Core.Me.HasAura(Auras.EnhancedGibbet) && !Core.Me.HasAura(Auras.EnhancedGallows) && Spells.TrueNorth.Charges < 1 && !Core.Me.CurrentTarget.IsFlanking) ); CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "Gallows => BEHIND !!!", "/Magitek;component/Resources/Images/General/ArrowDownHighlighted.png", () => ReaperSettings.Instance.UseGallows && Core.Me.HasAura(Auras.SoulReaver) && !Core.Me.HasAura(Auras.EnhancedGibbet) && !Core.Me.HasAura(Auras.EnhancedGallows) && Spells.TrueNorth.Charges < 1 && !Core.Me.CurrentTarget.IsBehind) ); CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(310, "Gibbet => SIDE !!!", "/Magitek;component/Resources/Images/General/ArrowSidesHighlighted.png", () => ReaperSettings.Instance.UseGibbet && Core.Me.HasAura(Auras.EnhancedGibbet) && !Core.Me.HasAura(Auras.EnhancedGallows) && (Core.Me.HasAura(Auras.SoulReaver) || ActionResourceManager.Reaper.SoulGauge >= 40) && Spells.TrueNorth.Charges < 1 && !Core.Me.CurrentTarget.IsFlanking) ); CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(310, "Gallows => BEHIND !!!", "/Magitek;component/Resources/Images/General/ArrowDownHighlighted.png", () => ReaperSettings.Instance.UseGallows && Core.Me.HasAura(Auras.EnhancedGallows) && !Core.Me.HasAura(Auras.EnhancedGibbet) && (Core.Me.HasAura(Auras.SoulReaver) || ActionResourceManager.Reaper.SoulGauge >= 40) && Spells.TrueNorth.Charges < 1 && !Core.Me.CurrentTarget.IsBehind) ); }
public static void RegisterCombatMessages() { //Highest priority: Don't show anything if we're not in combat CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(100, "", () => !Core.Me.InCombat)); //Second priority: Don't show anything if positional requirements are Nulled CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(200, "", () => MonkSettings.Instance.HidePositionalToastsWithTn && Core.Me.HasAura(Auras.TrueNorth) || Core.Me.HasAura(Auras.RiddleOfEarth))); //Third priority (tie): Bootshine CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "Bootshine: Get behind Enemy", () => Core.Me.HasAura(Auras.OpoOpoForm) && Core.Me.HasAura(Auras.LeadenFist))); //Third priority (tie): TwinSnakes CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "TwinSnakes: Side of Enemy", () => Core.Me.HasAura(Auras.RaptorForm) && !Core.Me.HasAura(Auras.TwinSnakes, true, MonkSettings.Instance.TwinSnakesRefresh * 1100))); //Third priority (tie): TrueStrike CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "TrueStrike: Get behind Enemy", () => Core.Me.HasAura(Auras.RaptorForm) && Core.Me.HasAura(Auras.TwinSnakes, true, MonkSettings.Instance.TwinSnakesRefresh * 1000))); //Third priority (tie): SnapPunch CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "SnapPunch: Side of Enemy", () => Core.Me.HasAura(Auras.CoeurlForm) && Core.Me.CurrentTarget.HasAura(Auras.Demolish, true, MonkSettings.Instance.DemolishRefresh * 1000))); //Third priority (tie): DragonKick CombatMessageManager.RegisterMessageStrategy( new CombatMessageStrategy(300, "DragonKick: Side of Enemy", () => Core.Me.HasAura(Auras.OpoOpoForm) && !Core.Me.HasAura(Auras.LeadenFist, true, MonkSettings.Instance.DragonKickRefresh * 1000))); }