It is currently 06 Sep 2025, 23:30
   
Text Size

Overload at 95%

Moderator: CCGHQ Admins

Re: Overload at 95%

Postby braquio » 28 Aug 2014, 17:19

Copy Spell Effects applied onto an overloaded spell should make an oveloaded copy or not????
Well reading the blue line now im not sure
____________________________________________________________________________________________________________________________
Braquio Dotp2014 DLC
Alternative Sealed Campaigns for DotP 2014
User avatar
braquio
 
Posts: 143
Joined: 16 Feb 2014, 19:21
Has thanked: 15 times
Been thanked: 9 times

Re: Overload at 95%

Postby braquio » 28 Aug 2014, 17:36

But anyway seems that copy overloaded spell dont do nothing, so we have a bug.
____________________________________________________________________________________________________________________________
Braquio Dotp2014 DLC
Alternative Sealed Campaigns for DotP 2014
User avatar
braquio
 
Posts: 143
Joined: 16 Feb 2014, 19:21
Has thanked: 15 times
Been thanked: 9 times

Re: Overload at 95%

Postby braquio » 28 Aug 2014, 17:54

I hope that copy overloaded spell should be overloaded, cause try to do that the copy will choose a target when the original spell has no targets is very difficult (may be impossible)
Last edited by braquio on 28 Aug 2014, 18:29, edited 1 time in total.
____________________________________________________________________________________________________________________________
Braquio Dotp2014 DLC
Alternative Sealed Campaigns for DotP 2014
User avatar
braquio
 
Posts: 143
Joined: 16 Feb 2014, 19:21
Has thanked: 15 times
Been thanked: 9 times

Re: Overload at 95%

Postby braquio » 28 Aug 2014, 18:23

http://community.wizards.com/content/fo ... ic/3538651

Overload effect is not copied

From Magic Rules:
"702.94c Overload’s second ability creates a text-changing effect. See rule 612, “Text-Changing Effects.”"

Is a text-changing effect so is not copied.
This means that finally, may be we can't code properly overload. :cry: :cry:
____________________________________________________________________________________________________________________________
Braquio Dotp2014 DLC
Alternative Sealed Campaigns for DotP 2014
User avatar
braquio
 
Posts: 143
Joined: 16 Feb 2014, 19:21
Has thanked: 15 times
Been thanked: 9 times

Re: Overload at 95%

Postby NeoAnderson » 28 Aug 2014, 19:04

braquio wrote:http://community.wizards.com/content/forum-topic/3538651

Overload effect is not copied

From Magic Rules:
"702.94c Overload’s second ability creates a text-changing effect. See rule 612, “Text-Changing Effects.”"

Is a text-changing effect so is not copied.
This means that finally, may be we can't code properly overload. :cry: :cry:
I'm still not sure if you read the last post of that topic.
They says that if you copy a spell overloaded into stack, it should be copied as overloaded copy, if you use a card ability who permits to you to cast copy of an exiled spell, spell into a graveyard.....etc.etc this spell should be not overloaded.

Anyway the next step is to finally take a decison about this, then before to give up we still have some things to test as like use additionql checks as like WasCast, IsToken, GetErstwhileErstwhileZone,... to set the proper action for the spell.

UPDATE : Following gatherer database rules about : Nivix Guildmage
Code: Select all
You can't choose to pay any additional costs for the copy. However, effects based on any additional or alternative costs that were paid for the original spell are copied as though those same costs were paid for the copy too. For example, if you copy a spell that you cast by paying its overload cost, the copy will resolve as though its overload cost had been paid as well
Code: Select all
When the second ability resolves, it creates a copy of a spell. That copy is created on the stack, so it's not “cast.” Abilities that trigger when a player casts a spell won't trigger. The copy will then resolve like a normal spell, after players get a chance to cast spells and activate abilities.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Overload at 95%

Postby braquio » 28 Aug 2014, 20:14

UPDATE : Following gatherer database rules about : Nivix Guildmage

Code: Select all
You can't choose to pay any additional costs for the copy. However, effects based on any additional or alternative costs that were paid for the original spell are copied as though those same costs were paid for the copy too. For example, if you copy a spell that you cast by paying its overload cost, the copy will resolve as though its overload cost had been paid as well
You are right! is overloaded!
Good, then is possible.
As at the moment overload copies don't work, we have to fix it, but now i have no ideas how to do that.
____________________________________________________________________________________________________________________________
Braquio Dotp2014 DLC
Alternative Sealed Campaigns for DotP 2014
User avatar
braquio
 
Posts: 143
Joined: 16 Feb 2014, 19:21
Has thanked: 15 times
Been thanked: 9 times

Re: Overload at 95%

Postby NeoAnderson » 28 Aug 2014, 20:26

braquio wrote:You are right! is overloaded!
Good, then is possible.
As at the moment overload copies don't work, we have to fix it, but now i have no ideas how to do that.
I have some idea to try, but now i am not at PC, i will try something later.

Update : I think i have found a solution also for this last bug. I am just making some tests i'm coming back with (I hope the last full working overload solution)
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Overload at 95%

Postby NeoAnderson » 29 Aug 2014, 00:14

Ok I'm back i have fixed that bug. Now it works also with cards as like : Increasing Vengeance, Reverberate, Twincast....
Here you can find the working version.
CYCLONIC RIFT NEO&LBN V3.1 | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
    <CARD_V2 ExportVersion="1">
      <FILENAME text="NEO_LBN_CYCLONIC_RIFT_992270798" />
      <CARDNAME text="CYCLONIC_RIFT" />
      <TITLE>
        <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Cyclonic Rift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Faille cyclonique]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Grieta ciclónica]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Rift des Sturmtiefs]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Squarcio Ciclonico]]></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[Fenda Ciclônica]]></LOCALISED_TEXT>
      </TITLE>
      <MULTIVERSEID value="992270798" />
      <ARTID value="992270798" />
      <ARTIST name="Chris Rahn" />
      <CASTING_COST cost="{1}{U}" />
      <FLAVOURTEXT>
        <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[The Izzet specialize in unnatural disaster.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Les Izzet sont spécialisés dans les catastrophes artificielles.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Los ízzet se especializan en desastres no naturales.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die Izzet sind auf unnatürliche Katastrophen spezialisiert.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Gli Izzet sono specializzati in catastrofi innaturali.]]></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[A especialidade dos Izzet são os desastres não naturais.]]></LOCALISED_TEXT>
      </FLAVOURTEXT>
      <TYPE metaname="Instant" />
      <EXPANSION value="RTR" />
      <RARITY metaname="R" />
   
       <STATIC_ABILITY linked_ability_group="1" active_zone="ZONE_ANY">
            <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Return target nonland permanent you don’t control to its owner’s hand.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Renvoyez un permanent non-terrain ciblé que vous ne contrôlez pas dans la main de son propriétaire.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Regresa el permanente objetivo que no sea tierra que no controles a la mano de su propietario.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bringe eine bleibende Karte deiner Wahl, die kein Land ist und die du nicht kontrollierst, auf die Hand ihres Besitzers

zurück.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Fai tornare un permanente non terra bersaglio che non controlli in mano al suo proprietario.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたがコントロールしていない土地でないパーマネント1つを対象とし、それをオーナーの手札に戻す。]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신이 조종하지 않는 지속물 중 대지가 아닌 지속물 한 개를 목표로 정한다. 그 지속물을 소유자의 손으로 되돌린다.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Верните целевой не являющийся землей перманент, который не находится под вашим контролем, в руку его владельца.]]

