It is currently 04 Sep 2025, 03:25
   
Text Size

Formal Request Thread

Moderator: CCGHQ Admins

Re: Formal Request Thread

Postby NeoAnderson » 04 Nov 2014, 17:23

I made many tests but it's really complicated to get the right timing to force the engine to work in the right way.
Anyway i made a revised version i need some feedback and tests to understnd if it has other issues or if it can be ok.

Now it should allow only to cast Slivers with mana produced, any activated abilities should not be considered also if we hav a sliver into hand.


Sliver Hive - NEO VER 1.1 | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="NEO_M15_247_SLIVER_HIVE_915383384" />
  <CARDNAME text="SLIVER_HIVE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sliver Hive]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Essaim de slivoïdes]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Colmena de fragmentados]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Remasuri-Nest]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Alveare dei Tramutanti]]></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[Colônia de Fractius]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[裂片妖母巢]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[裂片妖母巢]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="915383384" />
  <ARTID value="915383384" />
  <ARTIST name="Igor Kieryluk" />
  <CASTING_COST cost="" />
  <TYPE metaname="Land" />
  <EXPANSION value="M15" />
  <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()
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
   S_DisplayManaPool(EffectController())
        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 linked_ability_group="1" forced_skip="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add one mana of any color to your mana pool. Spend this mana only to cast a Sliver spell.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez un mana de la couleur de votre choix à votre réserve. Ne dépensez ce mana que pour lancer un sort de slivoïde.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega un maná de cualquier color a tu reserva de maná. Usa este maná solo para lanzar un hechizo de Fragmentado.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um ein Mana einer beliebigen Farbe. Verwende dieses Mana nur, um einen Remasuri-Zauberspruch zu wirken.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi un mana di un qualsiasi colore alla tua riserva di mana. Spendi questo mana solo per lanciare una magia Tramutante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに、好きな色1色のマナ1点を加える。このマナは、スリヴァー・呪文を唱えるためにのみ使用できる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: 당신의 마나풀에 원하는 색의 마나 한 개를 담는다. 이 마나는 슬리버 주문을 발동하는 데에만 사용할 수 있다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте одну ману любого цвета в ваше хранилище маны. Тратьте эту ману только на разыгрывание заклинания Щепки.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione um mana de qualquer cor à sua reserva de mana. Gaste este mana apenas para conjurar uma mágica de Fractius.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加一点任意颜色的法术力到你的法术力池中。此法术力只能用来施放裂片妖咒语。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:加一點任意顏色的魔法力到你的魔法力池中。此魔法力只能用來施放裂片妖咒語。]]></LOCALISED_TEXT>
    <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 nColour = EffectController():GetMultipleChoiceResult() + 1
         if (nColour == COLOUR_BLACK) then
                                RSN_ProduceForPlayerNoTrigger( "{B}", 1, EffectController() )
         elseif (nColour == COLOUR_BLUE) then
                                RSN_ProduceForPlayerNoTrigger( "{U}", 1, EffectController() )
         elseif (nColour == COLOUR_GREEN) then
                                RSN_ProduceForPlayerNoTrigger( "{G}", 1, EffectController() )
         elseif (nColour == COLOUR_RED) then
                                RSN_ProduceForPlayerNoTrigger( "{R}", 1, EffectController() )
         elseif (nColour == COLOUR_WHITE) then
                                RSN_ProduceForPlayerNoTrigger( "{W}", 1, EffectController() )
         end
          local oTokens = RSN_GetProducedTokenChest()
                         local delayDC = nil
          local oChest = nil
                         local shifter = 0
                         if LinkedDC():Get_Chest(1) == nil then
                          delayDC = LinkedDC():Make_Chest(1)
             oChest = delayDC:Make_Chest(0)
                         else
             delayDC = LinkedDC():Get_Chest(1)
             oChest = delayDC:Get_Chest(0)
                            local tokenA = oChest:Get_CardPtr(shifter)
                  while (tokenA ~= nil) do
                        shifter=shifter+1
                        tokenA = oChest:Get_CardPtr(shifter)
             end
                         end
                         LinkedDC():Set_Int(1000, MTG():GetStep()) 
                         local ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
                         ActivChest:Set_Int(100, 1)
               if oTokens ~= nil then
                  local i = 0
                  local token = oTokens:Get_CardPtr(i)
                  while (token ~= nil) do
                        oChest:Set_CardPtr(shifter+i, token )
                        i=i+1
                        token = oTokens:Get_CardPtr(i)
             end
               end
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
      </RESOLUTION_TIME_ACTION>
           <RESOLUTION_TIME_ACTION>
             MTG():CreateDelayedTrigger(3, nil)
               </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
        S_DisplayManaPool(EffectController())
        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 linked_ability_group="1">
       <CONTINUOUS_ACTION layer="6">
               if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) ~= nil then
                  local ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
                  local value = ActivChest:Get_Int(100)
                  if value ~= 1 then
          local i = 0
          local delayDC = LinkedDC():Get_Chest(1)
          if delayDC ~= nil then
             local token_chest = delayDC:Get_Chest(0)
             if token_chest ~= nil then
               local token = token_chest:Get_NthCardPtr(i)
                if token ~= nil then
                   token:GetCurrentCharacteristics():LoseAllAbilities()
                end
               while (token ~= nil) do
                i = i + 1
                token = token_chest:Get_NthCardPtr(i)
                      if token ~= nil then
                         token:GetCurrentCharacteristics():LoseAllAbilities()
                      end
                end
             end
          end
                 end
               end
          </CONTINUOUS_ACTION>
   </STATIC_ABILITY>

  <TRIGGERED_ABILITY replacement_effect="1" priority="20">
  <TRIGGER value="CONSIDERED_FOR_CAST" simple_qualifier="controller" pre_trigger="1" />
     <RESOLUTION_TIME_ACTION>
    if TriggerObject() ~= nil then
       MTG():RemoveDelayedTrigger(4)
       MTG():RemoveDelayedTrigger(5)
       local ActivChest = nil
       if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) == nil then
          ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
       else
     ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
       end
       if TriggerObject():GetSubType():Test( CREATURE_TYPE_SLIVER ) then
          ActivChest:Set_Int(100, 1)
          local delayDC = EffectDC():Make_Chest(1)
          delayDC:Set_CardPtr(1, TriggerObject())
          delayDC:Protect_CardPtr(1)
          MTG():CreateDelayedTrigger(4, delayDC)
          MTG():CreateDelayedTrigger(5, delayDC)
       else
          ActivChest:Set_Int(100, 0)
       end           
    end
    </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
          MTG():CreateDelayedTrigger(2, nil)
        </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
         MTG():ReevaluateContinuousEffects()
        </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY resource_id="4" replacement_effect="1" priority="20">
   <TRIGGER value="ZONECHANGE_CONSIDERED" to_zone="ZONE_ANY" from_zone="ZONE_ANY" pre_trigger="1">
      if TriggerObject() ~= nil then
         if TriggerObject() == EffectDC():Get_CardPtr(1) then
            if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) == nil then
               ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
            else
          ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
               ActivChest:Set_Int(100, 1)
               return true
            end
         end
      end
      return false
  </TRIGGER>
      <CLEANUP fire_once="1" />
           <RESOLUTION_TIME_ACTION>
          if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) == nil then
             ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
          else
        ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
          end
          ActivChest:Set_Int(100, 1)
        </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
          MTG():CreateDelayedTrigger(2, nil)
        </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
         MTG():ReevaluateContinuousEffects()
        </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY resource_id="5" replacement_effect="1" priority="-1">
  <TRIGGER value="CONSIDERED_FOR_ACTIVATION" simple_qualifier="controller" pre_trigger="1" >
    if TriggerObject() ~= nil then
       if TriggerObject():GetZone() ~= ZONE_HAND then
          if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) == nil then
             ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
          else
        ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
          end
          local value = ActivChest:Get_Int(100)
          if value == 1 then
             return true
          end
       end
    end
    return false
  </TRIGGER>
    <CLEANUP fire_once="1" />
           <RESOLUTION_TIME_ACTION>
          if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) == nil then
             ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
          else
        ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
          end
          ActivChest:Set_Int(100, 0)
        </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
         MTG():ReevaluateContinuousEffects()
        </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>


 <TRIGGERED_ABILITY resource_id="2" replacement_effect="1" priority="20">
    <TRIGGER value="STATE_BASED_EFFECTS"/>
    <CLEANUP fire_once="1" />
       <RESOLUTION_TIME_ACTION>
         MTG():ReevaluateContinuousEffects()
        </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>

 <TRIGGERED_ABILITY resource_id="3" linked_ability_group="1" replacement_effect="1" priority="20">
    <TRIGGER value="STATE_BASED_EFFECTS">
     local StoredStep = LinkedDC():Get_Int(1000)
     local ActualStep = MTG():GetStep()
     if ActualStep &gt; StoredStep then
        return true
     else
        return false
     end
   </TRIGGER>
    <CLEANUP fire_once="1" />
       <RESOLUTION_TIME_ACTION>
            local i = 0
      local delayDC = LinkedDC():Get_Chest(1)
      if delayDC ~= nil then
         local token_chest = delayDC:Get_Chest(0)
         if token_chest ~= nil then
            local token = token_chest:Get_NthCardPtr(i)
            if token ~= nil then
                     token:QueueZoneChange( ZONE_CEASED_TO_EXIST, EffectController() )
            end
            while (token ~= nil) do
                  i = i + 1
                  token = token_chest:Get_NthCardPtr(i)
                   if token ~= nil then
                      token:QueueZoneChange( ZONE_CEASED_TO_EXIST, EffectController() )
                   end
           end
        end
               end
        </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
               LinkedDC():Clear()
        </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>


 <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{5}, {T}: Put a 1/1 colorless Sliver creature token onto the battlefield. Activate this ability only if you control a Sliver.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{5}, {T} : Mettez sur le champ de bataille un jeton de créature 1/1 incolore Slivoïde. N’activez cette capacité que si vous contrôlez un slivoïde.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{5}, {T}: Pon en el campo de batalla una ficha de criatura Fragmentado incolora 1/1. Activa esta habilidad solo si controlas un Fragmentado.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{5}, {T}: Bringe einen 1/1 farblosen Remasuri-Kreaturenspielstein ins Spiel. Aktiviere diese Fähigkeit nur, falls du einen Remasuri kontrollierst.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{5}, {T}: Metti sul campo di battaglia una pedina creatura Tramutante 1/1 incolore. Attiva questa abilità solo se controlli un Tramutante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{5}, {T}:無色の1/1のスリヴァー・クリーチャー・トークンを1体戦場に出す。この能力は、あなたがスリヴァーをコントロールしているときにのみ起動できる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{5}, {T}: 1/1 무색 슬리버 생물 토큰 한 개를 전장에 놓는다. 이 능력은 당신이 슬리버를 조종할 때에만 활성화할 수 있다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{5}, {T}: положите на поле битвы одну фишку существа 1/1 бесцветная Щепка. Активируйте эту способность, только если вы контролируете Щепку.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{5}, {T}: Coloque no campo de batalha uma ficha de criatura incolor 1/1 do tipo Fractius. Ative esta habilidade somente se você controlar um Fractius.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{5},{T}:将一个1/1无色裂片妖衍生生物放进战场。只能于你操控裂片妖时起动此异能。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{5},{T}:將一個1/1無色裂片妖衍生生物放進戰場。只能於你操控裂片妖時起動此異能。]]></LOCALISED_TEXT>
    <COST mana_cost="{5}" type="Mana" />
    <COST type="TapSelf" />
    <AVAILABILITY>
     local filter = ClearFilter()
     filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
     filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
     local total = filter:CountStopAt(1)
     return total &gt; 0
    </AVAILABILITY>
    <RESOLUTION_TIME_ACTION>
       MTG():PutTokensOntoBattlefield( "NEO_M15_TOKEN_011_SLIVER_1_1_C_915938311", 1, EffectController() )
    </RESOLUTION_TIME_ACTION>
