It is currently 15 Jul 2025, 06:00
   
Text Size

Card Creation Request Thread

User-made mods in DLC (Downloadable Content) form.
Get MTG cards here for your DotP that aren't available anywhere else!

Moderator: CCGHQ Admins

Re: Card Creation Request Thread

Postby Kieran » 25 Jul 2013, 13:41

Thanks! I'm about to fix it now.

Edit: thefiremind, can you be more specific about the variables and how to change them? I replaced my_lands with mylands all throughout the code and vise versa but nothing triggers.

Or is anyone able to provide the complete code?
Kieran
 
Posts: 232
Joined: 03 Nov 2012, 01:09
Has thanked: 21 times
Been thanked: 16 times

Re: Card Creation Request Thread

Postby Rickycoe123 » 05 Aug 2013, 21:10

hey guys, Ive seen the love with 2013 has died out... I was wondering if any has any scarecrow cards.. i have 2 (Chainbreaker and Scarecrone).

I am in need of the Painter's Servant and others as i want to make it in real life, but want to play with it before i buy the cards.
Rickycoe123
 
Posts: 138
Joined: 14 Mar 2013, 22:44
Has thanked: 1 time
Been thanked: 15 times

Re: Card Creation Request Thread

Postby Olrox » 11 Aug 2013, 12:45

Hi everyone! I've found out about modding for magic 2014 just a few days ago, and after trying the awesome modded decks I can't help but feel the need to make one myself... just lacking a couple cards tho, namely Dragon's Herald (#1 of the wishlist) , Ancient Hellkite, Hellkite Tyrant and Shivan Hellkite.

I'd like to make them myself by I'll have to wait for some sort of tutorial for that =/

If any dragon afecionado has some spare time to make them, it would be really apprecieted!
Olrox
 
Posts: 1
Joined: 11 Aug 2013, 12:30
Has thanked: 4 times
Been thanked: 0 time

Re: Card Creation Request Thread

Postby Blue Ghost » 26 Sep 2013, 21:33

Anyone else still coding for 2013? If so, does anyone know whether the Theros gods are possible in 2013? Specifically, I'm looking for Heliod, God of the Sun. Thanks!
Blue Ghost
 
Posts: 52
Joined: 07 Apr 2013, 20:41
Has thanked: 6 times
Been thanked: 0 time

Re: Card Creation Request Thread

Postby Ayssia » 29 Sep 2013, 03:59

How to implement Panglacial Wurm?
Ayssia
 
Posts: 18
Joined: 14 Feb 2013, 23:21
Has thanked: 12 times
Been thanked: 3 times

Re: Card Creation Request Thread

Postby thefiremind » 29 Sep 2013, 08:55

Ayssia wrote:How to implement Panglacial Wurm?
Which DotP game do you want to use it with?
"While you are searching your library" is impossible to implement literally, no matter which DotP game you are making it on, but I think it can be coded as "Whenever you search your library": this means Panglacial Wurm will ask you if you want to cast it after you searched your library (and probably after the rest of the current ability on the stack has resolved), which isn't how it's supposed to work, but it's a reasonable approximation if you really need the card.
Then there's the problem of possible cost increases/decreases, which DotP2014 will take automatically into account, while previous games won'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: Card Creation Request Thread

Postby SystemSCSnake » 02 Oct 2013, 23:57

Shard Volley
Searing Blaze
Might of Old Krosa
Invigorate
Mutagenic Growth

For Magic 2014

I'm currently running Firemind and a couple others as far as card DLC goes, these were ones that I didn't find in those sets. Thanks in advance.
SystemSCSnake
 
Posts: 7
Joined: 02 Oct 2013, 16:35
Has thanked: 4 times
Been thanked: 0 time

Re: Card Creation Request Thread

Postby Felessa » 16 Oct 2013, 17:52

DotP2013. Hello everyone. First of all, I would like to thank all the brilliant minds that made the dream of customization DotP2013 decks become reality :D . I picked some new cards made by most of the community (thanks again guys!), and I would like to know if someone already did or know how to code (if possible) these cards: Harm's Way and Spreading Seas.

I'm a brazilian designer, that learned something reading the Modder's posts and tutorials, and I even created a few cards successfully in a "frankenstein" way (using code parts of existing cards in a new one :lol: ), but my programming skills are limited... so if anyone could help me with another 2 cards, I would appreciate. They are:

