It is currently 09 Jul 2025, 19:10
   
Text Size

Formal Request Thread

Moderator: CCGHQ Admins

Re: Formal Request Thread

Postby thefiremind » 28 Aug 2014, 23:41

fallenangle wrote:I would prefer to do option one, since that seems easier, but I'm not quite sure how to go about it.
Option one should be OK, after all you usually don't need to recognize which cards are in your library and which ones are in your graveyard, the cards you choose will all end up in your library anyway. Here's how I would attempt to code it.
Doomsday code (untested) | Open
Code: Select all
    <RESOLUTION_TIME_ACTION>
    local queryDC = EffectDC():Make_Chest(0) -- prepare a chest for all the cards
    local player = EffectController()
    local library_count = player:Library_Count()
    for i=0,library_count-1 do
       local card = player:Library_GetNth(i)
       if card ~= nil then
          queryDC:Set_CardPtr(i, card) -- add library card to the chest
       end
    end
    local graveyard_count = player:Graveyard_Count()
    for i=0,graveyard_count-1 do
       local card = player:Graveyard_GetNth(i)
       if card ~= nil then
          queryDC:Set_CardPtr(library_count+i, card) -- add graveyard card to the chest (adjust the index since we already put library cards in)
       end
    end
    local max_items = library_count+graveyard_count
    if max_items &gt; 5 then
       max_items = 5
    end
    player:SetItemCount(max_items)
    for i=0,max_items-1 do
       player:SetItemPrompt(i, "CARD_QUERY_CHOOSE_A_CARD_TOP_OF_YOUR_LIBRARY")
    end
    player:ChooseItemsFromDC( queryDC, EffectDC():Make_Targets(1) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local queryDC = EffectDC():Get_Chest(0)
    local total_count = queryDC:Count()
    local targetDC = EffectDC():Get_Targets(1)
    local target_count = targetDC:Count()
    local exile_array = {} -- we save here the cards we need to exile, it's safer than exiling them immediately
    local exile_count = 0
    for i=0,total_count-1 do
       local card = queryDC:Get_CardPtr(i)
       if card ~= nil then
          local to_exile = true
          for j=0,target_count-1 do
             local target = targetDC:Get_CardPtr(j)
             if card == target then
                to_exile = false -- this card was selected, we don't need to exile it
                break
             end
          end
          if to_exile then
             exile_array[exile_count] = card
             exile_count = exile_count+1
          end
       end
    end
    for i=0,exile_count-1 do
       exile_array[i]:Exile() -- finally exile the card
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local queryDC = EffectDC():Get_Targets(1) -- this time we query with the previously chosen cards
    local query_count = queryDC:Count()
    local player = EffectController()
    player:SetItemCount(query_count)
    for i=0,query_count-1 do
       player:SetItemPrompt(i, "CARD_QUERY_CHOOSE_A_CARD_TOP_OF_YOUR_LIBRARY")
    end
    player:ChooseItemsFromDC( queryDC, EffectDC():Make_Targets(2) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local targetDC = EffectDC():Get_Targets(2)
    if targetDC ~= nil then
       local target_count = targetDC:Count()
       for i=0,target_count-1 do
          targetDC:Get_CardPtr(i):PutOnTopOfLibrary()
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local value = math.ceil( EffectController():GetLifeTotal() / 2 )
    EffectController():LoseLife(value)
    </RESOLUTION_TIME_ACTION>
Note that there could be another variant where you don't use a second query and expect the players to choose the cards in the order they want them to be on their library from the first query. I think it would be counter-intuitive, though, and scrolling back and forth through a bunch of cards would make players lose precious time in a hypothetical multiplayer match.

EDIT: Fixed missing player declaration.
Last edited by thefiremind on 29 Aug 2014, 08:23, edited 1 time in total.
< 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 fallenangle » 29 Aug 2014, 03:34

Thanks, Firemind! It worked perfectly, but it threw out this script log error when I exited the game:

[lua] [string "DOOMSDAY_15397_TITLE (RESOLUTION_TIME_ACTION)~0x0000028a"]:4: attempt to index global 'player' (a nil value)

I'm not sure what that means; but as I said, the card works perfectly otherwise. Thank you so much for all of your patience and help with my coding requests!
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Formal Request Thread

Postby NeoAnderson » 29 Aug 2014, 04:42

fallenangle wrote:Thanks, Firemind! It worked perfectly, but it threw out this script log error when I exited the game:

[lua] [string "DOOMSDAY_15397_TITLE (RESOLUTION_TIME_ACTION)~0x0000028a"]:4: attempt to index global 'player' (a nil value)

I'm not sure what that means; but as I said, the card works perfectly otherwise. Thank you so much for all of your patience and help with my coding requests!
He just miss to declare the player into a RESOLUTION BLOCK.

TRY NOW :

DOOMSDAY CODE (UNTESTED) | Open
Code: Select all
    <RESOLUTION_TIME_ACTION>
    local queryDC = EffectDC():Make_Chest(0) -- prepare a chest for all the cards
    local player = EffectController()
    local library_count = player:Library_Count()
    for i=0,library_count-1 do
       local card = player:Library_GetNth(i)
       if card ~= nil then
          queryDC:Set_CardPtr(i, card) -- add library card to the chest
       end
    end
    local graveyard_count = player:Graveyard_Count()
    for i=0,graveyard_count-1 do
       local card = player:Graveyard_GetNth(i)
       if card ~= nil then
          queryDC:Set_CardPtr(library_count+i, card) -- add graveyard card to the chest (adjust the index since we already put library cards in)
       end
    end
    local max_items = library_count+graveyard_count
    if max_items &gt; 5 then
       max_items = 5
    end
    player:SetItemCount(max_items)
    for i=0,max_items-1 do
       player:SetItemPrompt(i, "CARD_QUERY_CHOOSE_A_CARD_TOP_OF_YOUR_LIBRARY")
    end
    player:ChooseItemsFromDC( queryDC, EffectDC():Make_Targets(1) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local queryDC = EffectDC():Get_Chest(0)
    local total_count = queryDC:Count()
    local targetDC = EffectDC():Get_Targets(1)
    local target_count = targetDC:Count()
    local exile_array = {} -- we save here the cards we need to exile, it's safer than exiling them immediately
    local exile_count = 0
    for i=0,total_count-1 do
       local card = queryDC:Get_CardPtr(i)
       if card ~= nil then
          local to_exile = true
          for j=0,target_count-1 do
             local target = targetDC:Get_CardPtr(j)
             if card == target then
                to_exile = false -- this card was selected, we don't need to exile it
                break
             end
          end
          if to_exile then
             exile_array[exile_count] = card
             exile_count = exile_count+1
          end
       end
    end
    for i=0,exile_count-1 do
       exile_array[i]:Exile() -- finally exile the card
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local queryDC = EffectDC():Get_Targets(1) -- this time we query with the previously chosen cards
    local query_count = queryDC:Count()
    local player = EffectController()
    player:SetItemCount(query_count)
    for i=0,query_count-1 do
       player:SetItemPrompt(i, "CARD_QUERY_CHOOSE_A_CARD_TOP_OF_YOUR_LIBRARY")
    end
    player:ChooseItemsFromDC( queryDC, EffectDC():Make_Targets(2) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local targetDC = EffectDC():Get_Targets(2)
    if targetDC ~= nil then
       local target_count = targetDC:Count()
       for i=0,target_count-1 do
          targetDC:Get_CardPtr(i):PutOnTopOfLibrary()
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local value = math.ceil( EffectController():GetLifeTotal() / 2 )
    EffectController():LoseLife(value)
    </RESOLUTION_TIME_ACTION>
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby gorem2k » 29 Aug 2014, 10:38

NeoAnderson wrote:He just miss to declare the player into a RESOLUTION BLOCK.
Are you sure? there's only a few RTA that has no local player = EffectController(). and these RTA doesn't seem to call for player .
strange...

:lol: i looked after he edited it
gorem2k
 
Posts: 464
Joined: 01 Apr 2013, 04:21
Has thanked: 48 times
Been thanked: 33 times

Re: Formal Request Thread

Postby fallenangle » 30 Aug 2014, 22:27

I've been working on Crypt Ghast now, trying to build it from a modified Mirari's Wake. The second ability to add B to my mana pool doesn't seem to be working. The game gave me the following script error when I exited, and I think that may have diagnosed the problem, but I don't understand what it means:

[lua] [string "CRYPT_GHAST_366452_TITLE (TRIGGER)~0x00000a68"]:4: 'then' expected near ')'

If anyone can explain it to me and perhaps also look at my code to see if there are any other things in it that might be wrong, I would be very grateful. Thank you in advance for all of your patience and help!

Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="18">
   <FILENAME text="CRYPT_GHAST_366452" />
   <CARDNAME text="CRYPT_GHAST" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Crypt Ghast]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="366452" />
   <ARTID value="366452" />
   <ARTIST name="Chris Rahn" />
   <CASTING_COST cost="{3}{B}" />
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Spirit" />
   <EXPANSION value="GTC" />
   <RARITY metaname="R" />
   <POWER value="2" />
   <TOUGHNESS value="2" />
<TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Extort |(Whenever you cast a spell, you may pay| {i}|. If you do, each opponent loses 1 life and you gain that much life.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Extorsion |(À chaque fois que vous lancez un sort, vous pouvez payer| {i}|. Si vous faites ainsi, chaque adversaire perd 1 point de vie et vous gagnez autant de points de vie.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Extorsionar. |(Siempre que lances un hechizo, puedes pagar| {i}|. Si lo haces, cada oponente pierde 1 vida y tú ganas esa cantidad de vidas.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Abnötigen |(Immer wenn du einen Zauberspruch wirkst, kannst du| {i} |bezahlen. Falls du dies tust, verliert jeder Gegner 1 Lebenspunkt und du erhältst ebenso viele Lebenspunkte dazu.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Estorsione |(Ogniqualvolta lanci una magia, puoi pagare| {i}|. Se lo fai, ogni avversario perde 1 punto vita e tu guadagni altrettanti punti vita.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[強請(あなたが呪文を1つ唱えるたび、あなたは{i}を支払ってもよい。そうした場合、各対戦相手はそれぞれ1点のライフを失い、あなたはその点数分のライフを得る。)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[착취 (당신이 주문을 발동할 때마다 당신은 {i}를 지불할 수 있다. 그렇게 한다면, 각 상대는 생명 1점을 잃고 당신은 그만큼의 생명점을 얻는다.)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Вымогательство |(Каждый раз, когда вы разыгрываете заклинание, вы можете заплатить| {i}|. Если вы это делаете, каждый оппонент теряет 1 жизнь, а вы получаете столько же жизней.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Extorquir |(Toda vez que você conjurar uma mágica, poderá pagar| {i}|. Se fizer isso, cada oponente perderá 1 ponto de vida e você ganhará uma quantidade equivalente de pontos de vida.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[敲诈(每当你施放一个咒语时,你可以支付{i}。若你如此作,则每位对手各失去1点生命,且你获得等量的生命。)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[敲詐(每當你施放一個咒語時,你可以支付{i}。若你如此作,則每位對手各失去1點生命,且你獲得等量的生命。)]]></LOCALISED_TEXT>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol" />
      <RESOLUTION_TIME_ACTION>
    local controller = EffectController()
    if controller:CanPayManaCost("{W/B}") then
       controller:BeginNewMultipleChoice()   
       controller:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_YES" )   
       controller:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NO" )
       controller:AskMultipleChoiceQuestion( "CARD_QUERY_PAY_EXTORT" )
    end
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    local controller = EffectController()
    if controller:CanPayManaCost("{W/B}") then
      local result = controller:GetMultipleChoiceResult()
       if result == 0 then
         controller:PayManaCost("{W/B}")
        local lifeGain = 0
         for i = 0, (MTG():GetNumberOfPlayers()-1) do
            local player = MTG():GetNthPlayer(i)
             if player:GetTeam() ~= controller:GetTeam() then
                player:LoseLife(1)
            lifeGain = lifeGain + 1
             end
          end
        controller:GainLife(lifeGain)
      end
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you tap a Swamp for mana, add {B} to your mana pool in addition to the mana the land produces.)|]]></LOCALISED_TEXT>
<TRIGGER value="BECAME_TAPPED_FOR_MANA" simple_qualifier="controller">
local oCard = TriggerObject()
         if (oCard ~= nil) then
            if (oCard:GetCardType():Test( CARD_TYPE_LAND )) and (LAND_TYPE_SWAMP)) then
               if (RSN_UsedManaAbility( oCard )) then
                  return true
               end
            end
         end

         -- If we don't have the TriggerObject then we don't know if it was a mana ability or not.
         return false
      </TRIGGER>
      <RESOLUTION_TIME_ACTION>
         EffectDC():Int_Set( 1, -1 )
         local oCard = TriggerObjectLKI()
         if (oCard ~= nil) then
            local nCount = RSN_CountProducedColours( oCard )
            if (nCount == 0) then
               -- Do nothing because no mana was produced.
            elseif (nCount == 1) then
               EffectDC():Int_Set( 1, RSN_GetProducedColourByIndex( oCard, 0 ) )
            else
               local oPlayer = oCard:GetPlayer()
               if (oPlayer ~= nil) then
oPlayer:BeginNewMultipleChoice()
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_B", (RSN_CheckProducedColour( oCard, COLOUR_BLACK ) &gt; 0) )
oPlayer:AskMultipleChoiceQuestion( "MODE_CHOOSE_ONE", oCard )
end
            end
         end
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         local oCard = TriggerObjectLKI()
         if (oCard ~= nil) then
            local oPlayer = oCard:GetPlayer()
            if (oPlayer ~= nil) then
               local nCount = RSN_CountProducedColours( oCard )
               if (nCount &gt; 1) then
                  EffectDC():Int_Set( 1, oPlayer:GetMultipleChoiceResult() )
               end
               if (nCount &gt; 0) then
                  local nColour = EffectDC():Int_Get( 1 )
if (nColour == COLOUR_BLACK) then
                     RSN_ProduceForPlayerNoTrigger( "{B}", 1, oPlayer )
end
               end
            end
         end
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
      </RESOLUTION_TIME_ACTION>
      <AUTO_SKIP always="1" />
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY forced_skip="1" replacement_effect="1">
      <TRIGGER value="BEGINNING_OF_STEP" pre_trigger="1" />
      <RESOLUTION_TIME_ACTION>
         RSN_ClearProducedMana()
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
<AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Formal Request Thread

Postby sweetLu » 30 Aug 2014, 22:59

In the line where you test if the trigger object is a land then a Swamp it looks like you have too many close parentheses. Add an open parenthesis right after the if then test that.

On a side note, I believe the "tapped for mana" trigger only works when you manually tap a Swamp. Using the auto tap functionality won't fire the trigger so people will have to be careful when playing with this card and the AI might not use it well.


About understanding the error statement, I knew to look in a trigger block on the fourth line (counting the <TRIGGER> line). The error statement says expected a then instead of ). I saw you had a then at the end of the line so I checked if you opened and closed all parentheses correctly and noticed the error. From the top of my headand from my phone I won't be able to go through the rest of the card to see if it will work correctly by if you have specific issues I can try.
sweetLu
 
Posts: 181
Joined: 16 Jul 2014, 01:24
Has thanked: 21 times
Been thanked: 22 times

Re: Formal Request Thread

Postby fallenangle » 31 Aug 2014, 02:30

Thanks, SweetLu! Adding the parenthesis where you said stopped the error message, but the ability doesn't seem to be working. Could I trouble you to take a closer look at the code and offer me some more advice? I'm really sorry to be so much trouble!
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Formal Request Thread

Postby sweetLu » 31 Aug 2014, 03:00

Like I said, this ishard to do from my phone especially when I'm not that familiar with Riiak's manual mana functions. Here are some suggestions. It looks like you might be overcomplicating this ability a little bit. For the trigger you should be able to copy Riiak's trigger for Mana Flare and add a check for a Swamp (looks like you might have done this already). For the RTAs you just need to add a {B} to the mana pool. This part is a lot simpler than Mana Flare and even a card that taps for mana. See if you can find Dark Ritual or Seething Song or a similar card.
sweetLu
 
Posts: 181
Joined: 16 Jul 2014, 01:24
Has thanked: 21 times
Been thanked: 22 times

Re: Formal Request Thread

Postby NeoAnderson » 31 Aug 2014, 03:19

fallenangle wrote:Thanks, SweetLu! Adding the parenthesis where you said stopped the error message, but the ability doesn't seem to be working. Could I trouble you to take a closer look at the code and offer me some more advice? I'm really sorry to be so much trouble!
I just made it for you i haven't tested so there is no warranty :lol: :
Crypt Ghast | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="CRYPT_GHAST_62249" />
   <CARDNAME text="CRYPT_GHAST" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Crypt Ghast]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Blême des cryptes]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Espanto de la cripta]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Krypta-Schaudergeist]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Spettro della Cripta]]></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[Abantesma da Cripta]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[墓穴惧妖]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[墓穴惧妖]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="62249" />
   <ARTID value="62249" />
   <ARTIST name="Chris Rahn" />
   <CASTING_COST cost="{3}{B}" />
   <FLAVOURTEXT>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“By the time your knees have worn through your robe, you may have begun to learn your place.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« Quand tes genoux auront fini par trouer ta robe, tu auras peut-être commencé à apprendre quel est ton rang. »]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Para cuando hayas desgastado la túnica con las rodillas, quizá hayas empezado a entender cuál es tu sitio.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Wenn deine Knie erst deine Robe verschlissen haben, beginnst du vielleicht zu begreifen, wo dein Platz ist.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Quando avrai consumato la tunica a forza di inginocchiarti, avrai imparato qual è il tuo posto.”]]></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[“Quando seus joelhos tiverem rasgado seu manto, talvez você terá aprendido qual é o seu lugar.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[「跪到长袍磨破时,你就会明白自己的地位到哪里。」]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[「跪到長袍磨破時,你就會明白自己的地位到哪裡。」]]></LOCALISED_TEXT>
   </FLAVOURTEXT>
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Spirit" />
   <EXPANSION value="DPI" />
   <RARITY metaname="R" />
   <POWER value="2" />
   <TOUGHNESS value="2" />

   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Extort |(Whenever you cast a spell, you may pay| {i}|. If you do, each opponent loses 1 life and you gain that much life.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Extorsion |(À chaque fois que vous lancez un sort, vous pouvez payer| {i}|. Si vous faites ainsi, chaque adversaire perd 1 point de vie et vous gagnez autant de points de vie.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Extorsionar. |(Siempre que lances un hechizo, puedes pagar| {i}|. Si lo haces, cada oponente pierde 1 vida y tú ganas esa cantidad de vidas.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Abnötigen |(Immer wenn du einen Zauberspruch wirkst, kannst du| {i} |bezahlen. Falls du dies tust, verliert jeder Gegner 1 Lebenspunkt und du erhältst ebenso viele Lebenspunkte dazu.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Estorsione |(Ogniqualvolta lanci una magia, puoi pagare| {i}|. Se lo fai, ogni avversario perde 1 punto vita e tu guadagni altrettanti punti vita.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[強請(あなたが呪文を1つ唱えるたび、あなたは{i}を支払ってもよい。そうした場合、各対戦相手はそれぞれ1点のライフを失い、あなたはその点数分のライフを得る。)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[착취 (당신이 주문을 발동할 때마다 당신은 {i}를 지불할 수 있다. 그렇게 한다면, 각 상대는 생명 1점을 잃고 당신은 그만큼의 생명점을 얻는다.)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Вымогательство |(Каждый раз, когда вы разыгрываете заклинание, вы можете заплатить| {i}|. Если вы это делаете, каждый оппонент теряет 1 жизнь, а вы получаете столько же жизней.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Extorquir |(Toda vez que você conjurar uma mágica, poderá pagar| {i}|. Se fizer isso, cada oponente perderá 1 ponto de vida e você ganhará uma quantidade equivalente de pontos de vida.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[敲诈(每当你施放一个咒语时,你可以支付{i}。若你如此作,则每位对手各失去1点生命,且你获得等量的生命。)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[敲詐(每當你施放一個咒語時,你可以支付{i}。若你如此作,則每位對手各失去1點生命,且你獲得等量的生命。)]]></LOCALISED_TEXT>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol" />
      <RESOLUTION_TIME_ACTION>
    local controller = EffectController()
    if controller:CanPayManaCost("{W/B}") then
       controller:BeginNewMultipleChoice()   
       controller:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_YES" )   
       controller:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NO" )
       controller:AskMultipleChoiceQuestion( "CARD_QUERY_PAY_EXTORT" )
    end
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    local controller = EffectController()
    if controller:CanPayManaCost("{W/B}") then
      local result = controller:GetMultipleChoiceResult()
       if result == 0 then
         controller:PayManaCost("{W/B}")
        local lifeGain = 0
         for i = 0, (MTG():GetNumberOfPlayers()-1) do
            local player = MTG():GetNthPlayer(i)
             if player:GetTeam() ~= controller:GetTeam() then
                player:LoseLife(1)
            lifeGain = lifeGain + 1
             end
          end
        controller:GainLife(lifeGain)
      end
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you tap a Swamp for mana, add {B} to your mana pool (in addition to the mana the land produces).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous engagez un marais pour du mana, ajoutez {B} à votre réserve (en plus du mana produit par le terrain).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que gires un pantano para obtener maná, añade {B} a tu reserva de maná (además del maná que produzca esa tierra.)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn du einen Sumpf für Mana tappst, erhöhe deinen Manavorrat um {B} (zusätzlich zu dem Mana, das dieses Land erzeugt).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta TAPpi una Palude per attingere mana, aggiungi {B} alla tua riserva di mana (in aggiunta al mana prodotto dalla terra).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたがマナを引き出す目的で沼を1つタップするたび、(その土地が生み出すマナに加えて)あなたのマナ・プールに{B}を加える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신이 늪을 탭해 마나를 얻을 때마다, (해당 대지가 생성하는 마나에 추가로) {B}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда вы поворачиваете Болото для получения маны, добавьте {B} в ваше хранилище маны (в дополнение к мане, которую производит земля).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que você virar um Pântano para gerar mana, adicione {B} à sua reserva de mana (além do mana que o terreno gera).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[每当你横置一个沼泽以产生法术力时,加{B}到你的法术力池中(会得到原本该有的法术力,并加上此份法术力)。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[每当你横置一个沼泽以产生法术力时,加{B}到你的法术力池中(会得到原本该有的法术力,并加上此份法术力)。]]></LOCALISED_TEXT>
      <TRIGGER value="BECAME_TAPPED_FOR_MANA" simple_qualifier="objectyoucontrol">
                return TriggerObject():GetSubType():Test( LAND_TYPE_SWAMP )
      </TRIGGER>
      <RESOLUTION_TIME_ACTION>
                  RSN_ProduceNoTrigger( "{B}", 1 )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
      S_DisplayManaPool(EffectController())
      RSN_MarkManaAbilityEnd()
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
   <AI_BASE_SCORE score="450" zone="ZONE_HAND" />
</CARD_V2>
Attachments
CryptGhast.rar
CARD + TDX
(103.58 KiB) Downloaded 502 times
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby drleg3nd » 31 Aug 2014, 04:51

NeoAnderson wrote:
fallenangle wrote:Thanks, SweetLu! Adding the parenthesis where you said stopped the error message, but the ability doesn't seem to be working. Could I trouble you to take a closer look at the code and offer me some more advice? I'm really sorry to be so much trouble!
I just made it for you i haven't tested so there is no warranty :lol: :
Crypt Ghast | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="CRYPT_GHAST_62249" />
   <CARDNAME text="CRYPT_GHAST" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Crypt Ghast]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Blême des cryptes]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Espanto de la cripta]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Krypta-Schaudergeist]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Spettro della Cripta]]></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[Abantesma da Cripta]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[墓穴惧妖]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[墓穴惧妖]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="62249" />
   <ARTID value="62249" />
   <ARTIST name="Chris Rahn" />
   <CASTING_COST cost="{3}{B}" />
   <FLAVOURTEXT>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“By the time your knees have worn through your robe, you may have begun to learn your place.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« Quand tes genoux auront fini par trouer ta robe, tu auras peut-être commencé à apprendre quel est ton rang. »]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Para cuando hayas desgastado la túnica con las rodillas, quizá hayas empezado a entender cuál es tu sitio.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Wenn deine Knie erst deine Robe verschlissen haben, beginnst du vielleicht zu begreifen, wo dein Platz ist.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Quando avrai consumato la tunica a forza di inginocchiarti, avrai imparato qual è il tuo posto.”]]></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[“Quando seus joelhos tiverem rasgado seu manto, talvez você terá aprendido qual é o seu lugar.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[「跪到长袍磨破时,你就会明白自己的地位到哪里。」]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[「跪到長袍磨破時,你就會明白自己的地位到哪裡。」]]></LOCALISED_TEXT>
   </FLAVOURTEXT>
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Spirit" />
   <EXPANSION value="DPI" />
   <RARITY metaname="R" />
   <POWER value="2" />
   <TOUGHNESS value="2" />

   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Extort |(Whenever you cast a spell, you may pay| {i}|. If you do, each opponent loses 1 life and you gain that much life.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Extorsion |(À chaque fois que vous lancez un sort, vous pouvez payer| {i}|. Si vous faites ainsi, chaque adversaire perd 1 point de vie et vous gagnez autant de points de vie.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Extorsionar. |(Siempre que lances un hechizo, puedes pagar| {i}|. Si lo haces, cada oponente pierde 1 vida y tú ganas esa cantidad de vidas.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Abnötigen |(Immer wenn du einen Zauberspruch wirkst, kannst du| {i} |bezahlen. Falls du dies tust, verliert jeder Gegner 1 Lebenspunkt und du erhältst ebenso viele Lebenspunkte dazu.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Estorsione |(Ogniqualvolta lanci una magia, puoi pagare| {i}|. Se lo fai, ogni avversario perde 1 punto vita e tu guadagni altrettanti punti vita.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[強請(あなたが呪文を1つ唱えるたび、あなたは{i}を支払ってもよい。そうした場合、各対戦相手はそれぞれ1点のライフを失い、あなたはその点数分のライフを得る。)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[착취 (당신이 주문을 발동할 때마다 당신은 {i}를 지불할 수 있다. 그렇게 한다면, 각 상대는 생명 1점을 잃고 당신은 그만큼의 생명점을 얻는다.)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Вымогательство |(Каждый раз, когда вы разыгрываете заклинание, вы можете заплатить| {i}|. Если вы это делаете, каждый оппонент теряет 1 жизнь, а вы получаете столько же жизней.) |]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Extorquir |(Toda vez que você conjurar uma mágica, poderá pagar| {i}|. Se fizer isso, cada oponente perderá 1 ponto de vida e você ganhará uma quantidade equivalente de pontos de vida.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[敲诈(每当你施放一个咒语时,你可以支付{i}。若你如此作,则每位对手各失去1点生命,且你获得等量的生命。)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[敲詐(每當你施放一個咒語時,你可以支付{i}。若你如此作,則每位對手各失去1點生命,且你獲得等量的生命。)]]></LOCALISED_TEXT>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol" />
      <RESOLUTION_TIME_ACTION>
    local controller = EffectController()
    if controller:CanPayManaCost("{W/B}") then
       controller:BeginNewMultipleChoice()   
       controller:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_YES" )   
       controller:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NO" )
       controller:AskMultipleChoiceQuestion( "CARD_QUERY_PAY_EXTORT" )
    end
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    local controller = EffectController()
    if controller:CanPayManaCost("{W/B}") then
      local result = controller:GetMultipleChoiceResult()
       if result == 0 then
         controller:PayManaCost("{W/B}")
        local lifeGain = 0
         for i = 0, (MTG():GetNumberOfPlayers()-1) do
            local player = MTG():GetNthPlayer(i)
             if player:GetTeam() ~= controller:GetTeam() then
                player:LoseLife(1)
            lifeGain = lifeGain + 1
             end
          end
        controller:GainLife(lifeGain)
      end
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you tap a Swamp for mana, add {B} to your mana pool (in addition to the mana the land produces).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous engagez un marais pour du mana, ajoutez {B} à votre réserve (en plus du mana produit par le terrain).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que gires un pantano para obtener maná, añade {B} a tu reserva de maná (además del maná que produzca esa tierra.)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn du einen Sumpf für Mana tappst, erhöhe deinen Manavorrat um {B} (zusätzlich zu dem Mana, das dieses Land erzeugt).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta TAPpi una Palude per attingere mana, aggiungi {B} alla tua riserva di mana (in aggiunta al mana prodotto dalla terra).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたがマナを引き出す目的で沼を1つタップするたび、(その土地が生み出すマナに加えて)あなたのマナ・プールに{B}を加える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신이 늪을 탭해 마나를 얻을 때마다, (해당 대지가 생성하는 마나에 추가로) {B}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда вы поворачиваете Болото для получения маны, добавьте {B} в ваше хранилище маны (в дополнение к мане, которую производит земля).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que você virar um Pântano para gerar mana, adicione {B} à sua reserva de mana (além do mana que o terreno gera).]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[每当你横置一个沼泽以产生法术力时,加{B}到你的法术力池中(会得到原本该有的法术力,并加上此份法术力)。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[每当你横置一个沼泽以产生法术力时,加{B}到你的法术力池中(会得到原本该有的法术力,并加上此份法术力)。]]></LOCALISED_TEXT>
      <TRIGGER value="BECAME_TAPPED_FOR_MANA" simple_qualifier="objectyoucontrol">
                return TriggerObject():GetSubType():Test( LAND_TYPE_SWAMP )
      </TRIGGER>
      <RESOLUTION_TIME_ACTION>
                  RSN_ProduceNoTrigger( "{B}", 1 )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
      S_DisplayManaPool(EffectController())
      RSN_MarkManaAbilityEnd()
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
   <AI_BASE_SCORE score="450" zone="ZONE_HAND" />
</CARD_V2>
if this implementation does not work i have a fully working version in my mod, although neo usually does good work so its probably no need.
drleg3nd
 
Posts: 528
Joined: 14 May 2012, 20:05
Has thanked: 5 times
Been thanked: 30 times

Re: Formal Request Thread

Postby loookaz » 31 Aug 2014, 15:36

Hi guys, does anyone posses or know where to find Martyr of Sands?
I am making a lifegain deck and the synergy between Martyr and Proclamation of Rebirth is awesome:)
All I need is MArtyr of Sands to be happy.
can anyone help?
loookaz
 
Posts: 131
Joined: 01 Dec 2012, 10:56
Location: Warsaw, Poland
Has thanked: 22 times
Been thanked: 2 times

Re: Formal Request Thread

Postby NeoAnderson » 31 Aug 2014, 16:29

loookaz wrote:Hi guys, does anyone posses or know where to find Martyr of Sands?
I am making a lifegain deck and the synergy between Martyr and Proclamation of Rebirth is awesome:)
All I need is MArtyr of Sands to be happy.
can anyone help?
Just coded as requested :
Martyr of Sands | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="MARTYR_OF_SANDS_121263" />
  <CARDNAME text="MARTYR_OF_SANDS" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Martyr of Sands]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Martyre aux sables]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Mártir de las arenas]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Märtyrerin des Sands]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Martire della Sabbia]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[砂の殉教者]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Martyr of Sands]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Мученица песка]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Mártir das Areias]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="121263" />
  <ARTID value="121263" />
  <ARTIST name="Randy Gallegos" />
  <CASTING_COST cost="{W}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Only in our vulnerability is there true power, and that power is life itself.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« C’est dans notre vulnérabilité qu’on trouve le véritable pouvoir, et ce pouvoir est la vie. »]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Sólo en nuestra vulnerabilidad hay poder verdadero, y ese poder es la vida misma.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Nur in unserer Verwundbarkeit steckt wahre Macht, denn diese Macht ist das Leben selbst.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Solo nella nostra vulnerabilità si cela il vero potere, e quel potere è la vita stessa.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[我らの脆さの中にのみ真の力があります。そして、その力こそが生命そのものなのです。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Only in our vulnerability is there true power, and that power is life itself.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[“Истинная сила только в нашей уязвимости, и сила эта — сама жизнь”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Apenas em nossa vulnerabilidade há poder real, e esse poder é a própria vida.”]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Human" />
  <SUB_TYPE metaname="Cleric" />
  <EXPANSION value="CSP" />
  <RARITY metaname="C" />
  <POWER value="1" />
  <TOUGHNESS value="1" />
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{1}, Reveal X white cards from your hand, Sacrifice Martyr of Sands: You gain three times X life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{1}, révélez X cartes blanches depuis votre main, sacrifiez la Martyre aux sables : Vous gagnez trois fois X points de vie.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{1}, mostrar X cartas blancas de tu mano, sacrificar la Mártir de las arenas: Ganas el triple de X vidas.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{1}, zeige X weiße Karten aus deiner Hand offen vor, opfere die Märtyrerin des Sands: Du erhältst dreimal X Lebenspunkte dazu.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{1}, Rivela X carte bianche dalla tua mano, Sacrifica il Martire della Sabbia: Guadagni un ammontare di punti vita pari al triplo di X.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{1}, あなたの手札から白のカードをX枚公開する, 砂の殉教者を生け贄に捧げる:あなたはXの3倍の点数のライフを得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{1}, Reveal X white cards from your hand, Sacrifice Martyr of Sands: You gain three times X life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{1}, Покажите X белых карт из своей руки, Пожертвуйте Мученицу песка: Вы получаете количество жизни, равное 3 раза по X.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{1}, Revele X cards brancos de sua mão, Sacrifique Mártir das Areias: Você ganha três vezes X pontos de vida.]]></LOCALISED_TEXT>
 <COST mana_cost="{1}" type="Mana" />
      <COST type="Reveal" definition="0" compartment="1" query_tag="CARD_QUERY_CHOOSE_CARD_TO_REVEAL" item_count_any_number_of="1" />
      <COST type="SacrificeSelf" />
      <COST_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_COLOUR, OP_IS, COLOUR_WHITE )
    filter:SetZone( ZONE_HAND, EffectController() )
    </COST_DEFINITION>

      <RESOLUTION_TIME_ACTION>
      local bonus = EffectDC():Get_Targets(1):Count()
    if bonus &gt; 0  then
        bonus = bonus*3
       EffectController():GainLife(bonus)
    end
    </RESOLUTION_TIME_ACTION>
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
   </ACTIVATED_ABILITY>
   <SFX text="COMBAT_FIREBALL_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
   <SFX text="COMBAT_FIREBALL_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
   <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
