It is currently 20 Jul 2025, 04:17
   
Text Size

Formal Request Thread

Moderator: CCGHQ Admins

Re: Formal Request Thread

Postby Misplay » 14 Dec 2013, 13:49

This change was made for the "fantasy flavour" of the game.

PS: Don't know if this could help, but here's the code of Skeletal Scrying for DotP 2013 (written by Sumomole).
Code: Select all
<?xml version='1.0'?>
<CARD_V2>
  <FILENAME text="SKELETAL_SCRYING_625293" />
  <CARDNAME text="SKELETAL_SCRYING" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Skeletal Scrying]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Skeletal Scrying]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Skeletal Scrying]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Skeletal Scrying]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Skeletal Scrying]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Skeletal Scrying]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Skeletal Scrying]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Skeletal Scrying]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Skeletal Scrying]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="625293" />
  <ARTID value="625293" />
  <ARTIST name="Bob Petillo" />
  <CASTING_COST cost="{X}{B}" />
  <TYPE metaname="Instant" />
  <EXPANSION value="DPG" />
  <RARITY metaname="U" />
  <UTILITY_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As an additional cost to cast Skeletal Scrying, exile X cards from your graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[As an additional cost to cast Skeletal Scrying, exile X cards from your graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[As an additional cost to cast Skeletal Scrying, exile X cards from your graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[As an additional cost to cast Skeletal Scrying, exile X cards from your graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[As an additional cost to cast Skeletal Scrying, exile X cards from your graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[As an additional cost to cast Skeletal Scrying, exile X cards from your graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[As an additional cost to cast Skeletal Scrying, exile X cards from your graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[As an additional cost to cast Skeletal Scrying, exile X cards from your graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[As an additional cost to cast Skeletal Scrying, exile X cards from your graveyard.]]></LOCALISED_TEXT>
    <COST type="generic" qualifier="additional">
      <TARGET_DEFINITION id="6">
      local filter = Object():GetFilter()
      filter:Clear()
      filter:SetZone( ZONE_GRAVEYARD )
      filter:SetPlayer( EffectController() )
      filter:SetCardInstance( Object() )
      filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
      filter:SetHint( HINT_ENEMY, EffectController() )
      filter:NotTargetted()
      </TARGET_DEFINITION>
      <PLAY_TIME_ACTION>
      local total = GetObjectX()
      local player = EffectController()
      player:SetTargetCount( total )
      for i=0,total-1 do
         player:SetTargetPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
      end
      player:ChooseTargets( 6, EffectDC():Make_Targets(0) )
      </PLAY_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
      local total = GetObjectX()
      if EffectDC():Get_Targets(0) ~= nil and total &gt; 0 then
        for i=0,total-1 do
          local target = EffectDC():Get_Targets(0):Get_CardPtr(i)
          if target ~= nil then
            target:RemoveFromGame()
             end
          end
      end
      </RESOLUTION_TIME_ACTION></COST>
  </UTILITY_ABILITY>
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[You draw X cards and you lose X life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[You draw X cards and you lose X life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[You draw X cards and you lose X life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[You draw X cards and you lose X life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[You draw X cards and you lose X life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[You draw X cards and you lose X life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[You draw X cards and you lose X life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[You draw X cards and you lose X life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[You draw X cards and you lose X life.]]></LOCALISED_TEXT>
    <PLAY_TIME_ACTION>
    local filter = Object():GetFilter()
    filter:Clear()
    filter:NotTargetted()
    filter:SetZone( ZONE_GRAVEYARD )
    filter:SetPlayer( EffectController() )
    filter:SetCardInstance( Object() )
    filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
    local total = filter:Count()
    if GetObjectX() &gt; total then
      ObjectDC():Set_Int(COMPARTMENT_ID_X, total)
    end
    </PLAY_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local player = EffectController()
    if player ~= nil then
       PlayerDrawCards( player, GetObjectX() )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local player = EffectController()
    if player ~= nil then
       player:LoseLife(GetObjectX())
    end
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>
  <AI_AVAILABILITY type="in_response" />
  <AI_AVAILABILITY step="main_1" turn="my_turn" />
  <AI_AVAILABILITY step="main_2" turn="my_turn" />
  <AI_AVAILABILITY step="end_of_turn" turn="their_turn" />
  <AI_BASE_SCORE score="600" zone="ZONE_HAND" />
</CARD_V2>
Misplay
 
Posts: 92
Joined: 29 Aug 2013, 08:26
Has thanked: 50 times
Been thanked: 10 times

Re: Formal Request Thread

Postby thefiremind » 14 Dec 2013, 14:00

Misplay wrote:This change was made for the "fantasy flavour" of the game.

PS: Don't know if this could help, but here's the code of Skeletal Scrying for DotP 2013 (written by Sumomole).
Well, sumomole probably knows better, but there's something that worries me about this card: can the game prevent you from choosing a value for {X} that is higher than the cards in your graveyard? I'm afraid it can't.
< 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 RiiakShiNal » 14 Dec 2013, 15:07

thefiremind wrote:
wtb300 wrote:I was under the impression that removed from the game and exile were not the same thing?
"Exile" is the most recent way to mean "remove from the game", just as "dies" is the most recent way to mean "is put into a graveyard from the battlefield" for creatures (which incidentally was "is put into a graveyard from play" before the term "battlefield" was born). Terms are often switched with shorter ones in Magic, and older cards receive "errata" with the new wording. But of course, card pictures can't be changed and still have the old wording.
Though it should also be noted that the rules regarding this were changed somewhat as well as before if something was "removed from the game" it was gone for good, but now there are cards that interact with cards in "Exile". For example Feldon's Cane (granted Elixir of Immortality is better) used to be a one-off card, but now it can be brought back with Mirror of Fate, Pull from Eternity, or Riftsweeper.

This also has implications for cards that specifically target cards that are "Outside the game" such as Cunning Wish, Death Wish, Burning Wish, Spawnsire of Ulamog, etc.... as they are not able to bring in cards from Exile, but can bring in cards that weren't in the game to begin with.

So while this seems like a simple change to reduce the wording there were actually some game changes associated with it. So it is somewhat different than some wording changes (like changing "Doesn't tap to attack" to "Vigilance" in Serra Angel and other such cards), but I think it made the rules more clear and consistent.

Though with rule and text changes you have to be careful because not all cards will receive errata, for example Doubtless One, Essence Sliver, and El-Hajjaj has an ability that sounds like it should have been replaced with "Lifelink" (it works virtually identically), but because it does not specifically have "Lifelink" its ability is actually separate and can stack with Lifelink (so you could gain life equal to 2x the damage it deals).
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Formal Request Thread

Postby MC Brodie » 14 Dec 2013, 16:24

thexlich wrote:Would the card Aqueous Form be possible?
Here ya go. It is not compatible with cards that trigger when someone scrys. If you would like it to, you would have to tell me which mod you would like it to be compatible with.
Aqueous Form | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="AQUEOUS_FORM_867373715" />
  <CARDNAME text="AQUEOUS_FORM" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Aqueous Form]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Forme aqueuse]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Forma acuosa]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wassergestalt]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Forma Acquea]]></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[Forma Aquosa]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="867373715" />
  <ARTID value="867373715" />
  <ARTIST name="Slawomir Maniak" />
  <CASTING_COST cost="{U}" />
  <TYPE metaname="Enchantment" />
  <SUB_TYPE metaname="Aura" />
  <EXPANSION value="THS" />
  <RARITY metaname="C" />
  <SPELL_ABILITY attach_definition="0">
   <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
   <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanter : créature]]></LOCALISED_TEXT>
   <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Encantar criatura.]]></LOCALISED_TEXT>
   <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Verzaubert eine Kreatur]]></LOCALISED_TEXT>
   <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Incanta creatura]]></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[Encantar criatura]]></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 can’t be blocked.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[La créature enchantée ne peut pas être bloquée.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[La criatura encantada no puede ser bloqueada.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die verzauberte Kreatur kann nicht geblockt werden.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura incantata non può essere bloccata.]]></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[A criatura encantada não pode ser bloqueada.]]></LOCALISED_TEXT>
   <CONTINUOUS_ACTION layer="8">
    local parent = EffectSource():GetParent()
    if parent ~= nil then
       parent:GetCurrentCharacteristics():Bool_Set( CHARACTERISTIC_UNBLOCKABLE, 1 )
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <TRIGGERED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever enchanted creature attacks, scry 1.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que la créature enchantée attaque, regard 1.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que la criatura encantada ataque, adivina 1.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn die verzauberte Kreatur angreift, wende Hellsicht 1 an.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta la creatura incantata attacca, profetizza 1.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャントされているクリーチャーが攻撃するたび、占術1を行う。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[부여된 생물이 공격할 때마다, 점술 1을 한다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда зачарованное существо атакует, предскажите 1.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que a criatura encantada atacar, use vidência 1.]]></LOCALISED_TEXT>
   <TRIGGER value="ATTACKING">
    return TriggerObject() == EffectSource():GetParent()
    </TRIGGER>
   <RESOLUTION_TIME_ACTION>
   local player = EffectController()
   if player ~= nil then
      local scryDC = EffectDC():Make_Chest(10)
      if player:Library_Count() > 0 then
         for i=0,1-1 do
            scryDC:Set_CardPtr( i, player:Library_GetNth(i) )
         end
         player:SetItemCount(1)
         for i=0,1-1 do
            player:SetItemPrompt(i, "CARD_QUERY_CHOOSE_CARD_TO_PUT_ON_BOTTOM_LIBRARY")
         end       
         player:ChooseItemsFromDC( scryDC, EffectDC():Make_Targets(11), QUERY_FLAG_UP_TO )
      end
   end
   </RESOLUTION_TIME_ACTION>
   <RESOLUTION_TIME_ACTION>
   local player = EffectController()
   if player ~= nil then
      local bottomDC = EffectDC():Get_Targets(11)
      if bottomDC ~= nil then
         local scryDC = EffectDC():Get_Chest(10)
         local bottom_count = bottomDC:Count()
         if bottom_count > 0 then
            for i=0,bottom_count-1 do
               bottomDC:Get_CardPtr(i):PutOnBottomOfLibrary()
            end
         end
      end
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
</CARD_V2>
warum wrote:Has anyone made a functional version of Skullcrack?

