| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Attributes (* means required) | Parents | Children | Can Be Block | Notes | ||||||||||||||||||||||
2 | CARD_V2 | *ExportVersion (number) | none | lots... | Must | This is the only tag which will exist outside of all other tags. | <CARD_V2 ExportVersion="1"> <FILENAME text="SOME_CARD_NAME_CW_1234" /> <CARDNAME text="SOME_CARD_NAME" /> <TITLE>...</TITLE> </CARD_V2 | ||||||||||||||||||||
3 | FILENAME | *text (string) | CARD | none | No | This must match the file's actual filename without its extension. | <FILENAME text="SOME_CARD_NAME_CW_1234" /> | ||||||||||||||||||||
4 | CARDNAME | *text (string) | CARD | none | No | This is what's used when determining if two cards have the same name. It's used mostly for filtering, but is often used elsewhere as well. Should always be the standardized English name (discussed below). | <CARDNAME text="SOME_CARD_NAME" /> | ||||||||||||||||||||
5 | TITLE | none | CARD | LOCALISED_TEXT | Must | Must be a block tag containin LOCALIZED_TEXT tags. | <TITLE> <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[English Name]]></LOCALISED_TEXT> <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[French Name]]></LOCALISED_TEXT> ... </TITLE> | ||||||||||||||||||||
6 | LOCALISED_TEXT | *LanguageCode (string) | TITLE FLAVOURTEXT SPELL_ABILITY STATIC_ABILITY TRIGGERED_ABILITY UTILITY_ABILITY | CDATA | Must | LanguageCode should be one of the language codes the game recognizes (in this order), and then the CDATA section should contain the text for that language: en-US (English - English) fr-FR (French - français) es-ES (Spanish - Español) de-DE (German - Deutche) it-IT (Italian - italiano) jp-JA (Japanese - 日本語) ko-KR (Korean - 한국어) ru-RU (Russian - русский) pt-BR (Portuguese - português) zh-CN (Simplified Chinese - 简体中文) zh-HK (Traditional Chinese - 繁體中文) | <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[English Name]]></LOCALISED_TEXT> <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[French Name]]></LOCALISED_TEXT> | ||||||||||||||||||||
7 | MULTIVERSEID | *value (text) | CARD | none | No | In custom mods, the card's MultiverseID is usually used with a custom prefix. In the CW, no prefix is used. The MultiverseID can be found by looking at the URL of the card's English entry on gatherer.wizards.com. | <MULTIVERSEID value="1234" /> | ||||||||||||||||||||
8 | ARTID | *value (text) | CARD | none | No | "value" can be any text. In the CW, for all non-tokens, non-transform cards, it's the same as the card's CARDNAME field. For most mods, it's a number, such as the MultiverseID. For some animations to work right, the "value" must be parsed as a number to work properly, which is why transform cards don't get the normal ARTID "value". | <ARTID value="SOME_CARD_NAME" /> | ||||||||||||||||||||
9 | ARTIST | *name (text) | CARD | none | No | <ARTIST name="First (Middle?) Last" /> | |||||||||||||||||||||
10 | CASTING_COST | *cost (mana string) | CARD | none | No | <CASTING_COST cost="{2}{U}" /> | |||||||||||||||||||||
11 | COLOUR | *value (text) | CARD | none | No | Only included when the casting cost is blank but the card has a color (like Pact of Negation). "value" should be some combination of the letters "WUBRG". | <COLOUR value="U" /> | ||||||||||||||||||||
12 | FLAVOURTEXT | none | CARD | LOCALISED_TEXT | Must | <FLAVOURTEXT> <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[The overconfident are the most vulnerable.]]></LOCALISED_TEXT> <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[The overconfident are the most vulnerable.]]></LOCALISED_TEXT> </FLAVOURTEXT> | |||||||||||||||||||||
13 | SUPERTYPE | *metaname (title-case supertype) | CARD | none | No | <SUPERTYPE metaname="Basic" /> | |||||||||||||||||||||
14 | TYPE | *metaname (title-case type) | CARD | none | No | <TYPE metaname="Creature" /> | |||||||||||||||||||||
15 | SUB_TYPE | *metaname (title-case subtype) | CARD | none | No | <SUB_TYPE metaname="Human" /> | |||||||||||||||||||||
16 | EXPANSION | *value (text) | CARD | none | No | <EXPANSION value="EMN" /> | |||||||||||||||||||||
17 | RARITY | *metaname (text) | CARD | none | No | "value" should be one of the following: C - Common U - Uncommon R - Rare M - Mythic Rare S - Special T - Token L - Land | <RARITY metaname="C" /> | ||||||||||||||||||||
18 | POWER | *value (text) | CARD | none | No | <POWER value="1" /> | |||||||||||||||||||||
19 | TOUGHNESS | *value (text) | CARD | none | No | <TOUGHNESS value="3" /> | |||||||||||||||||||||
20 | TOKEN | none | CARD | none | No | Tells the game to treat this card as a token. Most useful for filters. | <TOKEN /> | ||||||||||||||||||||
21 | SPELL_ABILITY | resource_id (number) replacement_effect (bool) | CARD | LOCALIZED_TEXT COST TARGET TARGET_DEFINITION RESOLUTION_TIME_ACTION CONTINUOUS_ACTION PLAY_TIME_ACTION FILTER FILTER_CONDITION DURATION AUTO_SKIP | Must | A SPELL_ABILITY block will fire when the spell it's attached to resolves off the stack. This is used for instants and sorceries. | <SPELL_ABILITY> <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Draw two cards.]]></LOCALISED_TEXT> <RESOLUTION_TIME_ACTION> local oPlayer = EffectController() if oPlayer ~= nil then oPlayer:DrawCards(2) end </RESOLUTION_TIME_ACTION> </SPELL_ABILITY> | ||||||||||||||||||||
22 | STATIC_ABILITY | resource_id (number) replacement_effect (bool) active_zone (zone constant) | CARD | LOCALIZED_TEXT CONTINUOUS_ACTION FILTER FILTER_CONDITION | Must | A STATIC_ABILITY block is one which doesn't trigger, activate, or have any special activation at all other than possibly being the right zone (on the battlefield, by default). It's simply always active, which means it only accepts child tags which are also "always active", meaning CONTINUOUS_ACTION tags are the only actions that are allowed here. In this ability type, they get no DURATION tag (unlike all other ability types). | <STATIC_ABILITY> <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted creature has shroud.]]></LOCALISED_TEXT> <CONTINUOUS_ACTION layer="6"> local oParent = EffectSource():GetParent() if oParent ~= nil then oParent:GetCurrentCharacteristics():Bool_Set(CHARACTERISTIC_SHROUD, 1) end </CONTINUOUS_ACTION> </STATIC_ABILITY> | ||||||||||||||||||||
23 | TRIGGERED_ABILITY | resource_id (number) replacement_effect (bool) active_zone (zone constant) | CARD | LOCALIZED_TEXT *TRIGGER TARGET TARGET_DEFINITION PLAY_TIME_ACTION RESOLUTION_TIME_ACTION CONTINUOUS_ACTION FILTER FILTER_CONDITION DURATION AUTO_SKIP | Must | <TRIGGERED_ABILITY> <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Abundant Growth enters the battlefield, draw a card.]]></LOCALISED_TEXT> <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" /> <RESOLUTION_TIME_ACTION> local oController = EffectController() if oController ~= nil then oController:DrawCards(1) end </RESOLUTION_TIME_ACTION> </TRIGGERED_ABILITY> | |||||||||||||||||||||
24 | ACTIVATED_ABILITY | forced_skip (bool) auto_skip (bool) filter_zone (constant) active_zone (zone constant) | CARD | LOCALIZED_TEXT COST TARGET TARGET_DEFINITION PLAY_TIME_ACTION RESOLUTION_TIME_ACTION CONTINUOUS_ACTION FILTER FILTER_CONDITION DURATION AUTO_SKIP AI_AVAILABILITY | Must | <ACTIVATED_ABILITY> <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{U}: Advanced Hoverguard gains shroud until end of turn.]]></LOCALISED_TEXT> <COST mana_cost="{U}" type="Mana" /> <CONTINUOUS_ACTION layer="6"> local oSource = EffectSource() if oSource ~= nil then oSource:GetCurrentCharacteristics():Bool_Set(CHARACTERISTIC_SHROUD, 1) end </CONTINUOUS_ACTION> <DURATION simple_duration="UntilEOT" /> <AI_AVAILABILITY type="in_response" response_source="1" /> </ACTIVATED_ABILITY> | |||||||||||||||||||||
25 | UTILITY_ABILITY | qualifier (text) resource_id (number) replacement_effect (bool) qualifier (text) origin_controller_can_use (bool) active_zone (zone constant) | CARD | LOCALIZED_TEXT PLAY_TIME_ACTION RESOLUTION_TIME_ACTION CONTINUOUS_ACTION AUTO_SKIP | Must | <UTILITY_ABILITY qualifier="Additional"> <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As an additional cost to cast Bone Splinters, sacrifice a creature.]]></LOCALISED_TEXT> <COST type="Sacrifice" definition="0" compartment="1" query_tag="CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE" item_count="1" /> <COST_DEFINITION id="0"> local oFilter = ClearFilter() oFilter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE) oFilter:Add(FE_CONTROLLER, OP_IS, EffectController()) </COST_DEFINITION> </UTILITY_ABILITY> | |||||||||||||||||||||
26 | MANA_ABILITY | resource_id | CARD | LOCALIZED_TEXT PRODUCES | Must | <MANA_ABILITY> <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {W} to your mana pool.]]></LOCALISED_TEXT> <PRODUCES amount="{W}" /> </MANA_ABILITY> | |||||||||||||||||||||
27 | PRODUCES | *amount (mana string) | MANA_ABILITY | none | No | <PRODUCES amount="{W}" /> | |||||||||||||||||||||
28 | PLAY_TIME_ACTION | filter_id (number) repeating (bool) | SPELL_ABILITY ACTIVATED_ABILITY TRIGGERED_ABILITY UTILITY_ABILITY | none | Must | PLAY_TIME_ACTIONS are basically the same as RESOLUTION_TIME_ACTIONS in how they behave, except they run when an ability is put onto the stack rather than when it resolves off of the stack. | <PLAY_TIME_ACTION> local oDelayDC = EffectDC():Make_Chest(1) local oTargets = EffectDC():Get_Targets(0) if oTargets ~= nil then oDelayDC:Set_Int(0, oTargets:Count()) end </PLAY_TIME_ACTION> This stores the number of targets as soon as they're chosen so this number can be used later. | ||||||||||||||||||||
29 | RESOLUTION_TIME_ACTION | filter_id (number) repeating (bool) | SPELL_ABILITY ACTIVATED_ABILITY TRIGGERED_ABILITY UTILITY_ABILITY | Must | <RESOLUTION_TIME_ACTION> local oController = EffectController() if oController ~= nil then oController:DrawCards(1) end </RESOLUTION_TIME_ACTION> | ||||||||||||||||||||||
30 | CONTINUOUS_ACTION | *layer (text) filter_id (number) | SPELL_ABILITY STATIC_ABILITY ACTIVATED_ABILITY TRIGGERED_ABILITY UTILITY_ABILITY | none | Must | For what "layer" can be, have a look here: http://www.slightlymagic.net/forum/viewtopic.php?f=65&t=3676 It can also contain "8", which is typically used for special cases where an ability MUST be run after all other abilities. | <CONTINUOUS_ACTION layer="6"> local oSource = EffectSource() if oSource ~= nil then oSource:GetCurrentCharacteristics():Bool_Set(CHARACTERISTIC_SHROUD, 1) end </CONTINUOUS_ACTION> | ||||||||||||||||||||
31 | INTRINSIC | *characteristic (characteristic constant) | STATIC_ABILITY | none | No | This is used when a card has an ability for which there's a simple CHARACTERISTIC constant, such as flying, trample, or first strike. This allows the card to easily be determined to have flying from any zone, and it allows the game to handle everything necessary for the ability including any badges the game engine assigns for that ability. | <STATIC_ABILITY> <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Trample]]></LOCALISED_TEXT> <INTRINSIC characteristic="CHARACTERISTIC_TRAMPLE" /> </STATIC_ABILITY> | ||||||||||||||||||||
32 | AUTO_SKIP | always (bool) no_effect_source (bool) no_trigger_object (bool) | SPELL_ABILITY ACTIVATED_ABILITY TRIGGERED_ABILITY UTILITY_ABILITY | none | Yes | Returns true if the ability it's in should skip the timer. | <AUTO_SKIP> return EffectController():GetLifeTotal() >= CW_General_GetStartingLifeTotal() </AUTO_SKIP> | ||||||||||||||||||||
33 | AVAILABILITY | sorcery_time (bool) | SPELL_ABILITY ACTIVATED_ABILITY ?UTILITY_ABILITY | none | Yes | The ability this is in can only be activated if this tag returns true. If this is in a SPELL_ABILITY, then the card as a whole cannot be cast unless AVAILABILITY returns true. | <AVAILABILITY> return EffectController():MyTurn() and MTG():GetPhase() == PHASE_MAIN_1 </AVAILABILITY> Means this ability can only be activated on your turn during your first main phase. | ||||||||||||||||||||
34 | AI_AVAILABILITY | type (text) restriction_type (text) response_source (bool) response_target (bool) window_step (text) window_turn (text) | CARD ACTIVATED_ABILITY | none | Yes | This tells the AI when to consider this ability or spell. If present, then the AI will ONLY consider it when told to. If not present, then it will be considered any time it is possible to use. "type" can be "in_response", "restriction", or window. If it is "in_response", then either "response_source" or "response_target" should be true (or both). If it is "restriction", then "restriction_type" must be present. If it is "window", then either "window_step" or "window_turn" must be set. "restriction_type" can only be "equip". "window_step" can be any step found in the Decompilable LOL contents page. Remove "STEP_" and make it lowercase. "window_turn" can be "my_turn" or "their_turn". A spell or ability can have multiple instances of AI_AVAILABILITY tags. If any returns true, then the AI will consider the ability. For any given one to return true, all attributes present must return true. | <AI_AVAILABILITY type="restriction" restriction_type="equip" /> Used for equipment. or <AI_AVAILABILITY window_step="begin_combat" /> Used for abilities or spells that tap creatures (limiting the AI to tapping creatures only right before combat). | ||||||||||||||||||||
35 | AI_SIMPLIFIED_TARGETING | *compartment (number) *hint (text) | SPELL_ABILITY TRIGGERED_ABILITY UTILITY_ABILITY ACTIVATED_ABILITY | none | No? | Informs the AI when it should ignore possibilities even though the code of the card technically allows them. This can speed up the AI by a large amount sometimes. "compartment" is the compartment of the TARGET tag for which this hint applies. "hint" can be: HINT_ALLIED HINT_ALLIED_ONLY HINT_ENEMY HINT_ENEMY_ONLY HINT_NEUTRAL | <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ALLIED_ONLY" /> This would exist on Giant Growth. Technically, the AI can target your creatures, too, but this informs the AI to ignore such possibilities (because they're so rarely useful, that it's an overall waste of processing time). | ||||||||||||||||||||
36 | MAY | always_prompt (bool) tag (text permanent entry) | TRIGGERED_ABILITY SPELL_ABILITY | none | Yes | If present, then the player will be given the option to use the ability if they want to. If they have the game setting "Always use optional abilities" checked, then MAY tags are ignored UNLESS they have the attribute "always_prompt" set to true. If it's a block, then that block should return true or false based on what the AI should do. The AI will (seemingly) always use or not use an optional ability based on whether or not the block returns true. | <MAY tag="CARD_QUERY_DRAW_A_CARD" always_prompt="1">
-- AI behaviour return EffectController():Library_Count() > 9 </MAY> | ||||||||||||||||||||
37 | TRIGGER | *value (trigger constant) simple_qualifier (text) to_zone (zone constant) from_zone (zone constant) pre_trigger (bool) damage_type (text) | TRIGGERED_ABILITY UTILITY_ABILITY? | none | Yes | The trigger constant in "value" should NOT include the "TRIGGER_" prefix as listed in the Decompilable LOL Contents. "to_zone" and "from_zone" are only valid for triggers involving zone changes. If one (or both) is excluded, it will evaluate true as if set to ZONE_ANY. If "pre_trigger" is true, then this ability will fire before the effect that triggered it resolves. Combined with the "replacement_effect" attribute in the ability tag, it allows you to replace events. For instance, if your opponent would draw a card, you draw a card instead. "damage_type" can be: combat noncombat all "simple_qualifier" can be the following: self controller objectyoucontrol another object | <TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="another" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_BATTLEFIELD"> return TriggerObject():GetCardType():Test(CARD_TYPE_CREATURE) </TRIGGER> Whenever another creature dies... | ||||||||||||||||||||
38 | COST | *type (text) mana_cost (mana string) definition (number) compartment (number) query_tag (text_permanent entry) item_count (number) item_count_any_number_of (bool) amount (number) counter_type (text) | UTILITY_ABILITY ACTIVATED_ABILITY | *PREREQUISITE PLAY_TIME_ACTION RESOLUTION_TIME_ACTION ?CONTINUOUS_ACTION | Yes | In order to be a block tag (used for very complex costs), "type" must be set to "Generic". PREREQUISITE is only required for generic costs. For generic costs, the actual payment of the cost will be handled in PTAs and RTAs. TYPE can be any of the following: Mana Generic TapSelf Tap SacrificeSelf Sacrifice DiscardSelf Discard RemoveCountersSelf AddCountersSelf Life ExileSelf Exile Return_To_HandSelf Return_to_hand Reveal RevealSelf | <COST type="TapSelf" /> <COST mana_cost="{W}" type="Mana" /> | ||||||||||||||||||||
39 | COST_DEFINITION | *id (number) | SPELL_ABILITY UTILITY_ABILITY ACTIVATED_ABILITY | none | Must | This tag is used to create a block of code which creates a filter. That filter is used in the corresponding COST tag to let the player choose which objects will be used to pay the cost. "id" must be the "definition" value of a COST tag. | <COST_DEFINITION id="0"> local oFilter = ClearFilter() oFilter:Add(FE_TYPE, OP_IS, CARD_TYPE_LAND) </COST_DEFINITION> This will make the COST tag only allow the player to choose lands (generally only lands they control, which is not normally a default for other types of filters). | ||||||||||||||||||||
40 | PREREQUISITE | none | COST | none | Must | PREREQUISITE should return true when the cost can be afforded. If the player must return a creature to their hand in order to play the spell or activate the ability, then PREREQUISITE would return true if the player controls at least one creature. | <COST> <PREREQUISITE> return EffectController():Hand_Count() > 0 </PREREQUISITE> ... </COST> The cost can only be paid if you have at least one card in hand. | ||||||||||||||||||||
41 | TARGET | *tag (text) *definition (number) *compartment (number) *count (number) up_to (bool) not_targeted (bool) any_number_of (number) | SPELL_ABILITY STATIC_ABILITY TRIGGERED_ABILITY UTILITY_ABILITY | none | Yes | "count" may be ommitted only if "up_to" is true. "definition" should be the id if the TARGET_DEFINITION tag used to filter targets. "compartment" should be the chest register the targets will be placed in. "tag" refers to a TEXT_PERMANENT entry. If "up_to" is true, the player will not be forced to target any, and may choose any number up to the "count". If "not_targeted" is true, then the "BECAME_TARGET" triggers will not fire. If this is a block tag, then certain functions can be used in that block to dynamically set the number of targets and other things. | <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_TAP" definition="0" compartment="0" count="1" /> | ||||||||||||||||||||
42 | TARGET_DEFINITION | *id (number) | SPELL_ABILITY STATIC_ABILITY TRIGGERED_ABILITY UTILITY_ABILITY | none | Must | "id" must match the "definition" attribute of a TARGET tag in the same ability. | <TARGET_DEFINITION id="0"> local oFilter = ClearFilter() oFilter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE) </TARGET_DEFINITION> | ||||||||||||||||||||
43 | FILTER | *filter_id (number) reevaluates (bool) | SPELL_ABILITY STATIC_ABILITY TRIGGERED_ABILITY UTILITY_ABILITY | none | Must | A FILTER block can run lua code to isolate a group of cards or players (or both). It can then be called upon by action blocks. Those action blocks will run once for each valid object the filter finds, and during that run, the function FilteredCard() or FilteredPlayer() will return the current object for that iteration. "filter_id" is how action tags will reference the filter created in this FILTER tag for use. If "reevaluates" is true, then the filter runs again to determine the objects or players to include at the same times CONTINUOUS_ACTION blocks run (seemingly). Without it, the filter runs once when the ability resolves and those objects remain the same until the ability ends. | <FILTER filter_id="0"> local oFilter = ClearFilter() oFilter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE) oFilter:Add(FE_CHARACTERISTIC, OP_IS, CHARACTERISTIC_FLYING) oFilter:Add(FE_CONTROLLER, OP_IS, EffectController()) </FILTER> <CONTINUOUS_ACTION layer="7C" filter_id="0"> local oCard = FilteredCard() ... </CONTINUOUS_ACTION> The code in the CONTINUOUS_ACTION block will run once for every card found in the FILTER block, meaning all creatures you control with flying. Then, because it's a CONTINUOUS_ACTION, the whole thing will run again. | ||||||||||||||||||||
44 | FILTER_CONDITION | *id (number) | SPELL_ABILITY STATIC_ABILITY TRIGGERED_ABILITY UTILITY_ABILITY | none | Must | A filter condition is used when lua code needs to determine if each object in a filter is valid. For instance, if you need to check each one to make sure its power is greater than its toughness. You can filter for all creatures. Then, you can use a lua filter (FILTER_CONDITION) to check their P/T ratio. | <FILTER_CONDITION id="1"> return RSN_Characteristics_Get( FilteredCard(), CW_CHARACTERISTIC_FACEDOWN ) == false </FILTER_CONDITION> | ||||||||||||||||||||
45 | DURATION | simple_duration (text) | SPELL_ABILITY STATIC_ABILITY TRIGGERED_ABILITY UTILITY_ABILITY | none | Yes | A duration block returns true when all currently active CONTINUOUS_ACTION blocks should stop running. If an ability other than a STATIC_ABILITY has a CONTINUOUS_ACTION block, it MUST have a DURATION tag. The only text accepted for "simple_duration" is "UntilEOT". | <DURATION simple_duration="UntilEOT" /> | ||||||||||||||||||||
46 | CLEANUP | simple_cleanup (text) fire_once (bool) | TRIGGERED_ABILITY | none | Yes | A cleanup block returns true when the parent TRIGGERED_ABILITY should no long fire for any triggers. The only text acceptable for "simple_duration" is "EndOfTurn". | |||||||||||||||||||||
47 | HELP | *title (text) *body (text) *zone (zone constant) | CARD | none | No | This creates an entry in the "More info" screen (when you zoom into a card). "title" and "body" refer to a TEXT_PERMANENT entry from which to pull the correct language's text. "zone" is typically "ZONE_ANY" so the help text can be viewed from anywhere. | <HELP title="MORE_INFO_BADGE_TITLE_10" body="MORE_INFO_BADGE_BODY_10" zone="ZONE_ANY" /> Badge 10 is hexproof. | ||||||||||||||||||||
48 | SFX | *text (text) *power_boundary_min (number) *power_boundary_max (number) | CARD SPELL_ABILITY TRIGGERED_ABILITY ACTIVATED_ABILITY | none | No | Only found on creatures. | <SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" /> | ||||||||||||||||||||
49 | TOKEN_REGISTRATION | *reservation (bool) *type (text) | CARD | none | No | "type" should be the FILENAME of a token to register. | <TOKEN_REGISTRATION reservation="1" type="TOKEN_ZOMBIE_C_2_2_B_CW_1" /> | ||||||||||||||||||||
50 | AUTHOR | none | CARD | CDATA | Must | This was originally designed for use with the Community Wad, but can be used on any card. Riiak Shi Nal's Deck Builder can display this. Each user should be separated by a comma. | <AUTHOR><![CDATA[RiiakShiNal]]></AUTHOR> <EDITORS><![CDATA[RiiakShiNal, NivMizzet1, Xander9009]]></EDITORS> <DATE><![CDATA[02-10-14, 14-12-15, 17-04-16]]></DATE> This card was made on October 2, 2014 by RiiakShiNal. It was edited twice. First on December 14, 2015 by NivMizzet1, then again on April 17, 2016 by Xander9009. | ||||||||||||||||||||
51 | EDITORS | none | CARD | CDATA | Must | This was originally designed for use with the Community Wad, but can be used on any card. Riiak Shi Nal's Deck Builder can display this. Should begin with all AUTHORS. Each user should be separated by a comma. | See AUTHOR. | ||||||||||||||||||||
52 | DATE | none | CARD | CDATA | Must | This was originally designed for use with the Community Wad, but can be used on any card. Riiak Shi Nal's Deck Builder can display this. Each date should be separate by a comma. Dates should be formatted as DD-MM-YY (always two digits each, including leading zeros). One date per EDITOR entry. | See AUTHOR. | ||||||||||||||||||||
53 | |||||||||||||||||||||||||||
54 | |||||||||||||||||||||||||||
55 | |||||||||||||||||||||||||||
56 | |||||||||||||||||||||||||||
57 | |||||||||||||||||||||||||||
58 | |||||||||||||||||||||||||||
59 | |||||||||||||||||||||||||||
60 | |||||||||||||||||||||||||||
61 | |||||||||||||||||||||||||||
62 | |||||||||||||||||||||||||||
63 | |||||||||||||||||||||||||||
64 | |||||||||||||||||||||||||||
65 | |||||||||||||||||||||||||||
66 | |||||||||||||||||||||||||||
67 | |||||||||||||||||||||||||||
68 | |||||||||||||||||||||||||||
69 | |||||||||||||||||||||||||||
70 | |||||||||||||||||||||||||||
71 | |||||||||||||||||||||||||||
72 | |||||||||||||||||||||||||||
73 | |||||||||||||||||||||||||||
74 | |||||||||||||||||||||||||||
75 | |||||||||||||||||||||||||||
76 | |||||||||||||||||||||||||||
77 | |||||||||||||||||||||||||||
78 | |||||||||||||||||||||||||||
79 | |||||||||||||||||||||||||||
80 | |||||||||||||||||||||||||||
81 | |||||||||||||||||||||||||||
82 | |||||||||||||||||||||||||||
83 | |||||||||||||||||||||||||||
84 | |||||||||||||||||||||||||||
85 | |||||||||||||||||||||||||||
86 | |||||||||||||||||||||||||||
87 | |||||||||||||||||||||||||||
88 | |||||||||||||||||||||||||||
89 | |||||||||||||||||||||||||||
90 | |||||||||||||||||||||||||||
91 | |||||||||||||||||||||||||||
92 | |||||||||||||||||||||||||||
93 | |||||||||||||||||||||||||||
94 | |||||||||||||||||||||||||||
95 | |||||||||||||||||||||||||||
96 | |||||||||||||||||||||||||||
97 | |||||||||||||||||||||||||||
98 | |||||||||||||||||||||||||||
99 | |||||||||||||||||||||||||||
100 |