></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Devolva a permanente alvo que não seja um terreno e que você não controle para a mão de seu dono.]]></LOCALISED_TEXT>
          <CONTINUOUS_ACTION layer="0">
               local refplayer = EffectSource():GetPlayer()
               local Chest_Id = EffectSource():GetRef()
               local chest = refplayer:PlayerDataChest():Get_Chest(Chest_Id)
               if chest ~= nil then
                 local nState = chest:Get_Int(1524)
                 local nStateB = LinkedDC():Get_Int(1524)
                 if (nState == 1) or (nStateB == 1) then
                    EffectSource():GetCurrentCharacteristics():GrantAbility(2)
                 else
                    EffectSource():GetCurrentCharacteristics():GrantAbility(1)
                 end
               else
                  chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                  chest:Set_Int(1524, 0)
               end
           </CONTINUOUS_ACTION>
      </STATIC_ABILITY>

      <STATIC_ABILITY linked_ability_group="1" active_zone="ZONE_HAND">
   <CONTINUOUS_ACTION layer="1">
      local refplayer = EffectSource():GetPlayer()
                local Chest_Id = EffectSource():GetRef()
                local chest = refplayer:PlayerDataChest():Get_Chest(Chest_Id)
      if chest ~= nil then
         local valor = LinkedDC():Get_Int(1524)
         LinkedDC():Set_Int(1524, 1)
         if EffectController():CanCastSpellUsingResourceCost( EffectSource(), 3 ) then
            chest:Set_Int(1525,1)   
         else
            chest:Set_Int(1525,0)
         end
         LinkedDC():Set_Int(1524, valor)   
      else
         chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
         chest:Set_Int(1525,0)
      end
   </CONTINUOUS_ACTION>
      </STATIC_ABILITY>
     <ACTIVATED_ABILITY forced_skip="1" qualifier="Alternate"  active_zone="ZONE_HAND" linked_ability_group="1">
            <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Overload {6}{U} |(You may cast this spell for its overload cost. If you do, change its text by replacing all instances of

"target" with "each.")|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Surcharge {6}{U} |(Vous pouvez lancer ce sort pour son coût de surcharge. Si vous faites ainsi, modifiez son texte en

remplaçant toutes les occurrences de « ciblé(e) » par « chaque ».)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sobrecarga {6}{U} | (Puedes lanzar este hechizo por su coste de sobrecarga. Si lo haces, cambia su texto reemplazando "el

permanente objetivo" por "cada permanente".)]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Überlast {6}{U} |(Du kannst diesen Zauber für seine Überlast-Kosten wirken. Falls du dies tust, verändere seinen Text,

indem du im Text alle Vorkommen von „deiner Wahl" durch „jeder" ersetzt.)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sovraccarico {6}{U} |(Puoi lanciare questa magia per il suo costo di sovraccarico. Se lo fai, cambiane il testo

sostituendo "un permanente non terra bersaglio" con "ogni permanente non terra".)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[超過 {6}{U} |(あなたはこの呪文をその超過コストで唱えてもよい。そうした場合、あなたがコントロールしていない土地でない各パーマネントをそれぞれオーナーの手札に戻す。)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[과부하 {6}{U} |(당신은 과부하 비용을 지불하여 이 주문을 발동할 수 있다. 그럴 경우, 이 주문은 "당신이 조종하지 않는 지속물 중 대지가 아닌 각 지속물을 소유자의 손으로 되돌린

다"로 내용이 변한다.)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Перегрузка {6}{U} |(Вы можете разыграть это заклинание за его стоимость Перегрузки. Если вы это делаете, измените в его

тексте все слова «целевой» на «каждый».)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sobrecarga {6}{U} |(Você pode conjurar esta mágica pagando seu custo de sobrecarga. Se fizer isso, altere seu texto

substituindo todas as ocorrências de "a permanente alvo" por "cada permanente".)|]]></LOCALISED_TEXT>
             <COST type="Generic">
            <PREREQUISITE>
                local refplayer = EffectSource():GetPlayer()
                local Chest_Id = EffectSource():GetRef()
                local chest = refplayer:PlayerDataChest():Get_Chest(Chest_Id)
                if chest ~= nil then
                   return chest:Get_Int(1525) == 1
                end   
                return false
             </PREREQUISITE>
          <PLAY_TIME_ACTION>
             RSN_MarkManaAbilityStart()
          </PLAY_TIME_ACTION>
                 <PLAY_TIME_ACTION>
               local spellToCast = EffectSource()
                    local refplayer = EffectSource():GetPlayer()
                  local Chest_Id = EffectSource():GetRef()
                  local chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                  chest:Set_Int(1524, 1)
                  </PLAY_TIME_ACTION>
           </COST>
          <RESOLUTION_TIME_ACTION>
               local spellToCast = EffectSource()
               EffectController():CastSpellUsingResourceCost( spellToCast, 3 )
             </RESOLUTION_TIME_ACTION>
          <RESOLUTION_TIME_ACTION>
            RSN_MarkManaAbilityEnd()
          </RESOLUTION_TIME_ACTION>
            </ACTIVATED_ABILITY>

     <SPELL_ABILITY  resource_id="1" active_zone="ZONE_ANY">
       <TARGET_DEFINITION id="0">   
         MTG():ReevaluateContinuousEffects()
              EffectDC():Set_Int(1321, 3)
              local filter = ClearFilter()
              filter:SetZone( ZONE_BATTLEFIELD )
              filter:Add( FE_CONTROLLER, OP_NOT, EffectController())
              local subfilter = filter:AddSubFilter_Or()
                    subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
                    subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
                    subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
            </TARGET_DEFINITION>     
           <TARGET tag="CARD_QUERY_CHOOSE_NONLAND_PERMANENT_TO_PUT_INTO_HAND" definition="0" compartment="0" count="1"/>
           <RESOLUTION_TIME_ACTION>   
              if EffectDC():Get_Int(1321) == 3 then
                 local refplayer = EffectSource():GetPlayer()
                 local Chest_Id = EffectSource():GetRef()
                 local chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                 chest:Set_Int(1524, 0)
                 local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
                 if  target ~= nil then
                     target:PutInHand()
                 end
              end
            </RESOLUTION_TIME_ACTION>
            <FILTER filter_id="1">         
                    local filter = ClearFilter()
                    filter:SetZone( ZONE_BATTLEFIELD )
                    filter:Add( FE_CONTROLLER, OP_NOT, EffectController())
                    local subfilter = filter:AddSubFilter_Or()
                          subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
                          subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )         
                          subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
                </FILTER>
            <RESOLUTION_TIME_ACTION filter_id="1">
                if EffectDC():Get_Int(1321) ~= 3 then
                   if FilteredCard() ~= nil then
                      FilteredCard():PutInHand()
                   end
                end
           </RESOLUTION_TIME_ACTION>
    </SPELL_ABILITY>     

     <SPELL_ABILITY  resource_id="2" linked_ability_group="1" active_zone="ZONE_ANY">
           <FILTER filter_id="1">         
                local filter = ClearFilter()
                      filter:SetZone( ZONE_BATTLEFIELD )
                      filter:Add( FE_CONTROLLER, OP_NOT, EffectController())
                      local subfilter = filter:AddSubFilter_Or()
                            subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
                            subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )         
                            subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
                </FILTER>
                   <PLAY_TIME_ACTION>
               local refplayer = EffectSource():GetPlayer()
               local Chest_Id = EffectSource():GetRef()
               local chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
               chest:Set_Int(1524, 0)
               LinkedDC():Set_Int(1524, 1)
             </PLAY_TIME_ACTION>         
           <RESOLUTION_TIME_ACTION filter_id="1">
                 if FilteredCard() ~= nil then
                    FilteredCard():PutInHand()
                 end
           </RESOLUTION_TIME_ACTION>
       <SFX text="GLOBAL_TIDE_PLAY" />
     </SPELL_ABILITY>   


        <UTILITY_ABILITY resource_id="3">
          <COST mana_cost="{6}{U}" type="Mana" />
       </UTILITY_ABILITY>

           <AI_AVAILABILITY type="in_response" response_source="1" />
           <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="main_1" window_turn="my_turn" type="window" />
           <AI_AVAILABILITY window_step="declare_blockers" type="window" />
           <AI_AVAILABILITY window_step="end_of_turn" type="window" />
           <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
           <AI_BASE_SCORE score="900" zone="ZONE_HAND" />