I found only one version of it when searching (viewtopic.php?f=64&t=4557&p=121550&hilit=Skullcrack#p121550), but the game crashes when the spell is used so I'm guessing something's wrong with it.
Ok I took a few attempts and couldn't get the "damage can't be prevented" part of the code to work. It looks like sumomole used some functions in 2013 that we don't have anymore and my attempts turned up nothing. You'll need a modder who actually knows what they are doing :).
-----------------------------------------------------------------------
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 » 14 Dec 2013, 16:43

MC Brodie wrote:Ok I took a few attempts and couldn't get the "damage can't be prevented" part of the code to work. It looks like sumomole used some functions in 2013 that we don't have anymore and my attempts turned up nothing. You'll need a modder who actually knows what they are doing :).
That's right, DotP2014 reduced unpreventability management to just one function: DealUnpreventableDamageTo, which is pretty useless by itself if you ask me. :roll: The only thing you could do is to reduce the original damage to 0 and then deal it again with that function, but this way you would lose the information about whether it's combat damage or not, and the combat damage triggers would stop working.
< 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 Deadpoolmtg » 14 Dec 2013, 20:43

Has anyone coded this cards? [-o<

Transmute Artifact
Sword of the Meek
Thopter Foundry
Ashnod's Altar

I'd like to make a legacy deck with these, but i cannot find in any wad...
User avatar
Deadpoolmtg
 
Posts: 12
Joined: 02 Jul 2013, 17:25
Has thanked: 28 times
Been thanked: 0 time

Re: Formal Request Thread

Postby NeoAnderson » 14 Dec 2013, 22:18

Deadpoolmtg wrote:Has anyone coded this cards? [-o<

Transmute Artifact
Sword of the Meek
Thopter Foundry
Ashnod's Altar

I'd like to make a legacy deck with these, but i cannot find in any wad...
About Ashnod's Altar you can find it here :
Riiak Mod | Open
http://mtg.dragonanime.org/index.php?title=DotP_2014:_Riiak%27s_Mod

The other cards i think need to be coded, i am not so skilled but i can try to make something. :-)
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby NeoAnderson » 15 Dec 2013, 00:47

NeoAnderson wrote:
Deadpoolmtg wrote:Has anyone coded this cards? [-o<

Transmute Artifact
Sword of the Meek
Thopter Foundry
Ashnod's Altar

I'd like to make a legacy deck with these, but i cannot find in any wad...
About Ashnod's Altar you can find it here :
Riiak Mod | Open
http://mtg.dragonanime.org/index.php?title=DotP_2014:_Riiak%27s_Mod

The other cards i think need to be coded, i am not so skilled but i can try to make something. :-)
I made one of the card you have requested.
As i told i am not so skilled so other skilled Users can tell if is ok or not :-)


Transmute Artifact | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="TRANSMUTE_ARTIFACT_202616" />
  <CARDNAME text="TRANSMUTE_ARTIFACT" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="202616" />
  <ARTID value="202616" />
  <ARTIST name="Anson Maddocks" />
  <CASTING_COST cost="{U}{U}" />
  <TYPE metaname="Sorcery" />
  <EXPANSION value="ME4" />
  <RARITY metaname="R" />
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sacrifice an artifact. If you do, search your library for an artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s

converted mana cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your

library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sacrifice an artifact. If you do, search your library for an artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s

converted mana cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your

library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sacrifice an artifact. If you do, search your library for an artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s

converted mana cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your

library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sacrifice an artifact. If you do, search your library for an artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s

converted mana cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your

library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sacrifica un artefatto. Se lo fai, passa in rassegna il tuo grimorio per una carta artefatto. Se il costo di mana convertito di quella carta è minore o uguale al costo

di mana convertito dell’artefatto sacrificato, mettila sul campo di battaglia. Se è maggiore, puoi pagare {X}, dove X è la differenza dei costi. Se lo fai, mettila sul campo di battaglia. Se non lo fai, mettila nel

cimitero del proprietario. Poi rimescola il tuo grimorio.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Sacrifice an artifact. If you do, search your library for an artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s

converted mana cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your

library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Sacrifice an artifact. If you do, search your library for an artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s

converted mana cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your

library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Sacrifice an artifact. If you do, search your library for an artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s

converted mana cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your

library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sacrifice an artifact. If you do, search your library for an artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s

converted mana cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your

library.]]></LOCALISED_TEXT>
<AVAILABILITY>
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    local oArtifacts = filter:Count()
    if oArtifacts &gt; 0 then
    return true
    else
    return false
    end
