It is currently 23 Jun 2025, 23:25
   
Text Size

Formal Request Thread

Moderator: CCGHQ Admins

Re: Formal Request Thread

Postby jacque » 22 Sep 2013, 14:32

drleg3nd wrote:
jacque wrote:
drleg3nd wrote:is Nykthos, Shrine to Nyx possible to code ?
Yes it is... In fact I have Nykthos' ability now on Xenagos, the Reveler zzz
awesome, do you have a link ?
Sorry I don't have it anymore =( Xenagos is driving me insane =(
Learn making your own cards today!!!

Click on Image if a post/reply helped you.

I stitch old cards together to make new ones...

~ Jacque, the confused
jacque
 
Posts: 217
Joined: 07 Jun 2013, 20:11
Has thanked: 26 times
Been thanked: 44 times

Re: Formal Request Thread

Postby drleg3nd » 22 Sep 2013, 14:42

[/quote]
Sorry I don't have it anymore =( Xenagos is driving me insane =([/quote]
hehe, im guessing still work in progress huh ?
drleg3nd
 
Posts: 528
Joined: 14 May 2012, 20:05
Has thanked: 5 times
Been thanked: 30 times

Re: Formal Request Thread

Postby jacque » 22 Sep 2013, 14:43

drleg3nd wrote:
Sorry I don't have it anymore =( Xenagos is driving me insane =([/quote]
hehe, im guessing still work in progress huh ?[/quote]
Not that easy... I'm looking for a way to loop the entire Block Set, rather than looping within a particular block... which is fairly impossible with my limited knowledge on coding... =(
Learn making your own cards today!!!

Click on Image if a post/reply helped you.

I stitch old cards together to make new ones...

~ Jacque, the confused
jacque
 
Posts: 217
Joined: 07 Jun 2013, 20:11
Has thanked: 26 times
Been thanked: 44 times

Re: Formal Request Thread

Postby drleg3nd » 22 Sep 2013, 14:47

what do you mean by "loop the entire Block Set, rather than looping within a particular block" ?
drleg3nd
 
Posts: 528
Joined: 14 May 2012, 20:05
Has thanked: 5 times
Been thanked: 30 times

Re: Formal Request Thread

Postby gorem2k » 22 Sep 2013, 16:07

(about Eye of Singularity)
thefiremind wrote: I can come up with code but it will take some time.
Amazing!! didn't took you much time. I thought this would be much more complicated with lots of lines of codes, congrats!!! *tip hat* and =D>

even if it seems all good, could you make this trigger only when a creature will be destroyed? (put filtering in TRIGGER block? or INTERVENING_IF?)

as it is now, if a unique creature enter, it will trigger for nothing, which is a bit redundant.
gorem2k
 
Posts: 464
Joined: 01 Apr 2013, 04:21
Has thanked: 48 times
Been thanked: 33 times

Re: Formal Request Thread

Postby jacque » 22 Sep 2013, 16:27

