/// <summary> /// Performs basic checks to see if we have and can cast a power (hotbar, power manager). Checks use timer for Wiz, DH, Monk /// </summary> /// <param name="power"></param> /// <param name="flags"></param> /// <returns></returns> public static bool CanCast(SNOPower power, CanCastFlags flags = CanCastFlags.All) { bool hasPower = Hotbar.Contains(power); if (!hasPower) { return(false); } // Skip this or Barb, Crusader, WD if (Player.ActorClass == ActorClass.Wizard || Player.ActorClass == ActorClass.DemonHunter || Player.ActorClass == ActorClass.Monk) { bool timer = flags.HasFlag(CanCastFlags.NoTimer) || SNOPowerUseTimer(power); if (!timer) { return(false); } } bool powerManager = flags.HasFlag(CanCastFlags.NoPowerManager) || PowerManager.CanCast(power); if (!powerManager) { return(false); } return(true); }
/// <summary> /// Performs basic checks to see if we have and can cast a power (hotbar, power manager). Checks use timer for Wiz, DH /// </summary> /// <param name="power"></param> /// <param name="flags"></param> /// <returns></returns> public static bool CanCast(SNOPower power, CanCastFlags flags = CanCastFlags.All) { bool hasPower = Hotbar.Contains(power); if (!hasPower) return false; // Skip this for Barb, Crusader, WD, Monk, except when specifically requested if (Player.ActorClass == ActorClass.Wizard || Player.ActorClass == ActorClass.DemonHunter || flags.HasFlag(CanCastFlags.Timer)) { bool timer = flags.HasFlag(CanCastFlags.NoTimer) || SNOPowerUseTimer(power); if (!timer) return false; } bool powerManager = flags.HasFlag(CanCastFlags.NoPowerManager) || PowerManager.CanCast(power); if (!powerManager) return false; return true; }