Conditions
Condtions are a subset of Actions. Conditions will either return true or false.
List of Conditions
| Function | Description |
|---|---|
| And(Condition…) | Returns "true" if every condition is true. |
| CompareCMC(card, comparator, amount) | Returns true if card's converted mana cost is (comparator) than "amount". Comparators: Equal, GEqual, GThan, LEqual, LThan. Useful for checking split cards, where it will return true if either half matches. |
| CompareAnOpponent(player, a, comparator, b) | Runs 'a' as a script on each opponent, then returns true if for any opponent "a <comparator> b" is true for any opponent. |
| CompareEachOpponent(player, a, comparator, b) | Same as above, but returns true if a <comparator> b is true for ALL opponents. |
| Equal(String, String) | Returns true if both arguments are equal. |
| GetVar(target, varname) | Returns the value of the given target's variable named varname. |
| HasAbilityWithName(card, name) | Returns true if "card" has an ability whose name variable equals "name". |
| HasKeyword(target, key) | Returns true of target has the stated keyword. |
| IsActivePlayer(player) | Returns true if "player" is the active player. |
| IsArtifact(card, [player]) | Returns true if "card" is an artifact on the battlefield controlled by "player". Player is optional. |
| IsAttacking(card) | Returns true if 'card' is attacking. |
| IsBasic(card) | |
| IsBlocking(card) | Returns true if 'card' is blocking. |
| IsBonded(card) | Returns true if 'card' is in a soulbond pair. false otherwise. |
| IsColor(Target, color) | Returns true if obj is color. |
| IsCreature(card, [player]) | Returns true if "card" is a creature on the battlefield controlled by "player". Player is optional. |
| IsEnchantedBy(target, source) | Returns true if "target" has "source" attached to it. This works on both auras and equipment. |
| IsEnchantment(card, [player]) | Returns true if "card" is an enchantment on the battlefield controlled by "player". Player is optional. |
| IsFaceDown(card) | |
| IsInstant(card) | |
| IsInSubzone(card, zone, owner, min, max) | Returns true if card is the nth card in owner's zone, where min <= n <= max. min and max default to 0 (top card of library is index 0) |
| IsInZone(card, zone, [owner]) | Returns true if "card" is in "zone" under "owner"'s control (or ownership if not on battlefield or stack) |
| IsKingOfTheHill(card, value, [zone]) | Returns true if 'card' contains the highest or tied for the highest of "value" (which is a script that returns an integer). Cards like Favor of the Mighty use this. 'zone' defaults to battlefield if omitted. |
| IsLand(card, [player]) | Returns true if "card" is a land on the battlefield controlled by "player". Player is optional. |
| IsMulticolored(card) | Returns true if "card" is two or more colors. |
| IsOpponent(player, player) | Returns true if both players are opponents of each other. |
| IsPermanent(card, [player]) | Returns true if "card" is on the battlefield controlled by "player". Player is optional. |
| IsPlayer(target) | Returns true if the target is a player. |
| IsSpell(card) | Returns true if "card" is a spell on the stack. |
| IsSubtype(card, type, subtype) | Returns true if card has "subtype" of the "type" type. |
| IsTapped(card) | |
| IsToken(card) | |
| IsType(card, type) | Returns true if obj contains type. |
| IsUnblocked(card) | Returns true if 'card' had no blockers declared for it. |
| IsUntapped(card) | |
| Not(String) | If input string is "true", returns false. Otherwise, returns true. |
| NotFalse(String) | If input string is "false", returns false. Otherwise, returns true. |
| NotPreviouslyTargeted(target) | Returns true if none of this ability's previous targets contains the given target. Useful for "another target X" requirements. |
| PlayerCompare(player, condition, comparator) | Counts each player's cards matching "condition" and returns whether the controller has "comparator" cards than an opponent. Comparator can be Equal, GEqual, LEqual, GThan, LThan. Will be deprecated soon. |
| SameController(card, card) | Returns true fi the cards have the same controller (or owner if not on battlefield or stack) |
| SharesSubtype(card, card, type) | Returns true if the two cards share a subtype of the "type" type. |
| SorceryTiming(player) | Returns true if it's "player"'s main phase and the stack is empty. |
| SoulbondAvailable(card a, card b, [bypassCreatureCheck] ) | Returns true if a and b can be soulbonded (neither are bonded, one player controls both, etc). If a third parameter is present (ie any value), it won't check to see if they're creatures (allowing you to soulbond noncreatures) |
| TokenJustCreated(Card) | Returns "true" if this is a token created by an earlier effect on this ability. Use this when making tokens with modifications, like with Kiki Jiki, so that if the tokens are duplicated, you can still modify all of them. |
| Or(Condition…) | Returns true if any of the conditions are true. |
| ZoneThreshold(zone, amount, cardCondition, playerCondition) | Returns true if 'zone' contains 'amount' or more cards matching 'cardCondition' and owned by a player satisfying 'playerCondition' (for example, card does something if player has 20 or more cards in graveyard) |