</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()
         if (RSN_CheckSwitchToFallback( oCard )) then
            local oCharacteristics = oCard:GetCurrentCharacteristics()
            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="NEO_M15_TOKEN_011_SLIVER_1_1_C_915938311" />
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
   <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" />
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_C" />
</CARD_V2>
Attachments
Sliver Hive.rar
Sliver Hive - Neo Ver 1.1
(214.45 KiB) Downloaded 361 times
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby Xander9009 » 04 Nov 2014, 21:00

NeoAnderson wrote:I made many tests but it's really complicated to get the right timing to force the engine to work in the right way.
Anyway i made a revised version i need some feedback and tests to understnd if it has other issues or if it can be ok.

Now it should allow only to cast Slivers with mana produced, any activated abilities should not be considered also if we hav a sliver into hand.


Sliver Hive - NEO VER 1.1 | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="NEO_M15_247_SLIVER_HIVE_915383384" />
  <CARDNAME text="SLIVER_HIVE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sliver Hive]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Essaim de slivoïdes]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Colmena de fragmentados]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Remasuri-Nest]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Alveare dei Tramutanti]]></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[Colônia de Fractius]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[裂片妖母巢]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[裂片妖母巢]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="915383384" />
  <ARTID value="915383384" />
  <ARTIST name="Igor Kieryluk" />
  <CASTING_COST cost="" />
  <TYPE metaname="Land" />
  <EXPANSION value="M15" />
  <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()
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
   S_DisplayManaPool(EffectController())
        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 linked_ability_group="1" forced_skip="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add one mana of any color to your mana pool. Spend this mana only to cast a Sliver spell.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez un mana de la couleur de votre choix à votre réserve. Ne dépensez ce mana que pour lancer un sort de slivoïde.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega un maná de cualquier color a tu reserva de maná. Usa este maná solo para lanzar un hechizo de Fragmentado.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um ein Mana einer beliebigen Farbe. Verwende dieses Mana nur, um einen Remasuri-Zauberspruch zu wirken.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi un mana di un qualsiasi colore alla tua riserva di mana. Spendi questo mana solo per lanciare una magia Tramutante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに、好きな色1色のマナ1点を加える。このマナは、スリヴァー・呪文を唱えるためにのみ使用できる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: 당신의 마나풀에 원하는 색의 마나 한 개를 담는다. 이 마나는 슬리버 주문을 발동하는 데에만 사용할 수 있다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте одну ману любого цвета в ваше хранилище маны. Тратьте эту ману только на разыгрывание заклинания Щепки.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione um mana de qualquer cor à sua reserva de mana. Gaste este mana apenas para conjurar uma mágica de Fractius.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加一点任意颜色的法术力到你的法术力池中。此法术力只能用来施放裂片妖咒语。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:加一點任意顏色的魔法力到你的魔法力池中。此魔法力只能用來施放裂片妖咒語。]]></LOCALISED_TEXT>
    <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 nColour = EffectController():GetMultipleChoiceResult() + 1
         if (nColour == COLOUR_BLACK) then
                                RSN_ProduceForPlayerNoTrigger( "{B}", 1, EffectController() )
         elseif (nColour == COLOUR_BLUE) then
                                RSN_ProduceForPlayerNoTrigger( "{U}", 1, EffectController() )
         elseif (nColour == COLOUR_GREEN) then
                                RSN_ProduceForPlayerNoTrigger( "{G}", 1, EffectController() )
         elseif (nColour == COLOUR_RED) then
                                RSN_ProduceForPlayerNoTrigger( "{R}", 1, EffectController() )
         elseif (nColour == COLOUR_WHITE) then
                                RSN_ProduceForPlayerNoTrigger( "{W}", 1, EffectController() )
         end
          local oTokens = RSN_GetProducedTokenChest()
                         local delayDC = nil
          local oChest = nil
                         local shifter = 0
                         if LinkedDC():Get_Chest(1) == nil then
                          delayDC = LinkedDC():Make_Chest(1)
             oChest = delayDC:Make_Chest(0)
                         else
             delayDC = LinkedDC():Get_Chest(1)
             oChest = delayDC:Get_Chest(0)
                            local tokenA = oChest:Get_CardPtr(shifter)
                  while (tokenA ~= nil) do
                        shifter=shifter+1
                        tokenA = oChest:Get_CardPtr(shifter)
             end
                         end
                         LinkedDC():Set_Int(1000, MTG():GetStep()) 
                         local ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
                         ActivChest:Set_Int(100, 1)
               if oTokens ~= nil then
                  local i = 0
                  local token = oTokens:Get_CardPtr(i)
                  while (token ~= nil) do
                        oChest:Set_CardPtr(shifter+i, token )
                        i=i+1
                        token = oTokens:Get_CardPtr(i)
             end
               end
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
      </RESOLUTION_TIME_ACTION>
           <RESOLUTION_TIME_ACTION>
             MTG():CreateDelayedTrigger(3, nil)
               </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
        S_DisplayManaPool(EffectController())
        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 linked_ability_group="1">
       <CONTINUOUS_ACTION layer="6">
               if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) ~= nil then
                  local ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
                  local value = ActivChest:Get_Int(100)
                  if value ~= 1 then
          local i = 0
          local delayDC = LinkedDC():Get_Chest(1)
          if delayDC ~= nil then
             local token_chest = delayDC:Get_Chest(0)
             if token_chest ~= nil then
               local token = token_chest:Get_NthCardPtr(i)
                if token ~= nil then
                   token:GetCurrentCharacteristics():LoseAllAbilities()
                end
               while (token ~= nil) do
                i = i + 1
                token = token_chest:Get_NthCardPtr(i)
                      if token ~= nil then
                         token:GetCurrentCharacteristics():LoseAllAbilities()
                      end
                end
             end
          end
                 end
               end
          </CONTINUOUS_ACTION>
   </STATIC_ABILITY>

  <TRIGGERED_ABILITY replacement_effect="1" priority="20">
  <TRIGGER value="CONSIDERED_FOR_CAST" simple_qualifier="controller" pre_trigger="1" />
     <RESOLUTION_TIME_ACTION>
    if TriggerObject() ~= nil then
       MTG():RemoveDelayedTrigger(4)
       MTG():RemoveDelayedTrigger(5)
       local ActivChest = nil
       if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) == nil then
          ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
       else
     ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
       end
       if TriggerObject():GetSubType():Test( CREATURE_TYPE_SLIVER ) then
          ActivChest:Set_Int(100, 1)
          local delayDC = EffectDC():Make_Chest(1)
          delayDC:Set_CardPtr(1, TriggerObject())
          delayDC:Protect_CardPtr(1)
          MTG():CreateDelayedTrigger(4, delayDC)
          MTG():CreateDelayedTrigger(5, delayDC)
       else
          ActivChest:Set_Int(100, 0)
       end           
    end
    </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
          MTG():CreateDelayedTrigger(2, nil)
        </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
         MTG():ReevaluateContinuousEffects()
        </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY resource_id="4" replacement_effect="1" priority="20">
   <TRIGGER value="ZONECHANGE_CONSIDERED" to_zone="ZONE_ANY" from_zone="ZONE_ANY" pre_trigger="1">
      if TriggerObject() ~= nil then
         if TriggerObject() == EffectDC():Get_CardPtr(1) then
            if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) == nil then
               ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
            else
          ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
               ActivChest:Set_Int(100, 1)
               return true
            end
         end
      end
      return false
  </TRIGGER>
      <CLEANUP fire_once="1" />
           <RESOLUTION_TIME_ACTION>
          if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) == nil then
             ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
          else
        ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
          end
          ActivChest:Set_Int(100, 1)
        </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
          MTG():CreateDelayedTrigger(2, nil)
        </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
         MTG():ReevaluateContinuousEffects()
        </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY resource_id="5" replacement_effect="1" priority="-1">
  <TRIGGER value="CONSIDERED_FOR_ACTIVATION" simple_qualifier="controller" pre_trigger="1" >
    if TriggerObject() ~= nil then
       if TriggerObject():GetZone() ~= ZONE_HAND then
          if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) == nil then
             ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
          else
        ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
          end
          local value = ActivChest:Get_Int(100)
          if value == 1 then
             return true
          end
       end
    end
    return false
  </TRIGGER>
    <CLEANUP fire_once="1" />
           <RESOLUTION_TIME_ACTION>
          if EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION) == nil then
             ActivChest = EffectController():PlayerDataChest():Make_Chest(NEO_SLIVER_MANA_ACTIVATION)   
          else
        ActivChest = EffectController():PlayerDataChest():Get_Chest(NEO_SLIVER_MANA_ACTIVATION)
          end
          ActivChest:Set_Int(100, 0)
        </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
         MTG():ReevaluateContinuousEffects()
        </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>


 <TRIGGERED_ABILITY resource_id="2" replacement_effect="1" priority="20">
    <TRIGGER value="STATE_BASED_EFFECTS"/>
    <CLEANUP fire_once="1" />
       <RESOLUTION_TIME_ACTION>
         MTG():ReevaluateContinuousEffects()
        </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>

 <TRIGGERED_ABILITY resource_id="3" linked_ability_group="1" replacement_effect="1" priority="20">
    <TRIGGER value="STATE_BASED_EFFECTS">
     local StoredStep = LinkedDC():Get_Int(1000)
     local ActualStep = MTG():GetStep()
     if ActualStep &gt; StoredStep then
        return true
     else
        return false
     end
   </TRIGGER>
    <CLEANUP fire_once="1" />
       <RESOLUTION_TIME_ACTION>
            local i = 0
      local delayDC = LinkedDC():Get_Chest(1)
      if delayDC ~= nil then
         local token_chest = delayDC:Get_Chest(0)
         if token_chest ~= nil then
            local token = token_chest:Get_NthCardPtr(i)
            if token ~= nil then
                     token:QueueZoneChange( ZONE_CEASED_TO_EXIST, EffectController() )
            end
            while (token ~= nil) do
                  i = i + 1
                  token = token_chest:Get_NthCardPtr(i)
                   if token ~= nil then
                      token:QueueZoneChange( ZONE_CEASED_TO_EXIST, EffectController() )
                   end
           end
        end
               end
        </RESOLUTION_TIME_ACTION>
       <RESOLUTION_TIME_ACTION>
               LinkedDC():Clear()
        </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>


 <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{5}, {T}: Put a 1/1 colorless Sliver creature token onto the battlefield. Activate this ability only if you control a Sliver.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{5}, {T} : Mettez sur le champ de bataille un jeton de créature 1/1 incolore Slivoïde. N’activez cette capacité que si vous contrôlez un slivoïde.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{5}, {T}: Pon en el campo de batalla una ficha de criatura Fragmentado incolora 1/1. Activa esta habilidad solo si controlas un Fragmentado.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{5}, {T}: Bringe einen 1/1 farblosen Remasuri-Kreaturenspielstein ins Spiel. Aktiviere diese Fähigkeit nur, falls du einen Remasuri kontrollierst.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{5}, {T}: Metti sul campo di battaglia una pedina creatura Tramutante 1/1 incolore. Attiva questa abilità solo se controlli un Tramutante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{5}, {T}:無色の1/1のスリヴァー・クリーチャー・トークンを1体戦場に出す。この能力は、あなたがスリヴァーをコントロールしているときにのみ起動できる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{5}, {T}: 1/1 무색 슬리버 생물 토큰 한 개를 전장에 놓는다. 이 능력은 당신이 슬리버를 조종할 때에만 활성화할 수 있다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{5}, {T}: положите на поле битвы одну фишку существа 1/1 бесцветная Щепка. Активируйте эту способность, только если вы контролируете Щепку.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{5}, {T}: Coloque no campo de batalha uma ficha de criatura incolor 1/1 do tipo Fractius. Ative esta habilidade somente se você controlar um Fractius.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{5},{T}:将一个1/1无色裂片妖衍生生物放进战场。只能于你操控裂片妖时起动此异能。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{5},{T}:將一個1/1無色裂片妖衍生生物放進戰場。只能於你操控裂片妖時起動此異能。]]></LOCALISED_TEXT>
    <COST mana_cost="{5}" type="Mana" />
    <COST type="TapSelf" />
    <AVAILABILITY>
     local filter = ClearFilter()
     filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
     filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
     local total = filter:CountStopAt(1)
     return total &gt; 0
    </AVAILABILITY>
    <RESOLUTION_TIME_ACTION>
       MTG():PutTokensOntoBattlefield( "NEO_M15_TOKEN_011_SLIVER_1_1_C_915938311", 1, EffectController() )
    </RESOLUTION_TIME_ACTION>
