enjine 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +28 -0
- data/LICENSE.txt +21 -0
- data/README.md +201 -0
- data/SUPPORTED.md +387 -0
- data/docs/ARCHITECTURE.md +141 -0
- data/docs/DESIGN.md +139 -0
- data/docs/MECHANICS_COVERAGE.md +670 -0
- data/docs/guides/adding-a-mechanic.md +60 -0
- data/docs/guides/api.md +614 -0
- data/docs/guides/card-data-format.md +1472 -0
- data/docs/guides/deck-builder.md +157 -0
- data/docs/plans/standard.md +371 -0
- data/docs/reference/abilities.md +1680 -0
- data/docs/reference/costs.md +339 -0
- data/docs/reference/counters.md +121 -0
- data/docs/reference/decisions.md +102 -0
- data/docs/reference/effects.md +2340 -0
- data/docs/reference/filters.md +172 -0
- data/docs/reference/keywords.md +647 -0
- data/docs/reference/subtypes.md +169 -0
- data/docs/reference/supertypes.md +31 -0
- data/docs/reference/triggers.md +797 -0
- data/docs/reference/types.md +216 -0
- data/exe/enjine +7 -0
- data/lib/enjine/actions/activate_mana_ability.rb +24 -0
- data/lib/enjine/actions/cast.rb +57 -0
- data/lib/enjine/actions/pass.rb +18 -0
- data/lib/enjine/actions/play_land.rb +52 -0
- data/lib/enjine/actions/special_action.rb +37 -0
- data/lib/enjine/actions.rb +20 -0
- data/lib/enjine/agents/busy.rb +27 -0
- data/lib/enjine/agents/random.rb +28 -0
- data/lib/enjine/card_definition.rb +433 -0
- data/lib/enjine/card_faces.rb +116 -0
- data/lib/enjine/catalog.rb +56 -0
- data/lib/enjine/characteristics.rb +39 -0
- data/lib/enjine/cli/text.rb +295 -0
- data/lib/enjine/cli.rb +312 -0
- data/lib/enjine/decisions/bottom.rb +29 -0
- data/lib/enjine/decisions/casting.rb +188 -0
- data/lib/enjine/decisions/combat.rb +75 -0
- data/lib/enjine/decisions/discard.rb +29 -0
- data/lib/enjine/decisions/effect_choice.rb +21 -0
- data/lib/enjine/decisions/enter_choice.rb +26 -0
- data/lib/enjine/decisions/legend_rule.rb +21 -0
- data/lib/enjine/decisions/mulligan.rb +26 -0
- data/lib/enjine/decisions/order_triggers.rb +21 -0
- data/lib/enjine/decisions/play_or_draw.rb +19 -0
- data/lib/enjine/decisions/priority.rb +22 -0
- data/lib/enjine/decisions/untap_choice.rb +35 -0
- data/lib/enjine/decisions.rb +22 -0
- data/lib/enjine/deck.rb +151 -0
- data/lib/enjine/deck_builder.rb +454 -0
- data/lib/enjine/docs.rb +90 -0
- data/lib/enjine/engine/ability_layers.rb +118 -0
- data/lib/enjine/engine/attachments.rb +86 -0
- data/lib/enjine/engine/casting/alt_casting.rb +254 -0
- data/lib/enjine/engine/casting/cast_choices.rb +292 -0
- data/lib/enjine/engine/casting/casting.rb +326 -0
- data/lib/enjine/engine/casting/cost_options.rb +99 -0
- data/lib/enjine/engine/casting/costs.rb +117 -0
- data/lib/enjine/engine/casting/payment.rb +353 -0
- data/lib/enjine/engine/casting/permissions.rb +412 -0
- data/lib/enjine/engine/casting/target_counts.rb +113 -0
- data/lib/enjine/engine/casting/waterbend.rb +90 -0
- data/lib/enjine/engine/characteristics.rb +379 -0
- data/lib/enjine/engine/class_levels.rb +25 -0
- data/lib/enjine/engine/combat.rb +315 -0
- data/lib/enjine/engine/copies.rb +208 -0
- data/lib/enjine/engine/damage.rb +196 -0
- data/lib/enjine/engine/designations.rb +46 -0
- data/lib/enjine/engine/emblems.rb +37 -0
- data/lib/enjine/engine/entering.rb +156 -0
- data/lib/enjine/engine/face_down.rb +30 -0
- data/lib/enjine/engine/faces.rb +222 -0
- data/lib/enjine/engine/follow_ups.rb +27 -0
- data/lib/enjine/engine/mana_sources.rb +230 -0
- data/lib/enjine/engine/phasing.rb +74 -0
- data/lib/enjine/engine/pregame.rb +95 -0
- data/lib/enjine/engine/priority.rb +47 -0
- data/lib/enjine/engine/resolution.rb +168 -0
- data/lib/enjine/engine/rules.rb +287 -0
- data/lib/enjine/engine/sagas.rb +41 -0
- data/lib/enjine/engine/speed.rb +104 -0
- data/lib/enjine/engine/spell_grants.rb +46 -0
- data/lib/enjine/engine/state_based_actions.rb +157 -0
- data/lib/enjine/engine/triggers.rb +364 -0
- data/lib/enjine/engine/turn_history.rb +240 -0
- data/lib/enjine/engine/turn_structure.rb +224 -0
- data/lib/enjine/engine/zones.rb +278 -0
- data/lib/enjine/engine.rb +55 -0
- data/lib/enjine/errors.rb +62 -0
- data/lib/enjine/events.rb +161 -0
- data/lib/enjine/frames.rb +84 -0
- data/lib/enjine/fuzz.rb +112 -0
- data/lib/enjine/game.rb +204 -0
- data/lib/enjine/history.rb +26 -0
- data/lib/enjine/mana.rb +142 -0
- data/lib/enjine/mechanics/abilities/additional_triggers.rb +86 -0
- data/lib/enjine/mechanics/abilities/chosen_values.rb +213 -0
- data/lib/enjine/mechanics/abilities/cost_changes.rb +154 -0
- data/lib/enjine/mechanics/abilities/damage_replacements.rb +569 -0
- data/lib/enjine/mechanics/abilities/double_counters.rb +71 -0
- data/lib/enjine/mechanics/abilities/entering_choices.rb +91 -0
- data/lib/enjine/mechanics/abilities/entering_copy.rb +69 -0
- data/lib/enjine/mechanics/abilities/enters_tapped.rb +159 -0
- data/lib/enjine/mechanics/abilities/enters_with_counters.rb +116 -0
- data/lib/enjine/mechanics/abilities/mana_ability.rb +209 -0
- data/lib/enjine/mechanics/abilities/play_permissions.rb +527 -0
- data/lib/enjine/mechanics/abilities/player_rules.rb +169 -0
- data/lib/enjine/mechanics/abilities/replacement_effects.rb +368 -0
- data/lib/enjine/mechanics/abilities/restrictions.rb +144 -0
- data/lib/enjine/mechanics/abilities/spell_keywords.rb +55 -0
- data/lib/enjine/mechanics/abilities/stack_abilities.rb +542 -0
- data/lib/enjine/mechanics/abilities/static.rb +365 -0
- data/lib/enjine/mechanics/abilities/tapping_power.rb +71 -0
- data/lib/enjine/mechanics/abilities/turn_rules.rb +49 -0
- data/lib/enjine/mechanics/card_spec.rb +177 -0
- data/lib/enjine/mechanics/copy_except.rb +73 -0
- data/lib/enjine/mechanics/costs/base.rb +115 -0
- data/lib/enjine/mechanics/costs/behold.rb +76 -0
- data/lib/enjine/mechanics/costs/discard.rb +65 -0
- data/lib/enjine/mechanics/costs/exert.rb +29 -0
- data/lib/enjine/mechanics/costs/exile_cards.rb +39 -0
- data/lib/enjine/mechanics/costs/from_graveyard.rb +45 -0
- data/lib/enjine/mechanics/costs/get_counters.rb +39 -0
- data/lib/enjine/mechanics/costs/mana.rb +37 -0
- data/lib/enjine/mechanics/costs/one_of.rb +49 -0
- data/lib/enjine/mechanics/costs/pay_life.rb +50 -0
- data/lib/enjine/mechanics/costs/remove_counters.rb +51 -0
- data/lib/enjine/mechanics/costs/sacrifice.rb +59 -0
- data/lib/enjine/mechanics/costs/tap.rb +56 -0
- data/lib/enjine/mechanics/costs/waterbend.rb +29 -0
- data/lib/enjine/mechanics/counters/kinds.rb +190 -0
- data/lib/enjine/mechanics/effects/add_subtypes.rb +30 -0
- data/lib/enjine/mechanics/effects/airbend.rb +41 -0
- data/lib/enjine/mechanics/effects/amass.rb +124 -0
- data/lib/enjine/mechanics/effects/assimilate.rb +72 -0
- data/lib/enjine/mechanics/effects/base.rb +148 -0
- data/lib/enjine/mechanics/effects/become.rb +182 -0
- data/lib/enjine/mechanics/effects/behold.rb +48 -0
- data/lib/enjine/mechanics/effects/blight.rb +94 -0
- data/lib/enjine/mechanics/effects/choose_cards.rb +168 -0
- data/lib/enjine/mechanics/effects/copy.rb +370 -0
- data/lib/enjine/mechanics/effects/counter_spell.rb +21 -0
- data/lib/enjine/mechanics/effects/counters.rb +161 -0
- data/lib/enjine/mechanics/effects/damage.rb +72 -0
- data/lib/enjine/mechanics/effects/delayed_triggers.rb +112 -0
- data/lib/enjine/mechanics/effects/destroy.rb +22 -0
- data/lib/enjine/mechanics/effects/discard.rb +86 -0
- data/lib/enjine/mechanics/effects/draw.rb +16 -0
- data/lib/enjine/mechanics/effects/earthbend.rb +70 -0
- data/lib/enjine/mechanics/effects/emblem.rb +52 -0
- data/lib/enjine/mechanics/effects/endure.rb +63 -0
- data/lib/enjine/mechanics/effects/exile.rb +49 -0
- data/lib/enjine/mechanics/effects/extra_turn.rb +122 -0
- data/lib/enjine/mechanics/effects/faces.rb +115 -0
- data/lib/enjine/mechanics/effects/fight.rb +76 -0
- data/lib/enjine/mechanics/effects/flip_coins.rb +97 -0
- data/lib/enjine/mechanics/effects/gain_control.rb +94 -0
- data/lib/enjine/mechanics/effects/game_end.rb +42 -0
- data/lib/enjine/mechanics/effects/library.rb +327 -0
- data/lib/enjine/mechanics/effects/life.rb +83 -0
- data/lib/enjine/mechanics/effects/look_at_hand.rb +17 -0
- data/lib/enjine/mechanics/effects/loot.rb +118 -0
- data/lib/enjine/mechanics/effects/mana.rb +96 -0
- data/lib/enjine/mechanics/effects/may.rb +82 -0
- data/lib/enjine/mechanics/effects/meld.rb +77 -0
- data/lib/enjine/mechanics/effects/mill.rb +22 -0
- data/lib/enjine/mechanics/effects/pay.rb +231 -0
- data/lib/enjine/mechanics/effects/phasing.rb +51 -0
- data/lib/enjine/mechanics/effects/proliferate.rb +72 -0
- data/lib/enjine/mechanics/effects/pump.rb +60 -0
- data/lib/enjine/mechanics/effects/put_in_library.rb +98 -0
- data/lib/enjine/mechanics/effects/return_choice.rb +29 -0
- data/lib/enjine/mechanics/effects/return_to_battlefield.rb +80 -0
- data/lib/enjine/mechanics/effects/return_to_hand.rb +20 -0
- data/lib/enjine/mechanics/effects/roll_dice.rb +45 -0
- data/lib/enjine/mechanics/effects/sacrifice.rb +118 -0
- data/lib/enjine/mechanics/effects/scry_and_surveil.rb +74 -0
- data/lib/enjine/mechanics/effects/search.rb +156 -0
- data/lib/enjine/mechanics/effects/tap_untap.rb +23 -0
- data/lib/enjine/mechanics/effects/tokens.rb +76 -0
- data/lib/enjine/mechanics/filters/any_target.rb +15 -0
- data/lib/enjine/mechanics/filters/base.rb +386 -0
- data/lib/enjine/mechanics/filters/graveyard.rb +23 -0
- data/lib/enjine/mechanics/filters/one_of.rb +55 -0
- data/lib/enjine/mechanics/filters/permanents.rb +52 -0
- data/lib/enjine/mechanics/filters/players.rb +20 -0
- data/lib/enjine/mechanics/filters/stack.rb +97 -0
- data/lib/enjine/mechanics/follow_up.rb +46 -0
- data/lib/enjine/mechanics/keywords/alternative_costs.rb +361 -0
- data/lib/enjine/mechanics/keywords/beam_me_up.rb +78 -0
- data/lib/enjine/mechanics/keywords/changeling.rb +58 -0
- data/lib/enjine/mechanics/keywords/convoke.rb +77 -0
- data/lib/enjine/mechanics/keywords/crew.rb +155 -0
- data/lib/enjine/mechanics/keywords/cycling.rb +58 -0
- data/lib/enjine/mechanics/keywords/decayed.rb +25 -0
- data/lib/enjine/mechanics/keywords/devour.rb +61 -0
- data/lib/enjine/mechanics/keywords/evergreen.rb +54 -0
- data/lib/enjine/mechanics/keywords/extort.rb +26 -0
- data/lib/enjine/mechanics/keywords/flags.rb +46 -0
- data/lib/enjine/mechanics/keywords/foretell.rb +45 -0
- data/lib/enjine/mechanics/keywords/gift.rb +50 -0
- data/lib/enjine/mechanics/keywords/hideaway.rb +28 -0
- data/lib/enjine/mechanics/keywords/increment.rb +31 -0
- data/lib/enjine/mechanics/keywords/job_select.rb +29 -0
- data/lib/enjine/mechanics/keywords/kicker.rb +92 -0
- data/lib/enjine/mechanics/keywords/mobilize_and_firebending.rb +84 -0
- data/lib/enjine/mechanics/keywords/paradigm.rb +91 -0
- data/lib/enjine/mechanics/keywords/power_up.rb +48 -0
- data/lib/enjine/mechanics/keywords/protection.rb +111 -0
- data/lib/enjine/mechanics/keywords/prowess.rb +30 -0
- data/lib/enjine/mechanics/keywords/riot.rb +35 -0
- data/lib/enjine/mechanics/keywords/saddle.rb +115 -0
- data/lib/enjine/mechanics/keywords/speed.rb +89 -0
- data/lib/enjine/mechanics/keywords/station.rb +163 -0
- data/lib/enjine/mechanics/keywords/storied.rb +41 -0
- data/lib/enjine/mechanics/keywords/storm_and_cascade.rb +86 -0
- data/lib/enjine/mechanics/keywords/sunburst.rb +29 -0
- data/lib/enjine/mechanics/keywords/suspend.rb +191 -0
- data/lib/enjine/mechanics/keywords/teamwork.rb +45 -0
- data/lib/enjine/mechanics/keywords/ward.rb +67 -0
- data/lib/enjine/mechanics/linked.rb +67 -0
- data/lib/enjine/mechanics/mana_spent.rb +99 -0
- data/lib/enjine/mechanics/selector.rb +207 -0
- data/lib/enjine/mechanics/subtypes/auras_and_equipment.rb +176 -0
- data/lib/enjine/mechanics/subtypes/basic_land_types.rb +36 -0
- data/lib/enjine/mechanics/subtypes/class_levels.rb +102 -0
- data/lib/enjine/mechanics/subtypes/saga.rb +89 -0
- data/lib/enjine/mechanics/supertypes/basic.rb +17 -0
- data/lib/enjine/mechanics/supertypes/legendary.rb +18 -0
- data/lib/enjine/mechanics/triggers/ability_triggers.rb +51 -0
- data/lib/enjine/mechanics/triggers/any_of.rb +43 -0
- data/lib/enjine/mechanics/triggers/base.rb +228 -0
- data/lib/enjine/mechanics/triggers/casting.rb +219 -0
- data/lib/enjine/mechanics/triggers/combat.rb +123 -0
- data/lib/enjine/mechanics/triggers/damage.rb +130 -0
- data/lib/enjine/mechanics/triggers/dilemma.rb +37 -0
- data/lib/enjine/mechanics/triggers/draw_and_discard.rb +85 -0
- data/lib/enjine/mechanics/triggers/keyword_actions.rb +55 -0
- data/lib/enjine/mechanics/triggers/life.rb +35 -0
- data/lib/enjine/mechanics/triggers/steps.rb +39 -0
- data/lib/enjine/mechanics/triggers/tap_and_counters.rb +111 -0
- data/lib/enjine/mechanics/triggers/zone_changes.rb +249 -0
- data/lib/enjine/mechanics/types/kindred.rb +30 -0
- data/lib/enjine/mechanics/types/land.rb +24 -0
- data/lib/enjine/mechanics/types/permanent_types.rb +67 -0
- data/lib/enjine/mechanics/types/spell_types.rb +38 -0
- data/lib/enjine/mechanics/values.rb +675 -0
- data/lib/enjine/mechanics.rb +74 -0
- data/lib/enjine/player.rb +30 -0
- data/lib/enjine/primitive.rb +61 -0
- data/lib/enjine/replacements.rb +191 -0
- data/lib/enjine/rng.rb +57 -0
- data/lib/enjine/rules_monitor.rb +404 -0
- data/lib/enjine/setup.rb +45 -0
- data/lib/enjine/snapshot/player_checks.rb +86 -0
- data/lib/enjine/snapshot/turn_checks.rb +91 -0
- data/lib/enjine/snapshot.rb +307 -0
- data/lib/enjine/state.rb +173 -0
- data/lib/enjine/steps.rb +117 -0
- data/lib/enjine/tokens.rb +25 -0
- data/lib/enjine/verify.rb +233 -0
- data/lib/enjine/version.rb +7 -0
- data/lib/enjine/view.rb +162 -0
- data/lib/enjine.rb +46 -0
- metadata +315 -0
data/SUPPORTED.md
ADDED
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
# Supported mechanics
|
|
2
|
+
|
|
3
|
+
<!-- Generated by `rake docs` from the primitive registry. Do not edit. -->
|
|
4
|
+
|
|
5
|
+
Rules version: Comprehensive Rules effective 2026-11-06.
|
|
6
|
+
|
|
7
|
+
## Card types
|
|
8
|
+
|
|
9
|
+
| Name | Rules | Description |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| [`artifact`](docs/reference/types.md#artifact) | 301.1 | A permanent cast at sorcery speed. |
|
|
12
|
+
| [`creature`](docs/reference/types.md#creature) | 302.1, 302.4, 302.6, 307.1 | A permanent with power and toughness that can attack and block. Cast at sorcery speed. It can't attack or use {T} abilities unless controlled continuously since its controller's most recent turn began (summoning sickness). |
|
|
13
|
+
| [`enchantment`](docs/reference/types.md#enchantment) | 303.1 | A permanent cast at sorcery speed. |
|
|
14
|
+
| [`instant`](docs/reference/types.md#instant) | 304.1, 304.2, 608.2n | A spell cast any time its controller has priority. Its spell ability resolves, then it goes to the graveyard. |
|
|
15
|
+
| [`kindred`](docs/reference/types.md#kindred) | 308.1, 308.2, 205.3m | A card type that goes with another one ("Kindred Sorcery — Goblin"): the card is cast and resolves as its other type, and its subtypes are creature types. |
|
|
16
|
+
| [`land`](docs/reference/types.md#land) | 305.1, 305.2, 305.3, 202.1a | A permanent played with the special action "play a land" (one per turn, main phase, empty stack). It has no mana cost. |
|
|
17
|
+
| [`planeswalker`](docs/reference/types.md#planeswalker) | 306.5b, 306.8, 120.3c, 606.3, 704.5i | A permanent that enters with loyalty counters equal to its printed loyalty. Its loyalty abilities can be activated at sorcery speed, one per turn. Damage dealt to it removes loyalty counters; at 0 loyalty it is put into its owner's graveyard. |
|
|
18
|
+
| [`sorcery`](docs/reference/types.md#sorcery) | 307.1, 307.2, 608.2n | A spell cast only in its controller's main phase while the stack is empty. |
|
|
19
|
+
|
|
20
|
+
## Supertypes
|
|
21
|
+
|
|
22
|
+
| Name | Rules | Description |
|
|
23
|
+
| --- | --- | --- |
|
|
24
|
+
| [`basic`](docs/reference/supertypes.md#basic) | 205.4c, 100.2a | Basic cards are exempt from the four-copies deck construction limit. |
|
|
25
|
+
| [`legendary`](docs/reference/supertypes.md#legendary) | 205.4d, 704.5j | If a player controls two or more legendary permanents with the same name, they choose one and put the rest into their owners' graveyards (the legend rule). |
|
|
26
|
+
|
|
27
|
+
## Subtypes with rules
|
|
28
|
+
|
|
29
|
+
| Name | Rules | Description |
|
|
30
|
+
| --- | --- | --- |
|
|
31
|
+
| [`aura`](docs/reference/subtypes.md#aura) | 303.4, 303.4a, 303.4c, 303.4d, 608.3c, 704.5m | An enchantment that is cast targeting what its `enchant` ability allows and enters the battlefield attached to that target. If it's attached to something it can't enchant, or to nothing, it's put into its owner's graveyard (a state-based action). |
|
|
32
|
+
| [`equipment`](docs/reference/subtypes.md#equipment) | 301.5, 301.5b, 301.5c, 704.5n | An artifact that can be attached to a creature (it enters unattached). If the creature it equips stops being a creature or leaves, it becomes unattached and stays on the battlefield (a state-based action). |
|
|
33
|
+
| [`forest`](docs/reference/subtypes.md#forest) | 305.6, 205.3i | Basic land type. A land with this subtype has "{T}: Add {G}." |
|
|
34
|
+
| [`island`](docs/reference/subtypes.md#island) | 305.6, 205.3i | Basic land type. A land with this subtype has "{T}: Add {U}." |
|
|
35
|
+
| [`mountain`](docs/reference/subtypes.md#mountain) | 305.6, 205.3i | Basic land type. A land with this subtype has "{T}: Add {R}." |
|
|
36
|
+
| [`plains`](docs/reference/subtypes.md#plains) | 305.6, 205.3i | Basic land type. A land with this subtype has "{T}: Add {W}." |
|
|
37
|
+
| [`saga`](docs/reference/subtypes.md#saga) | 715.3a, 715.3c, 505.4, 715.4, 704.5s | Enchantment type. A Saga enters with a lore counter; as its controller's precombat main phase begins, they put another lore counter on it. Each lore counter added can trigger its chapter abilities. Once its lore counters reach its final chapter number and no chapter ability of it is waiting to resolve, its controller sacrifices it. |
|
|
38
|
+
| [`swamp`](docs/reference/subtypes.md#swamp) | 305.6, 205.3i | Basic land type. A land with this subtype has "{T}: Add {B}." |
|
|
39
|
+
|
|
40
|
+
## Keyword abilities
|
|
41
|
+
|
|
42
|
+
| Name | Rules | Description |
|
|
43
|
+
| --- | --- | --- |
|
|
44
|
+
| [`abilities_cant_be_activated`](docs/reference/keywords.md#abilities_cant_be_activated) | 602.5, 605.3a, 101.2 | Its activated abilities, mana abilities included, can't be activated ("Activated abilities of artifacts can't be activated" is a static handing it out). |
|
|
45
|
+
| [`assigns_damage_by_toughness`](docs/reference/keywords.md#assigns_damage_by_toughness) | 510.1a | If this creature's toughness is greater than its power, it assigns combat damage equal to its toughness rather than its power. |
|
|
46
|
+
| [`attacks_despite_defender`](docs/reference/keywords.md#attacks_despite_defender) | 702.3b, 508.1c | Defender doesn't stop this creature from attacking. |
|
|
47
|
+
| [`attacks_each_combat`](docs/reference/keywords.md#attacks_each_combat) | 508.1d | Requirement: this creature attacks each combat if able. Declaring attackers can't finish while it could still attack. |
|
|
48
|
+
| [`cant_attack`](docs/reference/keywords.md#cant_attack) | 508.1c | Restriction: this creature can't attack. |
|
|
49
|
+
| [`cant_attack_alone`](docs/reference/keywords.md#cant_attack_alone) | 506.5, 508.1c | Restriction: this creature can't attack unless another creature attacks too. It is offered as an attacker only while another creature attacks or could still be declared, and declaring attackers can't finish while it attacks alone. |
|
|
50
|
+
| [`cant_be_beamed_up`](docs/reference/keywords.md#cant_be_beamed_up) | 702.196b | This creature can't be returned to its owner's hand to pay a beam me up cost. |
|
|
51
|
+
| [`cant_be_blocked`](docs/reference/keywords.md#cant_be_blocked) | 509.1b | Restriction: this creature can't be blocked. |
|
|
52
|
+
| [`cant_be_countered`](docs/reference/keywords.md#cant_be_countered) | 701.6a, 101.2 | This spell can't be countered: counter effects leave it on the stack. |
|
|
53
|
+
| [`cant_block`](docs/reference/keywords.md#cant_block) | 509.1b | Restriction: this creature can't block. |
|
|
54
|
+
| [`cascade`](docs/reference/keywords.md#cascade) | 702.85a, 702.85c, 608.2g | When you cast this spell, exile cards from the top of your library until you exile a nonland card with lesser mana value. You may cast it without paying its mana cost. Then the exiled cards not cast go on the bottom of your library in a random order. |
|
|
55
|
+
| [`changeling`](docs/reference/keywords.md#changeling) | 702.73a, 604.3, 205.3m, 113.6a | This object is every creature type (a characteristic-defining ability that works in all zones). |
|
|
56
|
+
| [`convoke`](docs/reference/keywords.md#convoke) | 702.51a, 702.51b, 702.51c, 702.51d | Convoke: while paying this spell's total cost you may tap untapped creatures you control, each paying for {1} or one mana of one of its colors (pay_cost option `{type: "convoke", object: id}`). It isn't an alternative or additional cost. |
|
|
57
|
+
| [`deathtouch`](docs/reference/keywords.md#deathtouch) | 702.2b, 702.2c, 704.5h | Any damage it deals to a creature is enough to destroy it; 1 damage counts as lethal when assigning combat damage. |
|
|
58
|
+
| [`decayed`](docs/reference/keywords.md#decayed) | 702.147a, 122.1b | This creature can't block. When it attacks, sacrifice it at end of combat. |
|
|
59
|
+
| [`defender`](docs/reference/keywords.md#defender) | 702.3b | Can't attack. |
|
|
60
|
+
| [`doesnt_untap`](docs/reference/keywords.md#doesnt_untap) | 502.3 | This permanent doesn't untap during its controller's untap step. |
|
|
61
|
+
| [`double_strike`](docs/reference/keywords.md#double_strike) | 702.4b, 510.4 | Deals combat damage in both the first-strike and the regular combat damage step. |
|
|
62
|
+
| [`extort`](docs/reference/keywords.md#extort) | 702.101a, 702.101b, 118.12 | Whenever you cast a spell, you may pay {W/B}. If you do, each opponent loses 1 life and you gain life equal to the total life lost this way. |
|
|
63
|
+
| [`first_strike`](docs/reference/keywords.md#first_strike) | 702.7b, 510.4 | Deals combat damage in a first combat damage step, before creatures without first strike. |
|
|
64
|
+
| [`flash`](docs/reference/keywords.md#flash) | 702.8a | You may cast this spell any time you could cast an instant. |
|
|
65
|
+
| [`flying`](docs/reference/keywords.md#flying) | 702.9b | Can't be blocked except by creatures with flying or reach. |
|
|
66
|
+
| [`haste`](docs/reference/keywords.md#haste) | 702.10a, 302.6 | This creature can attack and use {T} abilities even if it hasn't been under your control continuously since your most recent turn began. |
|
|
67
|
+
| [`hexproof`](docs/reference/keywords.md#hexproof) | 702.11b | Can't be the target of spells or abilities your opponents control. |
|
|
68
|
+
| [`improvise`](docs/reference/keywords.md#improvise) | 702.126a, 702.126b, 702.126c | Improvise: while paying this spell's total cost you may tap untapped artifacts you control, each paying for {1} of its generic part (pay_cost option `{type: "improvise", object: id}`). It isn't an alternative or additional cost. |
|
|
69
|
+
| [`increment`](docs/reference/keywords.md#increment) | 702.191a, 702.191b, 603.4 | Whenever you cast a spell, if this is a creature and the mana spent to cast that spell is greater than its power or its toughness, put a +1/+1 counter on it. |
|
|
70
|
+
| [`indestructible`](docs/reference/keywords.md#indestructible) | 702.12b | Can't be destroyed: lethal damage, deathtouch and "destroy" effects don't put it into the graveyard. |
|
|
71
|
+
| [`job_select`](docs/reference/keywords.md#job_select) | 702.182a | When this Equipment enters, create a 1/1 colorless Hero creature token, then attach this Equipment to it. |
|
|
72
|
+
| [`keeps_damage`](docs/reference/keywords.md#keeps_damage) | 514.2, 120.6 | Damage isn't removed from this permanent during cleanup steps (remove_damage still removes it). |
|
|
73
|
+
| [`lifelink`](docs/reference/keywords.md#lifelink) | 702.15b | Damage dealt by this source also causes its controller to gain that much life. |
|
|
74
|
+
| [`menace`](docs/reference/keywords.md#menace) | 702.111b | Can't be blocked except by two or more creatures. |
|
|
75
|
+
| [`must_be_blocked`](docs/reference/keywords.md#must_be_blocked) | 509.1c | Requirement: this attacking creature must be blocked if able. Declaring blockers can't finish while it is unblocked and a creature that could block it blocks nothing. |
|
|
76
|
+
| [`paradigm`](docs/reference/keywords.md#paradigm) | 702.192a, 707.12, 603.7, 608.2g | As this instant or sorcery finishes resolving: if it's the first time a spell you control with its name has resolved this game, at the beginning of each of your precombat main phases for the rest of the game you create a copy of the card in exile and may cast it without paying its mana cost. Then the spell is exiled. |
|
|
77
|
+
| [`phasing`](docs/reference/keywords.md#phasing) | 702.26a, 702.26p, 502.1 | During each of its controller's untap steps, before they untap, it phases out if it's phased in (and phases in if it phased out under their control). |
|
|
78
|
+
| [`prowess`](docs/reference/keywords.md#prowess) | 702.108a | Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn. |
|
|
79
|
+
| [`reach`](docs/reference/keywords.md#reach) | 702.17b | Can block creatures with flying. |
|
|
80
|
+
| [`riot`](docs/reference/keywords.md#riot) | 702.136a, 614.12 | As this permanent enters, its controller chooses an additional +1/+1 counter or haste (an enter_choice: `{type: "option", option: "counter" | "haste"}`). |
|
|
81
|
+
| [`start_your_engines`](docs/reference/keywords.md#start_your_engines) | 702.179a, 702.179b, 702.179c, 702.179d, 704.3 | If you control this permanent and have no speed, your speed becomes 1. Once you have speed, it increases by 1 (to at most 4) once on each of your turns when one or more opponents lose life. Pair with `max_speed` abilities and the `speed` amount. |
|
|
82
|
+
| [`station`](docs/reference/keywords.md#station) | 702.184a, 722.4 | An activated ability: tap another untapped creature you control to put charge counters equal to its power on this permanent. Sorcery speed. Pair with `station_symbol` abilities for what the counters unlock. |
|
|
83
|
+
| [`storied`](docs/reference/keywords.md#storied) | 702.195a, 702.195b, 702.195c | While you control this permanent, once you control three or more permanents that are artifacts, Sagas and/or legendary, you have an enduring story for the rest of the game (condition `{"designation": "enduring_story"}`). |
|
|
84
|
+
| [`storm`](docs/reference/keywords.md#storm) | 702.40a, 702.40b, 707.10 | When you cast this spell, copy it for each other spell cast before it this turn; you may choose new targets for the copies. |
|
|
85
|
+
| [`sunburst`](docs/reference/keywords.md#sunburst) | 702.44a, 702.44b | As this permanent enters from the stack as a resolving spell, it gets a +1/+1 counter (a creature) or a charge counter (otherwise) for each color of mana spent to cast it. |
|
|
86
|
+
| [`suspend`](docs/reference/keywords.md#suspend) | 702.62a, 702.62b | This card has suspend: while it's exiled with time counters, its owner removes one at the beginning of each of their upkeeps; when the last is removed they may play it without paying its mana cost (a creature spell gains haste). "Suspend N—cost" is the ability `suspend`. |
|
|
87
|
+
| [`trample`](docs/reference/keywords.md#trample) | 702.19b, 702.19e | Excess combat damage beyond lethal damage to its blockers can be assigned to the player or planeswalker it's attacking. |
|
|
88
|
+
| [`vigilance`](docs/reference/keywords.md#vigilance) | 702.20b | Attacking doesn't cause this creature to tap. |
|
|
89
|
+
| [`wither`](docs/reference/keywords.md#wither) | 702.80a, 702.80c, 702.80d, 120.3d | Damage this source deals to creatures is dealt as that many -1/-1 counters instead of marked damage, put by its controller. |
|
|
90
|
+
|
|
91
|
+
## Abilities
|
|
92
|
+
|
|
93
|
+
| Name | Rules | Description |
|
|
94
|
+
| --- | --- | --- |
|
|
95
|
+
| [`activated`](docs/reference/abilities.md#activated) | 602.1, 602.2, 602.5b, 602.5d, 702.177a, 702.193a, 702.193b, 702.142a | An activated ability: announce it, choose targets, pay its costs, then it goes on the stack. `timing: "sorcery"` restricts it to sorcery speed, `"your_turn"` to your turns; `limit: "once_each_turn"` to one activation per turn, `"once"` to one activation for as long as the object exists; `only_if` to when a condition holds. `zone` ("exile", "graveyard" or "hand") makes it function only while its card is in that zone ("activate only if this card is exiled"). `exhaust: true` makes it an exhaust ability: it can be activated only once (CR 702.177a). `power_up: true` makes it a power-up ability: activate only once, and if the permanent entered this turn its cost is reduced by the permanent's mana cost (CR 702.193). `boast: true`: activate only if this creature attacked this turn and only once each turn (CR 702.142a). |
|
|
96
|
+
| [`additional_cost`](docs/reference/abilities.md#additional_cost) | 601.2b, 601.2f, 601.2h, 118.8, 118.8b | As an additional cost to cast this spell, pay `cost` too (mana and/or chosen costs such as `sacrifice_permanent`). The spell can't be cast without it. `optional: true`: you may pay it (announced with the `choose_kicker` decision); the condition `{"cast_with": "additional_cost"}` then holds (the spell isn't kicked). |
|
|
97
|
+
| [`additional_land_plays`](docs/reference/abilities.md#additional_land_plays) | 305.2, 305.2a, 305.2b, 604.1 | Its controller may play an additional land on each of their turns. Each instance adds one land play (CR 305.2); lands put onto the battlefield by effects don't count. |
|
|
98
|
+
| [`additional_triggers`](docs/reference/abilities.md#additional_triggers) | 603.2d, 119.9 | While this permanent is on the battlefield, a triggered ability of a permanent its controller controls that triggers because of `cause` triggers an additional time. `cause`: you_gain_life (its controller gaining life). |
|
|
99
|
+
| [`beam_me_up`](docs/reference/abilities.md#beam_me_up) | 702.196a, 702.196b, 118.9, 601.2b, 601.2f, 601.2h | You may cast this instant or sorcery card from your graveyard for `cost` plus returning a creature you control to its owner's hand, instead of its mana cost. If you do, it's exiled whenever it would leave the stack. Offered as a cast option with `via: "beam:<ref>"`. |
|
|
100
|
+
| [`can_block_only`](docs/reference/abilities.md#can_block_only) | 509.1b, 509.1a | This creature can block only attacking creatures matching `filter` (checked as blockers are declared, with their current characteristics; controller-relative filter keys are seen from this creature's controller). |
|
|
101
|
+
| [`cant_be_blocked_by`](docs/reference/abilities.md#cant_be_blocked_by) | 509.1b, 509.1a | This creature can't be blocked by creatures matching `filter` (checked as blockers are declared, with their current characteristics). |
|
|
102
|
+
| [`cant_be_targeted_by`](docs/reference/abilities.md#cant_be_targeted_by) | 115.4, 113.7, 702.11d | This permanent can't be the target of abilities its controller's opponents control whose source matches `abilities_from` (a card spec, e.g. {"types": ["artifact"]}). |
|
|
103
|
+
| [`cant_phase_in`](docs/reference/abilities.md#cant_phase_in) | 702.26a, 502.1, 604.1 | While this permanent is on the battlefield, permanents can't phase in. |
|
|
104
|
+
| [`cast_restriction`](docs/reference/abilities.md#cast_restriction) | 601.3, 101.2 | This card can be cast only while `only_if` (a condition, checked for the player who would cast it) holds, whatever lets them cast it. |
|
|
105
|
+
| [`chapter`](docs/reference/abilities.md#chapter) | 715.2, 715.2b, 715.2c, 715.2d, 122.6 | A Saga's chapter ability: triggers when lore counters put on it bring their number from below `chapter` to at least `chapter`. Its targets are chosen as it's put on the stack. A Saga's final chapter number is its greatest `chapter`. |
|
|
106
|
+
| [`choose_basic_land_type`](docs/reference/abilities.md#choose_basic_land_type) | 614.12, 305.6, 607.2d | As this permanent enters, its controller chooses a basic land type; filters with "subtypes": "chosen" and a static ability's `"subtypes": "chosen"` use it ("this land is the chosen type"). |
|
|
107
|
+
| [`choose_card_name`](docs/reference/abilities.md#choose_card_name) | 614.12, 614.12a, 201.4, 201.4a, 607.2 | As this permanent enters, its controller chooses a card name among the cards in the game (`not`: card types the named card mustn't have, e.g. ["land"]); abilities of it that say "the chosen name" use it. |
|
|
108
|
+
| [`choose_card_type`](docs/reference/abilities.md#choose_card_type) | 614.12, 205.2a, 607.2d | As this permanent enters, its controller chooses a card type; filters with "types": "chosen" (or "not": "chosen") use it. |
|
|
109
|
+
| [`choose_color`](docs/reference/abilities.md#choose_color) | 614.12, 105.4, 607.2d | As this permanent enters, its controller chooses a color; filters with "colors": "chosen" (and other abilities of it) use it. |
|
|
110
|
+
| [`choose_creature_type`](docs/reference/abilities.md#choose_creature_type) | 614.12, 205.3m, 607.2d | As this permanent enters, its controller chooses a creature type; filters with "subtypes": "chosen" use it. |
|
|
111
|
+
| [`choose_number`](docs/reference/abilities.md#choose_number) | 614.12, 614.12a, 607.2 | As this permanent enters, its controller chooses a number from `min` to `max`; abilities of it that say "the chosen number" use it. |
|
|
112
|
+
| [`choose_option`](docs/reference/abilities.md#choose_option) | 614.12, 607.2f, 614.12b | As this permanent enters, its controller chooses one of the `options` (words with no rules meaning); a condition {"chosen": word} is true when that word was chosen. |
|
|
113
|
+
| [`class_level`](docs/reference/abilities.md#class_level) | 717.2a, 717.2b, 717.2d, 717.3, 602.5d | A class level bar: `cost` (a mana cost string or a list of costs): this permanent's level becomes `level`; activate only if its level is `level` - 1, as a sorcery. While its level is `level` or greater it has `keywords` and `abilities`. A permanent without a level is level 1. |
|
|
114
|
+
| [`cost_modifier`](docs/reference/abilities.md#cost_modifier) | 601.2f, 118.7a, 604.1, 601.2a | While on the battlefield: spells cast by `caster` (you, opponent or any; default you) whose card types match `spells` ({"any_of": [types], "not": [types]}, default all spells) cost `reduce` less or `increase` more generic mana. `from` / `not_from`: only spells cast from (not from) that zone (hand | graveyard | exile | library | outside). |
|
|
115
|
+
| [`cost_reduction`](docs/reference/abilities.md#cost_reduction) | 601.2f, 118.7a, 702.41a | This spell costs `amount` generic mana less to cast, if the optional `if` condition holds when its total cost is determined (after targets are chosen). `amount` may be computed, e.g. {"count": {"each": "artifact", "controller": "you"}} for affinity for artifacts (CR 702.41a). It can't reduce colored mana or go below {0}. |
|
|
116
|
+
| [`crew`](docs/reference/abilities.md#crew) | 702.122a, 702.122b, 702.122e, 301.7, 301.7a, 301.7b, 208.3, 302.6 | Crew N: tap any number of other untapped creatures you control with total power N or more (chosen one at a time; `done` once the total is enough): this permanent becomes an artifact creature until end of turn. A Vehicle has its printed power and toughness only while it's a creature. |
|
|
117
|
+
| [`cycling`](docs/reference/abilities.md#cycling) | 702.29a, 702.29b, 702.29e, 702.29f, 113.6m, 602.2a | Cycling: pay `cost` and discard this card from your hand to draw a card. With `for` it is typecycling: instead search your library for a card matching `for`, reveal it, put it into your hand, then shuffle. |
|
|
118
|
+
| [`damage_replacement`](docs/reference/abilities.md#damage_replacement) | 614.1a, 614.5, 614.9, 616.1, 616.1e, 616.1f, 120.2b | While this permanent is on the battlefield, damage from sources in `by` to recipients in `to` (both optional; `combat`: combat | noncombat) is changed: `multiply` (2 = "double that damage"), `plus` an amount ("that much damage plus 1"), or `redirect` ("self" | "attached": dealt to this permanent or the one it's attached to instead). A scope is "self", "attached" or {"each": filter, "controller": you|opponent|any, "other": bool}; `each` is optional and players match too, so {"controller": "opponent"} is "an opponent or a permanent an opponent controls". Several apply in the order the affected player would pick: redirections, then prevention, then multiplying, then adding. |
|
|
119
|
+
| [`damage_unpreventable`](docs/reference/abilities.md#damage_unpreventable) | 615.12 | While this permanent is on the battlefield, damage from sources in `by` to recipients in `to` (both optional; `combat`: combat | noncombat) can't be prevented: prevention effects don't reduce it and shields aren't used up. |
|
|
120
|
+
| [`destroy_replacement`](docs/reference/abilities.md#destroy_replacement) | 614.1a, 614.8, 701.8a, 701.21a, 704.5f, 704.5g, 704.5h | If a permanent matching `affects` would be destroyed (by an effect, lethal damage or deathtouch), instead: all its `remove_counters` counters are removed (if given) and, with `remove_damage: true`, all damage marked on it is removed. Sacrificing isn't destroying, and 0 toughness isn't either. |
|
|
121
|
+
| [`devour`](docs/reference/abilities.md#devour) | 702.82a, 702.82b, 702.82c, 614.12, 701.21a | Devour `amount`: as this permanent enters, you may sacrifice any number of permanents matching `each` (default "creature"; "land" for devour land) that you control, one at a time; it enters with `amount` +1/+1 counters for each. |
|
|
122
|
+
| [`double_counters`](docs/reference/abilities.md#double_counters) | 614.1a, 122.6, 122.6a, 616.1 | While this permanent is on the battlefield, if its controller would put one or more counters (only `counter`, if given) on a permanent matching `affects` ({"each": filter, "controller": you|opponent|any}, relative to this permanent's controller), the number put is doubled. This includes counters a permanent enters with. |
|
|
123
|
+
| [`double_tokens`](docs/reference/abilities.md#double_tokens) | 614.1a, 614.5, 111.1, 616.1 | While this permanent is on the battlefield, if tokens would be created under its controller's control, twice that many of those tokens are created instead. Several apply one after another (two make four times as many). |
|
|
124
|
+
| [`draw_replacement`](docs/reference/abilities.md#draw_replacement) | 614.11, 614.11a, 614.5, 121.2, 616.1 | While this permanent is on the battlefield, each time its controller would draw a card, they draw `amount` cards instead (even with an empty library). The draws it makes aren't replaced by it again, but another such effect applies to each of them. |
|
|
125
|
+
| [`enchant`](docs/reference/abilities.md#enchant) | 702.5a, 115.1b, 303.4a | The Aura's enchant ability: a target filter for what its spell targets and what the Aura may be attached to, e.g. "creature" or {"permanent": {"any_of": ["artifact", "creature"]}}. Only Auras have it. |
|
|
126
|
+
| [`enter_as_copy`](docs/reference/abilities.md#enter_as_copy) | 707.5, 707.9b, 614.1c, 614.12 | As this permanent enters, its controller may choose a permanent on the battlefield matching `of`; it enters as a copy of that permanent (its copiable values, with the `except` modifications) and its enter abilities trigger. `with_counters: true`: it also enters with the counters the copied permanent has. Choosing none: it enters as itself. |
|
|
127
|
+
| [`enters_attacking`](docs/reference/abilities.md#enters_attacking) | 614.1c, 508.4, 506.4 | While this permanent's controller controls an attacking creature, permanents matching `affects` enter the battlefield tapped and attacking (the defending player). They never "attacked", so attack triggers don't see them. |
|
|
128
|
+
| [`enters_prepared`](docs/reference/abilities.md#enters_prepared) | 723.3a, 614.1c | This permanent enters the battlefield prepared (it needs a prepare spell, see `layout: "prepare"`). |
|
|
129
|
+
| [`enters_tapped`](docs/reference/abilities.md#enters_tapped) | 614.1c, 614.12 | This permanent enters the battlefield tapped (a self-replacement effect). |
|
|
130
|
+
| [`enters_tapped_unless`](docs/reference/abilities.md#enters_tapped_unless) | 614.1c, 614.12 | This permanent enters tapped unless `condition` is true as it would enter (checked for its controller; the permanent itself isn't on the battlefield yet). |
|
|
131
|
+
| [`enters_tapped_unless_behold`](docs/reference/abilities.md#enters_tapped_unless_behold) | 614.12, 701.4a | As this permanent enters, its controller may behold an object matching the card spec `card` (reveal such a card from their hand or choose such a permanent they control); if they don't, it enters tapped. |
|
|
132
|
+
| [`enters_tapped_unless_pay_life`](docs/reference/abilities.md#enters_tapped_unless_pay_life) | 614.12, 119.4 | As this permanent enters, its controller may pay `life` life; if they don't, it enters tapped. You can't pay more life than you have. |
|
|
133
|
+
| [`enters_untapped`](docs/reference/abilities.md#enters_untapped) | 614.1c, 614.12, 616.1 | Permanents matching `affects` enter the battlefield untapped, even if another effect or their own ability would have them enter tapped. |
|
|
134
|
+
| [`enters_with_counters`](docs/reference/abilities.md#enters_with_counters) | 614.1c, 614.12, 122.6, 122.6a | Without `affects`: this permanent enters with the `counters` on it; a count may be an amount computed as it enters (e.g. the mana spent to cast it, CR 601.2h). With `affects` ({"each": filter, "controller": you|opponent|any, "other": true}, relative to this permanent's controller): while this permanent is on the battlefield, each matching permanent enters with the `counters` in addition to any others. |
|
|
135
|
+
| [`equip`](docs/reference/abilities.md#equip) | 702.6a, 301.5b, 301.5c, 701.3a | Equip: pay `cost` to attach this Equipment to target creature you control (not itself). Sorcery speed. Only Equipment have it. |
|
|
136
|
+
| [`evoke`](docs/reference/abilities.md#evoke) | 702.74a, 118.9, 601.2b, 601.2f, 601.2h, 603.4 | Evoke: you may cast this card by paying `cost` rather than its mana cost. When the permanent enters, if its evoke cost was paid, its controller sacrifices it (a triggered ability that comes with the keyword). Cast option `via: "alt:<ref>"`. |
|
|
137
|
+
| [`exile_if_dies`](docs/reference/abilities.md#exile_if_dies) | 614.1a, 700.4, 603.12, 607.2a | While this permanent is on the battlefield, a permanent matching `affects` that would be put into a graveyard from the battlefield is exiled instead; the card is "exiled with" this permanent (exiled_with). `then`: effects right after ("instead exile it and you gain 2 life"; a reflexive_trigger for "When you do, ..."), reading {"triggering": "object"} (the exiled card) and "player" (who controlled it). |
|
|
138
|
+
| [`firebending`](docs/reference/abilities.md#firebending) | 702.189a, 500.5 | Firebending `amount`: whenever this creature attacks, add that much {R}; you don't lose this mana as steps end until end of combat. |
|
|
139
|
+
| [`first_flips_win`](docs/reference/abilities.md#first_flips_win) | 705.3, 604.1 | The first time each turn its controller flips one or more coins, those coins come up heads and they win those flips. |
|
|
140
|
+
| [`flashback`](docs/reference/abilities.md#flashback) | 702.34a, 118.9, 601.2b, 601.2f, 601.2h | Flashback: you may cast this instant or sorcery card from your graveyard by paying `cost` rather than its mana cost; then it's exiled whenever it would leave the stack. `cost` is a mana cost string or a list of costs (`[{"mana": "{1}{U}"}, {"tap_permanents": {"count": 3}}]`). Cast option `via: "alt:<ref>"`. |
|
|
141
|
+
| [`foretell`](docs/reference/abilities.md#foretell) | 702.143a, 702.143b, 702.143c, 116.2h, 406.3, 118.9, 601.2b, 601.2f, 601.2h | Foretell: during your turn, you may pay {2} and exile this card from your hand face down (special action `{type: "special_action"}`). After that turn you may cast it from exile by paying `cost` rather than its mana cost (cast option `via: "alt:<ref>"`). `{"cast_with": "foretell"}` reads it. |
|
|
142
|
+
| [`gift`](docs/reference/abilities.md#gift) | 702.174a, 702.174b, 702.174j, 702.174k, 702.174m, 601.2b | Gift: as you cast this spell you may promise a gift to an opponent you choose (the `choose_kicker` decision, then `choose_cost` for the opponent). `{"cast_with": "gift"}` holds if you did, and the selector "gift_recipient" is that player; write the gift as the spell's first effect (or an enters trigger) under that condition. |
|
|
143
|
+
| [`grants_beam_me_up`](docs/reference/abilities.md#grants_beam_me_up) | 702.196a, 702.196b, 604.1, 611.3a | While this permanent is on the battlefield, during your main phase each instant and sorcery card in your graveyard has beam me up with its mana cost as the beam me up cost; this permanent can't be the creature returned to cast a spell this way. Offered as a cast option with `via: "beam_granted:<permanent>:<ref>"`. |
|
|
144
|
+
| [`harmonize`](docs/reference/abilities.md#harmonize) | 702.180a, 702.180b, 118.9, 601.2b, 601.2f, 601.2h | Harmonize: you may cast this card from your graveyard by paying `cost` and tapping up to one untapped creature you control rather than its mana cost; the total cost is reduced by generic mana equal to that creature's power. Then it's exiled whenever it would leave the stack. The creature is a `choose_cost` decision (`{type: "cost"}` without an object taps none). Cast option `via: "alt:<ref>"`. |
|
|
145
|
+
| [`hexproof_from`](docs/reference/abilities.md#hexproof_from) | 702.11d, 702.11f, 702.11g, 115.4 | Hexproof from the quality: this permanent can't be the target of spells with the quality, or abilities from sources with it, that its controller's opponents control. The quality is a card spec (`{"colors": ["B"]}`, `{"types": ["instant"]}`, `{"color_count": {"equal": 1}}` for monocolored), or "its_colors" (hexproof from each of its colors: whatever shares a color with it). |
|
|
146
|
+
| [`hideaway`](docs/reference/abilities.md#hideaway) | 702.75a, 406.3, 607.2a | Hideaway `amount`: when this permanent enters, look at the top N cards of your library, exile one face down (linked: "exiled_with") and put the rest on the bottom in a random order. |
|
|
147
|
+
| [`kicker`](docs/reference/abilities.md#kicker) | 702.33a, 702.33d, 702.33g, 601.2b, 601.2f, 601.2h | Kicker: as you cast this spell you may also pay `cost` (mana and/or chosen costs such as `sacrifice_permanent`). The spell is then kicked: `{"kicked": true}` conditions hold and its `kicked_targets` are used. |
|
|
148
|
+
| [`look_at_top`](docs/reference/abilities.md#look_at_top) | 401.5, 604.1 | While this permanent is on the battlefield, its controller sees the top card of their library (the `library_top` of their view). |
|
|
149
|
+
| [`loyalty`](docs/reference/abilities.md#loyalty) | 606.3, 606.4, 606.5, 602.2b | A loyalty ability. Its cost adds (positive) or removes (negative) loyalty counters and is paid on activation. Sorcery speed, and only one loyalty ability per planeswalker per turn. |
|
|
150
|
+
| [`mana`](docs/reference/abilities.md#mana) | 605.1a, 605.3a, 605.3b, 106.1a, 106.4, 106.6, 607.2d, 602.5b | An activated mana ability: pay the cost, add the mana to your mana pool immediately. It does not use the stack and can be activated whenever you have priority. `produce`: the fixed mana (`amount` times). Or `color`: `amount` mana (default 1) of one color you choose as you activate it (`"any_one"`) or in any combination of colors (`"any"`); `colors` limits the choice. `"chosen"`: of the color chosen as this entered (choose_color). `spend_only` restricts how the mana can be spent. `only_if`: "Activate only if ...". |
|
|
151
|
+
| [`max_speed`](docs/reference/abilities.md#max_speed) | 702.178a, 702.178b, 702.179e, 113.6c | While your speed is 4 (max speed), this object has `keywords` and `abilities` (any kind: activated, triggered, static, mana; an ability with a graveyard cost works from your graveyard). |
|
|
152
|
+
| [`may_not_untap`](docs/reference/abilities.md#may_not_untap) | 502.3, 604.1 | Its controller may choose not to untap it during their untap step (decision `untap_choice`, asked only while it's tapped). |
|
|
153
|
+
| [`mayhem`](docs/reference/abilities.md#mayhem) | 702.187a, 702.187b, 702.187c, 118.9, 601.2b, 601.2f, 601.2h, 305.1 | Mayhem: as long as you discarded this card this turn, you may cast it from your graveyard by paying `cost` rather than its mana cost. Without `cost` (`"mayhem"`), you may play it from your graveyard (a land too) if you discarded it this turn. Cast option `via: "alt:<ref>"`. |
|
|
154
|
+
| [`mobilize`](docs/reference/abilities.md#mobilize) | 702.181a, 508.4 | Mobilize `amount`: whenever this creature attacks, create that many 1/1 red Warrior creature tokens tapped and attacking; sacrifice them at the beginning of the next end step. |
|
|
155
|
+
| [`play_from`](docs/reference/abilities.md#play_from) | 601.3, 113.6e, 113.6f, 305.1, 401.5, 122.1, 614.12, 400.11a, 400.11b, 108.3 | With `cards: "self"` (default): its owner may cast this card from `zone` (the ability functions there). With a card spec: while this permanent is on the battlefield, its controller may play their own matching cards from `zone`, or from any of `zones` ("outside": cards they own outside the game, the deck's `outside` list, CR 400.11a). `play`: "cast" (spells only, default) or "play" (lands too, using a land play). `once_each_turn`: once during each of your turns, one use shared by all its zones. `enters_with`: a permanent spell cast this way enters with these counters. Timing and costs are the usual ones. |
|
|
156
|
+
| [`player_rule`](docs/reference/abilities.md#player_rule) | 702.11c, 115.4, 508.1c, 402.2, 514.1, 615.1, 615.1a, 704.5a, 104.3b, 701.21a, 614.17b, 101.2, 601.3, 701.6a, 119.7, 602.5, 615.12, 702.16b, 702.16e, 702.16k, 604.1, 604.2, 611.3a | While this permanent is on the battlefield (and its `if` condition holds), `rule` applies to the players in `affects` (you | opponents | each; default you). Rules: hexproof, cant_attack, no_max_hand_size, prevent_all_damage, cant_lose_for_life, cant_sacrifice, cant_cast, cant_cast_except_from_hand, spells_cant_be_countered, abilities_cant_be_countered, cant_gain_life, cant_activate, damage_cant_be_prevented, combat_damage_cant_be_prevented, protection_from_opponents. `cant_sacrifice` takes a `filter` of the permanents that can't be sacrificed, `cant_activate` may take a `filter` of the sources whose abilities can't be activated (mana abilities still can), and `cant_cast` and `spells_cant_be_countered` may take a card spec of the `spells`. The damage rules apply to all damage whichever players they name. |
|
|
157
|
+
| [`prevent_damage`](docs/reference/abilities.md#prevent_damage) | 615.1, 615.1a, 615.5, 615.6 | While this permanent is on the battlefield, all damage from sources in `by` to recipients in `to` (damage scopes as in damage_replacement, both optional; `combat`: combat | noncombat) is prevented. "To and by this creature" is two of them. `then`: effects right after it prevents damage ("prevent that damage and put that many +1/+1 counters on him"), reading {"triggering": "amount"} (the damage prevented), "object" (the source) and "player" (its controller). |
|
|
158
|
+
| [`protection_from`](docs/reference/abilities.md#protection_from) | 702.16a, 702.16b, 702.16c, 702.16d, 702.16e, 702.16f, 702.16g, 702.16h, 702.16i, 702.16j, 702.16k, 704.5m, 704.5n | Protection from the quality (a card spec, "everything", "each_opponent": from each of your opponents, or "its_colors"): damage from sources with the quality is prevented, and this permanent can't be enchanted or equipped by, blocked by or targeted by anything with the quality (Auras and Equipment already attached fall off as a state-based action). |
|
|
159
|
+
| [`saddle`](docs/reference/abilities.md#saddle) | 702.171a, 702.171b, 702.171c | Saddle N: tap any number of other untapped creatures you control with total power N or more (chosen one at a time; `done` once the total is enough): this permanent becomes saddled until end of turn. Activate only as a sorcery. |
|
|
160
|
+
| [`sneak`](docs/reference/abilities.md#sneak) | 702.190a, 702.190b, 506.3a, 118.9, 601.2b, 601.2f, 601.2h | Sneak: any time you could cast an instant during your declare blockers step, you may cast this spell by paying `cost` and returning an unblocked attacking creature you control to its owner's hand rather than its mana cost. A permanent spell cast this way enters tapped and attacking what that creature was attacking. Cast option `via: "alt:<ref>"`. |
|
|
161
|
+
| [`spell`](docs/reference/abilities.md#spell) | 113.3a, 601.2c, 608.2b, 608.2c, 702.183a, 601.2f | The spell ability of an instant or sorcery: its targets are chosen while casting and its effects happen in order when it resolves. If every target is illegal on resolution, it doesn't resolve. A mode of a modal spell may have a `cost`: a mana cost paid in addition when that mode is chosen (tiered: "Choose one additional cost"). |
|
|
162
|
+
| [`spell_keywords`](docs/reference/abilities.md#spell_keywords) | 604.1, 611.3a, 702.85a | Spells you control on the stack matching `spells` (a spell filter; default every spell), cast `from` / `not_from` a zone if given, have the `keywords` (e.g. cascade, which then triggers as such a spell is cast). |
|
|
163
|
+
| [`spells_have`](docs/reference/abilities.md#spells_have) | 702.126a, 702.51a, 611.3a, 604.1 | Spells you cast matching the card spec `spells` (default: every spell) have `keywords` (convoke and/or improvise) while this permanent is on the battlefield. |
|
|
164
|
+
| [`static`](docs/reference/abilities.md#static) | 604.1, 604.2, 611.3a, 612.8, 613.1c, 613.1d, 613.1e, 613.1f, 613.4b, 613.4c, 613.7a, 613.8a, 205.1a, 205.1b, 301.5f, 303.4m | While its source is on the battlefield (and its `if` condition holds), every permanent it `affects` gets `pump` (fixed or computed amounts, layer 7c), the `keywords` and granted `abilities` (layer 6, triggered, activated or mana abilities), and with `creature_types` has exactly those creature types (layer 4); `loses_abilities: true` removes the abilities it had before (layer 6, in timestamp order: later grants and keyword counters stay, CR 613.7), `colors` sets its colors (layer 5) and `base_power_toughness` its base power and toughness (layer 7b); `types` are card types it has in addition to its other types ("this Vehicle is an artifact creature", layer 4) and `subtypes` subtypes it has in addition to its other types ("is a Wizard in addition to its other types", layer 4). `affects` is {"each": filter, "controller": you|opponent|any, "other": true} (relative to the source's controller), "self", or "attached" ("equipped/enchanted creature"). |
|
|
165
|
+
| [`station_symbol`](docs/reference/abilities.md#station_symbol) | 722.2a, 722.2b, 722.2c, 613.1d, 613.4b | While this permanent has at least `at` charge counters it has `keywords` and `abilities`; with `power`/`toughness` it is also a creature with that base power and toughness (layers 4 and 7b). |
|
|
166
|
+
| [`suspend`](docs/reference/abilities.md#suspend) | 702.62a, 702.62c, 116.2f | Suspend `amount`—`cost`: whenever you could begin to cast this card from your hand, you may pay `cost` and exile it with `amount` time counters (special action `{type: "special_action"}`); then it works as the keyword `suspend`. |
|
|
167
|
+
| [`tapping_power`](docs/reference/abilities.md#tapping_power) | 702.122a, 702.171a, 702.184a, 702.184c | When this creature is tapped to pay the cost of the abilities in `for` (crew, saddle, station), it counts its `use` (power, default; toughness; toughness_if_greater: its toughness when that's greater than its power) plus `plus`. Several of them add up their `plus`. A `static` can grant it. |
|
|
168
|
+
| [`teamwork`](docs/reference/abilities.md#teamwork) | 702.194a, 702.194b, 702.194c, 601.2b, 601.2f, 601.2h | Teamwork N: as you cast this spell you may also tap any number of untapped creatures you control with total power N or more (the `choose_kicker` decision, then one `choose_cost` per creature). `{"cast_with": "teamwork"}` holds if you did; `kicked_targets` are its targets then. |
|
|
169
|
+
| [`token_replacement`](docs/reference/abilities.md#token_replacement) | 614.1a, 614.16, 111.1, 616.1 | If tokens would be created under this permanent's controller's control, that many `token` tokens are created instead (tapped or attacking if the originals would be). `token` is a predefined token name or inline card data. |
|
|
170
|
+
| [`triggered`](docs/reference/abilities.md#triggered) | 603.2, 603.3, 603.3b, 603.3d | A triggered ability: when its trigger condition happens, it is put on the stack the next time a player would receive priority (in APNAP order), with targets chosen then. |
|
|
171
|
+
| [`ward`](docs/reference/abilities.md#ward) | 702.21a, 601.2c, 603.2, 701.6a, 701.67a | Ward: whenever this permanent becomes the target of a spell or ability an opponent controls, counter that spell or ability unless its controller pays `cost`: a mana cost, or a list of costs ("Ward—Pay 2 life", "Ward—Discard a card or pay {2}" with `one_of`). With `waterbend`, they waterbend that cost: "Ward—Waterbend {4}". |
|
|
172
|
+
| [`warp`](docs/reference/abilities.md#warp) | 702.185a, 702.185b, 702.185c, 603.7, 118.9, 601.2b, 601.2f, 601.2h | Warp: you may cast this card from your hand by paying `cost` rather than its mana cost. If you do, the permanent it becomes is exiled at the beginning of the next end step (a delayed triggered ability), and its owner may cast it from exile after this turn has ended for as long as it remains exiled (cast option `via: "warped"`). Conditions `{"cast_with": "warp"}` and `{"cast_with_this_turn": "warp"}` read it. |
|
|
173
|
+
| [`web_slinging`](docs/reference/abilities.md#web_slinging) | 702.188a, 118.9, 601.2b, 601.2f, 601.2h | Web-slinging: you may cast this spell by paying `cost` and returning a tapped creature you control to its owner's hand rather than its mana cost. The creature is a `choose_cost` decision, returned as the spell becomes cast. Cast option `via: "alt:<ref>"`. |
|
|
174
|
+
|
|
175
|
+
## Trigger conditions
|
|
176
|
+
|
|
177
|
+
| Name | Rules | Description |
|
|
178
|
+
| --- | --- | --- |
|
|
179
|
+
| [`ability_triggers`](docs/reference/triggers.md#ability_triggers) | 603.2, 603.3b, 508.1, 707.10 | A triggered ability of the subject triggers. `cause: "attacks"` (required): its trigger event was the subject attacking. {"triggering": "ability"} is that triggered ability while it's on the stack. |
|
|
180
|
+
| [`activates_ability`](docs/reference/triggers.md#activates_ability) | 602.2, 605.1a, 603.2, 201.4, 702.177a, 702.142b | A player (`controller`: you (default) | opponent | any) activates an ability that isn't a mana ability. `source`: optional filter on the source's card; `name: "chosen"`: only a source with the name chosen as this permanent entered. `exhaust: true`: only an exhaust ability ("whenever you activate an exhaust ability", CR 702.177). `boast: true`: only a boast ability ("whenever a creature you control boasts", CR 702.142b). |
|
|
181
|
+
| [`airbends`](docs/reference/triggers.md#airbends) | 701.65b | A player (`controller`: you (default) | opponent | any) airbends. |
|
|
182
|
+
| [`any_of`](docs/reference/triggers.md#any_of) | 603.2, 603.2c | Triggers when any of the listed trigger conditions is met. |
|
|
183
|
+
| [`attacks`](docs/reference/triggers.md#attacks) | 508.3a, 603.2 | The subject is declared as an attacker. `first_time_this_turn: true`: only the first time that creature attacks this turn (later combats of the turn don't trigger it). |
|
|
184
|
+
| [`becomes_blocked`](docs/reference/triggers.md#becomes_blocked) | 509.3c, 509.1h, 603.2e | The subject becomes blocked: once per combat when blockers are declared, even if several creatures block it. |
|
|
185
|
+
| [`becomes_crewed`](docs/reference/triggers.md#becomes_crewed) | 702.122e, 603.2 | A crew ability of the subject resolves (it becomes crewed). |
|
|
186
|
+
| [`becomes_level`](docs/reference/triggers.md#becomes_level) | 717.2a, 603.2 | This permanent's level becomes `level` (a class level bar's ability resolves). |
|
|
187
|
+
| [`becomes_saddled`](docs/reference/triggers.md#becomes_saddled) | 702.171b, 603.2 | The subject becomes saddled (its saddle ability resolved, or an effect saddled it). |
|
|
188
|
+
| [`becomes_tapped`](docs/reference/triggers.md#becomes_tapped) | 603.2e, 701.26a, 702.194a | The subject becomes tapped (for any reason: a cost, attacking, an effect). A permanent that enters tapped doesn't become tapped. `for: "teamwork"`: only when it's tapped to pay a teamwork cost (it triggers once the spell is cast). |
|
|
189
|
+
| [`becomes_target`](docs/reference/triggers.md#becomes_target) | 115.1, 601.2c, 603.2, 603.2c | The subject becomes the target of a spell or ability (controlled by `by`: opponent | you | any (default), relative to the source's controller). One trigger per matching object targeted. |
|
|
190
|
+
| [`becomes_untapped`](docs/reference/triggers.md#becomes_untapped) | 603.2e, 701.26b | The subject becomes untapped (in the untap step or by an effect). A permanent that enters untapped doesn't become untapped. |
|
|
191
|
+
| [`blocks`](docs/reference/triggers.md#blocks) | 509.3a, 509.3b, 509.3f, 603.2 | The subject is declared as a blocker. With `blocking`, only when the attacking creature it blocks matches that filter ("blocks a creature with flying"). {"triggering": "object"} is the blocking creature. |
|
|
192
|
+
| [`cast`](docs/reference/triggers.md#cast) | 603.2, 601.2i, 113.6, 202.3e, 201.4, 607.2, 115.1, 601.2a, 601.2c | A player casts a spell. `controller`: you (default) | opponent | any; `spell`: creature | noncreature | instant_or_sorcery, or any spell filter, e.g. {"spell": {"subtypes": ["saga"]}} or {"one_of": [...]} for "creature or Spacecraft spell"; `name` / `mana_value`: "chosen" (the source's as-it-entered choice); `self: true`: "when you cast this spell" (it functions on the stack). `targets`: only a spell that targets something matching this filter ("self": this permanent), e.g. {"creature": {"controller": "you"}}. `from` / `not_from`: only a spell cast from (not from) that zone: hand | graveyard | exile | library | outside. `single_target: true`: only a spell with exactly one target. |
|
|
193
|
+
| [`counters_placed`](docs/reference/triggers.md#counters_placed) | 122.6, 603.2, 603.2c | One or more counters (only `counter`, if given) are put on the subject, including the counters it enters the battlefield with. Triggers once per event, however many counters. |
|
|
194
|
+
| [`crews_vehicle`](docs/reference/triggers.md#crews_vehicle) | 702.122b, 603.2 | The subject (a creature) crews a Vehicle: it's tapped to pay that Vehicle's crew cost. {"triggering": "object"} is the Vehicle. |
|
|
195
|
+
| [`cycles`](docs/reference/triggers.md#cycles) | 702.29a, 702.29e | A player (`controller`: you (default) | opponent | any) cycles a card (activates its cycling or typecycling ability; optional `card` filter). |
|
|
196
|
+
| [`deals_damage`](docs/reference/triggers.md#deals_damage) | 510.2, 603.2, 603.2c, 120.2a, 120.2b, 120.3 | The subject deals damage. `combat: true` only counts combat damage, `noncombat: true` only noncombat damage; `to`: player | opponent (of the source's controller) | creature | any (default). Triggers once per damage event (each combat damage step is one, so double strike can trigger twice). |
|
|
197
|
+
| [`dealt_damage`](docs/reference/triggers.md#dealt_damage) | 120.3, 603.2, 603.2c, 120.2a, 120.2b | Damage is dealt to the `subject` (a permanent: "self" by default, "attached" or {"each": filter, ...}) or, with `player` (you | opponent | any), to a player. `combat` / `noncombat`: only that damage. {"triggering": "object"} is the permanent dealt damage, {"triggering": "player"} the player, {"triggering": "amount"} how much. `batched: true`: "one or more ..." (once per damage event, CR 603.2c). |
|
|
198
|
+
| [`dies`](docs/reference/triggers.md#dies) | 603.6c, 603.10a, 700.4 | The subject is put into a graveyard from the battlefield. Looks back in time (CR 603.10a). |
|
|
199
|
+
| [`discards`](docs/reference/triggers.md#discards) | 701.9a, 603.2c, 702.29d | A player (`controller`: you (default) | opponent | any) discards a card (optional `card` filter). `batched: true`: "one or more cards", once per event batch; then "that many" is how many were discarded. |
|
|
200
|
+
| [`draws`](docs/reference/triggers.md#draws) | 121.1, 121.2 | A player draws a card; triggers once per card (draws happen one at a time). `controller`: you (default) | opponent | any. |
|
|
201
|
+
| [`earthbends`](docs/reference/triggers.md#earthbends) | 701.66b | A player (`controller`: you (default) | opponent | any) earthbends. |
|
|
202
|
+
| [`enters`](docs/reference/triggers.md#enters) | 603.6a, 603.2, 614.12 | The subject enters the battlefield. `untapped: true`: only if it entered untapped. `from`: only if it entered from that zone ("enters from exile"). |
|
|
203
|
+
| [`faces_dilemma`](docs/reference/triggers.md#faces_dilemma) | 700.17, 700.2, 601.2b, 603.3c | A player faces a dilemma: they chose one or more modes for a spell or ability (cast, activated, or a triggered ability put on the stack). `controller`: you (default) | opponent | any. CR 700.17. |
|
|
204
|
+
| [`firebends`](docs/reference/triggers.md#firebends) | 702.189b | A player (`controller`: you (default) | opponent | any) firebends. |
|
|
205
|
+
| [`gains_life`](docs/reference/triggers.md#gains_life) | 119.9, 120.3f | A player gains life (once per life gain event; lifelink combat damage is one event per source). `controller`: you (default) | opponent | any. |
|
|
206
|
+
| [`leaves_battlefield`](docs/reference/triggers.md#leaves_battlefield) | 603.6c, 603.10a, 400.7 | The subject leaves the battlefield (for any zone, or only `to` that zone). Looks back in time: the permanent is matched as it last existed (types, controller, counters). |
|
|
207
|
+
| [`leaves_graveyard`](docs/reference/triggers.md#leaves_graveyard) | 603.10a, 603.2c, 404.1 | A card leaves a graveyard (whose: `controller` you (default) | opponent | any). Optional `card` filter on its card types. `batched: true` is "one or more cards leave": once per event that moves cards (one effect, cost or action), however many cards. |
|
|
208
|
+
| [`loses_life`](docs/reference/triggers.md#loses_life) | 119.3, 120.3a | A player loses life (damage to a player is life loss, CR 120.3a). `controller`: you (default) | opponent | any. |
|
|
209
|
+
| [`player_attacks`](docs/reference/triggers.md#player_attacks) | 508.3d, 508.1, 603.2 | A player declares one or more attackers (once per combat, not per creature). `controller`: you (default) | opponent | any. `attacking_power` ({"at_least": n}): only when the attacking creatures' total power is at least n as they're declared; with `first_time_this_turn: true`, only the first combat this turn in which it was. |
|
|
210
|
+
| [`plays_land`](docs/reference/triggers.md#plays_land) | 305.1, 603.2, 601.2a | A player (`controller`: you (default) | opponent | any) plays a land. `from` / `not_from`: only a land played from (not from) that zone: hand | graveyard | exile | library | outside. Lands put onto the battlefield by effects aren't played. |
|
|
211
|
+
| [`put_into`](docs/reference/triggers.md#put_into) | 603.6c, 603.2c, 400.3 | A card is put into `zone` (graveyard | exile) from anywhere, or only `from` the listed zones. `controller`: the card's owner (you (default) | opponent | any); optional `card` filter on the card. `batched: true`: "one or more cards", once per event batch. With "battlefield" among `from` it looks back in time like leaves_battlefield. |
|
|
212
|
+
| [`sacrifices`](docs/reference/triggers.md#sacrifices) | 701.21a, 603.10a, 603.2c | The subject is sacrificed (`controller` of the subject: who sacrificed it). Looks back in time, like leaves_battlefield. `batched: true`: "one or more", once per event batch. |
|
|
213
|
+
| [`saddles_mount`](docs/reference/triggers.md#saddles_mount) | 702.171c, 603.2 | The subject (a creature) saddles a Mount: it's tapped to pay that Mount's saddle cost. {"triggering": "object"} is the Mount. |
|
|
214
|
+
| [`scries`](docs/reference/triggers.md#scries) | 701.22a, 701.22b | A player (`controller`: you (default) | opponent | any) scries (not scry 0). Triggers after the scry is complete. |
|
|
215
|
+
| [`step_begins`](docs/reference/triggers.md#step_begins) | 603.6b, 503.1a, 513.1a | A step begins. `whose`: "your" (default), "each" or "opponent". |
|
|
216
|
+
| [`surveils`](docs/reference/triggers.md#surveils) | 701.25a, 701.25c, 701.25d | A player (`controller`: you (default) | opponent | any) surveils (not surveil 0). Triggers after the surveil is complete. |
|
|
217
|
+
| [`transforms`](docs/reference/triggers.md#transforms) | 701.27f, 603.2 | The subject transforms. For the default subject (this permanent), the ability is on the face that's up afterward, so it means "whenever this transforms into [this face]". |
|
|
218
|
+
| [`waterbends`](docs/reference/triggers.md#waterbends) | 701.67c | A player (`controller`: you (default) | opponent | any) waterbends. |
|
|
219
|
+
|
|
220
|
+
## Costs
|
|
221
|
+
|
|
222
|
+
| Name | Rules | Description |
|
|
223
|
+
| --- | --- | --- |
|
|
224
|
+
| [`behold`](docs/reference/costs.md#behold) | 701.4a, 701.4b, 601.2h, 602.2b, 118.3, 607.2a | Behold `count` (default 1) objects matching the card spec `card`: each a card revealed from your hand or a permanent you control, chosen while casting or activating. `exile: true` also exiles them as it becomes cast; they are then "exiled with" it (selector `exiled_with`). |
|
|
225
|
+
| [`blight`](docs/reference/costs.md#blight) | 701.68a, 701.68b, 601.2h, 602.2b, 118.3 | Blight `amount`: put that many -1/-1 counters on a creature you control, chosen while casting or activating and put on it as it becomes cast. |
|
|
226
|
+
| [`bottom_self_from_graveyard`](docs/reference/costs.md#bottom_self_from_graveyard) | 401.1, 113.6m, 602.2b, 118.3 | Put this card from your graveyard on the bottom of your library. An ability with this cost is activated from your graveyard. |
|
|
227
|
+
| [`discard`](docs/reference/costs.md#discard) | 701.9a, 701.9b, 601.2h, 602.2b, 118.3 | Discard `count` cards (default 1) from your hand, never this card, matching the card spec `card` if given: chosen while casting or activating and discarded as the spell or ability becomes cast. `random: true` discards them at random instead. |
|
|
228
|
+
| [`discard_self`](docs/reference/costs.md#discard_self) | 701.9a, 602.2b, 113.6m, 118.3 | Discard the card the ability belongs to (it goes from your hand to your graveyard). An ability with this cost is activated from your hand. |
|
|
229
|
+
| [`exert`](docs/reference/costs.md#exert) | 701.43a, 701.43b, 701.43c | Exert this permanent: it doesn't untap during your next untap step. |
|
|
230
|
+
| [`exile_from_graveyard`](docs/reference/costs.md#exile_from_graveyard) | 406.1, 601.2h, 602.2b, 118.3 | Exile `count` cards from your graveyard (default 1), never this card, chosen while casting or activating and exiled as the spell or ability becomes cast. `card` (a card spec) restricts which. |
|
|
231
|
+
| [`exile_from_hand`](docs/reference/costs.md#exile_from_hand) | 406.1, 601.2h, 602.2b, 118.3 | Exile `count` cards from your hand (default 1), chosen while casting or activating, exiled as the spell or ability becomes cast. `card` (a card spec) restricts which. |
|
|
232
|
+
| [`exile_self_from_graveyard`](docs/reference/costs.md#exile_self_from_graveyard) | 406.1, 113.6m, 602.2b, 118.3 | Exile this card from your graveyard. An ability with this cost is activated from your graveyard. |
|
|
233
|
+
| [`get_counters`](docs/reference/costs.md#get_counters) | 118.1, 122.1, 704.5c | You get `amount` counters of the kind `counter` (e.g. poison). It can always be paid. |
|
|
234
|
+
| [`mana`](docs/reference/costs.md#mana) | 601.2g, 601.2h, 602.2b | Pay mana as part of an activation. Paid during the activation by spending mana from your pool, tapping sources one at a time. |
|
|
235
|
+
| [`one_of`](docs/reference/costs.md#one_of) | 118.3, 601.2b, 601.2f, 602.2b, 118.12 | Pay one of the listed costs (two or more), chosen as the spell or ability is cast or activated (the `choose_cost_option` decision) or, for `pay` and ward, as it is paid. A cost that can't be paid can't be chosen. |
|
|
236
|
+
| [`pay_life`](docs/reference/costs.md#pay_life) | 119.4, 119.4b, 118.3b, 601.2b, 107.3a | Pay that much life (you lose it). Only possible while your life total is at least that much. `"X"` pays the X announced for the spell or ability (at most your life total); it may be a spell's additional cost. |
|
|
237
|
+
| [`remove_counters`](docs/reference/costs.md#remove_counters) | 602.2b, 601.2h, 118.3, 122.1 | Remove `count` counters (of kind `counter`, or any kind) from among permanents you control matching `filter` (default creature), one counter per choice. Removed as it becomes cast. |
|
|
238
|
+
| [`sacrifice`](docs/reference/costs.md#sacrifice) | 701.21a, 602.2b, 118.3 | Sacrifice the permanent the ability belongs to (it goes to its owner's graveyard). |
|
|
239
|
+
| [`sacrifice_permanent`](docs/reference/costs.md#sacrifice_permanent) | 701.21a, 601.2h, 602.2b, 118.3, 608.2h | Sacrifice `count` permanents you control matching `filter` (`other: true`: not the source). Chosen while casting or activating, sacrificed as it becomes cast; the sacrificed permanent's last known types and subtypes are remembered (condition `sacrificed`). |
|
|
240
|
+
| [`tap`](docs/reference/costs.md#tap) | 107.5, 602.5a | {T} — tap the permanent the ability belongs to. Requires it to be untapped. |
|
|
241
|
+
| [`tap_another_creature`](docs/reference/costs.md#tap_another_creature) | 702.184a, 601.2h, 602.2b, 302.6 | Tap another untapped creature you control, chosen while activating. A creature that came under your control this turn can be tapped this way. |
|
|
242
|
+
| [`tap_permanents`](docs/reference/costs.md#tap_permanents) | 601.2h, 602.2b, 302.6, 118.3 | Tap `count` untapped permanents you control matching `filter` (default: creature), chosen while casting or activating; `other: true` excludes the source. They are tapped as they are chosen; cancelling untaps them. |
|
|
243
|
+
| [`waterbend`](docs/reference/costs.md#waterbend) | 701.67a, 701.67b, 701.67c | Waterbend [cost]: pay this mana cost; for each generic mana in it you may instead tap an untapped artifact or creature you control (pay_cost option `{type: "waterbend", object: id}`). Only the waterbend cost's own generic mana can be paid this way. |
|
|
244
|
+
|
|
245
|
+
## Effects
|
|
246
|
+
|
|
247
|
+
| Name | Rules | Description |
|
|
248
|
+
| --- | --- | --- |
|
|
249
|
+
| [`add_counters`](docs/reference/effects.md#add_counters) | 122.1, 122.1f, 122.6, 613.4c, 704.5c | Put `amount` counters named `counter` on each referenced permanent or player. Any counter name works (+1/+1, -1/-1, loyalty, stun, shield, oil, a keyword, ...; on a player poison, experience, ...); see docs/reference/counters.md for the ones with rules. A player with ten or more poison counters loses the game. |
|
|
250
|
+
| [`add_mana`](docs/reference/effects.md#add_mana) | 106.1a, 106.4, 608.2d, 605.1a, 106.6, 500.5, 607.2d | You add mana to your mana pool: the fixed mana in `produce`, or `amount` mana of a color you choose as it resolves (`color: "any_one"`: all of one color; `color: "any"`: each mana's color chosen separately, "in any combination of colors"; `"chosen"`: of the color chosen for its source or by it, CR 607.2d). `colors` limits the choice ("add {R} or {G}"). `spend_only` restricts how the mana can be spent (CR 106.6). `until: "end_of_combat"`: you don't lose this mana as steps end until end of combat (CR 702.189a). |
|
|
251
|
+
| [`add_subtypes`](docs/reference/effects.md#add_subtypes) | 613.1d, 205.1b, 611.2a, 611.2c | Each referenced permanent gets the `subtypes` in addition to its other types until end of turn (layer 4). |
|
|
252
|
+
| [`additional_phases`](docs/reference/effects.md#additional_phases) | 500.8, 505.1, 508.1c | Adds `phases` (in order; each "combat" or "main") directly after the current phase of this turn. Phases added after the same phase come most recently created first. An added main phase is a postcombat main phase. `attackers`: only creatures matching this filter can attack during the (first) added combat phase. |
|
|
253
|
+
| [`additional_triggers`](docs/reference/effects.md#additional_triggers) | 603.2d, 611.2b, 611.2c | For `duration` (while_source_tapped: for as long as the source remains tapped), each triggered ability of each referenced permanent triggers an additional time. |
|
|
254
|
+
| [`airbend`](docs/reference/effects.md#airbend) | 701.65a, 701.65b, 118.9, 601.2f | Airbend: exile each referenced permanent or spell; for as long as each card stays exiled, its owner may cast it by paying {2} rather than its mana cost (cast option `via: "effect:<n>"`). The exiled cards are the effect's results. |
|
|
255
|
+
| [`amass`](docs/reference/effects.md#amass) | 701.47a, 701.47b, 701.47c, 613.1d | Amass `subtype` `amount`: if you control no Army creature, create a 0/0 black [subtype] Army creature token; then put `amount` +1/+1 counters on an Army creature you control (chosen if there are several), which becomes a [subtype] too. |
|
|
256
|
+
| [`another_counter`](docs/reference/effects.md#another_counter) | 122.1, 122.6 | For each referenced permanent, the controller chooses a kind of counter already on it (asked only when there are several kinds) and puts one more counter of that kind on it. |
|
|
257
|
+
| [`assimilate`](docs/reference/effects.md#assimilate) | 701.72a, 701.72b, 701.72c, 607.2a, 205.1b, 613.1b, 613.1d, 614.12a | Assimilate each referenced permanent or permanent card: you gain control of it (or put it onto the battlefield under your control) with a +1/+1 counter, and it becomes a Borg artifact creature while it stays on the battlefield. `for`: only cards matching a card spec; `choose: true`: you choose one of them. |
|
|
258
|
+
| [`attach`](docs/reference/effects.md#attach) | 701.3a, 701.3b, 701.3c, 301.5c | Attach this Aura or Equipment (the ability's source), or the `attachment` (e.g. a token an earlier effect created, {"result": n}), to the referenced permanent. Nothing happens if it can't legally be attached to it, if it's already attached to it, or if the attachment has left the battlefield. |
|
|
259
|
+
| [`become`](docs/reference/effects.md#become) | 611.2a, 611.2b, 611.2c, 613.1d, 613.1e, 613.1f, 613.4b, 613.7b, 205.1a, 205.1b, 301.7b, 514.2 | Each referenced permanent becomes what the parameters say, for `duration` (end_of_turn, default; indefinite: as long as it stays on the battlefield; while_source_on_battlefield: for as long as this effect's source remains on the battlefield; while_you_control_source: for as long as you control it): it has the card `types`, `supertypes` and `subtypes` in addition to its other types (layer 4, "becomes an artifact creature"), its creature types are exactly `creature_types` (layer 4), its colors are `colors` (layer 5), with `loses_abilities: true` it loses all the abilities it had (layer 6; abilities granted later, keyword counters put on it later and this effect's own `keywords` and `abilities` stay, CR 613.7), it has the `keywords` and `abilities` (layer 6: triggered, activated, mana, play_from or additional_land_plays abilities) and its base power and toughness are `base_power_toughness` (layer 7b). A permanent that becomes a creature has its printed power and toughness (a Vehicle's), or 0/0. |
|
|
260
|
+
| [`become_copy`](docs/reference/effects.md#become_copy) | 707.2, 707.4, 613.2a, 613.7, 611.2a, 514.2 | Each referenced permanent becomes a copy of the (first) object `of` refers to, with the `except` modifications, until end of turn (default) or for as long as it stays on the battlefield (`duration: "permanent"`). It keeps its counters, status and other effects; nothing enters or leaves, so no enter or leave abilities trigger. Several copy effects apply in timestamp order. |
|
|
261
|
+
| [`become_saddled`](docs/reference/effects.md#become_saddled) | 702.171a, 702.171b | Each referenced permanent (default: this one) becomes saddled until end of turn (filters: `"saddled": true`). |
|
|
262
|
+
| [`behold`](docs/reference/effects.md#behold) | 701.4a, 701.4b, 118.3 | You behold an object matching the card spec `card`: reveal such a card from your hand or choose such a permanent you control. Under `may`, "yes" is offered only when there is one. |
|
|
263
|
+
| [`bite`](docs/reference/effects.md#bite) | 120.3, 120.4, 608.2b | Each creature referenced by `from` deals damage equal to its power to each creature, planeswalker or player referenced by `to` (one damage event per source; not combat damage, and nothing is dealt back). |
|
|
264
|
+
| [`blight`](docs/reference/effects.md#blight) | 701.68a, 701.68b, 701.68c | Each referenced player (default: you) blights `amount`: puts that many -1/-1 counters on a creature they control, chosen as it resolves (one `effect_choice` each, in turn order). The blighted creatures are its results. |
|
|
265
|
+
| [`cast`](docs/reference/effects.md#cast) | 608.2g, 707.12, 707.12a, 601.2a, 601.2f | The controller may cast referenced cards (or card copies) now, while this resolves, paying their costs; timing restrictions don't apply. `to`, `for`, `not_types`, `max_mana_value`, `count`, `exile_instead` and `any_mana_type` work as for `cast_free`. |
|
|
266
|
+
| [`cast_free`](docs/reference/effects.md#cast_free) | 608.2g, 118.9, 601.2a, 107.3b, 118.6a, 305.2a, 305.3, 406.3a | The controller may cast referenced cards without paying their mana costs while this resolves. `to` names the cards ({"result": n}), or a player for the cards in their hand (default: your hand). Only cards matching `for`/`not_types` with mana value up to `max_mana_value` (optional amount) that could be cast now (legal targets). `count`: 1 (default) or "any" (any number, one at a time). X is 0 (CR 107.3b). `play: true` ("you may play"): a land among them may be played, on your turn with a land play left (`{type: "play_land"}`). A face-down card is judged face up. |
|
|
267
|
+
| [`choose_card_type`](docs/reference/effects.md#choose_card_type) | 205.2a, 607.2d, 608.2c | The player (`to`, default you) chooses a card type; later effects of this spell or ability read it with "types": "chosen". |
|
|
268
|
+
| [`choose_cards`](docs/reference/effects.md#choose_cards) | 701.20a, 701.20e, 400.7j, 608.2c, 607.2a, 118.12, 701.9b | You choose `count` (default 1; "any": any number) cards matching `for` from `from`: a selector (e.g. {"result": 0}, the cards an earlier effect milled) or a player's zone, {"hand": selector} / {"graveyard": selector}. `optional`: you may choose fewer. Then they are put into `put` (`tapped` onto the battlefield, under your control; exiled cards `link`ed to the source). `look`: you look at the whole zone first; `reveal`: "chosen" reveals what you chose, "all" the whole set. `then` runs if a card was chosen, `otherwise` if none was ("if you can't"). `random: true`: the cards are picked at random (the game's random number generator) instead of chosen. |
|
|
269
|
+
| [`choose_color`](docs/reference/effects.md#choose_color) | 105.4, 607.2d, 608.2c | The player (`to`, default you) chooses a color; later effects of this spell or ability read it with "colors": "chosen". |
|
|
270
|
+
| [`choose_creature_type`](docs/reference/effects.md#choose_creature_type) | 205.3m, 607.2d, 608.2c | The player (`to`, default you) chooses a creature type; later effects of this spell or ability read it with "subtypes": "chosen". |
|
|
271
|
+
| [`choose_new_targets`](docs/reference/effects.md#choose_new_targets) | 115.7, 115.7d, 115.7e | You may choose new targets for each spell or ability on the stack `of` refers to (e.g. {"triggering": "object"}: "that spell"): for each target, keep it or pick another legal target for that spell. |
|
|
272
|
+
| [`choose_option`](docs/reference/effects.md#choose_option) | 607.2f, 608.2c | The player (`to`, default you) chooses one of the `options` (words); later effects of this spell or ability check it with the condition {"chosen": word}. |
|
|
273
|
+
| [`connive`](docs/reference/effects.md#connive) | 701.50a, 701.50b, 701.50d, 701.50e | Each referenced permanent (default: this one) connives `amount` (default 1): its controller draws that many cards, then discards that many, then it gets a +1/+1 counter for each nonland card discarded. |
|
|
274
|
+
| [`copy_card`](docs/reference/effects.md#copy_card) | 707.12, 707.12a, 707.10a, 704.5d | Create `amount` copies of each card `of` refers to ("self": the source card), in the zone that card is in, owned by you. They are the effect's result, e.g. for `cast_free` or `cast`. A card copy ceases to exist if it is anywhere but the stack or the battlefield (so one that isn't cast now is gone at the next state-based-action check). |
|
|
275
|
+
| [`copy_spell`](docs/reference/effects.md#copy_spell) | 707.10, 707.10a, 707.10b, 707.10c, 707.10f, 608.3f | Copy each spell or ability on the stack `of` refers to ("self": the spell this ability or spell belongs to; a `stack_ability` target: an activated or triggered ability) `amount` times. The copies are put on the stack under the referenced player's control (default: you) with the same modes, X, kicker and targets; they aren't cast or activated, and an ability's copy has the same source. With `new_targets: true` the controller may choose new targets for each copy. A copy of a permanent spell becomes a token as it resolves. `except`: the copies have these differences (e.g. {"keywords": ["wither"]}: "the copy gains wither"). |
|
|
276
|
+
| [`counter`](docs/reference/effects.md#counter) | 701.6a, 701.6b, 101.2 | Counter each referenced spell or ability: a spell leaves the stack for its owner's graveyard without resolving, an ability ceases to exist. A spell that can't be countered stays. |
|
|
277
|
+
| [`counter_bonus`](docs/reference/effects.md#counter_bonus) | 614.1a, 614.16, 611.2a, 122.6, 616.1 | Until end of turn, whenever one or more counters would be put on a permanent the controller controls (including counters it enters with), that many plus `amount` of each of those kinds are put on it instead. |
|
|
278
|
+
| [`counter_unless_pays`](docs/reference/effects.md#counter_unless_pays) | 701.6a, 118.12a, 605.3a, 701.67a | Counter each referenced spell or ability unless its controller pays `mana` (or `waterbend`s that cost, CR 701.67a, or pays the list of costs `cost`) as this resolves (they choose, and pay like any cost; mana abilities allowed). |
|
|
279
|
+
| [`create_emblem`](docs/reference/effects.md#create_emblem) | 114.1, 114.2, 114.3, 114.4, 113.6p | Each referenced player (default you) gets an emblem with the `abilities` (triggered, static or player_rule abilities). An emblem is in the command zone for the rest of the game; its abilities work there, and "this emblem" is the source of what they do. |
|
|
280
|
+
| [`create_token`](docs/reference/effects.md#create_token) | 111.1, 111.10, 701.7a, 704.5d, 508.4, 506.3b | Create `amount` tokens under the referenced player's control (default: you). `token` is a predefined token name (Treasure, Clue, Food) or an inline card definition. `tapped: true` creates them tapped; `attacking: true` attacking (only for the attacking player during combat, CR 506.3b). |
|
|
281
|
+
| [`create_token_copy`](docs/reference/effects.md#create_token_copy) | 707.2, 707.8, 707.9a, 707.9b, 111.1, 614.1c | For each object `of` refers to (a permanent, a card in any zone, or the source with "self"), the referenced players (default: you) each create `amount` tokens that are copies of it: its copiable values (its card as modified by other copy effects, not counters, status or other effects), with the `except` modifications. The tokens are the effect's result, for later effects such as granting haste or a delayed sacrifice. |
|
|
282
|
+
| [`damage_replacement`](docs/reference/effects.md#damage_replacement) | 614.1a, 611.2a, 611.2c, 616.1 | For the `duration` (end_of_turn by default, or until_your_next_turn), damage that would be dealt to the referenced players and permanents (`to`, fixed as it resolves; with `permanents: true` also the permanents a referenced player controls as the damage is dealt) is changed: `multiply` (2 = "double that damage") or `plus` an amount (computed as it resolves). `combat`: combat | noncombat only. Doubling applies before adding. |
|
|
283
|
+
| [`damage_unpreventable`](docs/reference/effects.md#damage_unpreventable) | 615.12, 611.2a | Until end of turn, damage (`combat`: combat | noncombat only) can't be prevented. |
|
|
284
|
+
| [`deal_damage`](docs/reference/effects.md#deal_damage) | 120.3a, 120.3c, 120.3e, 120.6, 120.4a, 120.10 | Deal `amount` damage to each referenced creature, planeswalker or player. Damage to a player causes life loss; to a planeswalker removes loyalty counters; to a creature is marked until cleanup. {"this_way": n} naming it is the excess damage it dealt (beyond lethal damage, or a planeswalker's loyalty). |
|
|
285
|
+
| [`delayed_trigger`](docs/reference/effects.md#delayed_trigger) | 603.7a, 603.7b, 603.7c, 603.7d, 603.7e | Creates a delayed triggered ability with the controller and source of the resolving spell or ability. It triggers only once, the next time `when` happens (e.g. {"step_begins": {"step": "end", "whose": "each"}} for the next end step). Its `effects` may use {"result": n} for what earlier effects of the creating list moved or created; those objects are affected only if they are still where they were put. |
|
|
286
|
+
| [`destroy`](docs/reference/effects.md#destroy) | 701.8a | Destroy each referenced permanent (it goes to its owner's graveyard). |
|
|
287
|
+
| [`dig`](docs/reference/effects.md#dig) | 701.20a, 701.20e, 401.4, 400.7j, 406.3, 607.2a | Look at the top `amount` cards of your library (`reveal: "all"`: reveal them). Take `count` (default 1; "all": every matching card, no choice; "any": any number) cards matching `for` and put them into `put` (`tapped` onto the battlefield); `optional`: you may take fewer. `reveal: "chosen"` reveals the cards taken. The rest go to `rest`: "bottom_random" (default), "bottom_any" (in an order you choose) or "graveyard". `put: "exile"` takes `face_down: true` (only you may look at them) and `link: true` (exiled with the source, CR 607.2a: hideaway). |
|
|
288
|
+
| [`discard`](docs/reference/effects.md#discard) | 701.9a, 701.9b | Each referenced player discards `amount` cards of their choice (default: you). `random: true`: the cards are chosen at random (the game's random number generator), with no decision. `hand: true`: each discards their whole hand at once ("discard your hand"; how many is its amount {"this_way": n}). |
|
|
289
|
+
| [`discover`](docs/reference/effects.md#discover) | 701.57a, 701.57b, 701.57c, 608.2g, 118.9 | Discover `amount`: exile cards from the top of your library until you exile a nonland card with mana value `amount` or less. You may cast it without paying its mana cost; if you don't, it goes into your hand. The other exiled cards go on the bottom of your library in a random order. |
|
|
290
|
+
| [`distribute_counters`](docs/reference/effects.md#distribute_counters) | 601.2d, 608.2b, 122.1 | Put on each legal target the number of `counter` counters assigned to it as the spell or ability was cast (its `divide` amount, at least one per target). |
|
|
291
|
+
| [`distribute_damage`](docs/reference/effects.md#distribute_damage) | 601.2d, 608.2b, 120.3, 120.4a | Deal each legal target the damage assigned to it as the spell or ability was cast or put on the stack (its `divide` amount, at least one per target). {"this_way": n} naming it is the excess damage dealt. |
|
|
292
|
+
| [`draw`](docs/reference/effects.md#draw) | 121.1, 121.2 | Each referenced player draws `amount` cards (default: you). |
|
|
293
|
+
| [`earthbend`](docs/reference/effects.md#earthbend) | 701.66a, 701.66b, 603.7c, 611.2a, 613.1d, 613.4b | Earthbend `amount`: each referenced land (the target, `to`) becomes a 0/0 creature with haste that's still a land, gets `amount` +1/+1 counters, and when it dies or is put into exile it returns to the battlefield tapped under your control. The land is the effect's result. |
|
|
294
|
+
| [`empower_jace`](docs/reference/effects.md#empower_jace) | 701.71a, 704.3 | Empower Jace `amount`: if you control no Jace planeswalker token, create a blue Jace planeswalker token (0 loyalty; -1: surveil 1; -3: draw a card); then put `amount` loyalty counters on a Jace planeswalker token you control. |
|
|
295
|
+
| [`end_the_turn`](docs/reference/effects.md#end_the_turn) | 725.1, 725.1a, 725.1b, 725.1c, 725.1d, 725.1e, 725.1f, 514.3a | Ends the turn: triggered abilities not yet on the stack cease to exist, every object on the stack is exiled (this spell too, so its later effects don't happen), state-based actions are checked, combat ends and the game skips to the cleanup step. Abilities that trigger meanwhile go on the stack during cleanup, followed by another cleanup step. |
|
|
296
|
+
| [`endure`](docs/reference/effects.md#endure) | 701.63a, 701.63b, 707.2, 111.4 | Each referenced permanent (default: this one) endures `amount`: its controller puts that many +1/+1 counters on it, or creates an N/N white Spirit creature token. |
|
|
297
|
+
| [`exchange_control`](docs/reference/effects.md#exchange_control) | 701.12a, 701.12b, 613.1b | The permanent `to` references and the one `with` references exchange controllers. If either is gone or both have the same controller, nothing happens. |
|
|
298
|
+
| [`exchange_life_totals`](docs/reference/effects.md#exchange_life_totals) | 701.12a, 701.12c, 119.7 | The player `to` references (default you) and the one `with` references exchange life totals: each gains or loses the difference. If either can't gain life and would, no exchange happens. The life the first player lost this way is recorded for {"this_way": n}. |
|
|
299
|
+
| [`exile`](docs/reference/effects.md#exile) | 406.1, 701.13a, 607.2a, 406.6, 610.3, 610.3a, 610.3b, 610.3c | Exile each referenced permanent, spell, or card in a graveyard or hand. `link: true`: the cards are exiled with the source, for its "exiled with" abilities (the `exiled_with` selector). `until_source_leaves: true`: they return to the battlefield under their owners' control when the source leaves the battlefield; if it already has, nothing is exiled. |
|
|
300
|
+
| [`exile_if_dies`](docs/reference/effects.md#exile_if_dies) | 614.1a, 700.4, 611.2a, 611.2c | Until end of turn, if a referenced permanent would be put into a graveyard from the battlefield, it is exiled instead. |
|
|
301
|
+
| [`exile_this_spell`](docs/reference/effects.md#exile_this_spell) | 608.2n, 406.1 | The resolving spell is exiled instead of being put into its owner's graveyard as it finishes resolving. |
|
|
302
|
+
| [`exile_top`](docs/reference/effects.md#exile_top) | 406.1, 400.7j, 607.2a, 406.3, 406.3a | Each referenced player (default: you) exiles the top `amount` cards of their library (face up). Later effects name them with {"result": n}; `link: true` exiles them with the source. `face_down: true` exiles them face down: only the `looker` players (default: you) may look at them. |
|
|
303
|
+
| [`exile_until`](docs/reference/effects.md#exile_until) | 406.1, 701.13a, 400.7j | Each referenced player exiles cards from the top of their library until they exile a card matching `until` (or the library is empty). All exiled cards are the result. |
|
|
304
|
+
| [`explore`](docs/reference/effects.md#explore) | 701.44a, 701.44b, 701.44c | Each referenced permanent explores: its controller reveals the top card of their library. A land card goes to their hand; otherwise the permanent gets a +1/+1 counter (if it's still on the battlefield) and they may put the card into their graveyard. |
|
|
305
|
+
| [`extra_turn`](docs/reference/effects.md#extra_turn) | 500.7 | Each referenced player (default you) takes an extra turn after this one. Extra turns are taken most recently created first. |
|
|
306
|
+
| [`fight`](docs/reference/effects.md#fight) | 701.14a, 701.14b, 701.14c, 701.14d, 120.4a | The creature referenced by `to` fights the one referenced by `with`: each deals damage equal to its power to the other at the same time (not combat damage). If either is gone, no longer a creature or an illegal target, neither deals damage. {"this_way": n} naming it is the excess damage dealt to the `with` creature. |
|
|
307
|
+
| [`flip_coins`](docs/reference/effects.md#flip_coins) | 705.1, 705.2, 705.3, 608.2c | You flip `amount` coins (default 1), each coming up heads or tails at random (the game's random number generator). `count`: "wins" (default; you call each flip and win it if the call matches) or "heads" (no one wins or loses). How many were counted is this effect's amount: {"this_way": n} in later effects and conditions. |
|
|
308
|
+
| [`gain_control`](docs/reference/effects.md#gain_control) | 613.1b, 108.4, 506.4, 302.6, 514.2, 611.2b | The player referenced by `gains` (default you) gains control of each referenced permanent: indefinitely (`duration: "permanent"`, default), until end of turn, or for as long as this effect's source remains on the battlefield / tapped / under your control (it does nothing if that is already over). A permanent that changes control leaves combat and is newly under its controller's control (it can't attack or {T} without haste). |
|
|
309
|
+
| [`gain_life`](docs/reference/effects.md#gain_life) | 119.3 | Each referenced player gains `amount` life (default: you). |
|
|
310
|
+
| [`grant`](docs/reference/effects.md#grant) | 611.2a, 611.2c, 613.1f, 514.2 | Each referenced permanent (or spell on the stack) gains the `keywords` until end of turn. |
|
|
311
|
+
| [`grant_ability`](docs/reference/effects.md#grant_ability) | 113.6b, 611.2a, 613.1f | Each referenced object (a permanent, or a card in any zone, e.g. an exiled card) gains `ability` (any ability entry) for as long as it stays in its zone (default) or until end of turn. `for` (a card spec) keeps only matching objects ("that nonland card"). An activated ability with `zone` works from that zone ("activate only if this card is exiled"). |
|
|
312
|
+
| [`look_at_hand`](docs/reference/effects.md#look_at_hand) | 701.20e | You look at each referenced player's hand (other players don't see the cards). |
|
|
313
|
+
| [`lose_game`](docs/reference/effects.md#lose_game) | 104.3e, 104.4a | Each referenced player (default you) loses the game. |
|
|
314
|
+
| [`lose_life`](docs/reference/effects.md#lose_life) | 119.3 | Each referenced player loses `amount` life. The life lost is recorded for {"this_way": n}. |
|
|
315
|
+
| [`may`](docs/reference/effects.md#may) | 118.12, 118.3, 608.2d, 608.2e | An optional effect. The controller chooses yes or no as it resolves; yes is offered only if every effect in `effects` can be done fully. On yes, `effects` then `then` ("if you do") happen; on no, `otherwise` ("if you don't"). Nested effects may name the results of earlier effects of the enclosing list. |
|
|
316
|
+
| [`meld`](docs/reference/effects.md#meld) | 701.42a, 701.42b, 701.42c, 713.1a, 713.6, 713.8 | Exile this permanent and a creature named `with` that you both own and control, then meld them: a meld pair (cards with layout "meld" sharing a back face) enters the battlefield as one permanent with that back face up. When it leaves the battlefield, both cards go to the new zone. |
|
|
317
|
+
| [`mill`](docs/reference/effects.md#mill) | 701.17a | Each referenced player puts the top `amount` cards of their library into their graveyard (default: you). |
|
|
318
|
+
| [`pay`](docs/reference/effects.md#pay) | 118.12, 118.12a, 118.3, 119.4, 605.3a, 701.67a, 701.67c | You may pay `cost` (a list of costs: mana, life, discarding, sacrificing, a `one_of` choice, ...) as it resolves; `mana`, `life` and `waterbend` are shorthands for one cost. If you do, `then` happens; if you don't, `otherwise`. Paying mana works like paying a spell's cost (mana abilities may be activated; a `waterbend` cost may also be paid by tapping artifacts and creatures, CR 701.67a); a cost that can't be paid can't be chosen (CR 118.3). For another player paying, see `counter_unless_pays`. |
|
|
319
|
+
| [`phase_out`](docs/reference/effects.md#phase_out) | 702.26a, 702.26b, 702.26d, 702.26g, 702.26h, 502.1, 506.4 | Each referenced permanent phases out, with the Auras and Equipment attached to it (indirectly). It phases in during the untap step of the player who controlled it as it phased out. Phasing isn't a zone change: no enters or leaves triggers. |
|
|
320
|
+
| [`play_permission`](docs/reference/effects.md#play_permission) | 611.2a, 601.3, 305.1, 400.7, 514.2, 601.2f, 108.3, 406.3b, 609.4b | A player may play (`play: "play"`, default) or cast (`"cast"`) each referenced exiled card matching `for`/`not_types`, paying its costs and following timing rules, for `duration`: end_of_turn (default), end_of_your_next_turn or while_exiled. With `choose: "one_per_owner"` only one chosen card per owner. `to_player`: who may play it, "controller" (default, the effect's controller), "owner" (the card's owner) or a player selector (a face-down card: only someone who may look at it). `cost_increase`: spells cast this way cost that much generic mana more. `any_mana_type: true`: mana of any type can be spent to cast those spells. |
|
|
321
|
+
| [`player_rule`](docs/reference/effects.md#player_rule) | 702.11c, 115.4, 508.1c, 402.2, 514.1, 615.1, 615.1a, 704.5a, 104.3b, 701.21a, 614.17b, 101.2, 601.3, 701.6a, 119.7, 602.5, 615.12, 702.16b, 702.16e, 702.16k, 611.2a, 514.2 | Each referenced player (default you) gets `rule` for the `duration`: end_of_turn (default) or until_your_next_turn (until the controller's next turn begins). Rules: hexproof, cant_attack, no_max_hand_size, prevent_all_damage, cant_lose_for_life, cant_cast, cant_cast_except_from_hand, spells_cant_be_countered, abilities_cant_be_countered, cant_gain_life, cant_activate, damage_cant_be_prevented, combat_damage_cant_be_prevented, protection_from_opponents. |
|
|
322
|
+
| [`prepare`](docs/reference/effects.md#prepare) | 723.3a, 723.3c | Each referenced permanent (default: this one) becomes prepared, if it has a prepare spell and isn't prepared already: its controller creates a copy of the prepare spell in exile and may cast that copy while the permanent stays prepared. Casting it unprepares the permanent. |
|
|
323
|
+
| [`prevent_damage`](docs/reference/effects.md#prevent_damage) | 615.1, 615.3, 615.5, 615.7, 615.8, 609.7a, 611.2a, 611.2b, 611.2c | For the `duration` (end_of_turn by default, until_your_next_turn, or while_source_on_battlefield: for as long as this effect's source remains on the battlefield), damage that would be dealt to the referenced players and permanents (`to`, fixed as it resolves) or to those matching `to_each` as the damage is dealt (a damage scope seen from the controller, e.g. {"each": "creature", "controller": "you"}), and/or by the referenced sources (`by`; "chosen_source": a source the controller chooses as it resolves) is prevented (`combat`: combat | noncombat only). With `next`, it is a shield that prevents only the next that much damage; with `next_time: true` it prevents only the next damage event it applies to. `then`: effects right after it prevents damage, reading {"triggering": "amount"} (the damage prevented), "object" (the source) and "player" (its controller). |
|
|
324
|
+
| [`proliferate`](docs/reference/effects.md#proliferate) | 701.34a, 122.1, 122.6 | You choose any number of permanents and/or players that have counters (one at a time, then done); each gets one more counter of each kind already on it. `amount` (default 1): how many times to proliferate. |
|
|
325
|
+
| [`pump`](docs/reference/effects.md#pump) | 611.2a, 611.2c, 613.4c, 514.2, 500.1 | Each referenced creature gets +power/+toughness until end of turn (`duration: "until_your_next_turn"`: until its controller's next turn begins). The set of affected creatures is locked in when the effect starts. |
|
|
326
|
+
| [`put_in_library`](docs/reference/effects.md#put_in_library) | 401.4, 400.7, 608.2b | Put each referenced permanent, or card in a graveyard or exile, into its owner's library: on the `top` or `bottom`, or (`owner_choice`) where its owner chooses. |
|
|
327
|
+
| [`recruit`](docs/reference/effects.md#recruit) | 701.70a | Each referenced player (default: you) recruits: draws a card, then discards a card; if a nonland card was discarded, they create a 1/1 white Human Soldier creature token. |
|
|
328
|
+
| [`reflexive_trigger`](docs/reference/effects.md#reflexive_trigger) | 603.12, 603.12a, 603.7d, 603.7e, 603.3d | Creates a reflexive triggered ability ("when you do, ...") that triggers immediately, with the controller and source of the resolving spell or ability. Its `targets` are chosen as it's put on the stack; its `effects` may name the results of earlier effects of the creating list. With `if`, it triggers only when the condition holds ("when excess damage is dealt this way"). |
|
|
329
|
+
| [`remove_all_counters`](docs/reference/effects.md#remove_all_counters) | 122.8 | Remove every counter named `counter` (every counter, if no `counter` is given) from each referenced permanent. |
|
|
330
|
+
| [`remove_counters`](docs/reference/effects.md#remove_counters) | 122.8 | Remove up to `amount` counters named `counter` from each referenced permanent. |
|
|
331
|
+
| [`remove_damage`](docs/reference/effects.md#remove_damage) | 120.6, 514.2 | Remove all damage marked on each referenced permanent. |
|
|
332
|
+
| [`return_choice`](docs/reference/effects.md#return_choice) | 101.4, 400.7, 608.2c | Each referenced player (default: you) returns `count` (default 1; "any": any number) permanents they control matching `filter` to their owners' hands, chosen by them in turn order starting with the active player (not targeted); all move at once. |
|
|
333
|
+
| [`return_to_battlefield`](docs/reference/effects.md#return_to_battlefield) | 400.7, 400.4a, 110.2, 111.8, 603.7c, 614.1c, 122.6, 712.11a, 712.11b | Put each referenced card that is in exile or a graveyard onto the battlefield under its owner's control (`under: "you"`: under the controller's), tapped if `tapped: true`. A card that is no longer in the zone it was expected in, or isn't a permanent card, stays where it is. `transformed: true`: it enters with its back face up; a card that isn't double-faced, or whose back face isn't a permanent, stays where it is. |
|
|
334
|
+
| [`return_to_hand`](docs/reference/effects.md#return_to_hand) | 400.6, 404.1, 608.2b | Return each referenced permanent, spell ("return target spell to its owner's hand"), or card in a graveyard or exile ("target creature card from your graveyard"), to its owner's hand. |
|
|
335
|
+
| [`reveal_until`](docs/reference/effects.md#reveal_until) | 701.20a, 401.4, 400.7j | Reveal cards from the top of your library until `count` (an amount, default 1) cards matching `for` are revealed (or the library runs out). Put those into `put` (`tapped` onto the battlefield, under your control) and the rest to `rest` (default the bottom in a random order). |
|
|
336
|
+
| [`roll_dice`](docs/reference/effects.md#roll_dice) | 706.1, 706.1a, 706.2, 706.3a, 608.2c | You roll `amount` dice (default 1) with `sides` sides (default 6). The total of the results is this effect's amount: {"this_way": n} in later effects and conditions (a results table is effects with an `if` on it). |
|
|
337
|
+
| [`sacrifice`](docs/reference/effects.md#sacrifice) | 701.21a | The controller sacrifices each referenced permanent they control (it goes to its owner's graveyard; it isn't destroyed, so indestructible doesn't stop it). |
|
|
338
|
+
| [`sacrifice_choice`](docs/reference/effects.md#sacrifice_choice) | 701.21a, 101.4, 118.3 | Each referenced player (default: you) sacrifices `count` (default 1; "any": any number) permanents they control matching `filter`, chosen by them in turn order starting with the active player; all are sacrificed at once. The `filter`'s `controller` and `other` restrictions are relative to the effect's controller and source. |
|
|
339
|
+
| [`scry`](docs/reference/effects.md#scry) | 701.22a | Look at the top `amount` cards of your library; put any number on the bottom and the rest on top in any order. |
|
|
340
|
+
| [`search_library`](docs/reference/effects.md#search_library) | 701.23a, 701.23b, 701.23d, 701.23e, 701.20a, 701.24a, 701.24b, 118.12, 110.2a | Search your library for up to `count` cards matching `for`, then put them into your hand (or onto the battlefield, tapped if `tapped`, with `counters`) and shuffle. With a stated quality you may find fewer (or none); a search for just "a card" must find one if it can. `reveal` shows the found cards to every player. `searcher` names another player who searches their own library (e.g. {"controller_of": {"target": 0}}); `may: true` lets the searcher decline (then nothing is shuffled). `different_names: true`: the cards found must all have different names ("basic land cards with different names"). |
|
|
341
|
+
| [`set_base_power_toughness`](docs/reference/effects.md#set_base_power_toughness) | 613.4b, 611.2a, 611.2b, 611.2c | Each referenced creature's base power and toughness become `power`/`toughness` (layer 7b; counters and pumps still apply), until end of turn or, with `duration: "indefinite"`, for as long as it stays on the battlefield. |
|
|
342
|
+
| [`set_creature_types`](docs/reference/effects.md#set_creature_types) | 205.1a, 613.1d, 611.2c, 514.2 | Until end of turn, each referenced creature's creature types are exactly `types` (its other subtypes, such as artifact types, stay). The affected set is locked in. |
|
|
343
|
+
| [`set_life`](docs/reference/effects.md#set_life) | 119.5, 119.7 | Each referenced player's life total becomes `amount` (default: you): they gain or lose the difference (so "can't gain life" and life-gain triggers apply). |
|
|
344
|
+
| [`shuffle_into_library`](docs/reference/effects.md#shuffle_into_library) | 701.24a, 701.24c | Put each referenced card (in a graveyard or exile) or permanent into its owner's library; each of those owners shuffles their library. |
|
|
345
|
+
| [`shuffle_library`](docs/reference/effects.md#shuffle_library) | 701.24a | Each referenced player shuffles their library (default: you). |
|
|
346
|
+
| [`skip_turns`](docs/reference/effects.md#skip_turns) | 614.1b, 614.10, 614.10a | Each referenced player skips their next `amount` turns (extra turns included): each of those turns doesn't happen, and the next player in turn order takes theirs. Several skips add up. |
|
|
347
|
+
| [`surveil`](docs/reference/effects.md#surveil) | 701.25a | Look at the top `amount` cards of your library; put any number into your graveyard and the rest on top in any order. |
|
|
348
|
+
| [`suspend`](docs/reference/effects.md#suspend) | 702.62a, 702.62b, 406.1 | Exile each referenced card or spell with `amount` time counters on it; if it doesn't have suspend, it gains suspend (keyword `suspend`) while it stays exiled. |
|
|
349
|
+
| [`tap`](docs/reference/effects.md#tap) | 701.26a | Tap each referenced permanent. |
|
|
350
|
+
| [`transform`](docs/reference/effects.md#transform) | 701.27a, 701.27c, 701.27d, 701.27e, 701.27g, 712.15 | Transform each referenced permanent (default: this one): turn it over so its other face is up. It stays the same object, and effects on it keep applying. Nothing happens to a permanent that isn't a double-faced card or token, or whose other face is an instant or sorcery. An ability of the permanent transforms it only if it hasn't transformed since the ability was put on the stack. |
|
|
351
|
+
| [`unprepare`](docs/reference/effects.md#unprepare) | 723.3b, 723.3c | Each referenced permanent (default: this one) loses the prepared designation; the copy of its prepare spell in exile ceases to exist. |
|
|
352
|
+
| [`untap`](docs/reference/effects.md#untap) | 701.26b | Untap each referenced permanent. |
|
|
353
|
+
| [`win_game`](docs/reference/effects.md#win_game) | 104.2a, 104.2b, 104.3f | Each referenced player (default you) wins the game: every opponent loses it. |
|
|
354
|
+
|
|
355
|
+
## Target filters and selectors
|
|
356
|
+
|
|
357
|
+
| Name | Rules | Description |
|
|
358
|
+
| --- | --- | --- |
|
|
359
|
+
| [`any_target`](docs/reference/filters.md#any_target) | 115.4 | A creature, player or planeswalker (battles: later). |
|
|
360
|
+
| [`artifact`](docs/reference/filters.md#artifact) | 115.1 | An artifact on the battlefield. |
|
|
361
|
+
| [`creature`](docs/reference/filters.md#creature) | 115.1 | A creature on the battlefield. |
|
|
362
|
+
| [`creature_or_planeswalker`](docs/reference/filters.md#creature_or_planeswalker) | 115.1 | A creature or planeswalker on the battlefield. |
|
|
363
|
+
| [`graveyard_card`](docs/reference/filters.md#graveyard_card) | 404.1, 115.1 | A card in a graveyard (any player's, in seat order; restrict with `controller` for its owner and `any_of`/`not` for its card types). |
|
|
364
|
+
| [`land`](docs/reference/filters.md#land) | 115.1 | A land on the battlefield. |
|
|
365
|
+
| [`one_of`](docs/reference/filters.md#one_of) | 115.1, 109.2 | Anything at least one of the listed filters matches (each may have restrictions). |
|
|
366
|
+
| [`opponent`](docs/reference/filters.md#opponent) | 102.2 | An opponent of the ability's controller. |
|
|
367
|
+
| [`permanent`](docs/reference/filters.md#permanent) | 110.1 | Any permanent on the battlefield. |
|
|
368
|
+
| [`planeswalker`](docs/reference/filters.md#planeswalker) | 115.1 | A planeswalker on the battlefield. |
|
|
369
|
+
| [`player`](docs/reference/filters.md#player) | 115.1 | A player. |
|
|
370
|
+
| [`spell`](docs/reference/filters.md#spell) | 112.1, 115.1 | A spell on the stack. |
|
|
371
|
+
| [`stack_ability`](docs/reference/filters.md#stack_ability) | 113.1b, 115.1, 605.3b, 113.7 | An activated or triggered ability on the stack. `kind`: "activated" or "triggered" for only one of them; `controller`: you | opponent; `source`: a filter its source matches (e.g. "creature", "artifact"). |
|
|
372
|
+
|
|
373
|
+
## Counters with rules
|
|
374
|
+
|
|
375
|
+
| Name | Rules | Description |
|
|
376
|
+
| --- | --- | --- |
|
|
377
|
+
| [`+1/+1`](docs/reference/counters.md#+1/+1) | 122.1a, 122.3, 613.4c, 704.5q | Adds 1 to power and toughness (layer 7c). Any +X/+Y or -X/-Y counter works the same way. If a permanent has both +1/+1 and -1/-1 counters, N of each are removed as a state-based action (N = the smaller count). |
|
|
378
|
+
| [`-1/-1`](docs/reference/counters.md#-1/-1) | 122.1a, 122.3, 613.4c, 704.5q | Subtracts 1 from power and toughness (layer 7c). |
|
|
379
|
+
| [`finality`](docs/reference/counters.md#finality) | 122.1h, 614.1a | If the permanent would be put into a graveyard from the battlefield, it is exiled instead. |
|
|
380
|
+
| [`keyword`](docs/reference/counters.md#keyword) | 122.1b, 613.1f | A counter named after a keyword (flying, first_strike, double_strike, deathtouch, decayed, haste, hexproof, indestructible, lifelink, menace, reach, trample, vigilance) gives the permanent that keyword (layer 6). Write the keyword itself as the counter name. |
|
|
381
|
+
| [`loyalty`](docs/reference/counters.md#loyalty) | 122.1e, 306.5b, 704.5i | A planeswalker's loyalty; at 0 it is put into its owner's graveyard. |
|
|
382
|
+
| [`shield`](docs/reference/counters.md#shield) | 122.1c, 614.1a, 615.1a, 701.8b | If the permanent would be destroyed by an effect, instead remove a shield counter. If damage would be dealt to it, prevent it and remove a shield counter (simultaneous damage, such as combat damage, removes only one). |
|
|
383
|
+
| [`stun`](docs/reference/counters.md#stun) | 122.1d, 502.3, 701.26b | If the permanent would become untapped (untap step or an effect), instead one stun counter is removed from it. |
|
|
384
|
+
|
|
385
|
+
## Decisions
|
|
386
|
+
|
|
387
|
+
See [docs/reference/decisions.md](docs/reference/decisions.md).
|