Sorry for the delay; I was rather busy yesterday. I can definitely do a few pictures to show the process step by step, but that'll have to wait until I'm off for the day. In the meantime, here's a text version.
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="BLACK_WARD_CW_2323" />
<CARDNAME text="BLACK_WARD" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Black Ward]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Black Ward]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Black Ward]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Black Ward]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Black Ward]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Black Ward]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Black Ward]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Black Ward]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Black Ward]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="2323" />
<ARTID value="BLACK_WARD" />
<ARTIST name="Dan Frazier" />
<CASTING_COST cost="{W}" />
<TYPE metaname="Enchantment" />
<SUB_TYPE metaname="Aura" />
<EXPANSION value="4E" />
<RARITY metaname="U" />
<SPELL_ABILITY attach_definition="0">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Incanta creatura]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_ENCHANT" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if (target ~= nil and EffectSource() ~= nil) then
EffectSource():Attach( target )
end
</RESOLUTION_TIME_ACTION>
<AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ALLIED_ONLY" />
</SPELL_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura incantata ha protezione dal nero. Questo effetto non rimuove il Sigillo Nero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="6">
local oParent = EffectSource() and EffectSource():GetParent()
if oParent ~= nil then
local oFilter = ClearFilter()
oFilter:Add(FE_COLOUR, OP_IS, COLOUR_BLACK)
oFilter:Add(FE_CARD_INSTANCE, OP_NOT, EffectSource())
oParent:Protection()
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
</CARD_V2>
That right there is the original
Black Ward. In order to update it, it needs these things done.
oParent:Protection() -> CW_Protection(oParent, EffectSource()) - If both parameters are EffectSource(), they can both be omitted. That's up to you. The first parameter, oParent in this case, needs to be the card that is given protection. It'll always be the card that Protection() is actually called on. So, "oTarget:Protection()" -> "CW_Protection(oTarget...)". The second parameter is always the source of the protection, which should always be EffectSource().
- Code: Select all
<CONTINUOUS_ACTION layer="6">
local oParent = EffectSource() and EffectSource():GetParent()
if oParent ~= nil then
local oFilter = ClearFilter()
oFilter:Add(FE_COLOUR, OP_IS, COLOUR_BLACK)
oFilter:Add(FE_CARD_INSTANCE, OP_NOT, EffectSource())
CW_Protection(oParent, EffectSource())
end
</CONTINUOUS_ACTION>
Now, we need to rewrite the filter in a beginning-of-game triggered ability that can be recalled later. I wrote the Screen functions exactly for this purpose. You'll need to copy the ability from
Black Ward that has the CW_Screen_Add functions. Copy the current card's normal filter down into it, and then alter it as follows. "oFilter:Add(...)" and all other filter functions need to be replaced like this: the filter itself becomes the first parameter, the function ("Add" in this case) needs "CW_Screen_" added to its beginning, and its original parameters need to be put into an array as the second parameter. So:
- Filter becomes first parameter: "oFilter:Add(...)" -> "Add(oFilter, ...)"
- Add "CW_Screen_" to the function name: "Add(oFilter, ...)" -> "CW_Screen_Add(oFilter, ...)"
- The original parameters are made into an array: "CW_Screen_Add(oFilter, ...)" -> "CW_Screen_Add(oFilter, {...})"
So, we go from having just the normal filter:
- Code: Select all
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura incantata ha protezione dal nero. Questo effetto non rimuove il Sigillo Nero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="6">
local oParent = EffectSource() and EffectSource():GetParent()
if oParent ~= nil then
local oFilter = ClearFilter()
oFilter:Add(FE_COLOUR, OP_IS, COLOUR_BLACK)
oFilter:Add(FE_CARD_INSTANCE, OP_NOT, EffectSource())
CW_Protection(oParent, EffectSource())
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
To having that plus another ability with the same filter.
- Code: Select all
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura incantata ha protezione dal nero. Questo effetto non rimuove il Sigillo Nero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="6">
local oParent = EffectSource() and EffectSource():GetParent()
if oParent ~= nil then
local oFilter = ClearFilter()
oFilter:Add(FE_COLOUR, OP_IS, COLOUR_BLACK)
oFilter:Add(FE_CARD_INSTANCE, OP_NOT, EffectSource())
CW_Protection(oParent, EffectSource())
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local oFilter = ClearFilter()
oFilter:Add(FE_COLOUR, OP_IS, COLOUR_BLACK)
oFilter:Add(FE_CARD_INSTANCE, OP_NOT, EffectSource())
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
Before altering the function calls as mentioned above.
- Code: Select all
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura incantata ha protezione dal nero. Questo effetto non rimuove il Sigillo Nero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="6">
local oParent = EffectSource() and EffectSource():GetParent()
if oParent ~= nil then
local oFilter = ClearFilter()
oFilter:Add(FE_COLOUR, OP_IS, COLOUR_BLACK)
oFilter:Add(FE_CARD_INSTANCE, OP_NOT, EffectSource())
CW_Protection(oParent, EffectSource())
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local oFilter = ClearFilter()
Add(oFilter, {FE_COLOUR, OP_IS, COLOUR_BLACK})
Add(oFilter, {FE_CARD_INSTANCE, OP_NOT, EffectSource()})
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
Now, there are only three things left to do. Replace Filter with Screen. ClearFilter() becomes CW_Screen_
Clear(). References to Filter become Screen instead. At the same time, also add on the registration function: "CW_Protection_RegisterScreen(oScreen)".
- Code: Select all
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura incantata ha protezione dal nero. Questo effetto non rimuove il Sigillo Nero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="6">
local oParent = EffectSource() and EffectSource():GetParent()
if oParent ~= nil then
local oFilter = ClearFilter()
oFilter:Add(FE_COLOUR, OP_IS, COLOUR_BLACK)
oFilter:Add(FE_CARD_INSTANCE, OP_NOT, EffectSource())
CW_Protection(oParent, EffectSource())
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local oScreen = CW_Screen_Clear()
CW_Screen_Add(oScreen, {FE_COLOUR, OP_IS, COLOUR_BLACK})
CW_Protection_RegisterScreen(oScreen)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
Next, remove references to pointers. It does not properly handle pointers, and since nearly all pointers are to the card granting protection (like
Black Ward does, it provides a pointer to itself and the protection ability ignores that particular card), you remove simply remove those lines.
- Code: Select all
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura incantata ha protezione dal nero. Questo effetto non rimuove il Sigillo Nero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="6">
local oParent = EffectSource() and EffectSource():GetParent()
if oParent ~= nil then
local oFilter = ClearFilter()
oFilter:Add(FE_COLOUR, OP_IS, COLOUR_BLACK)
oFilter:Add(FE_CARD_INSTANCE, OP_NOT, EffectSource())
CW_Protection(oParent, EffectSource())
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local oScreen = CW_Screen_Clear()
CW_Screen_Add(oScreen, {FE_COLOUR, OP_IS, COLOUR_BLACK})
CW_Protection_RegisterScreen(oScreen)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
Last on the list is to add in the manager creation ability. The screens require a manager token, and it's made by making sure the card has this ability and token registration tag.
- Code: Select all
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
CW_General_CreateManagers("_MANAGER_CHARACTERISTICS")
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="_MANAGER_CHARACTERISTICS" />
You can copy that from
Black Ward at the same time you copy the beginning-of-game screen registration ability, sicne they're right next to each other on
Black Ward.
The final result is that you go from
- Code: Select all
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura incantata ha protezione dal nero. Questo effetto non rimuove il Sigillo Nero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="6">
local oParent = EffectSource() and EffectSource():GetParent()
if oParent ~= nil then
local oFilter = ClearFilter()
oFilter:Add(FE_COLOUR, OP_IS, COLOUR_BLACK)
oFilter:Add(FE_CARD_INSTANCE, OP_NOT, EffectSource())
oParent:Protection()
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
to
- Code: Select all
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura incantata ha protezione dal nero. Questo effetto non rimuove il Sigillo Nero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enchanted creature has protection from black. This effect doesn’t remove Black Ward.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="6">
local oParent = EffectSource() and EffectSource():GetParent()
if oParent ~= nil then
local oFilter = ClearFilter()
oFilter:Add(FE_COLOUR, OP_IS, COLOUR_BLACK)
oFilter:Add(FE_CARD_INSTANCE, OP_NOT, EffectSource())
CW_Protection(oParent, EffectSource())
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local oScreen = CW_Screen_Clear()
CW_Screen_Add(oScreen, {FE_COLOUR, OP_IS, COLOUR_BLACK})
CW_Protection_RegisterScreen(oScreen)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
CW_General_CreateManagers("_MANAGER_CHARACTERISTICS")
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="_MANAGER_CHARACTERISTICS" />
----
I don't have a zip file containing the cards. I got the number from searching in RiiakShiNal's Deck Builder for "protection".