</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()
         if (RSN_CheckSwitchToFallback( oCard )) then
            local oCharacteristics = oCard:GetCurrentCharacteristics()
            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="NEO_M15_TOKEN_011_SLIVER_1_1_C_915938311" />
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
   <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" />
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_C" />
</CARD_V2>
It seems to be working now, though I've only tested it in the same situation I did before.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Formal Request Thread

Postby NeoAnderson » 04 Nov 2014, 21:46

Xander9009 wrote:It seems to be working now, though I've only tested it in the same situation I did before.
I am glad to see it works now, please let me know if you find some issues
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby sumomole » 05 Nov 2014, 04:58

NeoAnderson wrote:I made many tests but it's really complicated to get the right timing to force the engine to work in the right way.
Anyway i made a revised version i need some feedback and tests to understnd if it has other issues or if it can be ok.

Now it should allow only to cast Slivers with mana produced, any activated abilities should not be considered also if we hav a sliver into hand.
nice, but why don't you make a new mana token to do this? I think put the "LoseAllAbilities" ability on mana token will be easier. or you can modify the RSN's tokens, assigning them a value by LinkedDC when they produce, for general tokens, this value is 0 or not exist, and then, Sliver Hive = 1, Eldrazi Temple = 2, and so on.
User avatar
sumomole
Programmer
 