1. Martyr's Bond: I made a version using the code someone developed for Butcher of Malakir, but it only works for creatures permanents, and I don't know how to add others.
Code: Select all
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="objectyoucontrol" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_IN_PLAY">
   return TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0
        </TRIGGER>
   <RESOLUTION_TIME_ACTION repeating="1">
      local n = MTG():GetActionRepCount()
      local num_players = MTG():GetNumberOfPlayers()
      local playerindex = n
      local player = MTG():GetNthPlayer(playerindex)
      local filter = Object():GetFilter()

      if player ~= nil and n &lt; num_players then
         if (player:GetTeam() ~= EffectController():GetTeam()) then
            -- ask the query
            filter:Clear()
            filter:SetPlayer( player )
            filter:SetZone( ZONE_IN_PLAY )
            filter:AddCardType( CARD_TYPE_CREATURE )
            filter:NotTargetted()
            filter:SetHint( HINT_ENEMY, player )
            player:ChooseTarget( NO_VALIDATION, "CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE", EffectDC():Make_Targets(n) )
         end
         return true
      else
         local i=0
         for i=0,(num_players-1) do
            local targetDC = EffectDC():Get_Targets(i)
            if targetDC ~= nil then
               local target_card = targetDC:Get_CardPtr(0)
               if target_card ~= nil then
                  target_card:Sacrifice( target_card:GetController() )
               end
            end
         end
         return false
      end
   </RESOLUTION_TIME_ACTION>
2. The new Theros Card, Bow of Nylea: This one is almost 90% working properly, and I separated it's only one activated ability into 4 (because I haven't found another 4 options card) but it worked really nice. The only problem is that I have no idea how to code the last one "Put up to four target cards from your graveyard on the bottom of your library in any order".

If anyone could help me, I would appreciate :wink:
Felessa
 
Posts: 4
Joined: 13 Oct 2013, 16:35
Has thanked: 10 times
Been thanked: 0 time

Re: Card Creation Request Thread

Postby jacque » 16 Oct 2013, 23:23

Felessa wrote:1. Martyr's Bond: I made a version using the code someone developed for Butcher of Malakir, but it only works for creatures permanents, and I don't know how to add others.
I'm a DotP2014 modder, and hmmm, I understand that cards coded in 2013 and 2014 are different in many ways... but lemme try to help to ease you out here...

Your "Martyr's Bond" is basically it's looking at creatures because of this line:

Code: Select all
filter:AddCardType( CARD_TYPE_CREATURE )
What you'll need to do is to look for a card that targets an "either or", for example: an instant or a sorcery card... Then... look at the code of that card... In DotP2014, to get permanents, I've been taught to do this (to prevent an abusable bug):

TARGET PERMANENT | Open
Code: Select all
    local filter = ClearFilter()
    local subfilter = filter:AddSubFilter_Or()
    subfilter:Add( FE_TYPE, OP_NOT, CARD_TYPE_LAND )
    subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
    subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
    subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_PLANESWALKER )
    filter:SetZone( ZONE_BATTLEFIELD )
Now see how you can apply what I posted to 2013... I am quite sure there was a mod that has Martyr's Bond in it as well...

Felessa wrote:2. The new Theros Card, Bow of Nylea: This one is almost 90% working properly, and I separated it's only one activated ability into 4 (because I haven't found another 4 options card) but it worked really nice. The only problem is that I have no idea how to code the last one "Put up to four target cards from your graveyard on the bottom of your library in any order".

If anyone could help me, I would appreciate :wink:
Using the Deck Builder, try to search for a card that targets more than 1 creature... then u should be able to get an idea to target more than one card instance... set the zone to graveyard... then look for a card "bottom of your library in any order", stitch those together, you should be able to get what you're looking for...
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: Card Creation Request Thread

Postby RiiakShiNal » 17 Oct 2013, 00:41

