Пример #1
0
        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)));
        }
Пример #2
0
        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)));
        }
Пример #3
0
        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()));
        }
Пример #4
0
        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)
                );
        }
Пример #5
0
        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)));
        }