drleg3nd wrote:is Nykthos, Shrine to Nyx possible to code ?
Here you go... Enjoy =)
NYKTHOS, SHRINE TO NYX TESTED | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="NYKTHOS_SHRINE_TO_NYX_373713" />
  <CARDNAME text="NYKTHOS_SHRINE_TO_NYX" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Nykthos, Shrine to Nyx]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Nykthos, reliquaire de Nyx]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Nyktos, altar de Nyx]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Nykthos, Schrein von Nyx]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Nyktos, Santuario di Nyx]]></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[Nyktos, Santuário de Nyx]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="373713" />
  <ARTID value="A373713" />
  <ARTIST name="Jung Park" />
  <CASTING_COST cost="" />
  <SUPERTYPE metaname="Legendary" />
  <TYPE metaname="Land" />
  <EXPANSION value="THS" />
  <RARITY metaname="R" />
  <ACTIVATED_ABILITY forced_skip="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {1} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez {1} à votre réserve.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {1} a tu reserva de maná.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {1}.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {1} alla tua riserva di mana.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{1}を加える。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: {1}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {1} в ваше хранилище маны.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {1} à sua reserva de mana.]]></LOCALISED_TEXT>
    <COST type="TapSelf" />
    <PLAY_TIME_ACTION>
    RSN_MarkManaAbilityStart()
    </PLAY_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    RSN_Produce( "{1}", 1 )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    RSN_EliminateExtraManaTokens()
    RSN_MarkManaAbilityEnd()
    </RESOLUTION_TIME_ACTION>
    <AI_AVAILABILITY window_step="upkeep" type="window" />
    <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="declare_blockers" type="window" />
    <AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
    <AI_AVAILABILITY window_step="end_of_turn" type="window" />
    <AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
    <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
    <AI_AVAILABILITY type="in_response" response_source="1" />
    <AI_AVAILABILITY type="in_response" response_target="1" />
  </ACTIVATED_ABILITY>
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{2}, {T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{2}, {T}: Choisissez une couleur. Ajoutez à votre réserve une quantité de mana de cette couleur égale à votre dévotion à cette couleur.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{2}, {T}: Elige un color. Agrega a tu reserva de maná una cantidad de maná de ese color igual a tu devoción a ese color.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{2}, {T}: Bestimme eine Farbe. Erhöhe deinen Manavorrat um so viel Mana dieser Farbe, wie deine Hingabe zu dieser Farbe beträgt.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{2}, {T}: Scegli un colore. Aggiungi alla tua riserva di mana un ammontare di mana di quel colore pari alla tua devozione a quel colore.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{2}, {T}:色を1つ選ぶ。あなたのマナ・プールに、あなたのその色への信心に等しい点数の、その色のマナを加える。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{2}, {T}: 색 하나를 선택한다. 당신의 마나풀에 당신이 선택한 색의 마나를 그 색에 대한 신앙심만큼 담는다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{2}, {T}: выберите цвет. Добавьте в ваше хранилище маны количество маны того цвета, равное вашей Преданности тому цвету.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{2}, {T}: Escolha uma cor. Adicione à sua reserva de mana uma quantidade de mana daquela cor igual à sua devoção àquela cor.]]></LOCALISED_TEXT>
    <COST mana_cost="{2}" type="Mana" />
    <COST type="TapSelf" />

    <PLAY_TIME_ACTION>
    RSN_MarkManaAbilityStart()
    local oPlayer = EffectController()
    local oCard = EffectSource()
    if (oPlayer ~= nil) then
        oPlayer:BeginNewMultipleChoice()
        oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_W" )
        oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_U" )
        oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_B" )
        oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_R" )
        oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_G" )
        oPlayer:AskMultipleChoiceQuestion( "MODE_CHOOSE_ONE", oCard )
    end
    </PLAY_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
    local oFilter = ClearFilter()
    oFilter:Add( FE_IS_PERMANENT, true )
    oFilter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    local nColour = EffectController():GetMultipleChoiceResult() + 1
    local nCount = oFilter:ChromaCount( nColour )
    if (nColour == 3) then
        MTG():MessageAllPlayers( " BLACK MANA " )
        RSN_Produce( "{B}", nCount )
    elseif (nColour == 2) then
        MTG():MessageAllPlayers( " BLUE MANA " )
        RSN_Produce( "{U}", nCount )
    elseif (nColour == 5) then
        MTG():MessageAllPlayers( " GREEN MANA " )
        RSN_Produce( "{G}", nCount )
    elseif (nColour == 4) then
        MTG():MessageAllPlayers( " RED MANA " )
        RSN_Produce( "{R}", nCount )
    elseif (nColour == 1) then
        MTG():MessageAllPlayers( " WHITE MANA " )
        RSN_Produce( "{W}", nCount )
    end
    </RESOLUTION_TIME_ACTION>
 
    <RESOLUTION_TIME_ACTION>
    RSN_EliminateExtraManaTokens()
    </RESOLUTION_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
    RSN_MarkManaAbilityEnd()
    </RESOLUTION_TIME_ACTION>
    <AI_AVAILABILITY window_step="upkeep" type="window" />
    <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="declare_blockers" type="window" />
    <AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
    <AI_AVAILABILITY window_step="end_of_turn" type="window" />
    <AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
    <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
    <AI_AVAILABILITY type="in_response" response_source="1" />
    <AI_AVAILABILITY type="in_response" response_target="1" />
  </ACTIVATED_ABILITY>

  <STATIC_ABILITY>
    <CONTINUOUS_ACTION layer="0">
    RSN_ClearCanProduceMana()
    RSN_MarkCanProduceMana( "{W}{U}{B}{R}{G}" )
    </CONTINUOUS_ACTION>
  </STATIC_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_W" />
  <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_U" />
  <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
  <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_R" />
  <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_G" />
  <AI_BASE_SCORE score="900" zone="ZONE_BATTLEFIELD" />