Posts: 611
Joined: 07 Jun 2011, 08:34
Has thanked: 51 times
Been thanked: 234 times

Re: Formal Request Thread

Postby NeoAnderson » 05 Nov 2014, 05:43

sumomole wrote:nice, but why don't you make a new mana token to do this? I think put the "LoseAllAbilities" ability on mana token will be easier. or you can modify the RSN's tokens, assigning them a value by LinkedDC when they produce, for general tokens, this value is 0 or not exist, and then, Sliver Hive = 1, Eldrazi Temple = 2, and so on.
I understand your meaning but i tried this approach just to avoid any modify to Riiak mana function, so there will be more compatibility for the users. As you read from my code i am modifying the Mana Tokens characteristics in runtime, and only for the mana interested. The important thing is that i found the right combination of delayed triggers to grant a right behaviour of the engine.
I made Mishra's Workshop in 2 minute reusing this code, i just declared a constant for Activation for artifacts..and i changed the trigger check for the type.
Anyway if Riiak want to modify is own functions i think we can have also a parametric approach like what you just said (passing the mana restriction type as value).
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby CalT2410 » 05 Nov 2014, 16:11

Is there a .wad that I can find Treasure Mage and Trinket Mage? Figured I'd give a Tron deck a try.
CalT2410
 