Attachments
MartyrOfSands.rar
CARD + TDX
(113.37 KiB) Downloaded 294 times
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby loookaz » 31 Aug 2014, 16:56

thanks man, that's really quick reply.
Very much appreciated.
have a nice day, man:)
loookaz
 
Posts: 131
Joined: 01 Dec 2012, 10:56
Location: Warsaw, Poland
Has thanked: 22 times
Been thanked: 2 times

Re: Formal Request Thread

Postby Hacker85 » 07 Sep 2014, 17:42

hi im making Ancient Stirrings and using the code from another thread but i can only search for colored cards whats wrong with that
Code: Select all
 <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Look at the top five cards of your library. You may reveal a colourless card from among them and put it into your hand. Then put the rest on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Regardez les cinq cartes du dessus de votre bibliothèque.  Vous pouvez révéler une carte incolore parmi elles et la mettre dans votre main.  Mettez ensuite le reste au-dessous de votre bibliothèque, dans n’importe quel ordre.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Mira las primeras cinco cartas de tu biblioteca. Puedes mostrar una carta incolora que se encuentre entre ellas y ponerla en tu mano. Luego pon el resto en el fondo de tu biblioteca en cualquier orden.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Schau dir die obersten fünf Karten deiner Bibliothek an. Du kannst eine farblose Karte darunter offen vorzeigen und sie auf deine Hand nehmen. Lege dann den Rest in beliebiger Reihenfolge unter deine Bibliothek.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Guarda le prime cinque carte del tuo grimorio. Puoi rivelare una carta incolore tra esse e aggiungerla alla tua mano. Poi metti le altre in fondo al tuo grimorio in qualsiasi ordine.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたのライブラリーの一番上から5枚のカードを見る。 あなたはその中の無色のカードを1枚公開してあなたの手札に加えてもよい。 その後、残りをあなたのライブラリーの一番下に望む順番で置く。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Look at the top five cards of your library. You may reveal a colorless card from among them and put it into your hand. Then put the rest on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Посмотрите пять верхних карт вашей библиотеки. Вы можете показать находящуюся среди них бесцветную карту и положить ее в вашу руку. Затем положите остальные карты в низ вашей библиотеки в любом порядке.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Olhe os cinco cards do topo de seu grimório. Você pode revelar um card incolor dentre eles e colocá-lo em sua mão. Coloque o resto no fundo de seu grimório em qualquer ordem.]]></LOCALISED_TEXT>

    <RESOLUTION_TIME_ACTION>
    local queryDC = EffectDC():Make_Chest(1)
    local player = EffectController()
    for i=0,4 do
       local card = player:Library_GetNth(i)
       if card ~= nil then
          queryDC:Set_CardPtr(i, card)
          if card:GetColour():GetNumColours() == 0 then
                    queryDC:QueryUnselect_CardPtr(i)
          end
       else
          break
       end
    end
    player:ChooseItemFromDC( "CARD_QUERY_CHOOSE_COLOURLESS_TO_PUT_INTO_HAND", queryDC, EffectDC():Make_Targets(0), QUERY_FLAG_MAY )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local chosen = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if chosen ~= nil then
       chosen:Reveal()
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local chosen = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if chosen ~= nil then
       chosen:PutInHand()
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    -- Code taken from Summoning Trap: no ordering query
    local queryDC = EffectDC():Get_Chest(1)
    local num_cards = queryDC:Count()
    for i=0,num_cards-1 do
       local card = queryDC:Get_CardPtr(i)
       if card ~= nil then
          card:PutOnBottomOfLibrary()
       end
    end
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>
  <AI_BASE_SCORE score="300" zone="ZONE_HAND" />
