Пример #1
0
        private async Task <bool> VenomousBite()
        {
            if (!ShinraEx.Settings.BardUseDots || Target.HasAura(VenomDebuff, true, 4000) || !await MySpells.VenomousBite.Cast())
            {
                return(false);
            }

            DotManager.Add(Target);
            return(true);
        }
Пример #2
0
        public async Task <bool> Windbite()
        {
            if (!Shadow.Settings.BardUseDots || Target.HasAura(WindDebuff, true, 4000) || !await Spellbook.Windbite.Cast())
            {
                return(false);
            }

            DotManager.Add(Target);
            return(true);
        }
Пример #3
0
        private async Task <bool> IronJaws()
        {
            if (!Target.HasAura(VenomDebuff, true) || !Target.HasAura(WindDebuff, true) ||
                Target.HasAura(VenomDebuff, true, 5000) && Target.HasAura(WindDebuff, true, 5000) || !await MySpells.IronJaws.Cast())
            {
                return(false);
            }

            DotManager.Add(Target);
            return(true);
        }
Пример #4
0
        private async Task <bool> DotSnapshot()
        {
            if (!ShinraEx.Settings.BardDotSnapshot ||
                !Core.Player.CurrentTarget.HasAura(VenomDebuff, true) ||
                !Core.Player.CurrentTarget.HasAura(WindDebuff, true) ||
                DotManager.Recent(Target))
            {
                return(false);
            }

            var crit   = DotManager.Difference(Target, true);
            var damage = crit + DotManager.Difference(Target);

            // Prioritise 30% crit buff
            if (crit >= 30 || crit >= 0 && damage >= 0 && (DotManager.CritExpiring || DotManager.DamageExpiring))
            {
                if (await MySpells.IronJaws.Cast())
                {
                    DotManager.Add(Target);
                    return(true);
                }
            }

            if (DotManager.Check(Target, true) >= 30)
            {
                return(false);
            }

            // Refresh during damage buffs
            if (damage >= 20 || damage >= 10 && Target.AuraExpiring(WindDebuff, true, 10000) || damage >= 0 && DotManager.BuffExpiring)
            {
                if (await MySpells.IronJaws.Cast())
                {
                    DotManager.Add(Target);
                    return(true);
                }
            }
            return(false);
        }