Posts: 25
Joined: 23 Sep 2014, 06:07
Has thanked: 0 time
Been thanked: 0 time

Re: Formal Request Thread

Postby mamoul » 05 Nov 2014, 16:31

CalT2410 wrote:Is there a .wad that I can find Treasure Mage and Trinket Mage? Figured I'd give a Tron deck a try.
You can find Trinket Mage in the Legacy deck wad : here

With this card you can code easily the other
mamoul
 
Posts: 16
Joined: 27 Oct 2014, 17:20
Location: France
Has thanked: 0 time
Been thanked: 0 time

Re: Formal Request Thread

Postby Xander9009 » 20 Nov 2014, 23:05

Is Dulcet Sirens possible? I can't think of a way to force creature to attack player if able. It'll work partially, but only in a 2-player game. Anyone got any ideas?
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Formal Request Thread

Postby NeoAnderson » 20 Nov 2014, 23:17

Xander9009 wrote:Is Dulcet Sirens possible? I can't think of a way to force creature to attack player if able. It'll work partially, but only in a 2-player game. Anyone got any ideas?
The problem is that to force attack a player the only way is to set an evasion trigger to avoid the creature could attack other players. Doing in this if gor some reason the player cannot be attacked the creature will not be able to attack another player.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby Xander9009 » 20 Nov 2014, 23:29