</CARD_V2>
Hacker85
 
Posts: 31
Joined: 29 Mar 2014, 06:19
Has thanked: 3 times
Been thanked: 0 time

Re: Formal Request Thread

Postby RiiakShiNal » 07 Sep 2014, 17:52

Hacker85 wrote:hi im making Ancient Stirrings and using the code from another thread but i can only search for colored cards whats wrong with that
| Open
Code: Select all
 <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Look at the top five cards of your library. You may reveal a colourless card from among them and put it into your hand. Then put the rest on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Regardez les cinq cartes du dessus de votre bibliothèque.  Vous pouvez révéler une carte incolore parmi elles et la mettre dans votre main.  Mettez ensuite le reste au-dessous de votre bibliothèque, dans n’importe quel ordre.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Mira las primeras cinco cartas de tu biblioteca. Puedes mostrar una carta incolora que se encuentre entre ellas y ponerla en tu mano. Luego pon el resto en el fondo de tu biblioteca en cualquier orden.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Schau dir die obersten fünf Karten deiner Bibliothek an. Du kannst eine farblose Karte darunter offen vorzeigen und sie auf deine Hand nehmen. Lege dann den Rest in beliebiger Reihenfolge unter deine Bibliothek.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Guarda le prime cinque carte del tuo grimorio. Puoi rivelare una carta incolore tra esse e aggiungerla alla tua mano. Poi metti le altre in fondo al tuo grimorio in qualsiasi ordine.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたのライブラリーの一番上から5枚のカードを見る。 あなたはその中の無色のカードを1枚公開してあなたの手札に加えてもよい。 その後、残りをあなたのライブラリーの一番下に望む順番で置く。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Look at the top five cards of your library. You may reveal a colorless card from among them and put it into your hand. Then put the rest on the bottom of your library in any order.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Посмотрите пять верхних карт вашей библиотеки. Вы можете показать находящуюся среди них бесцветную карту и положить ее в вашу руку. Затем положите остальные карты в низ вашей библиотеки в любом порядке.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Olhe os cinco cards do topo de seu grimório. Você pode revelar um card incolor dentre eles e colocá-lo em sua mão. Coloque o resto no fundo de seu grimório em qualquer ordem.]]></LOCALISED_TEXT>

    <RESOLUTION_TIME_ACTION>
    local queryDC = EffectDC():Make_Chest(1)
    local player = EffectController()
    for i=0,4 do
       local card = player:Library_GetNth(i)
       if card ~= nil then
          queryDC:Set_CardPtr(i, card)
          if card:GetColour():GetNumColours() == 0 then
                    queryDC:QueryUnselect_CardPtr(i)
          end
       else
          break
       end
    end
    player:ChooseItemFromDC( "CARD_QUERY_CHOOSE_COLOURLESS_TO_PUT_INTO_HAND", queryDC, EffectDC():Make_Targets(0), QUERY_FLAG_MAY )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local chosen = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if chosen ~= nil then
       chosen:Reveal()
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local chosen = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if chosen ~= nil then
       chosen:PutInHand()
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    -- Code taken from Summoning Trap: no ordering query
    local queryDC = EffectDC():Get_Chest(1)
    local num_cards = queryDC:Count()
    for i=0,num_cards-1 do
       local card = queryDC:Get_CardPtr(i)
       if card ~= nil then
          card:PutOnBottomOfLibrary()
       end
    end
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>
  <AI_BASE_SCORE score="300" zone="ZONE_HAND" />
</CARD_V2>
Here you are removing colourless cards (by unselecting them):
Code: Select all
          if card:GetColour():GetNumColours() == 0 then
                    queryDC:QueryUnselect_CardPtr(i)
          end
You should try changing it to this:
Code: Select all
          if card:GetColour():GetNumColours() &gt; 0 then
                    queryDC:QueryUnselect_CardPtr(i)
          end
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 17 guests

Main Menu

User Menu

Our Partners


Who is online

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

Login Form