It is currently 20 Jul 2025, 13:44
   
Text Size

Formal Request Thread

Moderator: CCGHQ Admins

Re: Formal Request Thread

Postby jacque » 07 Oct 2013, 02:25

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.)
From what I know... it all depends on how you set your:
- 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)
So for your Clone ability, you can use the "target" that was defined above... and when you wanna reference to the same target creature again under another ability, you can still redefine the same "target" as above...
Learn making your own cards today!!!

Click on Image if a post/reply helped you.

I stitch old cards together to make new ones...

~ Jacque, the confused
jacque
 
Posts: 217
Joined: 07 Jun 2013, 20:11
Has thanked: 26 times
Been thanked: 44 times

Re: Formal Request Thread

Postby 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>
Thanks for all your help
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Formal Request Thread

Postby thefiremind » 07 Oct 2013, 11:04

fallenangle wrote:Riiak's Deckbuilder won't even read the card
That's because you saved it with ANSI encoding, I can see it by the "?" on the Japanese text.
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).
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 [...].
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.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Formal Request Thread

Postby NEMESiS » 07 Oct 2013, 13:00

Well, I wont be of much help but I can say this:


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>
The reason the card does not even show up is because it ends with a resolution time action there^. You can always check whether the xml is correct by pasting the code here:

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.
User avatar
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

Postby 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?
-----------------------------------------------------------------------
Song of the Day: 46 and 2 (cover)
MC Brodie
 
Posts: 310
Joined: 01 Jun 2013, 00:10
Has thanked: 44 times
Been thanked: 34 times

Re: Formal Request Thread

Postby thefiremind » 07 Oct 2013, 14:07

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.
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: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?
Same rule: when you exile the creature it's treated as a different card, so the answers are 1/1 and 0/0. :) On the other hand, creatures with variable P/T (such as Primalcrux) have their P/T setting ability working in any zone, so the Duplicant would act as if it had the same ability.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Formal Request Thread

Postby 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 &gt; 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 &gt; 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 &gt; 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>
drleg3nd
 
Posts: 528
Joined: 14 May 2012, 20:05
Has thanked: 5 times
Been thanked: 30 times

Re: Formal Request Thread

Postby 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.
Code: Select all
 filter:Add( FE_CONTROLLER, OP_IS, EffectController())
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.

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)
Change this line to:
Code: Select all
local target = EffectDC():Get_Targets(2):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).
-----------------------------------------------------------------------
Song of the Day: 46 and 2 (cover)
MC Brodie
 
Posts: 310
Joined: 01 Jun 2013, 00:10
Has thanked: 44 times
Been thanked: 34 times

Re: Formal Request Thread

Postby drleg3nd » 08 Oct 2013, 00:00

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.
Code: Select all
 filter:Add( FE_CONTROLLER, OP_IS, EffectController())
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.

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)
Change this line to:
Code: Select all
local target = EffectDC():Get_Targets(2):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).
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.
drleg3nd
 
Posts: 528
Joined: 14 May 2012, 20:05
Has thanked: 5 times
Been thanked: 30 times

Re: Formal Request Thread

Postby jacque » 08 Oct 2013, 00:29

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.
You should be able to notice these:
- <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 Image if a post/reply helped you.

I stitch old cards together to make new ones...

~ Jacque, the confused
jacque
 
Posts: 217
Joined: 07 Jun 2013, 20:11
Has thanked: 26 times
Been thanked: 44 times

Re: Formal Request Thread

Postby drleg3nd » 08 Oct 2013, 00:46

thx jacque..like i said i had an idea just wanted to make sure my assumptions are right
drleg3nd
 
Posts: 528
Joined: 14 May 2012, 20:05
Has thanked: 5 times
Been thanked: 30 times

Re: Formal Request Thread

Postby jacque » 08 Oct 2013, 00:51

drleg3nd wrote:thx jacque..like i said i had an idea just wanted to make sure my assumptions are right
What's confusing to me is when tags like <TRIGGERED_ABILITY> has a replacement_effect="1" to it... Or even linked_ability to it
Learn making your own cards today!!!

Click on Image if a post/reply helped you.

I stitch old cards together to make new ones...

~ Jacque, the confused
jacque
 
Posts: 217
Joined: 07 Jun 2013, 20:11
Has thanked: 26 times
Been thanked: 44 times

Re: Formal Request Thread

Postby MC Brodie » 08 Oct 2013, 01:31

jacque wrote:
drleg3nd wrote:thx jacque..like i said i had an idea just wanted to make sure my assumptions are right
What's confusing to me is when tags like <TRIGGERED_ABILITY> has a replacement_effect="1" to it... Or even linked_ability to it
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.

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 ( :wink: ) 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)
MC Brodie
 
Posts: 310
Joined: 01 Jun 2013, 00:10
Has thanked: 44 times
Been thanked: 34 times

Re: Formal Request Thread

Postby 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 Image if a post/reply helped you.

I stitch old cards together to make new ones...

~ Jacque, the confused
jacque
 
Posts: 217
Joined: 07 Jun 2013, 20:11
Has thanked: 26 times
Been thanked: 44 times

Re: Formal Request Thread

Postby 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

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 8 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 8 users online :: 0 registered, 0 hidden and 8 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 8 guests

Login Form