</AVAILABILITY>

<PLAY_TIME_ACTION>
       local filter = ClearFilter()
       filter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
       filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       EffectController():ChooseItem( "CARD_QUERY_CHOOSE_ARTIFACT_TO_SACRIFICE", EffectDC():Make_Targets(0), QUERY_FLAG_MAY )
</PLAY_TIME_ACTION>

<RESOLUTION_TIME_ACTION>
       local oArtifactSacrified = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
       if oArtifactSacrified ~= nil then
                local cmc = oArtifactSacrified:GetConvertedManaCost()
          EffectController():Sacrifice( oArtifactSacrified )
          EffectDC():Set_Int( 10, cmc )
                EffectDC():Set_Int( 20, 1 )
       end
</RESOLUTION_TIME_ACTION>

<RESOLUTION_TIME_ACTION>
local oArtifactSacrified = EffectDC():Get_Int(20)
if oArtifactSacrified == 1 then
    local filter = ClearFilter()
    filter:SetZone( ZONE_LIBRARY, EffectController() )
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
    EffectController():ChooseItem ("CARD_QUERY_CHOOSE_ARTIFACT_TO_PUT_ONTO_BATTLEFIELD", EffectDC():Make_Targets(1) )
end
</RESOLUTION_TIME_ACTION>

<RESOLUTION_TIME_ACTION>
local oArtifactSacrified = EffectDC():Get_Int(20)
if oArtifactSacrified == 1 then
    local oSacrifiedArtifactCMC =  EffectDC():Get_Int(10)
    local oPlayer = EffectController()
    local oCard = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
     if (oPlayer ~= nil)  and (oCard ~= nil) then
     local oCardCMC = oCard:GetConvertedManaCost()
       if oCardCMC &lt;= oSacrifiedArtifactCMC then
           oCard:PutOntoBattlefield( EffectController() )
        else
        local oCostDifference = oCardCMC - oSacrifiedArtifactCMC
        local oCostString = "{"..oCostDifference.."}"
           if oPlayer:CanPayManaCost(oCostString) then
          oPlayer:BeginNewMultipleChoice()
          oPlayer:AddMultipleChoiceAnswer("CARD_QUERY_OPTION_MOVETO_GRAVEYARD")
          oPlayer:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_PAY_UNDEFINED_AND_CAST_"..oCostDifference, oPlayer:CanPayManaCost(oCostString) )
          oPlayer:AskMultipleChoiceQuestion("CARD_QUERY_ACTION_GRAVEYARD_OR_PAY", oCard)
                EffectDC():Set_Int( 30, 1 )
           else
               oCard:PutInGraveyard()
          end
        end
     end
end
    </RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local oArtifactSacrified = EffectDC():Get_Int(30)
if oArtifactSacrified == 1 then
    local oSacrifiedArtifactCMC =  EffectDC():Get_Int(10)
    local oPlayer = EffectController()
    local oCard = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
     if (oPlayer ~= nil)  and (oCard ~= nil) then
     local oCardCMC = oCard:GetConvertedManaCost()
     local oCostDifference = oCardCMC - oSacrifiedArtifactCMC
     local oCostString = "{"..oCostDifference.."}"
       if oPlayer:CanPayManaCost(oCostString) and oPlayer:GetMultipleChoiceResult() == 1 then
     oPlayer:PayManaCost(oCostString)
          oCard:PutOntoBattlefield( EffectController() )
       else
          oCard:PutInGraveyard()
       end
       
    end
end
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>
</CARD_V2>
Here you can find the needed files :
Transmute Artifact.zip
Transmute Artifact XML + TDX
(597.68 KiB) Downloaded 225 times


You also need to add the follow files to the folder DATA_DLC_DECK_BUILDER_CUSTOM\DATA_ALL_PLATFORMS\TEXT_PERMANENT
It is needed to add the Queries Text. you can include it into a wad if you want.