Felessa wrote:1. Martyr's Bond: I made a version using the code someone developed for Butcher of Malakir, but it only works for creatures permanents, and I don't know how to add others.
Code: Select all
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="objectyoucontrol" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_IN_PLAY">
   return TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0
        </TRIGGER>
   <RESOLUTION_TIME_ACTION repeating="1">
      local n = MTG():GetActionRepCount()
      local num_players = MTG():GetNumberOfPlayers()
      local playerindex = n
      local player = MTG():GetNthPlayer(playerindex)
      local filter = Object():GetFilter()

      if player ~= nil and n &lt; num_players then
         if (player:GetTeam() ~= EffectController():GetTeam()) then
            -- ask the query
            filter:Clear()
            filter:SetPlayer( player )
            filter:SetZone( ZONE_IN_PLAY )
            filter:AddCardType( CARD_TYPE_CREATURE )
            filter:NotTargetted()
            filter:SetHint( HINT_ENEMY, player )
            player:ChooseTarget( NO_VALIDATION, "CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE", EffectDC():Make_Targets(n) )
         end
         return true
      else
         local i=0
         for i=0,(num_players-1) do
            local targetDC = EffectDC():Get_Targets(i)
            if targetDC ~= nil then
               local target_card = targetDC:Get_CardPtr(0)
               if target_card ~= nil then
                  target_card:Sacrifice( target_card:GetController() )
               end
            end
         end
         return false
      end
   </RESOLUTION_TIME_ACTION>
Here there are a couple of issues, first you have to trigger for all permanent types:
  • CARD_TYPE_ARTIFACT
  • CARD_TYPE_CREATURE
  • CARD_TYPE_ENCHANTMENT
  • CARD_TYPE_LAND (This is ignored because the card says nonland permanent)
  • CARD_TYPE_PLANESWALKER (This one can be ignored since there are no planeswalkers in DotP 2013, but you can leave it in if you wish.)
Your current trigger only triggers on creatures so you need to modify it to check for all types.
Code: Select all
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="objectyoucontrol" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_IN_PLAY">
   return TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0 or
      TriggerObject():GetCardType():Test( CARD_TYPE_ARTIFACT ) ~= 0 or
      TriggerObject():GetCardType():Test( CARD_TYPE_ENCHANTMENT ) ~= 0 or
      TriggerObject():GetCardType():Test( CARD_TYPE_PLANESWALKER ) ~= 0
</TRIGGER>
The second issue is the opponents have to choose a permanent that shares a card type with the card that went to the graveyard so we need to add types to the filter to allow those options, but only if the TriggerObject() also has those types.
Code: Select all
filter:Clear()
filter:SetPlayer( player )
filter:SetZone( ZONE_IN_PLAY )
if (TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0) then
    filter:AddCardType( CARD_TYPE_CREATURE )
end
if (TriggerObject():GetCardType():Test( CARD_TYPE_ARTIFACT ) ~= 0) then
    filter:AddCardType( CARD_TYPE_ARTIFACT )
end
if (TriggerObject():GetCardType():Test( CARD_TYPE_ENCHANTMENT ) ~= 0) then
    filter:AddCardType( CARD_TYPE_ENCHANTMENT )
end
if (TriggerObject():GetCardType():Test( CARD_TYPE_PLANESWALKER ) ~= 0) then
    filter:AddCardType( CARD_TYPE_PLANESWALKER )
end
filter:NotTargetted()
filter:SetHint( HINT_ENEMY, player )
NOTES:
  • In DotP 2013 If you use AddCardType() multiple times on a filter then each time after the first it adds the new card type as "Or this card type". So AddCardType() twice with Artifact and Creature would be "the card is of type Artifact or Creature".
  • To make a filter that only filters Artifact Creatures then you have to add one with AddCardType() and the second type with AddSecondCardType(). It is only possible to "And" filter a max of 2 card types at a time.