NeoAnderson wrote:
Xander9009 wrote:Is Dulcet Sirens possible? I can't think of a way to force creature to attack player if able. It'll work partially, but only in a 2-player game. Anyone got any ideas?
The problem is that to force attack a player the only way is to set an evasion trigger to avoid the creature could attack other players. Doing in this if gor some reason the player cannot be attacked the creature will not be able to attack another player.
Yep. Same issue as with the "creature A must block creature B if able". I just wasn't sure if there was some way to make it work unique to attacking players.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Formal Request Thread

Postby Misplay » 21 Nov 2014, 00:48

Hi!

I tried to make Quirion dryad, but I've got an issue with the code. The ability has to trigger only once per spell I cast... But with the current code, the ability triggers for each color of the spell (ex: two times with terminate).

Someone can help me?

Quirion Dryad:
http://magiccards.info/query?q=quirion+dryad&v=card&s=cname

Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="QUIRION_DRYAD_666123059" />
  <CARDNAME text="QUIRION_DRYAD" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Dryade quirionaise]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="666123059" />
  <ARTID value="666123059" />
  <ARTIST name="Todd Lockwood" />
  <CASTING_COST cost="{1}{G}" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Dryad" />
  <EXPANSION value="DPI" />
  <RARITY metaname="R" />
  <POWER value="1" />
  <TOUGHNESS value="1" />
   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous lancez un sort blanc, bleu, noir ou rouge, mettez un marqueur +1/+1 sur la Dryade quirionaise.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_WHITE)
      </TRIGGER>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_BLUE)
      </TRIGGER>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_BLACK)
      </TRIGGER>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_RED)
      </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    if EffectSource() ~= nil then   
       EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1)
    end
    </RESOLUTION_TIME_ACTION>
    <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
  <SFX text="COMBAT_BLADE_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLADE_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
  <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