CARD_UI_TEXT2.zip
QUERIES TEXT
(2.88 KiB) Downloaded 247 times
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby NeoAnderson » 15 Dec 2013, 01:22

Here you can find Sword of the Meek.
Sword of the Meek | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="SWORD_OF_THE_MEEK_126215" />
  <CARDNAME text="SWORD_OF_THE_MEEK" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sword of the Meek]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Épée des humbles]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Espada de los mansos]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Schwert der Sanften]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Spada degli Umili]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[弱者の剣]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Sword of the Meek]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Меч Смиренных]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Espada do Humilde]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="126215" />
  <ARTID value="126215" />
  <ARTIST name="Franz Vohwinkel" />
  <CASTING_COST cost="{2}" />
  <TYPE metaname="Artifact" />
  <SUB_TYPE metaname="Equipment" />
  <EXPANSION value="FUT" />
  <RARITY metaname="U" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Equipped creature gets +1/+2.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[La créature équipée gagne +1/+2.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[La criatura equipada obtiene +1/+2.
Equipar {2}.
Siempre que una criatura 1/1 entre en juego bajo tu control, puedes regresar la Espada de los mansos de tu cementerio al juego y luego anexarla a esa criatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die ausgerüstete Kreatur erhält +1/+2. ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura equipaggiata prende +1/+2.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[装備しているクリーチャーは+1/+2の修整を受ける。 ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Equipped creature gets +1/+2.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Снаряженное существо получает +1/+2.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[A criatura equipada recebe +1/+2. ]]></LOCALISED_TEXT>
   <CONTINUOUS_ACTION layer="7C">
    if EffectSource()~= nil then
       local parent = EffectSource():GetParent()
       if parent ~= nil then
          parent:GetCurrentCharacteristics():Power_Add( 1 )
          parent:GetCurrentCharacteristics():Toughness_Add( 2 )
       end
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
<ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Equip {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Équipement {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Equip {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[ Ausrüsten {2} ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Equipaggiare {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ 装備 {2} ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Equip {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Снарядить {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[ Equipar {2} ]]></LOCALISED_TEXT>
<COST mana_cost="{2}" type="Mana" />
   <AVAILABILITY sorcery_time="1" />
   <AI_AVAILABILITY type="restriction" restriction_type="equip" />
   <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_EQUIP" definition="0" compartment="0" count="1" />
   <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    </TARGET_DEFINITION>

   <RESOLUTION_TIME_ACTION>
    local target_card = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if (target_card ~= nil and EffectSource() ~= nil) then
       EffectSource():Attach( target_card )   
    end
    </RESOLUTION_TIME_ACTION>
      <AUTO_SKIP>
    local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       return false
    else
       return true
    end
    </AUTO_SKIP>
  </ACTIVATED_ABILITY>

  <TRIGGERED_ABILITY active_zone="ZONE_GRAVEYARD">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever a 1/1 creature enters the battlefield under your control, you may return Sword of the Meek from your graveyard to the battlefield, then attach it to that creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois qu’une créature 1/1 arrive en jeu sous votre contrôle, vous pouvez renvoyer en jeu l’Épée des humbles depuis votre cimetière, puis l’attacher à cette créature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever a 1/1 creature enters the battlefield under your control, you may return Sword of the Meek from your graveyard to the battlefield, then attach it to that creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[ Immer wenn eine 1/1 Kreatur unter deiner Kontrolle ins Spiel kommt, kannst du das Schwert der Sanften aus deinem Friedhof in Spiel zurückbringen und dann an diese Kreatur anlegen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta una creatura 1/1 entra nel campo di battaglia sotto il tuo controllo, puoi rimettere sul campo di battaglia la Spada degli Umili dal tuo cimitero, poi assegnarla a quella creatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ 1/1のクリーチャーがあなたのコントロール下で場に出るたび、あなたはあなたの墓地から弱者の剣を場に戻してそのクリーチャーにつけてもよい。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever a 1/1 creature enters the battlefield under your control, you may return Sword of the Meek from your graveyard to the battlefield, then attach it to that creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда существо 1/1 входит в игру под вашим контролем, вы можете вернуть Меч Смиренных из вашего кладбища в игру, затем прикрепите его к тому существу.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[ Toda vez que uma criatura 1/1 entra em jogo sob seu controle, você pode retornar Espada do Humilde de seu cemitério para o jogo, depois anexe-a àquela criatura.]]></LOCALISED_TEXT>
      <TRIGGER value="ZONECHANGE_END" simple_qualifier="objectyoucontrol" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY">
    return (TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE )) and (TriggerObject():GetCurrentToughness() == 1) and (TriggerObject():GetCurrentPower() == 1)   
    </TRIGGER>

    <RESOLUTION_TIME_ACTION>
    local player = EffectController()
    player:BeginNewMultipleChoice()
    player:AddMultipleChoiceAnswer( "YES" )
    player:AddMultipleChoiceAnswer( "NO" )
    player:AskMultipleChoiceQuestion( "CARD_QUERY_ATTACH_TO_TRIGGEROBJECT", TriggerObject() )
    </RESOLUTION_TIME_ACTION>

      <RESOLUTION_TIME_ACTION>
    local result = EffectController():GetMultipleChoiceResult()
    if result == 0 then
       local creature = TriggerObject()
       if  (creature ~= nil and Object() ~= nil) then
                Object():PutOntoBattlefield( EffectController() )
          Object():Attach( creature )
       end
    end
    </RESOLUTION_TIME_ACTION>

  </TRIGGERED_ABILITY>
</CARD_V2>
Here you can find the needed files :
SWORD_OF_THE_MEEK_126215.zip
Sword of the Meek XML and TDX
(350.71 KiB) Downloaded 211 times


THE FOLLOW FILE CAN REPLACE THE PREVIOUS ONE DOWNLOADED WITH TRANSMUTE ARTIFACT.
You also need to add the follow files to the folder DATA_DLC_DECK_BUILDER_CUSTOM\DATA_ALL_PLATFORMS\TEXT_PERMANENT
It is needed to add the Queries Text. you can include it into a wad if you want.

CARD_UI_TEXT3.zip
Queries Text
(3.35 KiB) Downloaded 238 times


Here you can find Thopter Foundry i also included a Token from TFM mod.
Thopter Foundry | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="THOPTER_FOUNDRY_376549" />
  <CARDNAME text="THOPTER_FOUNDRY" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Fonderie mécanoptère]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fundición de tópteros]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Thopter-Gießerei]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Fonderia di Totteri]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[飛行機械の鋳造所]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="376549" />
  <ARTID value="376549" />
  <ARTIST name="Ralph Horsley" />
  <CASTING_COST cost="{W/B}{U}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« L’étherium est rare. L’innovation ne l’est pas. »
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“El eterium es limitado. La innovación, no”.—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Ätherium ist begrenzt vorhanden. Erfindungsgabe nicht.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“L’eterium è limitato. L’innovazione no.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「エーテリウムは限られています。技術の進歩はそうではありません。」
――テゼレット]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Artifact" />
  <EXPANSION value="C13" />
  <RARITY metaname="U" />
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{1}, sacrifiez un artefact non-jeton : Mettez sur le champ de bataille un jeton de créature-artefact 1/1 bleue Mécanoptère avec le vol. Vous gagnez 1 point de vie.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{1}, sacrificar un artefacto que no sea una ficha: Pon en el campo de batalla una ficha de criatura artefacto Tóptero azul 1/1 con la habilidad de volar. Ganas 1 vida.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{1}, opfere ein Artefakt, das kein Spielstein ist: Bringe einen 1/1 blauen Thopter-Artefaktkreaturenspielstein mit Flugfähigkeit ins Spiel. Du erhältst 1 Lebenspunkt dazu.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{1}, Sacrifica un artefatto non pedina: Metti sul campo di battaglia una pedina creatura artefatto Tottero 1/1 blu con volare. Guadagni 1 punto vita.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{1}, トークンでないアーティファクトを1つ生け贄に捧げる:飛行を持つ青の1/1の飛行機械・アーティファクト・クリーチャー・トークンを1体戦場に出す。あなたは1点のライフを得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <COST type="Sacrifice" definition="0" compartment="1" query_tag="CARD_QUERY_CHOOSE_ARTIFACT_TO_SACRIFICE" item_count="1" />
    <COST_DEFINITION id="0">
    local filter = ClearFilter()
        filter:Add(FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT)
          filter:Add( FE_IS_TOKEN, false )
    </COST_DEFINITION>

    <RESOLUTION_TIME_ACTION>
    MTG():PutTokensOntoBattlefield( "TOKEN_THOPTER_1_1_U_F_199900002", 1, EffectController() )
    </RESOLUTION_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
    EffectController():GainLife(1)
    </RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
   <TOKEN_REGISTRATION reservation="1" type="TOKEN_THOPTER_1_1_U_F_199900002" /> 
</CARD_V2>
Here you can find the needed files :
THOPTER_FOUNDRY_376549.zip
Card + Token + Tdx files
(657.32 KiB) Downloaded 232 times
Last edited by NeoAnderson on 15 Dec 2013, 05:11, edited 1 time in total.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby Deadpoolmtg » 15 Dec 2013, 03:27

NeoAnderson wrote:Here you can find Sword of the Meek.
Sword of the Meek | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="SWORD_OF_THE_MEEK_126215" />
  <CARDNAME text="SWORD_OF_THE_MEEK" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sword of the Meek]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Épée des humbles]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Espada de los mansos]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Schwert der Sanften]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Spada degli Umili]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[弱者の剣]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Sword of the Meek]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Меч Смиренных]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Espada do Humilde]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="126215" />
  <ARTID value="126215" />
  <ARTIST name="Franz Vohwinkel" />
  <CASTING_COST cost="{2}" />
  <TYPE metaname="Artifact" />
  <SUB_TYPE metaname="Equipment" />
  <EXPANSION value="FUT" />
  <RARITY metaname="U" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Equipped creature gets +1/+2.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[La créature équipée gagne +1/+2.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[La criatura equipada obtiene +1/+2.
Equipar {2}.
Siempre que una criatura 1/1 entre en juego bajo tu control, puedes regresar la Espada de los mansos de tu cementerio al juego y luego anexarla a esa criatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die ausgerüstete Kreatur erhält +1/+2. ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura equipaggiata prende +1/+2.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[装備しているクリーチャーは+1/+2の修整を受ける。 ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Equipped creature gets +1/+2.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Снаряженное существо получает +1/+2.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[A criatura equipada recebe +1/+2. ]]></LOCALISED_TEXT>
   <CONTINUOUS_ACTION layer="7C">
    if EffectSource()~= nil then
       local parent = EffectSource():GetParent()
       if parent ~= nil then
          parent:GetCurrentCharacteristics():Power_Add( 1 )
          parent:GetCurrentCharacteristics():Toughness_Add( 2 )
       end
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
<ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Equip {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Équipement {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Equip {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[ Ausrüsten {2} ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Equipaggiare {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ 装備 {2} ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Equip {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Снарядить {2}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[ Equipar {2} ]]></LOCALISED_TEXT>
<COST mana_cost="{2}" type="Mana" />
   <AVAILABILITY sorcery_time="1" />
   <AI_AVAILABILITY type="restriction" restriction_type="equip" />
   <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_EQUIP" definition="0" compartment="0" count="1" />
   <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    </TARGET_DEFINITION>

   <RESOLUTION_TIME_ACTION>
    local target_card = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if (target_card ~= nil and EffectSource() ~= nil) then
       EffectSource():Attach( target_card )   
    end
    </RESOLUTION_TIME_ACTION>
      <AUTO_SKIP>
    local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       return false
    else
       return true
    end
    </AUTO_SKIP>
  </ACTIVATED_ABILITY>

  <TRIGGERED_ABILITY active_zone="ZONE_GRAVEYARD">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever a 1/1 creature enters the battlefield under your control, you may return Sword of the Meek from your graveyard to the battlefield, then attach it to that creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois qu’une créature 1/1 arrive en jeu sous votre contrôle, vous pouvez renvoyer en jeu l’Épée des humbles depuis votre cimetière, puis l’attacher à cette créature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever a 1/1 creature enters the battlefield under your control, you may return Sword of the Meek from your graveyard to the battlefield, then attach it to that creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[ Immer wenn eine 1/1 Kreatur unter deiner Kontrolle ins Spiel kommt, kannst du das Schwert der Sanften aus deinem Friedhof in Spiel zurückbringen und dann an diese Kreatur anlegen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta una creatura 1/1 entra nel campo di battaglia sotto il tuo controllo, puoi rimettere sul campo di battaglia la Spada degli Umili dal tuo cimitero, poi assegnarla a quella creatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ 1/1のクリーチャーがあなたのコントロール下で場に出るたび、あなたはあなたの墓地から弱者の剣を場に戻してそのクリーチャーにつけてもよい。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever a 1/1 creature enters the battlefield under your control, you may return Sword of the Meek from your graveyard to the battlefield, then attach it to that creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда существо 1/1 входит в игру под вашим контролем, вы можете вернуть Меч Смиренных из вашего кладбища в игру, затем прикрепите его к тому существу.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[ Toda vez que uma criatura 1/1 entra em jogo sob seu controle, você pode retornar Espada do Humilde de seu cemitério para o jogo, depois anexe-a àquela criatura.]]></LOCALISED_TEXT>
      <TRIGGER value="ZONECHANGE_END" simple_qualifier="objectyoucontrol" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY">
    return (TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE )) and (TriggerObject():GetCurrentToughness() == 1) and (TriggerObject():GetCurrentPower() == 1)   
    </TRIGGER>

    <RESOLUTION_TIME_ACTION>
    local player = EffectController()
    player:BeginNewMultipleChoice()
    player:AddMultipleChoiceAnswer( "YES" )
    player:AddMultipleChoiceAnswer( "NO" )
    player:AskMultipleChoiceQuestion( "CARD_QUERY_ATTACH_TO_TRIGGEROBJECT", TriggerObject() )
    </RESOLUTION_TIME_ACTION>

      <RESOLUTION_TIME_ACTION>
    local result = EffectController():GetMultipleChoiceResult()
    if result == 0 then
       local creature = TriggerObject()
       if  (creature ~= nil and Object() ~= nil) then
                Object():PutOntoBattlefield( EffectController() )
          Object():Attach( creature )
       end
    end
    </RESOLUTION_TIME_ACTION>

  </TRIGGERED_ABILITY>
</CARD_V2>
Here you can find the needed files :
SWORD_OF_THE_MEEK_126215.zip


THE FOLLOW FILE CAN REPLACE THE PREVIOUS ONE DOWNLOADED WITH TRANSMUTE ARTIFACT.
You also need to add the follow files to the folder DATA_DLC_DECK_BUILDER_CUSTOM\DATA_ALL_PLATFORMS\TEXT_PERMANENT
It is needed to add the Queries Text. you can include it into a wad if you want.

CARD_UI_TEXT3.zip


Here you can find Thopter Foundry i also included a Token from TFM mod.
Thopter Foundry | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="THOPTER_FOUNDRY_376549" />
  <CARDNAME text="THOPTER_FOUNDRY" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Fonderie mécanoptère]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fundición de tópteros]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Thopter-Gießerei]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Fonderia di Totteri]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[飛行機械の鋳造所]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="376549" />
  <ARTID value="376549" />
  <ARTIST name="Ralph Horsley" />
  <CASTING_COST cost="{W/B}{U}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« L’étherium est rare. L’innovation ne l’est pas. »
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“El eterium es limitado. La innovación, no”.—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Ätherium ist begrenzt vorhanden. Erfindungsgabe nicht.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“L’eterium è limitato. L’innovazione no.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「エーテリウムは限られています。技術の進歩はそうではありません。」
――テゼレット]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Artifact" />
  <EXPANSION value="C13" />
  <RARITY metaname="U" />
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{1}, sacrifiez un artefact non-jeton : Mettez sur le champ de bataille un jeton de créature-artefact 1/1 bleue Mécanoptère avec le vol. Vous gagnez 1 point de vie.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{1}, sacrificar un artefacto que no sea una ficha: Pon en el campo de batalla una ficha de criatura artefacto Tóptero azul 1/1 con la habilidad de volar. Ganas 1 vida.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{1}, opfere ein Artefakt, das kein Spielstein ist: Bringe einen 1/1 blauen Thopter-Artefaktkreaturenspielstein mit Flugfähigkeit ins Spiel. Du erhältst 1 Lebenspunkt dazu.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{1}, Sacrifica un artefatto non pedina: Metti sul campo di battaglia una pedina creatura artefatto Tottero 1/1 blu con volare. Guadagni 1 punto vita.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{1}, トークンでないアーティファクトを1つ生け贄に捧げる:飛行を持つ青の1/1の飛行機械・アーティファクト・クリーチャー・トークンを1体戦場に出す。あなたは1点のライフを得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <COST type="Sacrifice" definition="0" compartment="1" query_tag="CARD_QUERY_CHOOSE_ARTIFACT_TO_SACRIFICE" item_count="1" />
    <COST_DEFINITION id="0">
    local filter = ClearFilter()
        filter:Add(FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT)
          filter:Add( FE_IS_TOKEN, false )
    </COST_DEFINITION>

    <RESOLUTION_TIME_ACTION>
    MTG():PutTokensOntoBattlefield( "TOKEN_THOPTER_1_1_U_F_199900002", 1, EffectController() )
    </RESOLUTION_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
    EffectController():GainLife(1)
    </RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
   <TOKEN_REGISTRATION reservation="1" type="TOKEN_THOPTER_1_1_U_F_199900002" /> 
</CARD_V2>
Here you can find the needed files :
THOPTER_FOUNDRY_376549.zip
Thank you so much for the cards! :D

Sword of the Meek and Transmute Artifact are working perfectly, but Thopter Foundry are activating at "0: sacrifice an artifact" cost instead of "1:sacrifice an artifact", any idea why?
User avatar
Deadpoolmtg
 
Posts: 12
Joined: 02 Jul 2013, 17:25
Has thanked: 28 times
Been thanked: 0 time

Re: Formal Request Thread

Postby NeoAnderson » 15 Dec 2013, 03:34

Deadpoolmtg wrote:Thank you so much for the cards! :D

Sword of the Meek and Transmute Artifact are working perfectly, but Thopter Foundry are activating at "0: sacrifice an artifact" cost instead of "1:sacrifice an artifact", any idea why?
Sorry I made them quickly and i miss the activation cost.
Here you can find the revised and working code :
Thopter Foundry | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="THOPTER_FOUNDRY_376549" />
  <CARDNAME text="THOPTER_FOUNDRY" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Fonderie mécanoptère]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fundición de tópteros]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Thopter-Gießerei]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Fonderia di Totteri]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[飛行機械の鋳造所]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Thopter Foundry]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="376549" />
  <ARTID value="376549" />
  <ARTIST name="Ralph Horsley" />
  <CASTING_COST cost="{W/B}{U}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« L’étherium est rare. L’innovation ne l’est pas. »
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“El eterium es limitado. La innovación, no”.—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Ätherium ist begrenzt vorhanden. Erfindungsgabe nicht.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“L’eterium è limitato. L’innovazione no.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「エーテリウムは限られています。技術の進歩はそうではありません。」
――テゼレット]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Etherium is limited. Innovation is not.”
—Tezzeret]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Artifact" />
  <EXPANSION value="C13" />
  <RARITY metaname="U" />
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{1}, sacrifiez un artefact non-jeton : Mettez sur le champ de bataille un jeton de créature-artefact 1/1 bleue Mécanoptère avec le vol. Vous gagnez 1 point de vie.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{1}, sacrificar un artefacto que no sea una ficha: Pon en el campo de batalla una ficha de criatura artefacto Tóptero azul 1/1 con la habilidad de volar. Ganas 1 vida.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{1}, opfere ein Artefakt, das kein Spielstein ist: Bringe einen 1/1 blauen Thopter-Artefaktkreaturenspielstein mit Flugfähigkeit ins Spiel. Du erhältst 1 Lebenspunkt dazu.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{1}, Sacrifica un artefatto non pedina: Metti sul campo di battaglia una pedina creatura artefatto Tottero 1/1 blu con volare. Guadagni 1 punto vita.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{1}, トークンでないアーティファクトを1つ生け贄に捧げる:飛行を持つ青の1/1の飛行機械・アーティファクト・クリーチャー・トークンを1体戦場に出す。あなたは1点のライフを得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{1}, Sacrifice a nontoken artifact: Put a 1/1 blue Thopter artifact creature token with flying onto the battlefield. You gain 1 life.]]></LOCALISED_TEXT>
    <COST mana_cost="{1}" type="Mana" />
    <COST type="Sacrifice" definition="0" compartment="1" query_tag="CARD_QUERY_CHOOSE_ARTIFACT_TO_SACRIFICE" item_count="1" />
    <COST_DEFINITION id="0">
    local filter = ClearFilter()
        filter:Add(FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT)
          filter:Add( FE_IS_TOKEN, false )
    </COST_DEFINITION>

    <RESOLUTION_TIME_ACTION>
    MTG():PutTokensOntoBattlefield( "TOKEN_THOPTER_1_1_U_F_199900002", 1, EffectController() )
    </RESOLUTION_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
    EffectController():GainLife(1)
    </RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
   <TOKEN_REGISTRATION reservation="1" type="TOKEN_THOPTER_1_1_U_F_199900002" /> 
