Board index
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
New MTG Cards and Decks (2010, 2012, 2013, 2014, 2015, Magic Duels)
2014




Formal Request Thread
Moderator: CCGHQ Admins
Re: Formal Request Thread
by thefiremind » 28 Aug 2014, 23:41
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.fallenangle wrote:I would prefer to do option one, since that seems easier, but I'm not quite sure how to go about 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 > 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>
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...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by 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!
[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
by NeoAnderson » 29 Aug 2014, 04:42
He just miss to declare the player into a RESOLUTION BLOCK.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!
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 > 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
by gorem2k » 29 Aug 2014, 10:38
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 .NeoAnderson wrote:He just miss to declare the player into a RESOLUTION BLOCK.
strange...

Re: Formal Request Thread
by 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!
[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 ) > 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 > 1) then
EffectDC():Int_Set( 1, oPlayer:GetMultipleChoiceResult() )
end
if (nCount > 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
by 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.
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.
Re: Formal Request Thread
by 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
by 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
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.

Re: Formal Request Thread
by NeoAnderson » 31 Aug 2014, 03:19
I just made it for you i haven't tested so there is no warrantyfallenangle 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!

- 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
by drleg3nd » 31 Aug 2014, 04:51
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.NeoAnderson wrote:I just made it for you i haven't tested so there is no warrantyfallenangle 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!:
- 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>
Re: Formal Request Thread
by 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?
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?
Najlepsze lekcje angielskiego w Warszawie:
http://www.englishwithlucas.com/
https://www.facebook.com/angielski.z.Lucasem
http://www.englishwithlucas.com/
https://www.facebook.com/angielski.z.Lucasem
- loookaz
- Posts: 131
- Joined: 01 Dec 2012, 10:56
- Location: Warsaw, Poland
- Has thanked: 22 times
- Been thanked: 2 times
Re: Formal Request Thread
by NeoAnderson » 31 Aug 2014, 16:29
Just coded as requested :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?
- 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 > 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
by loookaz » 31 Aug 2014, 16:56
thanks man, that's really quick reply.
Very much appreciated.
have a nice day, man:)
Very much appreciated.
have a nice day, man:)
Najlepsze lekcje angielskiego w Warszawie:
http://www.englishwithlucas.com/
https://www.facebook.com/angielski.z.Lucasem
http://www.englishwithlucas.com/
https://www.facebook.com/angielski.z.Lucasem
- loookaz
- Posts: 131
- Joined: 01 Dec 2012, 10:56
- Location: Warsaw, Poland
- Has thanked: 22 times
- Been thanked: 2 times
Re: Formal Request Thread
by 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>
Re: Formal Request Thread
by RiiakShiNal » 07 Sep 2014, 17:52
Here you are removing colourless cards (by unselecting them):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>
- Code: Select all
if card:GetColour():GetNumColours() == 0 then
queryDC:QueryUnselect_CardPtr(i)
end
- Code: Select all
if card:GetColour():GetNumColours() > 0 then
queryDC:QueryUnselect_CardPtr(i)
end
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2188
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Who is online
Users browsing this forum: No registered users and 19 guests