</CARD_V2>
Testing scenarios :
1. Normal cast and Increasing Vengeance = Source card asks for a target, Copy asks for a target and resolve first, then source resolve.
2. Overloaded cast and Increasing Vengeance = Source card doesn't ask for a target, Copy doesn't ask for target and resolve first, then source resolve.
3. Normal cast + Increasing Vengeance + Increasing Vengeance(targeting the copied spell) = Source card asks for a target, Copy asks for a target, Copy of copied spell asks for a target and resolve first, then copy of source resolve then source resolve.


There is just one little issue not fixed, because I don't know why it happens.
I played Isochron Scepter then i exiled an instance Cyclonic Rift from my hand then i used the ability to cast a copy for free.
At this point the game freeze! White semitrasparent screen no script log of dump memory messages!
I want to clarify that i used that ability only when there was at least one legal target in play.
If anyone has an idea will be really helpful.

2 UPDATE : More tests result about the last know issue.
Isochron Scepter as like some other card exile the card, and this is the reason of the crash.
The card seem to have problem to be cast from exile.
I made a modified version of Isochron Scepter(instead of exile it put into graveyard the selected card), then when you activate the ability it play a copy. This modified version doesn't crash and the copy is played.

Any idea how to fix this issue???
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Overload at 95%

Postby gorem2k » 29 Aug 2014, 01:21

change all your "ZONE_ANY" to "ZONE_STACK" in your two <SPELL_ABILITY> blocks, but keep the ZONE_ANY for the <STATIC_ABILITY> one.

also MTG():ReevaluateContinuousEffects() inside a TARGET block don't make sense. I don't know what you can do else. I have difficulty understanding how your two Integer works and your chest method. but congrats, it seems to be workable :D

EDIT: Isochron didn't work but I think its because of ZONE_ANY in STATIC_ABILITY. having these kind of zone check can confuse the game a lot

EDIT2: changed STATIC to ZONE_HAND and now it doesn't crash but it cast overload
gorem2k
 
Posts: 464
Joined: 01 Apr 2013, 04:21
Has thanked: 48 times
Been thanked: 33 times

Re: Overload at 95%

Postby NeoAnderson » 29 Aug 2014, 02:09

gorem2k wrote:change all your "ZONE_ANY" to "ZONE_STACK" in your two <SPELL_ABILITY> blocks, but keep the ZONE_ANY for the <STATIC_ABILITY> one.
This not change anything also because SPELL_ABILITY should be resolved always into the stack.
gorem2k wrote:also MTG():ReevaluateContinuousEffects() inside a TARGET block don't make sense. I don't know what you can do else. I have difficulty understanding how your two Integer works and your chest method. but congrats, it seems to be workable :D
MTG():ReevaluateContinuousEffects() the first place where i used it caused an infinite loop, because i needed a periodical check, so i tried also into PREREQUISITE BLOCK but it endless loop. The TARGET block are contionuosly checked and give to me the possibility to force a refresh of the continuos effect who make me able to update the condition CanCastSpellUsingResourceCost(), it is needed when you have in play cards who change the casting cost of the spell!
gorem2k wrote:EDIT: Isochron didn't work but I think its because of ZONE_ANY in STATIC_ABILITY. having these kind of zone check can confuse the game a lot
EDIT2: changed STATIC to ZONE_HAND and now it doesn't crash but it cast overload
ZONE conflicts and weird behaviours are not new for Dotp, i remember someone found problems to grantability also into EXILE when use ZONE_ANY.
You cannot change the static ability to HAND only otherwise the card will not work!.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Overload at 95%

Postby gorem2k » 29 Aug 2014, 02:54

then Isochron should be fixed with something like this because the way it is now, at least my version, it doesn't check if the spell can be played normally, it only check if i can pay for free and put an illegal card in play (no target available) ie it copy the spell but you can't use its overload cost.

| Open
Code: Select all
  <ACTIVATED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{2}, {T} : Vous pouvez copier la carte d'éphémère dont le Sceptre isochronique a l'empreinte et jouer la copie sans payer son coût de mana.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{2}, {T}: Puedes copiar la carta de instantáneo estampada y jugar la copia sin pagar su coste de maná.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{2}, {T}: Du kannst die eingeprägte Spontanzauberkarte kopieren und die Kopie spielen, ohne ihre Manakosten zu bezahlen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{2}, {T}: Puoi copiare la carta istantaneo impressa e giocare quella copia senza pagare il suo costo di mana.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{2}, {T}:あなたはその追放されたカードをコピーしてもよい。そうした場合、あなたはそのコピーをマナ・コストを支払うことなく唱えてもよい。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{2}, {T}: Você pode copiar o card de mágica instantânea estampado e jogar a cópia sem pagar seu custo de mana.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{2},{T}:你可以复制所放逐的牌。你可以施放该复制品,且不需支付其法术力费用。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{2},{T}:你可以複製所放逐的牌。你可以施放該複製品,且不需支付其魔法力費用。]]></LOCALISED_TEXT>
    <COST mana_cost="{2}" type="Mana" />
    <COST type="TapSelf" />
    <AVAILABILITY>
    local imprintedSpell = LinkedDC():Get_CardPtr(0)
    return imprintedSpell ~= nil and imprintedSpell:CanBePlayed(EffectController())
    </AVAILABILITY>
    <MAY />
    <RESOLUTION_TIME_ACTION>
    local imprintedSpell = LinkedDC():Get_CardPtr(0)
    local effectController = EffectController()
    if imprintedSpell ~= nil then
       local copy = effectController:CopySpell( imprintedSpell )
       if EffectController():CanCastSpellForFree(copy) then
          EffectController():CastSpellForFree(copy)
       end
    end
    </RESOLUTION_TIME_ACTION>
    <AUTO_SKIP>
    return LinkedDC():Get_CardPtr(0) == nil
    </AUTO_SKIP>
  </ACTIVATED_ABILITY>
^^^^ not good

