public static SelfCondition IsOpBoardCount(int value, RelaSign relaSign = RelaSign.EQ) { return(new SelfCondition(me => relaSign == RelaSign.EQ && me.Controller.Opponent.BoardZone.Count == value || relaSign == RelaSign.GEQ && me.Controller.Opponent.BoardZone.Count >= value || relaSign == RelaSign.LEQ && me.Controller.Opponent.BoardZone.Count <= value)); }
public static SelfCondition IsOpZoneCount(Zone zone, int amount, RelaSign relaSign = RelaSign.EQ) => new SelfCondition(me => relaSign == RelaSign.EQ && me.Controller.Opponent.ControlledZones[zone].Count == amount || relaSign == RelaSign.GEQ && me.Controller.Opponent.ControlledZones[zone].Count >= amount || relaSign == RelaSign.LEQ && me.Controller.Opponent.ControlledZones[zone].Count <= amount);
public static SelfCondition IsBoardCount(int value, RelaSign relaSign = RelaSign.EQ) => new SelfCondition(me => relaSign == RelaSign.EQ && me.Controller.BoardZone.Count == value || relaSign == RelaSign.GEQ && me.Controller.BoardZone.Count >= value || relaSign == RelaSign.LEQ && me.Controller.BoardZone.Count <= value);
public static SelfCondition IsHealth(int value, RelaSign relaSign) => new SelfCondition(me => relaSign == RelaSign.EQ && me is ICharacter && ((ICharacter)me).Health == value || relaSign == RelaSign.GEQ && me is ICharacter && ((ICharacter)me).Health >= value || relaSign == RelaSign.LEQ && me is ICharacter && ((ICharacter)me).Health <= value);
public static SelfCondition IsBaseTagValue(GameTag tag, int value, RelaSign relaSign = RelaSign.EQ) => new SelfCondition(me => relaSign == RelaSign.EQ && me.Card[tag] == value || relaSign == RelaSign.GEQ && me.Card[tag] >= value || relaSign == RelaSign.LEQ && me.Card[tag] <= value);
public static SelfCondition HasOpBoardMinion(GameTag tag, int amount, RelaSign relaSign = RelaSign.EQ) => new SelfCondition(me => relaSign == RelaSign.EQ && me.Controller.Opponent.BoardZone.Any(p => p[tag] == amount) || relaSign == RelaSign.GEQ && me.Controller.Opponent.BoardZone.Any(p => p[tag] >= amount) || relaSign == RelaSign.LEQ && me.Controller.Opponent.BoardZone.Any(p => p[tag] <= amount));
public static SelfCondition IsBoardCount(int value, RelaSign relaSign = RelaSign.EQ) { return(new SelfCondition(me => relaSign == RelaSign.EQ && me.Controller.BoardZone.CountExceptUntouchables == value || relaSign == RelaSign.GEQ && me.Controller.BoardZone.CountExceptUntouchables >= value || relaSign == RelaSign.LEQ && me.Controller.BoardZone.CountExceptUntouchables <= value)); }