</CARD_V2>



Learn making your own cards today!!!

Click on Image if a post/reply helped you.

I stitch old cards together to make new ones...

~ Jacque, the confused
jacque
 
Posts: 217
Joined: 07 Jun 2013, 20:11
Has thanked: 26 times
Been thanked: 44 times

Re: Formal Request Thread

Postby RiiakShiNal » 22 Sep 2013, 17:11

Actually, jacque's code will cause crashes due to having forgotten the TOKEN_REGISTRATION for the colourless mana token (produced in the first ability), it is also missing {1} in the RSN_MarkCanProduceMana() call which would result in Reflecting Pool not being able to produce colourless mana even though it should be able to due to Nykthos, Shrine to Nyx being able to produce colourless mana. It is also missing a fall back mana ability in case activated abilities get shut down (which is possible for this card due to the first ability only having a cost of tap self {T} and only produces an easily defined mana output).

And while it should not matter as invisible tokens should not have casting costs FE_IS_PERMANENT will also look at invisible tokens instead of just "permanents".

Cleaned up code would probably look more like this:
Code: Select all
<?xml version='1.0'?>
<CARD_V2>
   <FILENAME text="RSN_NYKTHOS_SHRINE_TO_NYX_373713" />
   <CARDNAME text="NYKTHOS_SHRINE_TO_NYX" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Nykthos, Shrine to Nyx]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Nykthos, reliquaire de Nyx]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Nyktos, altar de Nyx]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Nykthos, Schrein von Nyx]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Nyktos, Santuario di Nyx]]></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[Nyktos, Santuário de Nyx]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[夜天神殿尼索斯]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[夜天神殿尼索斯]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="373713" />
   <ARTID value="RSN373713" />
   <ARTIST name="Jung Park" />
   <CASTING_COST cost="" />
   <SUPERTYPE metaname="Legendary" />
   <TYPE metaname="Land" />
   <EXPANSION value="" />
   <RARITY metaname="R" />
   <ACTIVATED_ABILITY forced_skip="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {1} to your mana pool.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez {1} à votre réserve.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {1} a tu reserva de maná.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {1}.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {1} alla tua riserva di mana.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{1}を加える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: {1}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {1} в ваше хранилище маны.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {1} à sua reserva de mana.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加{1}到你的法术力池中。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:加{1}到你的魔法力池中。]]></LOCALISED_TEXT>
      <COST type="TapSelf" />
      <PLAY_TIME_ACTION>
         RSN_MarkManaAbilityStart()
      </PLAY_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_Produce( "{1}", 1 )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
         RSN_MarkManaAbilityEnd()
      </RESOLUTION_TIME_ACTION>
      <AI_AVAILABILITY window_step="upkeep" type="window" />
      <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="declare_blockers" type="window" />
      <AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY type="in_response" response_target="1" />
   </ACTIVATED_ABILITY>
   <ACTIVATED_ABILITY forced_skip="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{2}, {T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color. |(Your devotion to a color is the number of mana symbols of that color in the mana costs of permanents you control.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{2}, {T}: Choisissez une couleur. Ajoutez à votre réserve une quantité de mana de cette couleur égale à votre dévotion à cette couleur. |(Votre dévotion à une couleur est le nombre de symboles de mana de cette couleur dans les coûts de mana des permanents que vous contrôlez.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{2}, {T}: Elige un color. Agrega a tu reserva de maná una cantidad de maná de ese color igual a tu devoción a ese color. |(Tu devoción a un color es la cantidad de símbolos de maná de ese color en los costes de maná de los permanentes que controlas.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{2}, {T}: Bestimme eine Farbe. Erhöhe deinen Manavorrat um so viel Mana dieser Farbe, wie deine Hingabe zu dieser Farbe beträgt. |(Jedes Manasymbol in den Manakosten von bleibenden Karten, die du kontrollierst, erhöht deine Hingabe zu der entsprechenden Farbe um eins.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{2}, {T}: Scegli un colore. Aggiungi alla tua riserva di mana un ammontare di mana di quel colore pari alla tua devozione a quel colore. |(La tua devozione a un colore è il numero di simboli di mana di quel colore nel costo di mana dei permanenti che controlli.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{2}, {T}:色を1つ選ぶ。あなたのマナ・プールに、あなたのその色への信心に等しい点数の、その色のマナを加える。(あなたの色への信心は、あなたがコントロールするパーマネントのマナ・コスト内に含まれるその色のマナ・シンボルの数である。)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{2}, {T}: 색 하나를 선택한다. 당신의 마나풀에 당신이 선택한 색의 마나를 그 색에 대한 신앙심만큼 담는다. |(어떤 색에 대한 당신의 신앙심은 당신이 조종하는 지속물에 나온 그 색의 마나 기호 하나당 1씩 증가한다.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{2}, {T}: выберите цвет. Добавьте в ваше хранилище маны количество маны того цвета, равное вашей Преданности тому цвету. |(Ваша Преданность цвету равна общему количеству символов маны этого цвета в мана-стоимости перманентов под вашим контролем.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{2}, {T}: Escolha uma cor. Adicione à sua reserva de mana uma quantidade de mana daquela cor igual à sua devoção àquela cor. |(Sua devoção àquela cor é o número de símbolos de mana daquela cor nos custos de mana das permanentes que você controla.)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{2},{T}:选择一种颜色。加若干该色法术力到你的法术力池中,其数量等同于你的该色献力。(你的某色献力,便是由你操控的所有永久物之法术力费用中,该色法术力符号的总数量。)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{2},{T}:選擇一種顏色。加若干該色魔法力到你的魔法力池中,其數量等同於你的該色獻力。(你的某色獻力,便是由你操控的所有永久物之魔法力費用中,該色魔法力符號的總數量。)]]></LOCALISED_TEXT>
      <COST type="Mana" mana_cost="{2}" />
      <COST type="TapSelf" />
      <PLAY_TIME_ACTION>
         RSN_MarkManaAbilityStart()
      </PLAY_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         -- Need to choose a colour first.
         EffectController():ChooseColour( "CARD_QUERY_CHOOSE_COLOUR", true )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         -- Get the chosen colour.
         local nColour = GetChosenColour()

         -- Now we need to count devotion to the chosen colour.
         local oFilter = ClearFilter()
         oFilter:Add( FE_CONTROLLER, OP_IS, EffectController() )
         local oSubFilter = oFilter:AddSubFilter_Or()
         oSubFilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
         oSubFilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
         oSubFilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
         oSubFilter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
         oSubFilter:Add( FE_TYPE, OP_IS, CARD_TYPE_PLANESWALKER )
         local nTotal = oFilter:ChromaCount( nColour )

         -- Now that we know how much devotion to that colour we have, we can produce that much mana.
         if (nTotal ~= 0) then
            if (nColour == COLOUR_BLACK) then
               RSN_Produce( "{B}", nTotal )
            elseif (nColour == COLOUR_BLUE) then
               RSN_Produce( "{U}", nTotal )
            elseif (nColour == COLOUR_GREEN) then
               RSN_Produce( "{G}", nTotal )
            elseif (nColour == COLOUR_RED) then
               RSN_Produce( "{R}", nTotal )
            elseif (nColour == COLOUR_WHITE) then
               RSN_Produce( "{W}", nTotal )
            end
         end
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
         RSN_MarkManaAbilityEnd()
      </RESOLUTION_TIME_ACTION>
      <AI_AVAILABILITY window_step="upkeep" type="window" />
      <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="declare_blockers" type="window" />
      <AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY type="in_response" response_target="1" />
   </ACTIVATED_ABILITY>
   <STATIC_ABILITY>
      <CONTINUOUS_ACTION layer="0">
         RSN_ClearCanProduceMana()
         RSN_MarkCanProduceMana( "{1}{B}{G}{R}{U}{W}" )
      </CONTINUOUS_ACTION>
      <CONTINUOUS_ACTION layer="8">
         local oCard = EffectSource()
         local bUseFallback = false
         if (oCard ~= nil) then
            if (oCard:GetCurrentCharacteristics():Bool_Get( CHARACTERISTIC_CANT_USE_ACTIVATED_ABILITIES )) then
               bUseFallback = true
            else
               local oPlayer = oCard:GetController()
               if (oPlayer ~= nil) then
                  if (oPlayer:GetCurrentCharacteristics():Bool_Get( PLAYER_CHARACTERISTIC_CANT_ACTIVATE_NONMANA_ABILITIES )) then
                     bUseFallback = true
                  elseif (oPlayer:GetCurrentCharacteristics():Bool_Get( PLAYER_CHARACTERISTIC_CANT_ACTIVATE_ARTIFACT_CREATURE_ENCHANTMENT_ABILITIES )) then
                     if ((oCard:GetCardType():Test( CARD_TYPE_ARTIFACT )) or
                        (oCard:GetCardType():Test( CARD_TYPE_CREATURE )) or
                        (oCard:GetCardType():Test( CARD_TYPE_ENCHANTMENT ))) then
                        bUseFallback = true
                     end
                  end
               end
            end
         end
         if (bUseFallback) then
            oCharacteristics:GrantAbility( 0 )
         end
      </CONTINUOUS_ACTION>
   </STATIC_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>
   <MANA_ABILITY resource_id="0">
      <COST type="TapSelf" />
      <PRODUCES amount="{1}" />
   </MANA_ABILITY>
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_C" />
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_G" />
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_R" />
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_U" />
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_W" />
</CARD_V2>
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Formal Request Thread

