Hey guys, i need an help.
I am trying to codify the follow card :
CardName : Proteus
Supertype : Legendary
Type : Creature
SubType : Minor Divinity
Abilities :
Lifelink and Undying.
At the beginning of your upkeep, if Proteus has at least one +1/+1 counter, remove one of these counters.
Activable ability : Morph into target creature.
The card seems to work about the abilities, but i have an issue, when it Morphs into another creature it gains also the name and the types of that creature also the name, by this way it loses the main feature to be a legendary creature and this allow to cast another Proteus. I think is easy to write back the supertype and type, but i don't know how to keep unchanged the name.
Please someone could help me?
- PROTEUS | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="15">
<FILENAME text="PROTEUS_7272931" />
<CARDNAME text="PROTEUS" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Proteus]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Proteus]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Proteus]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Proteus]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Proteus]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Proteus]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Proteus]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Proteus]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Proteus]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="7272931" />
<ARTID value="7227931" />
<ARTIST name="Internet - Unknown" />
<CASTING_COST cost="{3}{U}{U}{U}" />
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Minor_Divinity" />
<EXPANSION value="DPI" />
<RARITY metaname="M" />
<POWER value="4" />
<TOUGHNESS value="5" />
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Proteus morphs into target creature.]]
></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Proteus se transforme en créature ciblée.]]
></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Proteus se transforma en criatura objetivo.]]
></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Proteus verwandelt sich in eine Kreatur deiner
Wahl.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Proteus si trasforma in una creatura bersaglio.]]
></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[クリーチャーにプロテウスモーフ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{대상 생물에 테우스 변경해.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Proteus превращается в целевое существо.]]
></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Proteus se transforma em uma criatura alvo.]]
></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_CARD_NAME, OP_NOT, "PROTEUS" )
filter:SetZone( ZONE_BATTLEFIELD )
EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_CLONE", EffectDC():Make_Targets(0),
QUERY_FLAG_MAY )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target_creature = EffectDC():Get_Targets(0):Get_CardPtr(0)
if ( target_creature ~= nil ) then
target_creature:StoreCopiableValues(EffectDC():Make_Chest(1)) -- this grabs the copiable values from the
target and puts them into a datachest
EffectSource():UseCopiableValues(EffectDC():Get_Chest(1)) -- this needs to be here to refire
any other transition triggers (e.g. devour)
EffectDC():Protect_CardPtr( COMPARTMENT_ID_EFFECT_SOURCE ) -- this stops the effect from being
wiped when we complete the zonechange
end
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="1">
if EffectSource() ~= nil and EffectDC():Get_Chest(1) ~= nil then
EffectSource():UseCopiableValues(EffectDC():Get_Chest(1))
EffectSource():GetCurrentCharacteristics():GrantAbility(2)
EffectSource():GetCurrentCharacteristics():GrantAbility(3)
EffectSource():GetCurrentCharacteristics():GrantAbility(4)
if EffectSource():GetCardName() ~= "PROTEUS" then
EffectSource():GetCurrentCharacteristics():GrantAbility(5)
end
-- if you want to do other things as part of the copy effect, DO SO HERE
-- e.g EffectSource():GetCurrentCharacteristics():GrantAbility(1)
-- e.g EffectSource():GetCurrentCharacteristics():Power_Set(7)
-- e.g EffectSource():GetCurrentCharacteristics():Toughness_Set(7)
end
</CONTINUOUS_ACTION>
<DURATION>
return (EffectSource() == nil)
</DURATION>
</ACTIVATED_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="1">
local characteristics = EffectSource():GetCurrentCharacteristics()
if EffectSource():GetCardName() == "PROTEUS" then
EffectSource():GetCurrentCharacteristics():GrantAbility(2)
EffectSource():GetCurrentCharacteristics():GrantAbility(3)
EffectSource():GetCurrentCharacteristics():GrantAbility(4)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<STATIC_ABILITY resource_id="2">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Lifelink]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Lien de vie]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vínculo vital.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lebensverknüpfung]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Legame vitale]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[絆魂]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[생명연결]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Цепь жизни]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Vínculo com a vida]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[系命]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[繫命]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="6">
local characteristics = EffectSource():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_LIFELINK, 1 )
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY resource_id="3" badge="BADGE_UNDYING" active_zone="ZONE_BATTLEFIELD" commaspace="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Undying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Survivance]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Resiliencia.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Unverwüstlich]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Immortale]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[不死]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[불사]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Нетленность]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Imortal]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_GRAVEYARD"
from_zone="ZONE_BATTLEFIELD" />
<INTERVENING_IF ignore_resolution_check="1">
if TriggerObject():CountCounters(MTG():PlusOnePlusOneCounters()) == 0 then
return true
else
return false
end
</INTERVENING_IF>
<RESOLUTION_TIME_ACTION>
if TriggerObject() ~= nil then
EffectDC():Protect_CardPtr( COMPARTMENT_ID_PARAM_TRIGGER_OBJECT )
TriggerObject():PutOntoBattlefield( TriggerObject():GetOwner() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if TriggerObject() ~= nil then
TriggerObject():AddCounters( MTG():PlusOnePlusOneCounters(), 1)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY resource_id="4">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of your upkeep, if Proteus has at
least one +1/+1 counter, remove one of these counters.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Au début de votre entretien, si Proteus a au moins un
marqueur +1 / +1, supprimer l'un de ces compteurs.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Al comienzo de tu mantenimiento, si Proteus tiene al
menos un contador +1 / +1, eliminar uno de estos contadores.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Zu Beginn Ihres Unterhalt, wenn Proteus mindestens
eine +1 / +1- Marke, entfernen Sie eine dieser Zähler.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All'inizio del tuo mantenimento, se Proteus ha almeno
un segnalino +1 / +1, rimuovi uno di questi segnalini.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[プロテウスは、少なくとも一つの+1/ +1カウンターを持っている場合あなたのアップキープの開始時に、これら
のカウンタの1つを削除します。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[프로 테우스는 적어도 하나의 +1 / +1 카운터가있는 경우, 유지비의 시작 부분
에서, 이러한 카운터 중 하나를 제거합니다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[В начале вашего шага поддержки, если Proteus имеет
хотя бы один жетон +1 / +1, удалить один из этих счетчиков.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[No início da sua manutenção, se Proteus tem pelo
menos um 1 / +1, remover um desses contadores.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[在你的維持開始變形,如果有至少一個+1 / +1,刪除其中一個計數器。]]
></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[在你的維持開始變形,如果有至少一個+1 / +1,刪除其中一個計數器。]]
></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
return MTG():GetStep() == STEP_UPKEEP
</TRIGGER>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
local counters2 = EffectSource():CountCounters(MTG():PlusOnePlusOneCounters())
if counters2 ~= nil then
EffectSource():RemoveCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local msg = ""
msg = EffectSource():GetRef()
EffectController():DisplayMessage( "results "..msg )
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<ACTIVATED_ABILITY resource_id="5">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Proteus morphs into target creature.]]
></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Proteus se transforme en créature ciblée.]]
></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Proteus se transforma en criatura objetivo.]]
></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Proteus verwandelt sich in eine Kreatur deiner
Wahl.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Proteus si trasforma in una creatura bersaglio.]]
></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[クリーチャーにプロテウスモーフ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{대상 생물에 테우스 변경해.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Proteus превращается в целевое существо.]]
></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Proteus se transforma em uma criatura alvo.]]
></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_CARD_NAME, OP_NOT, "PROTEUS" )
filter:SetZone( ZONE_BATTLEFIELD )
EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_CLONE", EffectDC():Make_Targets(0),
QUERY_FLAG_MAY )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target_creature = EffectDC():Get_Targets(0):Get_CardPtr(0)
if ( target_creature ~= nil ) then
target_creature:StoreCopiableValues(EffectDC():Make_Chest(1)) -- this grabs the copiable values from the
target and puts them into a datachest
EffectSource():UseCopiableValues(EffectDC():Get_Chest(1)) -- this needs to be here to refire
any other transition triggers (e.g. devour)
EffectDC():Protect_CardPtr( COMPARTMENT_ID_EFFECT_SOURCE ) -- this stops the effect from being
wiped when we complete the zonechange
end
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="1">
if EffectSource() ~= nil and EffectDC():Get_Chest(1) ~= nil then
EffectSource():UseCopiableValues(EffectDC():Get_Chest(1))
EffectSource():GetCurrentCharacteristics():GrantAbility(2)
EffectSource():GetCurrentCharacteristics():GrantAbility(3)
EffectSource():GetCurrentCharacteristics():GrantAbility(4)
EffectSource():GetCurrentCharacteristics():GrantAbility(5)
-- if you want to do other things as part of the copy effect, DO SO HERE
-- e.g EffectSource():GetCurrentCharacteristics():GrantAbility(1)
-- e.g EffectSource():GetCurrentCharacteristics():Power_Set(7)
-- e.g EffectSource():GetCurrentCharacteristics():Toughness_Set(7)
end
</CONTINUOUS_ACTION>
<DURATION>
return (EffectSource() == nil)
</DURATION>
</ACTIVATED_ABILITY>
<AI_BASE_SCORE score="2000" zone="ZONE_BATTLEFIELD" />
</CARD_V2>