A+.
Misplay
 
Posts: 92
Joined: 29 Aug 2013, 08:26
Has thanked: 50 times
Been thanked: 10 times

Re: Formal Request Thread

Postby NeoAnderson » 21 Nov 2014, 00:54

Misplay wrote:Hi!

I tried to make Quirion dryad, but I've got an issue with the code. The ability has to trigger only once per spell I cast... But with the current code, the ability triggers for each color of the spell (ex: two times with terminate).

Someone can help me?

Quirion Dryad:
http://magiccards.info/query?q=quirion+dryad&v=card&s=cname

| Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="QUIRION_DRYAD_666123059" />
  <CARDNAME text="QUIRION_DRYAD" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Dryade quirionaise]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="666123059" />
  <ARTID value="666123059" />
  <ARTIST name="Todd Lockwood" />
  <CASTING_COST cost="{1}{G}" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Dryad" />
  <EXPANSION value="DPI" />
  <RARITY metaname="R" />
  <POWER value="1" />
  <TOUGHNESS value="1" />
   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous lancez un sort blanc, bleu, noir ou rouge, mettez un marqueur +1/+1 sur la Dryade quirionaise.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_WHITE)
      </TRIGGER>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_BLUE)
      </TRIGGER>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_BLACK)
      </TRIGGER>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_RED)
      </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    if EffectSource() ~= nil then   
       EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1)
    end
    </RESOLUTION_TIME_ACTION>
    <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
  <SFX text="COMBAT_BLADE_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLADE_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
  <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
A+.
It should work just using one trigger condition with "or" for each colour test.
Something like ( I also added the multilanguage texts ):

Quirion Dryad | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="QUIRION_DRYAD_288764" />
  <CARDNAME text="QUIRION_DRYAD" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Dryade quirionaise]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Dríada Quirion]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Quiriondryade]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Driade Quirion]]></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[Dríade Quirion]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="288764" />
  <ARTID value="288764" />
  <ARTIST name="Todd Lockwood" />
  <CASTING_COST cost="{1}{G}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Never underestimate the ability of natural forces to adapt to unnatural influences.”
