Board index
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
New MTG Cards and Decks (2010, 2012, 2013, 2014, 2015, Magic Duels)
2014




Formal Request Thread
Moderator: CCGHQ Admins
Re: Formal Request Thread
by jacque » 07 Oct 2013, 02:25
From what I know... it all depends on how you set your:fallenangle wrote:I have a coding question: suppose I wanted to make a card that combined the abilities of Clone and Fiendhunter. How could I make sure that the target of both abilities is the same card? (I.e., the creature I exile is the creature I copy, or vice versa.)
- Make_Targets()
- Get_Targets()
- Get_CardPtr()
If you have the <TARGET> tag when you choose target creature, the Make_Targets() is ignored... but when you want to pinpoint on that target creature... you'd do something like this:
- Code: Select all
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
Learn making your own cards today!!!
Click on
if a post/reply helped you.
I stitch old cards together to make new ones...
~ Jacque, the confused
Click on

I stitch old cards together to make new ones...
~ Jacque, the confused
Re: Formal Request Thread
by fallenangle » 07 Oct 2013, 10:54
I tried making Duplicant today, starting with Mirror Golem for Imprint and card exiling, then trying Clone for getting the characteristics, and finally looking at Rise from the Grave to make sure the card was a colorless Shapeshifter. I've never coded anything beyond some basic ability splicing in for cards like Sanctum Gargoyle and Enlisted Wurm, so this was probably too ambitious an effort for someone like me, especially after thefiremind said he'd run into problems trying to code the same card. Riiak's Deckbuilder won't even read the card, so I know the code is bad, but I'm not sure where, and I'm not sure how to fix it. Would anyone be willing to take a look at my code and teach me a thing or two?
- Code: Select all
<?xml version="1.0"?>
<CARD_V2>
<FILENAME text="DUPLICANT_338451" />
<CARDNAME text="DUPLICANT" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Duplicant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Replicatore]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Duplikant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Repliquant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Duplicante]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[映?身人形]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Duplicant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Duplicant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Duplicante]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="338451" />
<ARTID value="338451" />
<ARTIST name="Thomas M. Baxa" />
<CASTING_COST cost="{6}" />
<TYPE metaname="Artifact" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Shapeshifter" />
<EXPANSION value="DPG" />
<RARITY metaname="R" />
<POWER value="2" />
<TOUGHNESS value="4" />
<TRIGGERED_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[|Imprint| — When Duplicant enters the battlefield, you may exile target nontoken creature.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[|Empreinte|?—?Quand le Repliquant arrive sur le champ de bataille, vous pouvez exiler une creature non-jeton ciblee.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[|Einpragen| — Wenn der Duplikant ins Spiel kommt, kannst du eine Kreatur deiner Wahl, die kein Spielstein ist, ins Exil schicken.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[|Estampa| — Cuando el Duplicante entre al campo de batalla, puedes exiliar la criatura objetivo que no sea ficha.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[|Imprimere| — Quando il Replicatore entra nel campo di battaglia, puoi esiliare una creatura non pedina bersaglio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[刻印 ─ 映?身人形??場?出???、?????????????1体??象???。???????追放?????。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[|Imprint| — When Duplicant enters the battlefield, you may exile target nontoken creature.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[|Imprint| — When Duplicant enters the battlefield, you may exile target nontoken creature.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY">
return TriggerObject():GetCardType():Test(CARD_TYPE_CREATURE) and TriggerObject():IsToken() == false
</TRIGGER>
<TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_EXILE" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetZone(ZONE_BATTLEFIELD)
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local card = EffectDC():Get_Targets(0):Get_CardPtr(0)
if card ~= nil then
LinkedDC():Set_CardPtr(0, card)
LinkedDC():Protect_CardPtr(0)
card:Exile()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local card = LinkedDC():Get_CardPtr(0)
local source = EffectSource()
if card ~= nil and source ~= nil then
card:NailOnto(source)
end
</RESOLUTION_TIME_ACTION>
<MAY />
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_query="1" active_zone="ZONE_TRANSITION">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As long as the exiled card is a creature card, Duplicant has that card’s power, toughness, and creature types. It’s still a Shapeshifter.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Fintanto che la carta creatura e impressa sul Replicatore, il Replicatore ha la forza, la costituzione e i tipi di creatura di quella carta. E ancora un Polimorfo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Solange eine Kreaturenkarte auf dem Duplikant eingepragt ist, hat der Duplikant die Starke, Widerstandskraft und Kreaturentypen dieser Karte. Er ist immer noch ein Gestaltwandler.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tant que le Repliquant a l’empreinte d’une carte de creature, il a la force, l’endurance et les types de creature de cette carte. C’est toujours aussi un changeforme.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando una carta de criatura este estampada en el Duplicante, este tiene la fuerza, resistencia y tipo de criatura de esa carta. Aun se considera un metamorfo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[???????????映?身人形?刻印????????、映?身人形?刻印?????????????????????????????持?。 ???多相??士????。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[As long as the exiled card is a creature card, Duplicant has that card’s power, toughness, and creature types. It’s still a Shapeshifter.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[As long as the exiled card is a creature card, Duplicant has that card’s power, toughness, and creature types. It’s still a Shapeshifter.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enquanto o card de criatura estiver estampado em Duplicante, Duplicante tem o poder, a resistencia e todos os tipos de criatura daquele card. Ele ainda e um Metamorfo.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
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))
-- if you want to do other things as part of the copy effect, DO SO HERE
-- e.g EffectSource():GetCurrentCharacteristics():Power_Set(7)
-- e.g EffectSource():GetCurrentCharacteristics():Toughness_Set(7)
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="4">
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
local characteristics = target:GetCurrentCharacteristics()
local subtype = characteristics:SubType_GetWritable()
subtype:Add( CREATURE_TYPE_SHAPESHIFTER)
end
</CONTINUOUS_ACTION>
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="5">
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
local colour = target:GetColour()
colour:Add( COLOUR_COLOURLESS )
end
</CONTINUOUS_ACTION>
<DURATION>
return (EffectSource() == nil)
</DURATION>
</TRIGGERED_ABILITY>
</STATIC_ABILITY>
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
<AI_BASE_SCORE score="900" zone="ZONE_HAND" />
</CARD_V2>
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Formal Request Thread
by thefiremind » 07 Oct 2013, 11:04
That's because you saved it with ANSI encoding, I can see it by the "?" on the Japanese text.fallenangle wrote:Riiak's Deckbuilder won't even read the card
thefiremind wrote:All cards must be saved in UTF-8 encoding, not ANSI (which is the default for Notepad if you start from a blank new file). You can easily discover if you saved in ANSI because if you reopen the card XML, the special characters won't be readable (for example, Japanese text will be a series of "??????????..." on Notepad).
Duplicant copies only a restricted set of characteristics: you can't use the code from Clone, otherwise you would also copy name, abilities, types, supertypes, and so on. You need to read power, toughness and creature types from the exiled card.thefiremind wrote:When you save with a new name on Notepad, look at the box to the left of the "Save" button, there will be a selection where you can choose ANSI, Unicode, Big-endian Unicode, UTF-8. That's where you choose UTF-8. If you accidentally save with ANSI, you can't return to UTF-8 just by saving again: the special characters get corrupted and you have to get the original ones somewhere else [...].
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by NEMESiS » 07 Oct 2013, 13:00
Well, I wont be of much help but I can say this:
http://www.w3schools.com/xml/xml_validator.asp
It will tell you were the code is mistyped.
- Code: Select all
<CONTINUOUS_ACTION layer="1">
if EffectSource() ~= nil and EffectDC():Get_Chest(1) ~= nil then
EffectSource():UseCopiableValues(EffectDC():Get_Chest(1))
-- if you want to do other things as part of the copy effect, DO SO HERE
-- e.g EffectSource():GetCurrentCharacteristics():Power_Set(7)
-- e.g EffectSource():GetCurrentCharacteristics():Toughness_Set(7)
</RESOLUTION_TIME_ACTION>
http://www.w3schools.com/xml/xml_validator.asp
It will tell you were the code is mistyped.
Last edited by NEMESiS on 07 Oct 2013, 23:36, edited 1 time in total.
-
NEMESiS - Posts: 460
- Joined: 03 Jan 2013, 04:02
- Location: Pools of Becoming
- Has thanked: 70 times
- Been thanked: 21 times
Re: Formal Request Thread
by MC Brodie » 07 Oct 2013, 13:53
What about "the last creature card exiled with Duplicant" was giving you problems? The oracle text is confusing to me. In one place it says the power, toughness and types are the same as the last exiled card but in the rulings it says the types carry over each time a new creature is exiled.
I would think the power and toughness could be saved in a LinkedDC. If the problem is you need to save creature types of multiple exiled cards, and LinkedDC can't handle this since Duplicant will be changing zones, could you use Riiak's ObjectDC functions instead? I know you prefer not to use these unless it's absolutely necessary. Just wondering if this would make it possible.
I'm still kind of confused on the rulings. If you copy a Raging Goblin that's pumped with a Giant Growth will the Duplicant be a 1/1 or 4/44? What about a Protean Hydra with 3 +1/+1 counters?
I would think the power and toughness could be saved in a LinkedDC. If the problem is you need to save creature types of multiple exiled cards, and LinkedDC can't handle this since Duplicant will be changing zones, could you use Riiak's ObjectDC functions instead? I know you prefer not to use these unless it's absolutely necessary. Just wondering if this would make it possible.
I'm still kind of confused on the rulings. If you copy a Raging Goblin that's pumped with a Giant Growth will the Duplicant be a 1/1 or 4/44? What about a Protean Hydra with 3 +1/+1 counters?
-----------------------------------------------------------------------
Song of the Day: 46 and 2 (cover)
Song of the Day: 46 and 2 (cover)
Re: Formal Request Thread
by thefiremind » 07 Oct 2013, 14:07
I tried to think about that, and I came to the conclusion that there's only one way to exile multiple cards at once with Duplicant: Strionic Resonator. Since we can't copy abilities, I think it would be safe to ignore the last Oracle update. If Duplicant changes zone, it's treated as a different Duplicant, so it doesn't keep trace of the cards it exiled before changing zone.MC Brodie wrote:What about "the last creature card exiled with Duplicant" was giving you problems? The oracle text is confusing to me. In one place it says the power, toughness and types are the same as the last exiled card but in the rulings it says the types carry over each time a new creature is exiled.
Same rule: when you exile the creature it's treated as a different card, so the answers are 1/1 and 0/0.MC Brodie wrote:I'm still kind of confused on the rulings. If you copy a Raging Goblin that's pumped with a Giant Growth will the Duplicant be a 1/1 or 4/4? What about a Protean Hydra with 3 +1/+1 counters?

< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by drleg3nd » 07 Oct 2013, 21:30
hey guys need help for what i thought would be a simple card..i combined Stave Off with Scry 1 and it does not provide protection to creature..this is my 2nd attempt to see if i missed something but I am not home, can someone chk out this code if its ok ?
- Gods Willing | Open
- Code: Select all
<SPELL_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Target creature you control gains protection from the color of your choice until end of turn. Scry 1.]]></LOCALISED_TEXT>
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_GAIN_PROTECTION_FROM_COLOUR" 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>
EffectController():ChooseColour( "CARD_QUERY_CHOOSE_COLOUR", true )
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="6">
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
local filter = ClearFilter()
filter:Add( FE_COLOUR, OP_IS, GetChosenColour() )
target:Protection()
end
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
<AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ALLIED" />
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
local effectController = EffectController()
filter:SetZone( ZONE_LIBRARY, effectController )
filter:SetPortion( 1 )
effectController:SetItemCount( 1 )
effectController:SetItemPrompt(0, "CARD_QUERY_CHOOSE_CARD_TO_PUT_ON_BOTTOM_LIBRARY" )
effectController:SetItemPrompt(1, "CARD_QUERY_CHOOSE_CARD_TO_PUT_ON_BOTTOM_LIBRARY" )
effectController:ChooseItems( EffectDC():Make_Targets(0), QUERY_FLAG_UP_TO )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local rem_count = 1
local cardsInLibrary = EffectController():Library_Count()
if rem_count > cardsInLibrary then
rem_count = cardsInLibrary
end
local target_array = {}
for i=0,1 do
target_array[i] = EffectDC():Get_Targets(0):Get_CardPtr(i)
end
for i = 0,1 do
if target_array[i] ~= nil then
target_array[i]:PutOnBottomOfLibrary()
rem_count = rem_count-1
end
end
EffectDC():Set_Int(1, rem_count)
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
local effectController = EffectController()
local remainingCount = EffectDC():Get_Int(2)
if remainingCount > 0 then
filter:SetZone( ZONE_LIBRARY, effectController )
filter:SetPortion( remainingCount )
effectController:SetItemCount( remainingCount )
for i = 0, (remainingCount-1) do
effectController:SetItemPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_PUT_ONTO_LIBRARY" )
end
effectController:ChooseItems( EffectDC():Make_Targets(1) )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local remainingCount = EffectDC():Get_Int(2)
if remainingCount > 0 then
local target_array = {}
for i = 0, (remainingCount-1) do
target_array[i] = EffectDC():Get_Targets(1):Get_CardPtr(i)
end
for i = 0, (remainingCount-1) do
if target_array[i] ~= nil then
target_array[i]:PutOnTopOfLibrary()
end
end
end
</RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
<SEALED_HEURISTICS is_combat_trick="1" />
<SEALED_HEURISTICS score_modifier="-750" />
<SEALED_SYNERGY_BONUS type="CREATURE" score_bonus="0" density_cap="0.5" />
<AI_AVAILABILITY window_step="declare_attackers" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<AI_AVAILABILITY type="in_response" response_target="1" />
<HELP title="MORE_INFO_TITLE_PROTECTION" body="MORE_INFO_BODY_PROTECTION" zone="ZONE_ANY" />
<AI_BASE_SCORE score="600" zone="ZONE_HAND" />
</SPELL_ABILITY>
Re: Formal Request Thread
by MC Brodie » 07 Oct 2013, 22:25
I can see three things that may be the issue:
1) Gods Willing only targets creatures you control so you need to add the following code to the target definition block. This won't fix your problem but needs to be fixed for the card to be coded correctly.
3) You save the target card to compartment 0 as well as the card to put on the bottom of your library for scry. These need to be in different compartments and this is likely what is causing you problems. It would probably be easiest to change the compartment the target creature for protection is in. I can see three places it needs changed. Just make them all 2. The scry mechanic is also using compartment 1.
- The <TARGET ... /> tag has compartment="0". Make this compartment="2"
- In the continuous action clock you have:
1) Gods Willing only targets creatures you control so you need to add the following code to the target definition block. This won't fix your problem but needs to be fixed for the card to be coded correctly.
- Code: Select all
filter:Add( FE_CONTROLLER, OP_IS, EffectController())
3) You save the target card to compartment 0 as well as the card to put on the bottom of your library for scry. These need to be in different compartments and this is likely what is causing you problems. It would probably be easiest to change the compartment the target creature for protection is in. I can see three places it needs changed. Just make them all 2. The scry mechanic is also using compartment 1.
- The <TARGET ... /> tag has compartment="0". Make this compartment="2"
- In the continuous action clock you have:
- Code: Select all
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
- Code: Select all
local target = EffectDC():Get_Targets(2):Get_CardPtr(0)
-----------------------------------------------------------------------
Song of the Day: 46 and 2 (cover)
Song of the Day: 46 and 2 (cover)
Re: Formal Request Thread
by drleg3nd » 08 Oct 2013, 00:00
thx brodie, i'll test it out when i get home..question.. how do i know, or what parameters do you need to know if you should use "spell_ability",triggered_ability","continous_ability" etc..i mean i have an idea,like trigger is used for etb effects but unless i find a card(s) with what im looking for, i have to do extra searching to make a approximate guess on what to use.MC Brodie wrote:I can see three things that may be the issue:
1) Gods Willing only targets creatures you control so you need to add the following code to the target definition block. This won't fix your problem but needs to be fixed for the card to be coded correctly.2) You try to close out </SPELL_ABILITY> twice. This may have been just an error pasting the card into the forum but nonetheless, needs fixed.
- Code: Select all
filter:Add( FE_CONTROLLER, OP_IS, EffectController())
3) You save the target card to compartment 0 as well as the card to put on the bottom of your library for scry. These need to be in different compartments and this is likely what is causing you problems. It would probably be easiest to change the compartment the target creature for protection is in. I can see three places it needs changed. Just make them all 2. The scry mechanic is also using compartment 1.
- The <TARGET ... /> tag has compartment="0". Make this compartment="2"
- In the continuous action clock you have:Change this line to:
- Code: Select all
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
- In the <AI_SIMPLIFIED_TARGETING ... /> block right below the continuous action and duration block also has compartment="0" (change the 0 to 2).
- Code: Select all
local target = EffectDC():Get_Targets(2):Get_CardPtr(0)
Re: Formal Request Thread
by jacque » 08 Oct 2013, 00:29
You should be able to notice these:drleg3nd wrote:thx brodie, i'll test it out when i get home..question.. how do i know, or what parameters do you need to know if you should use "spell_ability",triggered_ability","continous_ability" etc..i mean i have an idea,like trigger is used for etb effects but unless i find a card(s) with what im looking for, i have to do extra searching to make a approximate guess on what to use.
- <SPELL_ABILITY> on Instants and Sorceries
- <TRIGGERED_ABILITY> normally on permanents, unless an instant or sorcery targets something on the battlefield and have a delayed effect e.g. Granting Persist ability. It comes with a <TRIGGER> that works like a filter how the trigger acts or take place
- <RESOLUTION_TIME_ACTION> on almost all spells
- <CONTINUOUS_ABILITY> on anything that changes the effect of permanents on the battlefield e.g. +X/+X, granting First Strike, etc.
Learn making your own cards today!!!
Click on
if a post/reply helped you.
I stitch old cards together to make new ones...
~ Jacque, the confused
Click on

I stitch old cards together to make new ones...
~ Jacque, the confused
Re: Formal Request Thread
by drleg3nd » 08 Oct 2013, 00:46
thx jacque..like i said i had an idea just wanted to make sure my assumptions are right
Re: Formal Request Thread
by jacque » 08 Oct 2013, 00:51
What's confusing to me is when tags like <TRIGGERED_ABILITY> has a replacement_effect="1" to it... Or even linked_ability to itdrleg3nd wrote:thx jacque..like i said i had an idea just wanted to make sure my assumptions are right
Learn making your own cards today!!!
Click on
if a post/reply helped you.
I stitch old cards together to make new ones...
~ Jacque, the confused
Click on

I stitch old cards together to make new ones...
~ Jacque, the confused
Re: Formal Request Thread
by MC Brodie » 08 Oct 2013, 01:31
Someone else may be able to explain it better or more accurately but, to put it simply, replacement_effect="1" means whenever a certain effect occurs, there is an effect or action that replaces the first effect. It is probably easier to explain with examples. Clone is a 0/0 creature but has a replacement effect as it enters the battlefield so it actually enters the battlefield with the power and toughness of whichever creature you decided to clone. It's the same thing with a card like Protean Hulk except it enters with counters. Damage redirection spells like Pariah have a trigger that fires when a player takes damage but the replacement effect redirects that damage to whatever creature Pariah is attached to. Geralf's Messenger has a replacement effect as it enters the battlefield so it enters tapped instead of untapped. I don't know if this helps. Like I said, someone may be able to explain it better.jacque wrote:What's confusing to me is when tags like <TRIGGERED_ABILITY> has a replacement_effect="1" to it... Or even linked_ability to itdrleg3nd wrote:thx jacque..like i said i had an idea just wanted to make sure my assumptions are right
As for linked_ability, thefiremind gives a pretty good explanation of it here. Basically, if you need to have information available between abilities (e.g., triggered ability, static ability, spell ability, etc..) you need to save that information in a linked ability data chest. For instance, take a card like Fiend Hunter. It has two triggered abilities: an enter the battlefield and a leaves the battlefield triggered ability. Since the two triggered abilities depend on each other (they both need to know the exiled card) the pointer to the exiled card needs to be saved in a linked ability data chest.
And to reiterate what was said above, MTG Salvation gives good explanations and examples of abilities:
- Triggered Ability - Usually denoted by the wording "when", "whenever" or "as" and in the form of [Whenever/When/As] [Trigger Condition], [Effect]
- Activated Abilities - Usually written as [Cost]: [Effect] with a colon separating the activation cost and the effect
- Static Ability - An ability that isn't a triggered or activated ability (
) but can be identified as something that is always on and cannot be turned off unless it's affected by another spell or ability (like Trample or the P/T of Primalcrux)
-----------------------------------------------------------------------
Song of the Day: 46 and 2 (cover)
Song of the Day: 46 and 2 (cover)
Re: Formal Request Thread
by jacque » 08 Oct 2013, 02:39
Aaa... I think I understood what you meant... I need to keep track of cards that uses replacement and linked abilities so I could compare and learn... I came across cards like that before but forgot to keep references bout them
thanks yea 


Learn making your own cards today!!!
Click on
if a post/reply helped you.
I stitch old cards together to make new ones...
~ Jacque, the confused
Click on

I stitch old cards together to make new ones...
~ Jacque, the confused
Re: Formal Request Thread
by fallenangle » 08 Oct 2013, 03:04
Okay, so I ironed out the bugs in the XML code and the Duplicant seems to exile cards properly, but the Clone ability (any of it) doesn't seem to trigger. I notice that there are tags like Get_Power and Get_Toughness, but how would you go about making sure the Duplicant inherited the creature type properly?
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Who is online
Users browsing this forum: No registered users and 9 guests