Postby drleg3nd » 22 Sep 2013, 17:28

thx riiak and jacque you guys got my missing piece for my deck :)
drleg3nd
 
Posts: 528
Joined: 14 May 2012, 20:05
Has thanked: 5 times
Been thanked: 30 times

Re: Formal Request Thread

Postby thefiremind » 22 Sep 2013, 18:06

gorem2k wrote:(about Eye of Singularity)

even if it seems all good, could you make this trigger only when a creature will be destroyed? (put filtering in TRIGGER block? or INTERVENING_IF?)

as it is now, if a unique creature enter, it will trigger for nothing, which is a bit redundant.
The correct way to do that would be with an AUTO_SKIP block inside the ability:
Code: Select all
    <AUTO_SKIP>
    local filter = ClearFilter()
    filter:Add( FE_CARD_NAME, OP_IS, TriggerObject() )
    filter:Add( FE_CARD_INSTANCE, OP_NOT, TriggerObject() )
    filter:Add(FE_IS_PERMANENT, true)
    return filter:CountStopAt(1) == 0
    </AUTO_SKIP>
This should make the ability auto-skip if it doesn't affect anything.
< 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 jacque » 22 Sep 2013, 23:28

RiiakShiNal wrote:...
Ya know RSN, I really appreciate the time u'd always take to explain things in length, the reasons about it... the comments you made, helped me to understand better what I "stitched", comparing to yours as well. Never came across my mind there's the need to have a "fallback", in a scenario u cannot use the ability at all... I guess I can apply this fallback thing for cards with RSN mana abilities? Thanks again... and hehehe, totally forgot about the colourless token, was nodding away n rushing to bed xD