</CARD_V2>
Here you can find the revised working version.
THOPTER_FOUNDRY_376549.zip
Card Revised + TDX + Token
(657.32 KiB) Downloaded 193 times
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby thefiremind » 15 Dec 2013, 09:35

NeoAnderson wrote:I made one of the card you have requested.
As i told i am not so skilled so other skilled Users can tell if is ok or not :-)
Transmute Artifact is quite complicated, so congrats for making it work! =D> Just one thing, if we want to be picky... the artifact you sacrifice isn't a target so you should choose it in a RESOLUTION_TIME_ACTION. Also, you should be able to cast the spell even if you don't have any artifact, so I would take the AVAILABILITY out (this is mostly a developer's choice, though, since the cases where you really want to cast this spell doing nothing aren't that many).

As a rule of thumb, PLAY_TIME_ACTIONs should be used really sparingly: the things you usually do before resolution are choosing targets (using TARGET blocks) and paying costs (using COST blocks). The only other thing that you might really need to do before resolution is register managing (copying, protecting, LKI-shielding). If you look at my Ib Halfheart, Goblin Tactician, you can see that I use a PLAY_TIME_ACTION because I need to copy a LinkedDC chest into an EffectDC chest.
< 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 NeoAnderson » 15 Dec 2013, 13:36

