public static async Task <bool> Interrupt(MagicDpsSettings settings) { List <SpellData> stuns = new List <SpellData>(); List <SpellData> interrupts = new List <SpellData>(); if (Core.Me.IsBlueMage()) { interrupts.Add(Spells.FlyingSardine); } return(await InterruptAndStunLogic.StunOrInterrupt(stuns, interrupts, settings.Strategy)); }
public static async Task <bool> Interrupt(PhysicalDpsSettings settings) { List <SpellData> stuns = new List <SpellData>(); List <SpellData> interrupts = new List <SpellData>(); if (Core.Me.IsMeleeDps()) { stuns.Add(Spells.LegSweep); } if (Core.Me.IsRangedDps()) { interrupts.Add(Spells.HeadGraze); } return(await InterruptAndStunLogic.StunOrInterrupt(stuns, interrupts, settings.Strategy)); }
//If the calling class has stuns or interrupts beyond the default tank abilities (e.g., //Paladin has Shield Bash in addition to Low Blow and Interject), pass them in the //extraStuns and extraInterrupts parameters public static async Task <bool> Interrupt(TankSettings settings, IEnumerable <SpellData> extraStuns = null, IEnumerable <SpellData> extraInterrupts = null) { List <SpellData> stuns = new List <SpellData>() { Spells.LowBlow }; List <SpellData> interrupts = new List <SpellData>() { Spells.Interject }; if (extraStuns != null) { stuns.AddRange(extraStuns); } if (extraInterrupts != null) { interrupts.AddRange(extraInterrupts); } return(await InterruptAndStunLogic.StunOrInterrupt(stuns, interrupts, settings.Strategy)); }