I tried with prerequisite , to check if imprinted:CanBePlayed(EffectController()) and it still doesn't seem to care if targets are available or not. I'm out of idea for now. good luck
gorem2k
 
Posts: 464
Joined: 01 Apr 2013, 04:21
Has thanked: 48 times
Been thanked: 33 times

Re: Overload at 95%

Postby NeoAnderson » 29 Aug 2014, 03:55

gorem2k wrote:then Isochron should be fixed with something like this because the way it is now, at least my version, it doesn't check if the spell can be played normally, it only check if i can pay for free and put an illegal card in play (no target available) ie it copy the spell but you can't use its overload cost.

| Open
Code: Select all
  <ACTIVATED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{2}, {T} : Vous pouvez copier la carte d'éphémère dont le Sceptre isochronique a l'empreinte et jouer la copie sans payer son coût de mana.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{2}, {T}: Puedes copiar la carta de instantáneo estampada y jugar la copia sin pagar su coste de maná.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{2}, {T}: Du kannst die eingeprägte Spontanzauberkarte kopieren und die Kopie spielen, ohne ihre Manakosten zu bezahlen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{2}, {T}: Puoi copiare la carta istantaneo impressa e giocare quella copia senza pagare il suo costo di mana.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{2}, {T}:あなたはその追放されたカードをコピーしてもよい。そうした場合、あなたはそのコピーをマナ・コストを支払うことなく唱えてもよい。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{2}, {T}: Você pode copiar o card de mágica instantânea estampado e jogar a cópia sem pagar seu custo de mana.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{2},{T}:你可以复制所放逐的牌。你可以施放该复制品,且不需支付其法术力费用。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{2},{T}:你可以複製所放逐的牌。你可以施放該複製品,且不需支付其魔法力費用。]]></LOCALISED_TEXT>
    <COST mana_cost="{2}" type="Mana" />
    <COST type="TapSelf" />
    <AVAILABILITY>
    local imprintedSpell = LinkedDC():Get_CardPtr(0)
    return imprintedSpell ~= nil and imprintedSpell:CanBePlayed(EffectController())
    </AVAILABILITY>
    <MAY />
    <RESOLUTION_TIME_ACTION>
    local imprintedSpell = LinkedDC():Get_CardPtr(0)
    local effectController = EffectController()
    if imprintedSpell ~= nil then
       local copy = effectController:CopySpell( imprintedSpell )
       if EffectController():CanCastSpellForFree(copy) then
          EffectController():CastSpellForFree(copy)
       end
    end
    </RESOLUTION_TIME_ACTION>
    <AUTO_SKIP>
    return LinkedDC():Get_CardPtr(0) == nil
    </AUTO_SKIP>
  </ACTIVATED_ABILITY>
^^^^ not good

I tried with prerequisite , to check if imprinted:CanBePlayed(EffectController()) and it still doesn't seem to care if targets are available or not. I'm out of idea for now. good luck
I think is not needed to check if CanBePlayed because CanCastSpellForFree should do the same or i think so.
Anyway the problem is not about illegal targets because i have tested always with legal targets and it doesn't work.
If we have to modify card as like Isochron we could think to move the exiled card into graveyard, copy the spell and then return it to the exile into one resolution block.but I don't know if could be done and i don't know if this can interact with card who takes care of zone changes.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Overload at 95%

Postby NeoAnderson » 29 Aug 2014, 06:01

The only way i found right now is not clean. I made modified version of Isochron Scepter, it move the exile card into graveyeard and copy the spell, immediately exile the card and nail on the artifact then cast the copy.
It works, so we could make a function who check if the card exile is part of overload cards(We need to make a list), then if the card is an overload card we can use this alternative ability else we can use normal ability.
In this way we could reduce any weird interaction only to the overload cards.

How many cards are able to cast spell from exile???

Isochron Scepter MODDED FOR OVERLOAD CARDS | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="3">
   <FILENAME text="NEO_TEXT_ISOCHRON_SCEPTER_628093" />
   <CARDNAME text="ISOCHRON_SCEPTER" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Isochron Scepter]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sceptre isochronique]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cetro isócrono]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Isochron-Szepter]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Scettro Isocrono]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[等時の王笏]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Isochron Scepter]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Isochron Scepter]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Cetro Isócrono]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[等时权杖]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[等時權杖]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="628093" />
   <ARTID value="628093" />
   <ARTIST name="Mark Harrison" />
   <CASTING_COST cost="{2}" />
   <TYPE metaname="Artifact" />
   <EXPANSION value="DPI" />
   <RARITY metaname="U" />
   <TRIGGERED_ABILITY linked_ability_group="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[|Imprint| — When Isochron Scepter enters the battlefield, you may exile an instant card with converted mana cost 2 or

less from your hand.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[|Empreinte| — Quand le Sceptre isochronique arrive en jeu, vous pouvez retirer de la partie une carte d'éphémère de

votre main ayant un coût converti de mana inférieur ou égal à 2.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[|Estampa| — Cuando el Cetro isócrono entre en juego, puedes remover del juego una carta de instantáneo con coste de

maná convertido de 2 o menos de tu mano.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[|Einprägen| — Wenn das Isochron-Szepter ins Spiel kommt, kannst du eine Spontanzauberkarte deiner Wahl mit

umgewandelten Manakosten von 2 oder weniger auf deiner Hand ganz aus dem Spiel entfernen.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[|Imprimere| — Quando lo Scettro Isocrono entra in gioco, puoi rimuovere dal gioco una carta istantaneo con costo di

mana convertito pari o inferiore a 2 presente nella tua mano.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[|刻印| ― 等時の王笏が戦場に出たとき、あなたはあなたの手札にある点数で見たマナ・コストが2以下のインスタント・カード1枚を追放してもよい]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[|Imprint| — When Isochron Scepter enters the battlefield, you may exile an instant card with converted mana cost 2 or

less from your hand.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[|Imprint| — When Isochron Scepter enters the battlefield, you may exile an instant card with converted mana cost 2 or

less from your hand.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[|Estampar| — Quando Cetro Isócrono entra em jogo, você pode remover do jogo um card de mágica instantânea com custo

de mana convertido menor ou igual a 2 que estiver em sua mão.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[|压印|~当等时权杖进战场时,你可以从你手上放逐一张总法术力费用等于或小于2的瞬间牌。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[|壓印|~當等時權杖進戰場時,你可以從你手上放逐一張總魔法力費用等於或小於2的瞬間牌。]]></LOCALISED_TEXT>
      <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
      <MAY />
      <RESOLUTION_TIME_ACTION>
    local filter = ClearFilter()
    filter:SetZone( ZONE_HAND, EffectController() )
    filter:Add( FE_CMC, OP_LESS_THAN_OR_EQUAL_TO, 2 )
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_INSTANT )
    EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CARD_TO_EXILE", EffectDC():Make_Targets(0), QUERY_FLAG_MAY )
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
      LinkedDC():Set_CardPtr(0, target)
       LinkedDC():Protect_CardPtr(0)
       target:Exile()
    end
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    local target = LinkedDC():Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil and source ~= nil then
       target:NailOnto(source)
    end
    </RESOLUTION_TIME_ACTION>
      <AUTO_SKIP no_effect_source="1" />
   </TRIGGERED_ABILITY>
   <ACTIVATED_ABILITY linked_ability_group="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost.]]

></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{2}, {T} : Vous pouvez copier la carte d'éphémère dont le Sceptre isochronique a l'empreinte et jouer la copie sans

payer son coût de mana.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{2}, {T}: Puedes copiar la carta de instantáneo estampada y jugar la copia sin pagar su coste de maná.]]

></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{2}, {T}: Du kannst die eingeprägte Spontanzauberkarte kopieren und die Kopie spielen, ohne ihre Manakosten zu

bezahlen.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{2}, {T}: Puoi copiare la carta istantaneo impressa e giocare quella copia senza pagare il suo costo di mana.]]

></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{2}, {T}:あなたはその追放されたカードをコピーしてもよい。そうした場合、あなたはそのコピーをマナ・コストを支払うことなく唱えてもよい。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost.]]