TFM: The second trigger for Vorinclex still doesn't work as it should =( He doesn't like me =(
Learn making your own cards today!!!

Click on Image if a post/reply helped you.

I stitch old cards together to make new ones...

~ Jacque, the confused
jacque
 
Posts: 217
Joined: 07 Jun 2013, 20:11
Has thanked: 26 times
Been thanked: 44 times

Re: Formal Request Thread

Postby thefiremind » 22 Sep 2013, 23:44

jacque wrote:TFM: The second trigger for Vorinclex still doesn't work as it should =( He doesn't like me =(
You would probably get better help by RiiakShiNal: I don't use manual mana so I'm just blindly correct what I see wrong.
< 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 jacque » 22 Sep 2013, 23:55

thefiremind wrote:You would probably get better help by RiiakShiNal: I don't use manual mana so I'm just blindly correct what I see wrong.
It's his doesn't untap feature... the mana one is ok ... got Mana Flare as reference xD
Learn making your own cards today!!!

Click on Image if a post/reply helped you.

I stitch old cards together to make new ones...

~ Jacque, the confused
jacque
 
Posts: 217
Joined: 07 Jun 2013, 20:11
Has thanked: 26 times
Been thanked: 44 times

Re: Formal Request Thread

Postby drleg3nd » 23 Sep 2013, 01:08

hey im having a problem with this ability ..can someone tell me how to fix ?
gray merchant | Open
Code: Select all
<TRIGGERED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Gray Merchant of Asphodel enters the battlefield, each opponent loses X life, where X is your devotion to black. You gain life equal to the life lost this way.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Quand le Marchand gris d’Asphodèle arrive sur le champ de bataille, chaque adversaire perd X points de vie, X étant votre dévotion au noir. Vous gagnez autant de points de vie que ceux perdus de cette manière.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando el Comerciante plomizo de Asfodel entre al campo de batalla, cada oponente pierde X vidas, donde X es tu devoción al negro. Ganas vidas igual a la cantidad de vidas perdidas de esta manera.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn der Graue Händler aus Asphodel ins Spiel kommt, verliert jeder Gegner X Lebenspunkte, wobei X gleich deiner Hingabe zu Schwarz ist. Du erhältst so viele Lebenspunkte dazu, wie auf diese Weise Lebenspunkte verloren wurden.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando il Mercante Grigio di Asfodelo entra nel campo di battaglia, ogni avversario perde X punti vita, dove X è pari alla tua devozione al nero. Guadagni tanti punti vita quanti sono i punti vita persi in questo modo.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[アスフォデルの灰色商人が戦場に出たとき、各対戦相手はそれぞれX点のライフを失う。Xはあなたの黒への信心に等しい。あなたはこれにより失われたライフに等しい点数のライフを得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[아스포델의 회색 상인이 전장에 들어올 때, 각 상대는 생명 X점을 잃는다. X는 당신의 흑색 신앙심이다. 당신은 이렇게 잃은 생명점의 합만큼의 생명점을 얻는다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Серый Торговец из Асфодели выходит на поле битвы, каждый оппонент теряет X жизней, где Х — ваша Преданность черному. Вы получаете столько жизней, сколько их было потеряно таким образом.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando Mercador Cinzento de Asfódelos entra no campo de batalha, cada oponente perde X pontos de vida, sendo X sua devoção ao preto. Você ganha uma quantidade de pontos de vida igual ao total de pontos de vida perdidos dessa maneira.]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
    <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_IS_PERMANENT, true )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController())
    </FILTER>
    <RESOLUTION_TIME_ACTON filter_id="0">
    local total = filter:ChromaCount(COLOUR_BLACK)
    local controller = EffectController()
    local myTeam = EffectController():GetTeam()
    for i=0,MTG():GetNumberOfPlayers()-1 do
       local nthPlayer = MTG():GetNthPlayer(i)
       if nthPlayer ~= nil and nthPlayer:GetTeam() ~= myTeam then
          nthPlayer:LoseLife(total)
                life = life + total
       end
    end
    controller:GainLife(life)
    <RESOLUTION_TIME_ACTON>
   </TRIGGERED_ABILITY>
drleg3nd
 
Posts: 528
Joined: 14 May 2012, 20:05
Has thanked: 5 times
Been thanked: 30 times

Re: Formal Request Thread

Postby gorem2k » 23 Sep 2013, 01:14

drleg3nd wrote:
Code: Select all
    <RESOLUTION_TIME_ACTON filter_id="0">
    local total = filter:ChromaCount(COLOUR_BLACK)
    local controller = EffectController()
    local myTeam = EffectController():GetTeam()
    for i=0,MTG():GetNumberOfPlayers()-1 do
       local nthPlayer = MTG():GetNthPlayer(i)
       if nthPlayer ~= nil and nthPlayer:GetTeam() ~= myTeam then
          nthPlayer:LoseLife(total)
                life = life + total
       end
    end
    controller:GainLife(life)
    <RESOLUTION_TIME_ACTON>
   </TRIGGERED_ABILITY>
[/spoiler]
[/code]

the second <RESOLUTION_TIME_ACTION> should be closed like this : </RESOLUTION_TIME_ACTION>
gorem2k
 
Posts: 464
Joined: 01 Apr 2013, 04:21
Has thanked: 48 times
Been thanked: 33 times

Re: Formal Request Thread

Postby RiiakShiNal » 23 Sep 2013, 02:24

jacque wrote:Ya know RSN, I really appreciate the time u'd always take to explain things in length, the reasons about it... the comments you made, helped me to understand better what I "stitched", comparing to yours as well. Never came across my mind there's the need to have a "fallback", in a scenario u cannot use the ability at all... I guess I can apply this fallback thing for cards with RSN mana abilities? Thanks again... and hehehe, totally forgot about the colourless token, was nodding away n rushing to bed xD
Unfortunately, not all cards can have a fallback ability, for example Apprentice Wizard can't have a fallback because regular mana abilities don't support costs other than "TapSelf". If they were more advanced then we might not need major workaround efforts like my manual mana functions. Well, we can still dream.

jacque wrote:TFM: The second trigger for Vorinclex still doesn't work as it should =( He doesn't like me =(
The problem is that auto-tapping doesn't give us the information needed to make Vorinclex's third ability trigger at all. If the game would properly trigger BECAME_TAPPED_FOR_MANA then it would be easy, but without that we don't know why a card tapped unless it was tapped through a mana ability using my manual mana functions. If we could force lands to have to be tapped manually then it would go back to being easy, but we can't force basic lands to be tapped manually and the AI greatly prefers to auto-tap.

You can't have lands in the land pool that don't have the super-type "Basic", if the deck has a colour and the ignoreCmcOver option is not specified then you are required to have land of the proper sub-type in the land pool, and if a "Basic" land has a proper sub-type then it automatically gets an auto-tap mana ability of the proper colour. Because of those conditions trying to make purely manual tap basic land of the proper types is out of the question (I tried to convert the existing basic land to no avail).
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: Google [Bot] and 9 guests

Main Menu

User Menu

Our Partners


Who is online

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

Users browsing this forum: Google [Bot] and 9 guests

Login Form