Felessa wrote:2. The new Theros Card, Bow of Nylea: This one is almost 90% working properly, and I separated it's only one activated ability into 4 (because I haven't found another 4 options card) but it worked really nice. The only problem is that I have no idea how to code the last one "Put up to four target cards from your graveyard on the bottom of your library in any order".
To put it all in a single activated ability you can use 2 multiple choice questions (1st presents the first two choices and "Next", the 2nd presents "Previous" and the last two choices. Though as long as the cost is set properly separating it into 4 activated abilities is acceptable (though I believe the card limit for activated abilities in DotP 2013 is 4, with 5 or more options the game will either crash or those options become unusable).

To choose multiple items you first SetTargetCount() (in your case 4), then you SetTargetPrompt() for each target (you have 4 targets so you need to set target prompts 0, 1, 2, and 3). If you want to use the same text for all prompts you can use a for loop (like: for i=0,3 do) and put the SetTargetPrompt() inside the loop. Then finally you call ChooseTargets() for the player that should do the choosing. For your specific case I would have them choose the targets in the order they want to put them on the bottom (that way you can do the resolution in a simple loop).

Reading the targets is just a matter of accessing them in the order they are stored.
Code: Select all
local target1 = EffectDC():Get_Targets(0):Get_CardPtr(0)
local target2 = EffectDC():Get_Targets(0):Get_CardPtr(1)
local target3 = EffectDC():Get_Targets(0):Get_CardPtr(2)
local target4 = EffectDC():Get_Targets(0):Get_CardPtr(3)
-Or-
Code: Select all
for i=0,3 do
    local target = EffectDC():Get_Targets(0):Get_CardPtr(i)
end
You should be able to figure out how to actually put the cards on the bottom now that I've told you how to select multiple targets and access them.
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Card Creation Request Thread

Postby brad2011 » 24 Oct 2013, 21:46

Im wondering if anyone has the code for a Overgrowth and a Harrow for DOTP14?
brad2011
 
Posts: 2
Joined: 24 Oct 2013, 21:35
Has thanked: 0 time
Been thanked: 0 time

Re: Card Creation Request Thread

Postby brad2011 » 24 Oct 2013, 22:55

Nevermind got harrow to work, still cant get Overgrowth to work.
brad2011
 
Posts: 2
Joined: 24 Oct 2013, 21:35
Has thanked: 0 time
Been thanked: 0 time

Re: Card Creation Request Thread

Postby Felessa » 25 Oct 2013, 11:48

First of all, jacque and RiiakShiNal, thanks for all the feedback :D

RiiakShiNal wrote:Here there are a couple of issues, first you have to trigger for all permanent types:
  • CARD_TYPE_ARTIFACT
  • CARD_TYPE_CREATURE
  • CARD_TYPE_ENCHANTMENT
  • CARD_TYPE_LAND (This is ignored because the card says nonland permanent)
  • CARD_TYPE_PLANESWALKER (This one can be ignored since there are no planeswalkers in DotP 2013, but you can leave it in if you wish.)
Your current trigger only triggers on creatures so you need to modify it to check for all types.
Code: Select all
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="objectyoucontrol" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_IN_PLAY">
   return TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0 or
      TriggerObject():GetCardType():Test( CARD_TYPE_ARTIFACT ) ~= 0 or
      TriggerObject():GetCardType():Test( CARD_TYPE_ENCHANTMENT ) ~= 0 or
      TriggerObject():GetCardType():Test( CARD_TYPE_PLANESWALKER ) ~= 0
</TRIGGER>
The second issue is the opponents have to choose a permanent that shares a card type with the card that went to the graveyard so we need to add types to the filter to allow those options, but only if the TriggerObject() also has those types.
Code: Select all
filter:Clear()
filter:SetPlayer( player )
filter:SetZone( ZONE_IN_PLAY )
if (TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0) then
    filter:AddCardType( CARD_TYPE_CREATURE )
end
if (TriggerObject():GetCardType():Test( CARD_TYPE_ARTIFACT ) ~= 0) then
    filter:AddCardType( CARD_TYPE_ARTIFACT )
end
if (TriggerObject():GetCardType():Test( CARD_TYPE_ENCHANTMENT ) ~= 0) then
    filter:AddCardType( CARD_TYPE_ENCHANTMENT )
end
if (TriggerObject():GetCardType():Test( CARD_TYPE_PLANESWALKER ) ~= 0) then
    filter:AddCardType( CARD_TYPE_PLANESWALKER )
end
filter:NotTargetted()
filter:SetHint( HINT_ENEMY, player )
NOTES:
  • In DotP 2013 If you use AddCardType() multiple times on a filter then each time after the first it adds the new card type as "Or this card type". So AddCardType() twice with Artifact and Creature would be "the card is of type Artifact or Creature".
  • To make a filter that only filters Artifact Creatures then you have to add one with AddCardType() and the second type with AddSecondCardType(). It is only possible to "And" filter a max of 2 card types at a time.
jacque, you were right about the other permanent types, and RiiakShiNal, you gave me the last pieces of the puzzle =D> , and Martyr's Bond is working 100% now! I've attached it in case anyone wants to use it in DotP 2013.

RiiakShiNal wrote:
Felessa wrote:2. The new Theros Card, Bow of Nylea: This one is almost 90% working properly, and I separated it's only one activated ability into 4 (because I haven't found another 4 options card) but it worked really nice. The only problem is that I have no idea how to code the last one "Put up to four target cards from your graveyard on the bottom of your library in any order".
To put it all in a single activated ability you can use 2 multiple choice questions (1st presents the first two choices and "Next", the 2nd presents "Previous" and the last two choices. Though as long as the cost is set properly separating it into 4 activated abilities is acceptable (though I believe the card limit for activated abilities in DotP 2013 is 4, with 5 or more options the game will either crash or those options become unusable).

To choose multiple items you first SetTargetCount() (in your case 4), then you SetTargetPrompt() for each target (you have 4 targets so you need to set target prompts 0, 1, 2, and 3). If you want to use the same text for all prompts you can use a for loop (like: for i=0,3 do) and put the SetTargetPrompt() inside the loop. Then finally you call ChooseTargets() for the player that should do the choosing. For your specific case I would have them choose the targets in the order they want to put them on the bottom (that way you can do the resolution in a simple loop).

Reading the targets is just a matter of accessing them in the order they are stored.
Code: Select all
local target1 = EffectDC():Get_Targets(0):Get_CardPtr(0)
local target2 = EffectDC():Get_Targets(0):Get_CardPtr(1)
local target3 = EffectDC():Get_Targets(0):Get_CardPtr(2)
local target4 = EffectDC():Get_Targets(0):Get_CardPtr(3)
-Or-
Code: Select all
for i=0,3 do
    local target = EffectDC():Get_Targets(0):Get_CardPtr(i)
end
You should be able to figure out how to actually put the cards on the bottom now that I've told you how to select multiple targets and access them.
Now, sorry RiiakShiNal, but I have not had the same success with Bow of Nylea last ability :oops: ... my programming skills are very limited, and I did not understand what you mean... but I've found the code someone developed for Conjurer's Bauble, and it's working, but with the limit of 1 card. Any thoughts about how to change it from 1 to 4 cards?

Code: Select all
<ACTIVATED_ABILITY filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{1}{G}, {T}: Put up to four target cards from your graveyard on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{1}{G}, {T}: Mettez jusqu’à quatre cartes ciblées de votre cimetière au-dessous de votre bibliothèque dans l’ordre de votre choix.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{1}{G}, {T}: Pones hasta cuatro cartas objetivo de tu cementerio en el fondo de tu biblioteca en cualquier orden.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{1}{G}, {T}: Lege bis zu vier Karten deiner Wahl aus deinem Friedhof in beliebiger Reihenfolge unter deine Bibliothek.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{1}{G}, {T}: Metti fino a quattro carte bersaglio dal tuo cimitero in fondo al tuo grimorio in qualsiasi ordine.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{1}{G}, {T}: Put up to four target cards from your graveyard on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{1}{G}, {T}: Put up to four target cards from your graveyard on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{1}{G}, {T}: Put up to four target cards from your graveyard on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{1}{G}, {T}: Coloque até quatro cards alvo de seu cemitério no fundo de seu grimório em qualquer ordem.]]></LOCALISED_TEXT>
   <COST type="Mana" cost="{1}{G}" />
   <COST type="TapSelf" />
   <TARGET_DEFINITION id="0">
    local filter = Object():GetFilter()
    filter:Clear()
    filter:May()
    filter:SetOwner( EffectController() )
    filter:SetZone( ZONE_GRAVEYARD )
    filter:SetHint( HINT_ALLIED, EffectController() )
    </TARGET_DEFINITION>
   <PLAY_TIME_ACTION target_choosing="1">
    if AtLeastOneTargetFromDefinition(0) ~= 0 then
       EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CARD_TO_PUT_ON_BOTTOM_LIBRARY", EffectDC():Make_Targets(0) )
    end
    </PLAY_TIME_ACTION>
   <PLAY_TIME_ACTION>
    local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target == nil then
      EffectDC():Set_Int(1, 1)
    end
    </PLAY_TIME_ACTION>
   <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil and target:GetZone() == ZONE_GRAVEYARD then
       target:GuidedReveal( ZONE_GRAVEYARD , ZONE_LIBRARY )
       target:PutOnBottomOfLibrary()
    end
    </RESOLUTION_TIME_ACTION>
    <AI_AVAILABILITY step="end_of_turn" turn="their_turn" />
  </ACTIVATED_ABILITY>