></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost.]]

></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{2}, {T}: Você pode copiar o card de mágica instantânea estampado e jogar a cópia sem pagar seu custo de mana.]]

></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{2},{T}:你可以复制所放逐的牌。你可以施放该复制品,且不需支付其法术力费用。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{2},{T}:你可以複製所放逐的牌。你可以施放該複製品,且不需支付其魔法力費用。]]></LOCALISED_TEXT>
      <COST mana_cost="{2}" type="Mana" />
      <COST type="TapSelf" />
      <RESOLUTION_TIME_ACTION>
    local imprintedSpell = LinkedDC():Get_CardPtr(0)
    local effectController = EffectController()
    if imprintedSpell ~= nil then
       LinkedDC():Protect_CardPtr(0)
        imprintedSpell:PutInGraveyard()
       local copy = effectController:CopySpell( imprintedSpell )
        if copy ~= nil then
           EffectDC():Set_CardPtr(10, copy)
           EffectDC():Protect_CardPtr(10)
        end
       LinkedDC():Protect_CardPtr(0)
        imprintedSpell:Exile()
    end
      </RESOLUTION_TIME_ACTION>
   <RESOLUTION_TIME_ACTION>
    local target = LinkedDC():Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil and source ~= nil then
       target:NailOnto(source)
    end
    </RESOLUTION_TIME_ACTION>

      <RESOLUTION_TIME_ACTION>
       local copy = EffectDC():Get_CardPtr(10)
       if EffectController():CanCastSpellForFree(copy) then
           EffectController():CastSpellForFree(copy)
       end
      </RESOLUTION_TIME_ACTION>

      <AUTO_SKIP>
    return LinkedDC():Get_CardPtr(0) == nil
    </AUTO_SKIP>
   </ACTIVATED_ABILITY>
   <AI_BASE_SCORE score="900" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