—Molimo, maro-sorcerer]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« Ne sous-estimez jamais la nature. Elle sait s’adapter au surnaturel. »
—Molimo, maro-sorcier]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Nunca subestimes la habilidad de las fuerzas naturales para adaptarse a influencias antinaturales.”
—Molimo, hechicero maro]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Unterschätze nie die die Fähigkeit von Naturmächten, sich unnatürlichen Einflüssen anzupassen.”
—Molimo, Maro-Hexer]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Mai sottovalutare la capacità delle forze naturali di adattarsi alle influenze artificiali.”
—Molimo, stregone maro]]></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[“Nunca subestime a habilidade das forças naturais de se adaptarem a influências sobrenaturais.”
— Molimo, feiticeiro maro]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Dryad" />
  <EXPANSION value="M13" />
  <RARITY metaname="R" />
  <POWER value="1" />
  <TOUGHNESS value="1" />
  <TRIGGERED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous lancez un sort blanc, bleu, noir ou rouge, mettez un marqueur +1/+1 sur la Dryade quirionaise.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que lances un hechizo blanco, azul, negro o rojo, pon un contador +1/+1 sobre la Dríada Quirion.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn du einen weißen, blauen, schwarzen oder roten Zauber wirkst, lege eine +1/+1-Marke auf die Quiriondryade.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta lanci una magia bianca, blu, nera o rossa, metti un segnalino +1/+1 sulla Driade Quirion.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたが白か青か黒か赤の呪文を1つ唱えるたび、クウィリーオンのドライアドの上に+1/+1カウンターを1個置く。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신이 백색, 청색, 흑색 또는 적색 주문을 발동할 때마다, 퀴리온 드라이어드에  +1/+1 카운터를 한 개 올려놓는다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда вы разыгрываете белое, синее, черное или красное заклинание, положите один жетон +1/+1 на Квирионскую Дриаду.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sempre que você conjurar uma mágica branca, azul, preta ou vermelha, coloque um marcador +1/+1 sobre Dríade Quirion.]]></LOCALISED_TEXT>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_WHITE) or TriggerObject():GetColour():Test(COLOUR_BLUE) or TriggerObject():GetColour():Test(COLOUR_BLACK) or TriggerObject():GetColour():Test(COLOUR_RED)
      </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    if EffectSource() ~= nil then   
       EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1)
    end
    </RESOLUTION_TIME_ACTION>
    <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
  <SFX text="COMBAT_BLADE_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLADE_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
  <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby Xander9009 » 21 Nov 2014, 00:55

Misplay wrote:Hi!

I tried to make Quirion dryad, but I've got an issue with the code. The ability has to trigger only once per spell I cast... But with the current code, the ability triggers for each color of the spell (ex: two times with terminate).

Someone can help me?

Quirion Dryad:
http://magiccards.info/query?q=quirion+dryad&v=card&s=cname

Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="QUIRION_DRYAD_666123059" />
  <CARDNAME text="QUIRION_DRYAD" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Dryade quirionaise]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Quirion Dryad]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="666123059" />
  <ARTID value="666123059" />
  <ARTIST name="Todd Lockwood" />
  <CASTING_COST cost="{1}{G}" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Dryad" />
  <EXPANSION value="DPI" />
  <RARITY metaname="R" />
  <POWER value="1" />
  <TOUGHNESS value="1" />
   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous lancez un sort blanc, bleu, noir ou rouge, mettez un marqueur +1/+1 sur la Dryade quirionaise.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever you cast a white, blue, black, or red spell, put a +1/+1 counter on Quirion Dryad.]]></LOCALISED_TEXT>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_WHITE)
      </TRIGGER>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_BLUE)
      </TRIGGER>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_BLACK)
      </TRIGGER>
      <TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
         return TriggerObject():GetColour():Test(COLOUR_RED)
      </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    if EffectSource() ~= nil then   
       EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1)
    end
    </RESOLUTION_TIME_ACTION>
    <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
  <SFX text="COMBAT_BLADE_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLADE_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
  <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
A+.
Combine the triggers so they're just one trigger and separate them with " or " like this:
Code: Select all
<TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
   return TriggerObject():GetColour():Test(COLOUR_WHITE) or TriggerObject():GetColour():Test(COLOUR_BLUE) or TriggerObject():GetColour():Test(COLOUR_BLACK) or TriggerObject():GetColour():Test(COLOUR_RED)
</TRIGGER>
When you have multiple triggers, each is independent of the others.
EDIT: Neo beat me to it.
Last edited by Xander9009 on 21 Nov 2014, 01:51, edited 1 time in total.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Formal Request Thread

Postby Misplay » 21 Nov 2014, 01:49

Great!
Thanks to both of you for your quick reply, :D
Misplay
 
Posts: 92
Joined: 29 Aug 2013, 08:26
Has thanked: 50 times
Been thanked: 10 times

Re: Formal Request Thread

Postby Tejahn » 04 Jan 2015, 22:09

I need to request two codes. The two creatures are Yasova Dragonclaw and Brutal Hordechief. If anyone can provide those codes I'd greatly appreciate it.

EDIT: I'll publish my Temur deck when I have Yasova Dragonclaw.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 21 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 21 users online :: 0 registered, 0 hidden and 21 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 21 guests

Login Form