thefiremind wrote:
NeoAnderson wrote:I made one of the card you have requested.
As i told i am not so skilled so other skilled Users can tell if is ok or not :-)
Transmute Artifact is quite complicated, so congrats for making it work! =D> Just one thing, if we want to be picky... the artifact you sacrifice isn't a target so you should choose it in a RESOLUTION_TIME_ACTION. Also, you should be able to cast the spell even if you don't have any artifact, so I would take the AVAILABILITY out (this is mostly a developer's choice, though, since the cases where you really want to cast this spell doing nothing aren't that many).

As a rule of thumb, PLAY_TIME_ACTIONs should be used really sparingly: the things you usually do before resolution are choosing targets (using TARGET blocks) and paying costs (using COST blocks). The only other thing that you might really need to do before resolution is register managing (copying, protecting, LKI-shielding). If you look at my Ib Halfheart, Goblin Tactician, you can see that I use a PLAY_TIME_ACTION because I need to copy a LinkedDC chest into an EffectDC chest.
Thanks my friend,
I appreciated that you have pointed these inaccuracies.
I have revised the code as you explained.
Transmute Artifact Revised | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="TRANSMUTE_ARTIFACT_202616" />
  <CARDNAME text="TRANSMUTE_ARTIFACT" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Transmute Artifact]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="202616" />
  <ARTID value="202616" />
  <ARTIST name="Anson Maddocks" />
  <CASTING_COST cost="{U}{U}" />
  <TYPE metaname="Sorcery" />
  <EXPANSION value="ME4" />
  <RARITY metaname="R" />
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sacrifice an artifact. If you do, search your library for an

artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s converted mana

cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it

onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your library.]]

></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sacrifice an artifact. If you do, search your library for an

artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s converted mana

cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it

onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your library.]]

></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sacrifice an artifact. If you do, search your library for an

artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s converted mana

cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it

onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your library.]]

></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sacrifice an artifact. If you do, search your library for an

artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s converted mana

cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it

onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your library.]]

></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sacrifica un artefatto. Se lo fai, passa in rassegna il tuo

grimorio per una carta artefatto. Se il costo di mana convertito di quella carta è minore o uguale al costo di mana

convertito dell’artefatto sacrificato, mettila sul campo di battaglia. Se è maggiore, puoi pagare {X}, dove X è la

differenza dei costi. Se lo fai, mettila sul campo di battaglia. Se non lo fai, mettila nel cimitero del

proprietario. Poi rimescola il tuo grimorio.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Sacrifice an artifact. If you do, search your library for an

artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s converted mana

cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it

onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your library.]]

></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Sacrifice an artifact. If you do, search your library for an

artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s converted mana

cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it

onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your library.]]

></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Sacrifice an artifact. If you do, search your library for an

artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s converted mana

cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it

onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your library.]]

></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sacrifice an artifact. If you do, search your library for an

artifact card. If that card’s converted mana cost is less than or equal to the sacrificed artifact’s converted mana