Cyclonic Rift NEO&LBN V3.1 | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
    <CARD_V2 ExportVersion="1">
      <FILENAME text="NEO_LBN_CYCLONIC_RIFT_992270798" />
      <CARDNAME text="CYCLONIC_RIFT" />
      <TITLE>
        <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Cyclonic Rift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Faille cyclonique]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Grieta ciclónica]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Rift des Sturmtiefs]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Squarcio Ciclonico]]></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[Fenda Ciclônica]]></LOCALISED_TEXT>
      </TITLE>
      <MULTIVERSEID value="992270798" />
      <ARTID value="992270798" />
      <ARTIST name="Chris Rahn" />
      <CASTING_COST cost="{1}{U}" />
      <FLAVOURTEXT>
        <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[The Izzet specialize in unnatural disaster.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Les Izzet sont spécialisés dans les catastrophes artificielles.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Los ízzet se especializan en desastres no naturales.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die Izzet sind auf unnatürliche Katastrophen spezialisiert.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Gli Izzet sono specializzati in catastrofi innaturali.]]></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[A especialidade dos Izzet são os desastres não naturais.]]></LOCALISED_TEXT>
      </FLAVOURTEXT>
      <TYPE metaname="Instant" />
      <EXPANSION value="RTR" />
      <RARITY metaname="R" />
   
       <STATIC_ABILITY active_zone="ZONE_ANY">
            <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Return target nonland permanent you don’t control to its owner’s hand.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Renvoyez un permanent non-terrain ciblé que vous ne contrôlez pas dans la main de son propriétaire.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Regresa el permanente objetivo que no sea tierra que no controles a la mano de su propietario.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bringe eine bleibende Karte deiner Wahl, die kein Land ist und die du nicht kontrollierst, auf die Hand ihres Besitzers zurück.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Fai tornare un permanente non terra bersaglio che non controlli in mano al suo proprietario.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたがコントロールしていない土地でないパーマネント1つを対象とし、それをオーナーの手札に戻す。]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신이 조종하지 않는 지속물 중 대지가 아닌 지속물 한 개를 목표로 정한다. 그 지속물을 소유자의 손으로 되돌린다.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Верните целевой не являющийся землей перманент, который не находится под вашим контролем, в руку его владельца.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Devolva a permanente alvo que não seja um terreno e que você não controle para a mão de seu dono.]]></LOCALISED_TEXT>
          <CONTINUOUS_ACTION layer="0">
               local refplayer = EffectSource():GetPlayer()
               local Chest_Id = EffectSource():GetRef()
               local chest = refplayer:PlayerDataChest():Get_Chest(Chest_Id)
               local oDC = RSN_ObjectDC()
               if chest ~= nil then
                 local nState = chest:Get_Int(1524)
                 local nStateB =  oDC:Int_Get(1524)
                 if (nState == 1) or (nStateB == 1) then
                    EffectSource():GetCurrentCharacteristics():GrantAbility(2)
                 else
                    EffectSource():GetCurrentCharacteristics():GrantAbility(1)
                 end
               else
                  chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                  chest:Set_Int(1524, 0)
               end
           </CONTINUOUS_ACTION>
      </STATIC_ABILITY>

      <STATIC_ABILITY active_zone="ZONE_HAND">
   <CONTINUOUS_ACTION layer="1">
      local refplayer = EffectSource():GetPlayer()
                local Chest_Id = EffectSource():GetRef()
                local chest = refplayer:PlayerDataChest():Get_Chest(Chest_Id)
      if chest ~= nil then
         local oDC = RSN_ObjectDC()
         local valor = oDC:Int_Get(1524)
         oDC:Int_Set(1524, 1)
         if EffectController():CanCastSpellUsingResourceCost( EffectSource(), 3 ) then
            chest:Set_Int(1525,1)   
         else
            chest:Set_Int(1525,0)
         end
          oDC:Int_Set(1524, valor)   
      else
         chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
         chest:Set_Int(1525,0)
      end
   </CONTINUOUS_ACTION>
      </STATIC_ABILITY>
     <ACTIVATED_ABILITY forced_skip="1" qualifier="Alternate"  active_zone="ZONE_HAND">
            <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Overload {6}{U} |(You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Surcharge {6}{U} |(Vous pouvez lancer ce sort pour son coût de surcharge. Si vous faites ainsi, modifiez son texte en remplaçant toutes les occurrences de « ciblé(e) » par « chaque ».)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sobrecarga {6}{U} | (Puedes lanzar este hechizo por su coste de sobrecarga. Si lo haces, cambia su texto reemplazando "el permanente objetivo" por "cada permanente".)]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Überlast {6}{U} |(Du kannst diesen Zauber für seine Überlast-Kosten wirken. Falls du dies tust, verändere seinen Text, indem du im Text alle Vorkommen von „deiner Wahl" durch „jeder" ersetzt.)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sovraccarico {6}{U} |(Puoi lanciare questa magia per il suo costo di sovraccarico. Se lo fai, cambiane il testo sostituendo "un permanente non terra bersaglio" con "ogni permanente non terra".)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[超過 {6}{U} |(あなたはこの呪文をその超過コストで唱えてもよい。そうした場合、あなたがコントロールしていない土地でない各パーマネントをそれぞれオーナーの手札に戻す。)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[과부하 {6}{U} |(당신은 과부하 비용을 지불하여 이 주문을 발동할 수 있다. 그럴 경우, 이 주문은 "당신이 조종하지 않는 지속물 중 대지가 아닌 각 지속물을 소유자의 손으로 되돌린다"로 내용이 변한다.)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Перегрузка {6}{U} |(Вы можете разыграть это заклинание за его стоимость Перегрузки. Если вы это делаете, измените в его тексте все слова «целевой» на «каждый».)|]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sobrecarga {6}{U} |(Você pode conjurar esta mágica pagando seu custo de sobrecarga. Se fizer isso, altere seu texto substituindo todas as ocorrências de "a permanente alvo" por "cada permanente".)|]]></LOCALISED_TEXT>
             <COST type="Generic">
            <PREREQUISITE>
                local refplayer = EffectSource():GetPlayer()
                local Chest_Id = EffectSource():GetRef()
                local chest = refplayer:PlayerDataChest():Get_Chest(Chest_Id)
                if chest ~= nil then
                   return chest:Get_Int(1525) == 1
                end   
                return false
             </PREREQUISITE>
          <PLAY_TIME_ACTION>
             RSN_MarkManaAbilityStart()
          </PLAY_TIME_ACTION>
                 <PLAY_TIME_ACTION>
               local spellToCast = EffectSource()
                    local refplayer = EffectSource():GetPlayer()
                  local Chest_Id = EffectSource():GetRef()
                  local chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                  chest:Set_Int(1524, 1)
                  </PLAY_TIME_ACTION>
           </COST>
          <RESOLUTION_TIME_ACTION>
               local spellToCast = EffectSource()
               EffectController():CastSpellUsingResourceCost( spellToCast, 3 )
             </RESOLUTION_TIME_ACTION>
          <RESOLUTION_TIME_ACTION>
            RSN_MarkManaAbilityEnd()
          </RESOLUTION_TIME_ACTION>
            </ACTIVATED_ABILITY>

     <SPELL_ABILITY  resource_id="1" active_zone="ZONE_ANY">
       <TARGET_DEFINITION id="0">   
         MTG():ReevaluateContinuousEffects()
              EffectDC():Set_Int(1321, 3)
              local filter = ClearFilter()
              filter:SetZone( ZONE_BATTLEFIELD )
              filter:Add( FE_CONTROLLER, OP_NOT, EffectController())
              local subfilter = filter:AddSubFilter_Or()
                    subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
                    subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
                    subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
            </TARGET_DEFINITION>     
           <TARGET tag="CARD_QUERY_CHOOSE_NONLAND_PERMANENT_TO_PUT_INTO_HAND" definition="0" compartment="0" count="1"/>
           <RESOLUTION_TIME_ACTION>   
              if EffectDC():Get_Int(1321) == 3 then
                 local refplayer = EffectSource():GetPlayer()
                 local Chest_Id = EffectSource():GetRef()
                 local chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                 chest:Set_Int(1524, 0)
                 local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
                 if  target ~= nil then
                     target:PutInHand()
                 end
              end
            </RESOLUTION_TIME_ACTION>
            <FILTER filter_id="1">         
                    local filter = ClearFilter()
                    filter:SetZone( ZONE_BATTLEFIELD )
                    filter:Add( FE_CONTROLLER, OP_NOT, EffectController())
                    local subfilter = filter:AddSubFilter_Or()
                          subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
                          subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )         
                          subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
                </FILTER>
            <RESOLUTION_TIME_ACTION filter_id="1">
                if EffectDC():Get_Int(1321) ~= 3 then
                   if FilteredCard() ~= nil then
                      FilteredCard():PutInHand()
                   end
                end
           </RESOLUTION_TIME_ACTION>
    </SPELL_ABILITY>     

     <SPELL_ABILITY  resource_id="2" active_zone="ZONE_ANY">
           <FILTER filter_id="1">         
                local filter = ClearFilter()
                      filter:SetZone( ZONE_BATTLEFIELD )
                      filter:Add( FE_CONTROLLER, OP_NOT, EffectController())
                      local subfilter = filter:AddSubFilter_Or()
                            subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
                            subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )         
                            subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
                </FILTER>
                   <PLAY_TIME_ACTION>
               local refplayer = EffectSource():GetPlayer()
               local Chest_Id = EffectSource():GetRef()
               local chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
               chest:Set_Int(1524, 0)
          local oDC = RSN_ObjectDC()
                oDC:Int_Set(1524, 1)
             </PLAY_TIME_ACTION>         
           <RESOLUTION_TIME_ACTION filter_id="1">
                 if FilteredCard() ~= nil then
                    FilteredCard():PutInHand()
                 end
           </RESOLUTION_TIME_ACTION>
       <SFX text="GLOBAL_TIDE_PLAY" />
     </SPELL_ABILITY>   


        <UTILITY_ABILITY resource_id="3">
          <COST mana_cost="{6}{U}" type="Mana" />
       </UTILITY_ABILITY>

           <AI_AVAILABILITY type="in_response" response_source="1" />
           <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="main_1" window_turn="my_turn" type="window" />
           <AI_AVAILABILITY window_step="declare_blockers" type="window" />
           <AI_AVAILABILITY window_step="end_of_turn" type="window" />
           <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
           <AI_BASE_SCORE score="900" zone="ZONE_HAND" />
</CARD_V2>
I made a search on the MTG gatherer database and i found that the cards need some modifies to work with overload are the follow :
Cards to modify | Open
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Overload at 95%

Postby gorem2k » 29 Aug 2014, 10:22

i'm not really into modifying cards that works but causes the approximated 'overload' to fail. i'd rather work on finding another way to implement overload if it's still possible. the only way I see is put target outside of spell ability. because that together with another "granted depending on something" spell_ability makes it very complicated to keep track of

at this point, we're pretty close to creating a 'overload spell casting manager invisible token'
gorem2k
 
Posts: 464
Joined: 01 Apr 2013, 04:21
Has thanked: 48 times
Been thanked: 33 times

Re: Overload at 95%

Postby braquio » 29 Aug 2014, 11:13

I think i found a solution:

