It is currently 20 Jun 2025, 23:26
   
Text Size

.TDX Art File?

Moderator: CCGHQ Admins

.TDX Art File?

Postby BloodReyvyn » 20 May 2013, 17:23

Probably pretty newb of me to ask, but I've never seen this file format before. What kind of file is this and how do I go about making them?

I have created a fully-working Nearheath Pilgrim, though it has no art on the card. Being a stickler for details, I can't have that, and besides I need a custom personality and deck box, etc. so yeah.

Heh, any and all responses welcome, and for reading, a gift lol...


Nearheath Pilgrim Code:

Code: Select all
<?xml version='1.0'?>
<CARD_V2>
  <FILENAME text="NEARHEATH_PILGRIM_1030501" />
  <CARDNAME text="NEARHEATH_PILGRIM" />
  <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Nearheath Pilgrim]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Nearheath Pilgrim]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Nearheath Pilgrim]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Nearheath Pilgrim]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Nearheath Pilgrim]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Nearheath Pilgrim]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Nearheath Pilgrim]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Nearheath Pilgrim]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Nearheath Pilgrim]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="1030501" />
  <ARTID value="1030501" />
  <ARTIST name="Erica Yang" />
  <CASTING_COST cost="{1}{W}" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Human" order_de-DE="0" order_es-ES="1" order_fr-FR="0" order_it-IT="1" order_jp-JA="0" order_ko-KR="0" order_pt-BR="0" order_ru-RU="0" />
  <SUB_TYPE metaname="Cleric" order_de-DE="1" order_es-ES="0" order_fr-FR="1" order_it-IT="0" order_jp-JA="1" order_ko-KR="1" order_pt-BR="1" order_ru-RU="1" />
  <EXPANSION value="DPG" />
  <RARITY metaname="U" />
  <POWER value="2" />
  <TOUGHNESS value="1" />
  <TRIGGERED_ABILITY auto_skip="1" filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Soulbond |(You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Soulbond |(You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Soulbond |(You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Soulbond |(You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Soulbond |(You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Soulbond |(You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Soulbond |(You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Soulbond |(You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Soulbond |(You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)|]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_END" to_zone="ZONE_IN_PLAY">
    return (TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0 and Object():GetCurrentCharacteristics():Characteristic_Get( CHARACTERISTIC_PHASING ) == 0)
    </TRIGGER>
    <TARGET_DEFINITION id="0">
    local filter = Object():GetFilter()
    filter:Clear()
    filter:May()
    filter:NotTargetted()
    if TriggerObject() ~= Object() then
      filter:SetCardInstance( TriggerObject() )
    else
      filter:SetCardInstance( Object() )
      filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
    end
    filter:AddCharacteristic( CHARACTERISTIC_PHASING )
    filter:AddExtra( FILTER_EXTRA_FLIP_CHARACTERISTICS )
    filter:AddCardType( CARD_TYPE_CREATURE )
    filter:SetZone( ZONE_IN_PLAY )
    filter:SetController( EffectController() )
    filter:SetHint( HINT_ALLIED_ONLY, EffectController() )
    </TARGET_DEFINITION>
    <TARGET_DETERMINATION>
    return AtLeastOneTargetFromDefinition(0)
    </TARGET_DETERMINATION>   
    <RESOLUTION_TIME_ACTION>
    if (EffectSource() ~= nil and
    Object():GetCurrentCharacteristics():Characteristic_Get( CHARACTERISTIC_PHASING ) == 0 and
    Object():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0 and
    Object():GetController() == EffectController()) then
      EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_TO_PAIR", EffectDC():Make_Targets(0) )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
      ObjectDC():Set_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND, target)
      ObjectDC():Set_PlayerPtr(COMPARTMENT_ID_PLR_PAIRED, EffectController())
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY internal="1" filter_zone="ZONE_IN_PLAY">
    <TRIGGER value="ABILITY_RESOLVED">
    if Object():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0 and ObjectDC():Get_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND) == nil then
      local filter = Object():GetFilter()
      filter:Clear()
      filter:NotTargetted()
      filter:SetZone( ZONE_IN_PLAY )
      filter:AddCardType( CARD_TYPE_CREATURE )
      filter:SetCardInstance( Object() )
      filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
      filter:SetController( EffectController() ) 
      local others = filter:EvaluateObjects()
      if others &gt; 0 then
        for i=0,others-1 do
          local card = filter:GetNthEvaluatedObject(i)             
          if card ~= nil and card:GetDataChest() ~= nil then   
            local pair = card:GetDataChest():Get_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND)
              if pair ~= nil and pair == Object() then   
              ObjectDC():Set_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND, card)
              ObjectDC():Set_PlayerPtr(COMPARTMENT_ID_PLR_PAIRED, EffectController())
              return true
              end
           end             
          end         
        end         
    end 
    return false
    </TRIGGER>
  </TRIGGERED_ABILITY>
  <STATIC_ABILITY filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As long as Nearheath Pilgrim is paired with another creature, both creatures have lifelink.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[As long as Nearheath Pilgrim is paired with another creature, both creatures have lifelink.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[As long as Nearheath Pilgrim is paired with another creature, both creatures have lifelink.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[As long as Nearheath Pilgrim is paired with another creature, both creatures have lifelink.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[As long as Nearheath Pilgrim is paired with another creature, both creatures have lifelink.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[As long as Nearheath Pilgrim is paired with another creature, both creatures have lifelink.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[As long as Nearheath Pilgrim is paired with another creature, both creatures have lifelink.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[As long as Nearheath Pilgrim is paired with another creature, both creatures have lifelink.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[As long as Nearheath Pilgrim is paired with another creature, both creatures have lifelink.]]></LOCALISED_TEXT>
    <CONTINUOUS_ACTION layer="8">
    local pair = ObjectDC():Get_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND)
    if pair ~= nil then
       pair:GetCurrentCharacteristics():Characteristic_Set( CHARACTERISTIC_PHASING, 1 )
       Object():GetCurrentCharacteristics():Characteristic_Set( CHARACTERISTIC_PHASING, 1 )
    end
    </CONTINUOUS_ACTION>
    <CONTINUOUS_ACTION layer="6">
    local pair = ObjectDC():Get_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND)
    if pair ~= nil then
       pair:GetCurrentCharacteristics():Characteristic_Set( CHARACTERISTIC_LIFELINK, 1 )
      Object():GetCurrentCharacteristics():Characteristic_Set( CHARACTERISTIC_LIFELINK, 1 )
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>   
  <TRIGGERED_ABILITY internal="1" filter_zone="ZONE_IN_PLAY">
    <TRIGGER value="ABILITY_RESOLVED">
    local pair = ObjectDC():Get_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND)
    local player = ObjectDC():Get_PlayerPtr(COMPARTMENT_ID_PLR_PAIRED)
    if pair ~= nil and player ~= nil then
      return (pair:GetController() ~= player or Object():GetController() ~= player or pair:GetCardType():Test( CARD_TYPE_CREATURE ) == 0 or Object():GetCardType():Test( CARD_TYPE_CREATURE ) == 0)
    end
      return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
     ObjectDC():Set_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND, nil)
     ObjectDC():Set_PlayerPtr(COMPARTMENT_ID_PLR_PAIRED, nil)
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY internal="1" filter_zone="ZONE_IN_PLAY">
    <TRIGGER value="SPELL_RESOLVED">
    local pair = ObjectDC():Get_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND)
    local player = ObjectDC():Get_PlayerPtr(COMPARTMENT_ID_PLR_PAIRED)
    if pair ~= nil and player ~= nil then
      return (pair:GetController() ~= player or Object():GetController() ~= player or pair:GetCardType():Test( CARD_TYPE_CREATURE ) == 0 or Object():GetCardType():Test( CARD_TYPE_CREATURE ) == 0)
    end
      return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
     ObjectDC():Set_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND, nil)
     ObjectDC():Set_PlayerPtr(COMPARTMENT_ID_PLR_PAIRED, nil)
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY internal="1" filter_zone="ZONE_IN_PLAY">
    <TRIGGER value="PLAYER_LOSES_GAME">
    local player = ObjectDC():Get_PlayerPtr(COMPARTMENT_ID_PLR_PAIRED)
    if player ~= nil then
      return TriggerPlayer() == player
    end
      return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
     ObjectDC():Set_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND, nil)
     ObjectDC():Set_PlayerPtr(COMPARTMENT_ID_PLR_PAIRED, nil)
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY internal="1" filter_zone="ZONE_IN_PLAY">
    <TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_IN_PLAY" />
    <RESOLUTION_TIME_ACTION>
     ObjectDC():Set_CardPtr(COMPARTMENT_ID_OBJ_SOULBOND, nil)
     ObjectDC():Set_PlayerPtr(COMPARTMENT_ID_PLR_PAIRED, nil)
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <HELP title="MORE_INFO_BADGE_TITLE_2" body="MORE_INFO_BADGE_BODY_2" zone="ZONE_ANY" />
  <HELP title="MORE_INFO_BADGE_TITLE_170" body="MORE_INFO_BADGE_BODY_170" zone="ZONE_ANY" />
  <SFX text="COMBAT_BLADE_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLADE_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
  <AI_BASE_SCORE score="450" zone="ZONE_IN_PLAY" />
</CARD_V2>
Or better yet, here's a link to the XML.

https://www.dropbox.com/s/72o4we93k13z7zt/NEARHEATH_PILGRIM_1030501.zip?v=0rw--
"There's an experience worse than blindness - it's the certainty that your vision is perfect and the horror that there's no world around you to see."
User avatar
BloodReyvyn
 
Posts: 421
Joined: 19 May 2013, 13:29
Has thanked: 53 times
Been thanked: 40 times

Re: .TDX Art File?

Postby thefiremind » 20 May 2013, 19:16

viewtopic.php?f=65&t=2956
viewtopic.php?f=65&t=5987
Those tutorials were made for DotP2012 but they still work for DotP2013, except for the deck box which is smaller on 2013 (scroll down and you'll find links to new templates), and you don't need to make frames because it already has all the frames it can use (if you add different ones, you can't tell the game to use them).
< 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: .TDX Art File?

Postby BloodReyvyn » 20 May 2013, 20:08

I kind of figured it out by trial and error, and I totally overlooked the conversion tool in GibbedTools.

Thanks for the links though. It will definitely eliminate a lot of guess work.
"There's an experience worse than blindness - it's the certainty that your vision is perfect and the horror that there's no world around you to see."
User avatar
BloodReyvyn
 
Posts: 421
Joined: 19 May 2013, 13:29
Has thanked: 53 times
Been thanked: 40 times


Return to 2013

Who is online

Users browsing this forum: No registered users and 287 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 287 users online :: 0 registered, 0 hidden and 287 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 287 guests

Login Form