cost, put it onto the battlefield. If it’s greater, you may pay {X}, where X is the difference. If you do, put it

onto the battlefield. If you don’t, put it into its owner’s graveyard. Then shuffle your library.]]

></LOCALISED_TEXT>


<RESOLUTION_ACTION>
       local filter = ClearFilter()
       filter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
       filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       EffectController():ChooseItem( "CARD_QUERY_CHOOSE_ARTIFACT_TO_SACRIFICE", EffectDC():Make_Targets(0),

QUERY_FLAG_MAY )
</RESOLUTION_ACTION>

<RESOLUTION_TIME_ACTION>
       local oArtifactSacrified = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
       if oArtifactSacrified ~= nil then
                local cmc = oArtifactSacrified:GetConvertedManaCost()
          EffectController():Sacrifice( oArtifactSacrified )
          EffectDC():Set_Int( 10, cmc )
                EffectDC():Set_Int( 20, 1 )
       end
</RESOLUTION_TIME_ACTION>

<RESOLUTION_TIME_ACTION>
local oArtifactSacrified = EffectDC():Get_Int(20)
if oArtifactSacrified == 1 then
    local filter = ClearFilter()
    filter:SetZone( ZONE_LIBRARY, EffectController() )
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
    EffectController():ChooseItem ("CARD_QUERY_CHOOSE_ARTIFACT_TO_PUT_ONTO_BATTLEFIELD", EffectDC():Make_Targets(1)

)
end
</RESOLUTION_TIME_ACTION>

<RESOLUTION_TIME_ACTION>
local oArtifactSacrified = EffectDC():Get_Int(20)
if oArtifactSacrified == 1 then
    local oSacrifiedArtifactCMC =  EffectDC():Get_Int(10)
    local oPlayer = EffectController()
    local oCard = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
     if (oPlayer ~= nil)  and (oCard ~= nil) then
     local oCardCMC = oCard:GetConvertedManaCost()
       if oCardCMC &lt;= oSacrifiedArtifactCMC then
           oCard:PutOntoBattlefield( EffectController() )
        else
        local oCostDifference = oCardCMC - oSacrifiedArtifactCMC
        local oCostString = "{"..oCostDifference.."}"
           if oPlayer:CanPayManaCost(oCostString) then
          oPlayer:BeginNewMultipleChoice()
          oPlayer:AddMultipleChoiceAnswer("CARD_QUERY_OPTION_MOVETO_GRAVEYARD")
          oPlayer:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_PAY_UNDEFINED_AND_CAST_"..oCostDifference,

oPlayer:CanPayManaCost(oCostString) )
          oPlayer:AskMultipleChoiceQuestion("CARD_QUERY_ACTION_GRAVEYARD_OR_PAY", oCard)
                EffectDC():Set_Int( 30, 1 )
           else
               oCard:PutInGraveyard()
          end
        end
     end
end
    </RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local oArtifactSacrified = EffectDC():Get_Int(30)
if oArtifactSacrified == 1 then
    local oSacrifiedArtifactCMC =  EffectDC():Get_Int(10)
    local oPlayer = EffectController()
    local oCard = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
     if (oPlayer ~= nil)  and (oCard ~= nil) then
     local oCardCMC = oCard:GetConvertedManaCost()
     local oCostDifference = oCardCMC - oSacrifiedArtifactCMC
     local oCostString = "{"..oCostDifference.."}"
       if oPlayer:CanPayManaCost(oCostString) and oPlayer:GetMultipleChoiceResult() == 1 then
     oPlayer:PayManaCost(oCostString)
          oCard:PutOntoBattlefield( EffectController() )
       else
          oCard:PutInGraveyard()
       end
       
    end
end
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>
</CARD_V2>
TRANSMUTE_ARTIFACT_202616.zip
Card Revised + TDX
(597.62 KiB) Downloaded 207 times


Have a nice day :-)
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby Deadpoolmtg » 15 Dec 2013, 13:48

Hi guys, me again.

Can someone code these cards?

Goblin Welder
Metalworker
Kuldotha Forgemaster
Staff of Domination
Gamble
Sphere of Resistance
Spellskite(Not necessary, but usable)

With them MUD(Metalworker) will be possible to play :o
(Sorry for the consecutive/massive requests)
User avatar
Deadpoolmtg
 
Posts: 12
Joined: 02 Jul 2013, 17:25
Has thanked: 28 times
Been thanked: 0 time

Re: Formal Request Thread

Postby RiiakShiNal » 15 Dec 2013, 16:14

I'm pretty sure Spellskite is not possible as I don't think there is any way to force a single target to become a specific card and I don't think there is any way to allow changing of only one target on a given spell. Obviously changing targets on abilities is not possible as we aren't even able to counter abilities much less mess with them.

You may have issues trying to get Staff of Domination to work simply because I think the upper limit on simultaneous usable activated abilities on a card is 4 and Staff of Domination needs 5. All of the abilities on Staff of Domination are obviously possible to make though (they are all pretty simple). You may be able to fake it by combining two abilities into a single activated ability with a MODE that uses CanPayManaCost() and PayManaCost() to get around the limit for number of usable activated abilities.

Metalworker will need to be coded using mana tokens to work properly, but other than that is possible to code.
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 7 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 7 users online :: 0 registered, 0 hidden and 7 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 7 guests

Login Form