Cyclonic Rift NEO&LBN V3.2 | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
          <FILENAME text="NEO_LBN_CYCLONIC_RIFT_992270798" />
          <CARDNAME text="CYCLONIC_RIFT" />
          <TITLE>
            <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Cyclonic Rift]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Faille cyclonique]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Grieta ciclónica]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Rift des Sturmtiefs]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Squarcio Ciclonico]]></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[Fenda Ciclônica]]></LOCALISED_TEXT>
          </TITLE>
          <MULTIVERSEID value="992270798" />
          <ARTID value="992270798" />
          <ARTIST name="Chris Rahn" />
          <CASTING_COST cost="{1}{U}" />
          <FLAVOURTEXT>
            <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[The Izzet specialize in unnatural disaster.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Les Izzet sont spécialisés dans les catastrophes artificielles.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Los ízzet se especializan en desastres no naturales.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die Izzet sind auf unnatürliche Katastrophen spezialisiert.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Gli Izzet sono specializzati in catastrofi innaturali.]]></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[A especialidade dos Izzet são os desastres não naturais.]]></LOCALISED_TEXT>
          </FLAVOURTEXT>
          <TYPE metaname="Instant" />
          <EXPANSION value="RTR" />
          <RARITY metaname="R" />
       
           <STATIC_ABILITY active_zone="ZONE_HAND">
                <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Return target nonland permanent you don’t control to its owner’s hand.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Renvoyez un permanent non-terrain ciblé que vous ne contrôlez pas dans la main de son propriétaire.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Regresa el permanente objetivo que no sea tierra que no controles a la mano de su propietario.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bringe eine bleibende Karte deiner Wahl, die kein Land ist und die du nicht kontrollierst, auf die Hand ihres Besitzers zurück.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Fai tornare un permanente non terra bersaglio che non controlli in mano al suo proprietario.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたがコントロールしていない土地でないパーマネント1つを対象とし、それをオーナーの手札に戻す。]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신이 조종하지 않는 지속물 중 대지가 아닌 지속물 한 개를 목표로 정한다. 그 지속물을 소유자의 손으로 되돌린다.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Верните целевой не являющийся землей перманент, который не находится под вашим контролем, в руку его владельца.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Devolva a permanente alvo que não seja um terreno e que você não controle para a mão de seu dono.]]></LOCALISED_TEXT>
              <CONTINUOUS_ACTION layer="0">
                   local refplayer = EffectSource():GetPlayer()
                   local Chest_Id = EffectSource():GetRef()
                   local chest = refplayer:PlayerDataChest():Get_Chest(Chest_Id)
                   local oDC = RSN_ObjectDC()
                   if chest ~= nil then
                     local nState = chest:Get_Int(1524)
                     local nStateB =  oDC:Int_Get(1524)
                     if (nState == 1) or (nStateB == 1) then
                        EffectSource():GetCurrentCharacteristics():GrantAbility(2)
                     else
                        EffectSource():GetCurrentCharacteristics():GrantAbility(1)
                     end
                   else
                      chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                      chest:Set_Int(1524, 0)
                   end
               </CONTINUOUS_ACTION>
          </STATIC_ABILITY>

   <STATIC_ABILITY active_zone="ZONE_STACK">
                <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Return target nonland permanent you don’t control to its owner’s hand.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Renvoyez un permanent non-terrain ciblé que vous ne contrôlez pas dans la main de son propriétaire.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Regresa el permanente objetivo que no sea tierra que no controles a la mano de su propietario.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bringe eine bleibende Karte deiner Wahl, die kein Land ist und die du nicht kontrollierst, auf die Hand ihres Besitzers zurück.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Fai tornare un permanente non terra bersaglio che non controlli in mano al suo proprietario.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたがコントロールしていない土地でないパーマネント1つを対象とし、それをオーナーの手札に戻す。]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신이 조종하지 않는 지속물 중 대지가 아닌 지속물 한 개를 목표로 정한다. 그 지속물을 소유자의 손으로 되돌린다.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Верните целевой не являющийся землей перманент, который не находится под вашим контролем, в руку его владельца.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Devolva a permanente alvo que não seja um terreno e que você não controle para a mão de seu dono.]]></LOCALISED_TEXT>
              <CONTINUOUS_ACTION layer="0">
                   local refplayer = EffectSource():GetPlayer()
                   local Chest_Id = EffectSource():GetRef()
                   local chest = refplayer:PlayerDataChest():Get_Chest(Chest_Id)
                   local oDC = RSN_ObjectDC()
                   if chest ~= nil then
                     local nState = chest:Get_Int(1524)
                     local nStateB =  oDC:Int_Get(1524)
                     if (nState == 1) or (nStateB == 1) then
                        EffectSource():GetCurrentCharacteristics():GrantAbility(2)
                     else
                        EffectSource():GetCurrentCharacteristics():GrantAbility(1)
                     end
                   else
                      chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                      chest:Set_Int(1524, 0)
                   end
               </CONTINUOUS_ACTION>
          </STATIC_ABILITY>

   <STATIC_ABILITY active_zone="ZONE_EXILE">
                <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Return target nonland permanent you don’t control to its owner’s hand.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Renvoyez un permanent non-terrain ciblé que vous ne contrôlez pas dans la main de son propriétaire.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Regresa el permanente objetivo que no sea tierra que no controles a la mano de su propietario.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bringe eine bleibende Karte deiner Wahl, die kein Land ist und die du nicht kontrollierst, auf die Hand ihres Besitzers zurück.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Fai tornare un permanente non terra bersaglio che non controlli in mano al suo proprietario.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたがコントロールしていない土地でないパーマネント1つを対象とし、それをオーナーの手札に戻す。]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신이 조종하지 않는 지속물 중 대지가 아닌 지속물 한 개를 목표로 정한다. 그 지속물을 소유자의 손으로 되돌린다.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Верните целевой не являющийся землей перманент, который не находится под вашим контролем, в руку его владельца.]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Devolva a permanente alvo que não seja um terreno e que você não controle para a mão de seu dono.]]></LOCALISED_TEXT>
              <CONTINUOUS_ACTION layer="0">
                   local refplayer = EffectSource():GetPlayer()
                   local Chest_Id = EffectSource():GetRef()
                   local chest = refplayer:PlayerDataChest():Get_Chest(Chest_Id)
                   local oDC = RSN_ObjectDC()
                   if chest ~= nil then
                     local nState = chest:Get_Int(1524)
                     local nStateB =  oDC:Int_Get(1524)
                     if (nState == 1) or (nStateB == 1) then
                        EffectSource():GetCurrentCharacteristics():GrantAbility(2)
                     else
                        EffectSource():GetCurrentCharacteristics():GrantAbility(1)
                     end
                   else
                      chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                      chest:Set_Int(1524, 0)
                   end
               </CONTINUOUS_ACTION>
          </STATIC_ABILITY>

          <STATIC_ABILITY active_zone="ZONE_HAND">
       <CONTINUOUS_ACTION layer="1">
          local refplayer = EffectSource():GetPlayer()
     local Chest_Id = EffectSource():GetRef()
     local chest = refplayer:PlayerDataChest():Get_Chest(Chest_Id)
          if chest ~= nil then
             local oDC = RSN_ObjectDC()
             local valor = oDC:Int_Get(1524)
             oDC:Int_Set(1524, 1)
             if EffectController():CanCastSpellUsingResourceCost( EffectSource(), 3 ) then
                chest:Set_Int(1525,1)   
             else
                chest:Set_Int(1525,0)
             end
              oDC:Int_Set(1524, valor)   
          else
             chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
             chest:Set_Int(1525,0)
          end
       </CONTINUOUS_ACTION>
          </STATIC_ABILITY>

         <ACTIVATED_ABILITY forced_skip="1" qualifier="Alternate"  active_zone="ZONE_HAND">
                <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Overload {6}{U} |(You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")|]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Surcharge {6}{U} |(Vous pouvez lancer ce sort pour son coût de surcharge. Si vous faites ainsi, modifiez son texte en remplaçant toutes les occurrences de « ciblé(e) » par « chaque ».)|]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sobrecarga {6}{U} | (Puedes lanzar este hechizo por su coste de sobrecarga. Si lo haces, cambia su texto reemplazando "el permanente objetivo" por "cada permanente".)]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Überlast {6}{U} |(Du kannst diesen Zauber für seine Überlast-Kosten wirken. Falls du dies tust, verändere seinen Text, indem du im Text alle Vorkommen von „deiner Wahl" durch „jeder" ersetzt.)|]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sovraccarico {6}{U} |(Puoi lanciare questa magia per il suo costo di sovraccarico. Se lo fai, cambiane il testo sostituendo "un permanente non terra bersaglio" con "ogni permanente non terra".)|]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[超過 {6}{U} |(あなたはこの呪文をその超過コストで唱えてもよい。そうした場合、あなたがコントロールしていない土地でない各パーマネントをそれぞれオーナーの手札に戻す。)|]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[과부하 {6}{U} |(당신은 과부하 비용을 지불하여 이 주문을 발동할 수 있다. 그럴 경우, 이 주문은 "당신이 조종하지 않는 지속물 중 대지가 아닌 각 지속물을 소유자의 손으로 되돌린다"로 내용이 변한다.)|]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Перегрузка {6}{U} |(Вы можете разыграть это заклинание за его стоимость Перегрузки. Если вы это делаете, измените в его тексте все слова «целевой» на «каждый».)|]]></LOCALISED_TEXT>
                <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sobrecarga {6}{U} |(Você pode conjurar esta mágica pagando seu custo de sobrecarga. Se fizer isso, altere seu texto substituindo todas as ocorrências de "a permanente alvo" por "cada permanente".)|]]></LOCALISED_TEXT>
                 <COST type="Generic">
                <PREREQUISITE>
                    local refplayer = EffectSource():GetPlayer()
                    local Chest_Id = EffectSource():GetRef()
                    local chest = refplayer:PlayerDataChest():Get_Chest(Chest_Id)
                    if chest ~= nil then
                       return chest:Get_Int(1525) == 1
                    end   
                    return false
                 </PREREQUISITE>
              <PLAY_TIME_ACTION>
                 RSN_MarkManaAbilityStart()
              </PLAY_TIME_ACTION>
                     <PLAY_TIME_ACTION>
                   local spellToCast = EffectSource()
                        local refplayer = EffectSource():GetPlayer()
                      local Chest_Id = EffectSource():GetRef()
                      local chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                      chest:Set_Int(1524, 1)
                      </PLAY_TIME_ACTION>
               </COST>
              <RESOLUTION_TIME_ACTION>
                   local spellToCast = EffectSource()
                   EffectController():CastSpellUsingResourceCost( spellToCast, 3 )
                 </RESOLUTION_TIME_ACTION>
              <RESOLUTION_TIME_ACTION>
                RSN_MarkManaAbilityEnd()
              </RESOLUTION_TIME_ACTION>
                </ACTIVATED_ABILITY>

         <SPELL_ABILITY  resource_id="1" active_zone="ZONE_ANY">
           <TARGET_DEFINITION id="0">   
             MTG():ReevaluateContinuousEffects()
                  EffectDC():Set_Int(1321, 3)
                  local filter = ClearFilter()
                  filter:SetZone( ZONE_BATTLEFIELD )
                  filter:Add( FE_CONTROLLER, OP_NOT, EffectController())
                  local subfilter = filter:AddSubFilter_Or()
                        subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
                        subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
                        subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
                </TARGET_DEFINITION>     
               <TARGET tag="CARD_QUERY_CHOOSE_NONLAND_PERMANENT_TO_PUT_INTO_HAND" definition="0" compartment="0" count="1"/>
               <RESOLUTION_TIME_ACTION>   
                  if EffectDC():Get_Int(1321) == 3 then
                     local refplayer = EffectSource():GetPlayer()
                     local Chest_Id = EffectSource():GetRef()
                     local chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                     chest:Set_Int(1524, 0)
                     local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
                     if  target ~= nil then
                         target:PutInHand()
                     end
                  end
                </RESOLUTION_TIME_ACTION>
                <FILTER filter_id="1">         
                        local filter = ClearFilter()
                        filter:SetZone( ZONE_BATTLEFIELD )
                        filter:Add( FE_CONTROLLER, OP_NOT, EffectController())
                        local subfilter = filter:AddSubFilter_Or()
                              subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
                              subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )         
                              subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
                    </FILTER>
                <RESOLUTION_TIME_ACTION filter_id="1">
                    if EffectDC():Get_Int(1321) ~= 3 then
                       if FilteredCard() ~= nil then
                          FilteredCard():PutInHand()
                       end
                    end
               </RESOLUTION_TIME_ACTION>
        </SPELL_ABILITY>     

         <SPELL_ABILITY  resource_id="2" active_zone="ZONE_ANY">
               <FILTER filter_id="1">         
                    local filter = ClearFilter()
                          filter:SetZone( ZONE_BATTLEFIELD )
                          filter:Add( FE_CONTROLLER, OP_NOT, EffectController())
                          local subfilter = filter:AddSubFilter_Or()
                                subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
                                subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )         
                                subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
                    </FILTER>
                       <PLAY_TIME_ACTION>
                   local refplayer = EffectSource():GetPlayer()
                   local Chest_Id = EffectSource():GetRef()
                   local chest = refplayer:PlayerDataChest():Make_Chest(Chest_Id)
                   chest:Set_Int(1524, 0)
              local oDC = RSN_ObjectDC()
                    oDC:Int_Set(1524, 1)
                 </PLAY_TIME_ACTION>         
               <RESOLUTION_TIME_ACTION filter_id="1">
                     if FilteredCard() ~= nil then
                        FilteredCard():PutInHand()
                     end
               </RESOLUTION_TIME_ACTION>
           <SFX text="GLOBAL_TIDE_PLAY" />
         </SPELL_ABILITY>   


            <UTILITY_ABILITY resource_id="3">
              <COST mana_cost="{6}{U}" type="Mana" />
           </UTILITY_ABILITY>

               <AI_AVAILABILITY type="in_response" response_source="1" />
               <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="main_1" window_turn="my_turn" type="window" />
               <AI_AVAILABILITY window_step="declare_blockers" type="window" />
               <AI_AVAILABILITY window_step="end_of_turn" type="window" />
               <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
               <AI_BASE_SCORE score="900" zone="ZONE_HAND" />
</CARD_V2>
I didn't test too much but seems works properly.
I only changed the STATIC ABILITY with ZONE_ANY for 3 STATICS: 1 with zone hand, one with stack and one with exile.

I didnt put a static with zone graveyard cause i dont know any card that could play these cards from graveyard, but if is necessary is easy to add one more static block.
____________________________________________________________________________________________________________________________
Braquio Dotp2014 DLC
Alternative Sealed Campaigns for DotP 2014
User avatar
braquio
 
Posts: 143
Joined: 16 Feb 2014, 19:21
Has thanked: 15 times
Been thanked: 9 times

PreviousNext

Return to Programming Talk

Who is online

Users browsing this forum: No registered users and 4 guests

Main Menu

User Menu

Our Partners


Who is online

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

Login Form