Page 1 of 1

Splice thread, and go

PostPosted: 09 Aug 2015, 04:51
by killkong1211
Okay, so, still trying to make splice work.
The targeting I've got down now I'm pretty sure (will double check that later).
Right now though my issue is the layer 6 add-text-to-spell nonsense.
I.e.
Code: Select all
<ACTIVATED_ABILITY active_zone="ZONE_HAND">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Splice onto Arcane {1}{R}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Imprégnation d’arcane {1}{R}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Empalmar con lo arcano {1}{R}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Arkane Kopplung {1}{R}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Unire nell’Arcano {1}{R}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[連繋]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Splice onto Arcane {1}{R}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Splice onto Arcane {1}{R}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Unir em Arcana {1}{R}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[通联古咒{1}{R}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Splice onto Arcane {1}{R}]]></LOCALISED_TEXT>
      <COST mana_cost="{1}{R}" type="Mana" />
      <TARGET tag="CARD_QUERY_CHOOSE_SPELL_TO_COUNTER" definition="0" compartment="0" count="1" />
      <TARGET_DEFINITION id="0">
         local filter = ClearFilter()
         filter:SetZone( ZONE_STACK )
         local subfilter = filter:AddSubFilter_Or()
         subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_INSTANT )
         subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_SORCERY)
         filter:Add(FE_CHARACTERISTIC, OP_HAS, RSN_CHARACTERISTIC_ARCANE)
      </TARGET_DEFINITION>
      <CONTINUOUS_ACTION layer="6">
         local spell = EffectDC():Get_Targets(0):Get_CardPtr(0)
         if spell ~= nil then
            local characteristics = spell:GetCurrentCharacteristics()
            characteristics:GrantAbility(1)
         end
      </CONTINUOUS_ACTION>
   </ACTIVATED_ABILITY>
   
   <SPELL_ABILITY resource_id="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Add {R}{R}{R} to your mana pool.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Ajoutez {R}{R}{R} à votre réserve.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Agrega {R}{R}{R} a tu reserva de maná.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Erhöhe deinen Manavorrat um {R}{R}{R}.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Aggiungi {R}{R}{R} alla tua riserva di mana.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたのマナ・プールに{R}{R}{R}を加える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Add {R}{R}{R} to your mana pool.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Add {R}{R}{R} to your mana pool.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Adiciona {R}{R}{R} à sua reserva de mana.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[加{R}{R}{R}到你的法术力池中。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Add {R}{R}{R} to your mana pool.]]></LOCALISED_TEXT>
      <RESOLUTION_TIME_ACTION>
         RSN_Produce( "{R}", 3 )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         S_DisplayManaPool(EffectController())
      </RESOLUTION_TIME_ACTION>
   </SPELL_ABILITY>
How do I get the resolving spell to use the <SPELL_ABILITY resource_id="1"> ability at resolution?

Help would be greatly appreciated.
Cause once I have this I think I can more or less get splice working :)

Re: Splice thread, and go

PostPosted: 09 Aug 2015, 05:49
by Xander9009
I'd have to test it myself if it's not already working as is. Maybe you could protect the pointer so that when it resolves and goes to the graveyard, the granted ability remains valid, and then have a delayed trigger for state based effects (which shouldn't fire until AFTER the resolution) which invalidates the pointer.

Also, if that doesn't work, you might try just making it a delayed trigger which waits for the spell to resolve and upon it resolving, it does its thing as a replacement effect, and if it's countered or leaves the stack, then remove the delayed trigger. Unfortunately, I don't know the ruling for splicing onto a spell and then copying it.