public AttackAction(LbCard attacker, LbCard target) { _attacker = attacker; _target = target; ActionTime = 3000; AddTime = DateTime.Now; }
// Custom CanPlay for hunter private bool CanPlay(LbCard card, bool ignorePlay = false) { if (!card.CanPlay && !ignorePlay) return false; switch (card.Id) { // Unleash Hounds case "EX1_538": if (Game.Player.HasCardInField("NEW1_019") && Game.Enemy.MinionsInField >= 2) return true; return Game.Enemy.MinionsInField >= 3; // Lance Carrier case "AT_084": return (Game.Player.MinionsInField > 0); // IronBeak Owl case "CS2_203": return (Game.Enemy.MinionsInField > 0); // Abusive Sergeant case "CS2_188": return (Game.Player.MinionsThatCanAttack > 0); // Eaglehorn Bow case "EX1_536": return !Game.Player.HasWeapon; default: return true; } }
public static void NukeMinion(LbCard target) { foreach (var card in Game.Player.Field) { if (!card.CanAttack()) continue; card.Attack(target); } }
private static bool CheckCard(LbCard card, LbCard best) { if (card.Rule != null) { return(card.CanPlay && card.Rule.Met && (best == null || best.Value() < card.Value())); } API.Utility.DumpCustomRule(card); return(false); }
public static LbCard BestKillerFor(LbCard target) { LbCard best = null; foreach (var card in Game.Player.Field) { if (card.CanKill(target) && card.CanAttack() && (best == null || best.Value() > card.Value())) best = card; } return best; }
public static void NukeMinion(LbCard target) { foreach (var card in Game.Player.Field) { if (!card.CanAttack()) { continue; } card.Attack(target); } }
public static LbCard BestKillerFor(LbCard target) { LbCard best = null; foreach (var card in Game.Player.Field) { if (card.CanKill(target) && card.CanAttack() && (best == null || best.Value() > card.Value())) { best = card; } } return(best); }
internal static LbCard BestCardToPlay() { var cardsInHand = Game.Player.Hand; LbCard best = null; foreach (var card in cardsInHand) { if (CheckCard(card, best)) { best = card; } } return(best); }
private LbCard BestPlay() { var cardsInHand = Game.Player.Hand; LbCard best = null; foreach (var card in cardsInHand) { if (CanPlay(card) && (best == null || best.Value() < card.Value())) { best = card; } } return(best); }
internal static LbCard BestPlay(bool coin) { var cardsInHand = Game.Player.Hand; LbCard best = null; foreach (var card in cardsInHand) { if (CanPlay(card) && (best == null || best.Value() < card.Value())) { best = card; } } return(best); }
private static List <LbCard> KillersFor(LbCard target) { var myField = Game.Player.Field; var killers = new List <LbCard>(); foreach (var card in myField) { if (!card.CanKill(target)) { continue; } killers.Add(card); } return(killers); }
internal static LbCard BestKillerFor(LbCard target) { if (Game.Enemy.HasTauntMinion && !target.HasTaunt) return null; LbCard best = null; var myField = Game.Player.Field; foreach (var card in myField) { if (!card.CanAttack() || !card.CanKill(target)) continue; if (best == null || (best.Value() > card.Value()) || (best.RemainingHealth <= target.AttackDamage && card.RemainingHealth > target.AttackDamage)) best = card; } return best; }
// Custom CanPlay for hunter internal static bool CanPlay(LbCard card) { if (!card.CanPlay) { return(false); } switch (card.Id) { // Unleash Hounds case "EX1_538": if (Game.Player.HasCardInField("NEW1_019") && Game.Enemy.MinionsInField >= 2) { return(true); } return(Game.Enemy.MinionsInField >= 3); // Lance Carrier case "AT_084": return(Game.Player.MinionsInField > 0); // IronBeak Owl case "CS2_203": return(Game.Enemy.MinionsInField > 0); // Abusive Sergeant case "CS2_188": return(Game.Player.MinionsThatCanAttack > 0); // Eaglehorn Bow case "EX1_536": return(!Game.Player.HasWeapon); // The Coin case "GAME_005": foreach (var handc in Game.Player.Hand) { if (handc.Cost == (Game.Player.CurrentMana + 1) && CanPlay(handc)) { return(true); } } return(false); default: return(true); } }
internal static LbCard GetLowestEnemyTaunt() { LbCard lowestTaunt = null; foreach (var card in Game.Enemy.Field) { if (!card.HasTaunt) { continue; } if (lowestTaunt == null || (card.RemainingHealth < lowestTaunt.RemainingHealth)) { lowestTaunt = card; } else if (lowestTaunt.RemainingHealth == card.RemainingHealth && lowestTaunt.AttackDamage < card.AttackDamage) { lowestTaunt = card; } } return(lowestTaunt); }
internal static LbCard BestKillerFor(LbCard target) { if (Game.Enemy.HasTauntMinion && !target.HasTaunt) { return(null); } LbCard best = null; var myField = Game.Player.Field; foreach (var card in myField) { if (!card.CanAttack() || !card.CanKill(target)) { continue; } if (best == null || (best.Value() > card.Value()) || (best.RemainingHealth <= target.AttackDamage && card.RemainingHealth > target.AttackDamage)) { best = card; } } return(best); }
// Custom CanPlay for hunter internal static bool CanPlay(LbCard card) { if (!card.CanPlay) return false; switch (card.Id) { // Unleash Hounds case "EX1_538": if (Game.Player.HasCardInField("NEW1_019") && Game.Enemy.MinionsInField >= 2) return true; return Game.Enemy.MinionsInField >= 3; // Lance Carrier case "AT_084": return (Game.Player.MinionsInField > 0); // IronBeak Owl case "CS2_203": return (Game.Enemy.MinionsInField > 0); // Abusive Sergeant case "CS2_188": return (Game.Player.MinionsThatCanAttack > 0); // Eaglehorn Bow case "EX1_536": return !Game.Player.HasWeapon; // The Coin case "GAME_005": foreach (var handc in Game.Player.Hand) { if (handc.Cost == (Game.Player.CurrentMana + 1) && CanPlay(handc)) { return true; } } return false; default: return true; } }
// Custom CanPlay for hunter private bool CanPlay(LbCard card, bool ignorePlay = false) { if (!card.CanPlay && !ignorePlay) { return(false); } switch (card.Id) { // Unleash Hounds case "EX1_538": if (Game.Player.HasCardInField("NEW1_019") && Game.Enemy.MinionsInField >= 2) { return(true); } return(Game.Enemy.MinionsInField >= 3); // Lance Carrier case "AT_084": return(Game.Player.MinionsInField > 0); // IronBeak Owl case "CS2_203": return(Game.Enemy.MinionsInField > 0); // Abusive Sergeant case "CS2_188": return(Game.Player.MinionsThatCanAttack > 0); // Eaglehorn Bow case "EX1_536": return(!Game.Player.HasWeapon); default: return(true); } }
public PlayCardAction(LbCard source) { _source = source; ActionTime = 3000; AddTime = DateTime.Now; }
private static bool CheckCard(LbCard card, LbCard best) { if (card.Rule != null) return card.CanPlay && card.Rule.Met && (best == null || best.Value() < card.Value()); API.Utility.DumpCustomRule(card); return false; }
private static List<LbCard> KillersFor(LbCard target) { var myField = Game.Player.Field; var killers = new List<LbCard>(); foreach (var card in myField) { if (!card.CanKill(target)) continue; killers.Add(card); } return killers; }