Attachments
MARTYRS_BOND.rar
(106.42 KiB) Downloaded 321 times
Felessa
 
Posts: 4
Joined: 13 Oct 2013, 16:35
Has thanked: 10 times
Been thanked: 0 time

Re: Card Creation Request Thread

Postby RiiakShiNal » 25 Oct 2013, 12:31

Felessa wrote:Now, sorry RiiakShiNal, but I have not had the same success with Bow of Nylea last ability :oops: ... my programming skills are very limited, and I did not understand what you mean... but I've found the code someone developed for Conjurer's Bauble, and it's working, but with the limit of 1 card. Any thoughts about how to change it from 1 to 4 cards?
Pretty much exactly as I described it. You use SetTargetCount(), SetTargetPrompt(), and ChooseTargets() (well you really want ChooseTargetsWithFlags() because it says "up to", but same concept) then access them with a loop.

Code: Select all
<ACTIVATED_ABILITY filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{1}{G}, {T}: Put up to four target cards from your graveyard on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{1}{G}, {T}: Mettez jusqu’à quatre cartes ciblées de votre cimetière au-dessous de votre bibliothèque dans l’ordre de votre choix.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{1}{G}, {T}: Pones hasta cuatro cartas objetivo de tu cementerio en el fondo de tu biblioteca en cualquier orden.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{1}{G}, {T}: Lege bis zu vier Karten deiner Wahl aus deinem Friedhof in beliebiger Reihenfolge unter deine Bibliothek.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{1}{G}, {T}: Metti fino a quattro carte bersaglio dal tuo cimitero in fondo al tuo grimorio in qualsiasi ordine.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{1}{G}, {T}: Put up to four target cards from your graveyard on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{1}{G}, {T}: Put up to four target cards from your graveyard on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{1}{G}, {T}: Put up to four target cards from your graveyard on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{1}{G}, {T}: Coloque até quatro cards alvo de seu cemitério no fundo de seu grimório em qualquer ordem.]]></LOCALISED_TEXT>
   <COST type="Mana" cost="{1}{G}" />
   <COST type="TapSelf" />
   <TARGET_DEFINITION id="0">
    local filter = Object():GetFilter()
    filter:Clear()
    filter:May()
    filter:SetOwner( EffectController() )
    filter:SetZone( ZONE_GRAVEYARD )
    filter:SetHint( HINT_ALLIED, EffectController() )
    </TARGET_DEFINITION>
   <PLAY_TIME_ACTION target_choosing="1">
      if AtLeastOneTargetFromDefinition(0) ~= 0 then
         EffectController():SetTargetCount( 4 )
         for i=0,3 do
            EffectController():SetTargetPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_PUT_ON_BOTTOM_LIBRARY" )
         end
         EffectController():ChooseTargetsWithFlags( 0, EffectDC():Make_Targets(0), QUERY_FLAG_CAN_BE_FINISHED_EARLY + QUERY_FLAG_CAN_BE_FINISHED_EARLY_FOR_AI_AS_WELL )
      end
   </PLAY_TIME_ACTION>
   <RESOLUTION_TIME_ACTION>
      if (EffectDC():Get_Targets(0) ~= nil) then
         for i=0,3 do
            local target = EffectDC():Get_Targets(0):Get_CardPtr(i)
            if target ~= nil and target:GetZone() == ZONE_GRAVEYARD then
               target:GuidedReveal( ZONE_GRAVEYARD , ZONE_LIBRARY )
               target:PutOnBottomOfLibrary()
            end
         end
      end
    </RESOLUTION_TIME_ACTION>
    <AI_AVAILABILITY step="end_of_turn" turn="their_turn" />
  </ACTIVATED_ABILITY>
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Card Creation Request Thread

Postby Felessa » 26 Oct 2013, 14:03

Thanks again RiiakShiNal, you you're awesome! As I said, I just know to create a card copying/pasting code parts of another :lol: , so it's a problem when I need to change something by my self... but thanks again! I've attached this version of Bow of Nylea if anyone wants to use it in DotP 2013.

Just one more thing, do you think Spreading Seas is possible, or the game does not have support for land type change?
Attachments
BOW_OF_NYLEA.rar
(110.97 KiB) Downloaded 274 times
Felessa
 
Posts: 4
Joined: 13 Oct 2013, 16:35
Has thanked: 10 times
Been thanked: 0 time

PreviousNext

Return to New MTG Cards and Decks (2010, 2012, 2013, 2014, 2015, Magic Duels)

Who is online

Users browsing this forum: No registered users and 16 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 16 users online :: 0 registered, 0 hidden and 16 guests (based on users active over the past 10 minutes)
Most users ever online was 5050 on 26 Jun 2025, 06:02

Users browsing this forum: No registered users and 16 guests

Login Form