It is currently 14 Nov 2025, 02:46
   
Text Size

Need an advice for Nettlevine Blight

Moderator: CCGHQ Admins

Re: Need an advice for Nettlevine Blight

Postby BlindWillow » 13 Oct 2012, 21:54

thefiremind wrote:So it seems I'll have to develop BlindWillow's idea after all... or strive to find an easier one, if possible.
I think you could reasonably include fewer than 16 granted abilities. :) I would say you could get away with enough for twice the number you end up putting in the deck. That way there can be a mirror match. Who really wants to play a planechase game with all Nettlevine decks, anyway?
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Need an advice for Nettlevine Blight

Postby RiiakShiNal » 13 Oct 2012, 22:04

Nettlevine Blight could be put in several decks, or could be copied by other effects so it could get over 8 in a game, it could even get to be more than 16 (though that is unlikely). We really have no way of knowing what the maximum number of any card could end up being due to how many magic cards there are and the exponentially large number of possible ways they can interact with each other which is why when you are making cards you try to think of ways to make a card such that no matter how many are in play it works or if that can't be done you try to keep to an upper limit. I've easily had more cards in play than even existed in all 4 of the decks being played in a planechase match before.
RiiakShiNal
Programmer
 
Posts: 2189
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Need an advice for Nettlevine Blight

Postby BlindWillow » 13 Oct 2012, 22:27

RiiakShiNal wrote:We really have no way of knowing what the maximum number of any card could end up being due to how many magic cards there are and the exponentially large number of possible ways they can interact with each other which is why when you are making cards you try to think of ways to make a card such that no matter how many are in play it works or if that can't be done you try to keep to an upper limit.
Well, I assumed since it was thefiremind I was talking to I didn't have to mention the need to cap the index value, but it is important to remind others who might be reading to do so and not just assume that these things will never happen.
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Need an advice for Nettlevine Blight

Postby RiiakShiNal » 13 Oct 2012, 22:36

BlindWillow wrote:Well, I assumed since it was thefiremind I was talking to I didn't have to mention the need to cap the index value, but it is important to remind others who might be reading to do so and not just assume that these things will never happen.
The problem is if you cap the index value then you could get into a situation where one Nettlevine Blight will overwrite the location another Nettlevine Blight is using and one or more will simply cease to work properly and may fail. For example you cap the index at 8 and there are 9 Nettlevine Blights in play with number 8 and number 9 on the same side of the game. If they happen to enchant the same permanent then when that ability is triggered on the permanent one will be moved the other will simply go to the graveyard (even though it should remain in play).

Capping can work fine for some things such as mana production, tokens, etc..., but should be avoided for things like data storage locations.
RiiakShiNal
Programmer
 
Posts: 2189
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Need an advice for Nettlevine Blight

Postby BlindWillow » 14 Oct 2012, 01:26

RiiakShiNal wrote:The problem is if you cap the index value then you could get into a situation where one Nettlevine Blight will overwrite the location another Nettlevine Blight is using and one or more will simply cease to work properly and may fail.
No, I'm talking about a different indexing system now, one that checks to see what values have been assigned already upon entering the battlefield and then sets its own index value permanently. So you will never have any overwriting. I think part of the problem with figuring this out is we're all discussing a card that exists only in our minds. :lol: We need something real to work with. If you want (this @thefiremind), I can develop my idea, while you explore other options.
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Need an advice for Nettlevine Blight

Postby thefiremind » 14 Oct 2012, 08:58

BlindWillow wrote:If you want (this @thefiremind), I can develop my idea, while you explore other options.
Sure!
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Need an advice for Nettlevine Blight

Postby BlindWillow » 14 Oct 2012, 16:01

Here's what I've got so far (just four abilities for testing purposes right now):

Code: Select all
<?xml version='1.0'?>
<CARD_V2>
  <FILENAME text="NETTLEVINE_BLIGHT_143731" />
  <CARDNAME text="NETTLEVINE_BLIGHT" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Nettlevine Blight]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Avvizzimento di Orticanti]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Nesselrankenfäule]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Flétrissement d’ortilierre]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Ruina de parratejida]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[イラクサヅタ病]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Nettlevine Blight]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Сглаз Оплетающей Крапивы]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Ensoamento com Urtigueira]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="143731" />
  <ARTID value="A143731" />
  <ARTIST name="Michael Sutfin" />
  <CASTING_COST cost="{B}" />
  <TYPE metaname="Enchantment" />
  <SUB_TYPE metaname="Aura" />
  <EXPANSION value="LRW" />
  <RARITY metaname="R" />
  <STATIC_ABILITY attach_filter="1" filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchant creature or land]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Incanta creatura o terra]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Kreatur-oder-Land-Verzauberung]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanter : créature ou terrain]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Encantar criatura o tierra.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャント(クリーチャーか土地)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchant creature or land]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Зачаровать существо или землю]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Encantar criatura ou terreno]]></LOCALISED_TEXT>
    <CONTINUOUS_ACTION>
    local attach_filter = Object():AttachmentFilter_Get()
    attach_filter:Clear()
    attach_filter:AddCardType( CARD_TYPE_CREATURE )
    attach_filter:AddCardType( CARD_TYPE_LAND )
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <STATIC_ABILITY filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted permanent has “At the beginning of your end step, sacrifice this permanent and attach Nettlevine Blight to a creature or land you control.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Il permanente incantato ha “Alla fine del tuo turno, sacrifica questo permanente e assegna l’Avvizzimento di Orticanti a una creatura o a una terra che controlli.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die verzauberte bleibende Karte hat „Opfere am Ende deines Zuges diese bleibende Karte und lege die Nesselrankenfäule an eine Kreatur oder ein Land an, die bzw. das du kontrollierst”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Le permanent enchanté a « À la fin de votre tour, sacrifiez ce permanent et attachez le Flétrissement d’ortilierre à une créature ou un terrain que vous contrôlez. »]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[El permanente encantado tiene “Al final de tu turno, sacrifica este permanente y anexa la Ruina de parratejida a una criatura o tierra que controlas”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャントされているパーマネントは「あなたのターンの終了時に、このパーマネントを生け贄に捧げ、イラクサヅタ病をあなたがコントロールするクリーチャーか土地につける。」を持つ。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchanted permanent has “At the beginning of your end step, sacrifice this permanent and attach Nettlevine Blight to a creature or land you control.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Зачарованный перманент имеет способность “В конце вашего хода пожертвуйте этот перманент и прикрепите Сглаз Оплетающей Крапивы к существу или земле под вашим контролем”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[A permanente encantada tem “No final de seu turno, sacrifique esta permanente e anexe Ensoamento com Urtigueira a uma criatura ou terreno que você controla.”]]></LOCALISED_TEXT>
    <CONTINUOUS_ACTION layer="6">
    local parent = Object():GetParent()
    local ga_index = ObjectDC():Get_Int(COMPARTMENT_ID_INT_REGISTER_0)
    if (parent ~= nil and ga_index ~= nil) then
   parent:GetCurrentCharacteristics():GrantAbility(ga_index)
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <SPELL_ABILITY attach_filter="1" dangerous="1" filter_zone="ZONE_IN_PLAY">
    <TARGET_DEFINITION id="0">
    local filter = Object():GetFilter()
    filter:Clear()
    filter:AddCardType( CARD_TYPE_CREATURE )
    filter:AddCardType( CARD_TYPE_LAND )
    filter:SetZone( ZONE_IN_PLAY )
    filter:SetHint( HINT_ENEMY_ONLY, EffectController() )
    </TARGET_DEFINITION>
    <TARGET_DETERMINATION>
    return AtLeastOneTargetFromDefinition(0)
    </TARGET_DETERMINATION>
    <PLAY_TIME_ACTION target_choosing="1">
    EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_PERMANENT_TO_ENCHANT", EffectDC():Make_Targets(0) )
    </PLAY_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target_card = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target_card ~= nil then
          Object():Enchant( target_card )
    end
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>
  <TRIGGERED_ABILITY internal="1" filter_zone="ZONE_IN_PLAY">
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_IN_PLAY" />
    <RESOLUTION_TIME_ACTION>
    local filter = Object():GetFilter()
    filter:Clear()
    filter:AddCardName( "NETTLEVINE_BLIGHT" )
    filter:SetZone( ZONE_IN_PLAY )
    filter:SetCardInstance( Object() )
    filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
    filter:NotTargetted()
    local filter_count = filter:EvaluateObjects()
    local max_val = 4

    if filter_count &gt; 0 then
   for i=1,max_val do
      EffectDC():Set_Int( i, 1 )
   end
       for j=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(j)
      for k=1,max_val do
         if card:GetDataChest():Get_Int(COMPARTMENT_ID_INT_REGISTER_0) == k then
                EffectDC():Set_Int( k, 0 )
         end
          end
       end
   for l=1,max_val do
      if EffectDC():Get_Int(l) ~= 0 then
         ObjectDC():Set_Int(COMPARTMENT_ID_INT_REGISTER_0, l)
         break
      end
   end
    else
   ObjectDC():Set_Int(COMPARTMENT_ID_INT_REGISTER_0, 1)
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY resource_id="1" filter_zone="ZONE_IN_PLAY">
    <TRIGGER value="BEGINNING_OF_STEP">
    local controller = EffectController()
    if (controller ~= nil and TriggerPlayer() == controller and controller:MyTurn() ~= 0 and MTG():GetStep() == STEP_END_OF_TURN) then
   local filter = Object():GetFilter()
   filter:Clear()
   filter:AddCardName( "NETTLEVINE_BLIGHT" )
   filter:SetZone( ZONE_IN_PLAY )
   filter:NotTargetted()
   local filter_count = filter:EvaluateObjects()
   if filter_count &gt; 0 then
      for i=0,filter_count-1 do
             local card = filter:GetNthEvaluatedObject(i)
         if card:GetDataChest():Get_Int(COMPARTMENT_ID_INT_REGISTER_0) == 1 then
            EffectDC():Set_ProtectedCardPtr(0, card)
            break
         end
      end
       end
   EffectDC():Protect_CardPtr( COMPARTMENT_ID_EFFECT_SOURCE )
   return true
    end
    return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    local filter = Object():GetFilter()
    filter:Clear()
    filter:AddCardType( CARD_TYPE_CREATURE )
    filter:AddCardType( CARD_TYPE_LAND )
    filter:SetZone( ZONE_IN_PLAY )
    filter:SetCardInstance( Object() )
    filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
    filter:SetController( EffectController() )
    filter:NotTargetted()
    filter:SetHint( HINT_ENEMY, EffectController() )
    EffectController():ChooseTarget( NO_VALIDATION, "CARD_QUERY_CHOOSE_PERMANENT_TO_ENCHANT", EffectDC

():Make_Targets(6) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local ability_source = EffectDC():Get_ProtectedCardPtr(0)
    local targetDC = EffectDC():Get_Targets(6)
    if targetDC ~= nil then
   local target = targetDC:Get_CardPtr(0)
   if (target ~= nil and ability_source ~= nil) then
      Object():Sacrifice()
      ability_source:Enchant( target )
   end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY resource_id="2" filter_zone="ZONE_IN_PLAY">
    <TRIGGER value="BEGINNING_OF_STEP">
    local controller = EffectController()
    if (controller ~= nil and TriggerPlayer() == controller and controller:MyTurn() ~= 0 and MTG():GetStep() == STEP_END_OF_TURN) then
   local filter = Object():GetFilter()
   filter:Clear()
   filter:AddCardName( "NETTLEVINE_BLIGHT" )
   filter:SetZone( ZONE_IN_PLAY )
   filter:NotTargetted()
   local filter_count = filter:EvaluateObjects()
   if filter_count &gt; 0 then
      for i=0,filter_count-1 do
             local card = filter:GetNthEvaluatedObject(i)
         if card:GetDataChest():Get_Int(COMPARTMENT_ID_INT_REGISTER_0) == 2 then
            EffectDC():Set_ProtectedCardPtr(0, card)
            break
         end
      end
       end
   EffectDC():Protect_CardPtr( COMPARTMENT_ID_EFFECT_SOURCE )
   return true
    end
    return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    local filter = Object():GetFilter()
    filter:Clear()
    filter:AddCardType( CARD_TYPE_CREATURE )
    filter:AddCardType( CARD_TYPE_LAND )
    filter:SetZone( ZONE_IN_PLAY )
    filter:SetCardInstance( Object() )
    filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
    filter:SetController( EffectController() )
    filter:NotTargetted()
    filter:SetHint( HINT_ENEMY, EffectController() )
    EffectController():ChooseTarget( NO_VALIDATION, "CARD_QUERY_CHOOSE_PERMANENT_TO_ENCHANT", EffectDC():Make_Targets(6) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local ability_source = EffectDC():Get_ProtectedCardPtr(0)
    local targetDC = EffectDC():Get_Targets(6)
    if targetDC ~= nil then
   local target = targetDC:Get_CardPtr(0)
   if (target ~= nil and ability_source ~= nil) then
      Object():Sacrifice()
      ability_source:Enchant( target )
   end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY resource_id="3" filter_zone="ZONE_IN_PLAY">
    <TRIGGER value="BEGINNING_OF_STEP">
    local controller = EffectController()
    if (controller ~= nil and TriggerPlayer() == controller and controller:MyTurn() ~= 0 and MTG():GetStep() == STEP_END_OF_TURN) then
   local filter = Object():GetFilter()
   filter:Clear()
   filter:AddCardName( "NETTLEVINE_BLIGHT" )
   filter:SetZone( ZONE_IN_PLAY )
   filter:NotTargetted()
   local filter_count = filter:EvaluateObjects()
   if filter_count &gt; 0 then
      for i=0,filter_count-1 do
             local card = filter:GetNthEvaluatedObject(i)
         if card:GetDataChest():Get_Int(COMPARTMENT_ID_INT_REGISTER_0) == 3 then
            EffectDC():Set_ProtectedCardPtr(0, card)
            break
         end
      end
       end
   EffectDC():Protect_CardPtr( COMPARTMENT_ID_EFFECT_SOURCE )
   return true
    end
    return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    local filter = Object():GetFilter()
    filter:Clear()
    filter:AddCardType( CARD_TYPE_CREATURE )
    filter:AddCardType( CARD_TYPE_LAND )
    filter:SetZone( ZONE_IN_PLAY )
    filter:SetCardInstance( Object() )
    filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
    filter:SetController( EffectController() )
    filter:NotTargetted()
    filter:SetHint( HINT_ENEMY, EffectController() )
    EffectController():ChooseTarget( NO_VALIDATION, "CARD_QUERY_CHOOSE_PERMANENT_TO_ENCHANT", EffectDC():Make_Targets(6) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local ability_source = EffectDC():Get_ProtectedCardPtr(0)
    local targetDC = EffectDC():Get_Targets(6)
    if targetDC ~= nil then
   local target = targetDC:Get_CardPtr(0)
   if (target ~= nil and ability_source ~= nil) then
      Object():Sacrifice()
      ability_source:Enchant( target )
   end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY resource_id="4" filter_zone="ZONE_IN_PLAY">
    <TRIGGER value="BEGINNING_OF_STEP">
    local controller = EffectController()
    if (controller ~= nil and TriggerPlayer() == controller and controller:MyTurn() ~= 0 and MTG():GetStep() == STEP_END_OF_TURN) then
   local filter = Object():GetFilter()
   filter:Clear()
   filter:AddCardName( "NETTLEVINE_BLIGHT" )
   filter:SetZone( ZONE_IN_PLAY )
   filter:NotTargetted()
   local filter_count = filter:EvaluateObjects()
   if filter_count &gt; 0 then
      for i=0,filter_count-1 do
             local card = filter:GetNthEvaluatedObject(i)
         if card:GetDataChest():Get_Int(COMPARTMENT_ID_INT_REGISTER_0) == 4 then
            EffectDC():Set_ProtectedCardPtr(0, card)
            break
         end
      end
       end
   EffectDC():Protect_CardPtr( COMPARTMENT_ID_EFFECT_SOURCE )
   return true
    end
    return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    local filter = Object():GetFilter()
    filter:Clear()
    filter:AddCardType( CARD_TYPE_CREATURE )
    filter:AddCardType( CARD_TYPE_LAND )
    filter:SetZone( ZONE_IN_PLAY )
    filter:SetCardInstance( Object() )
    filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
    filter:SetController( EffectController() )
    filter:NotTargetted()
    filter:SetHint( HINT_ENEMY, EffectController() )
    EffectController():ChooseTarget( NO_VALIDATION, "CARD_QUERY_CHOOSE_PERMANENT_TO_ENCHANT", EffectDC():Make_Targets(6) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local ability_source = EffectDC():Get_ProtectedCardPtr(0)
    local targetDC = EffectDC():Get_Targets(6)
    if targetDC ~= nil then
   local target = targetDC:Get_CardPtr(0)
   if (target ~= nil and ability_source ~= nil) then
      Object():Sacrifice()
      ability_source:Enchant( target )
   end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <AI_BASE_SCORE score="2400" zone="ZONE_HAND" />
</CARD_V2>
I believe the indexing process is working, but I seem to be having a hard time trying to avoid the need for delayed triggers (the card is already going to be a sizable chunk of code as it is). So, how do I get the Nettlevines to enchant after they've gone to the graveyard (namely, if the permanent they were enchanting was already sacrificed to another Nettlevine)? Protecting (both the enchanted card and the Nettlevine) doesn't seem to help.
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Need an advice for Nettlevine Blight

Postby sadlyblue » 14 Oct 2012, 21:49

I've tried searching for the ruling, but didn't find any. If two Nettlevine Blight enchant the same permanent, i believe one should go to the graveyard.
The permanent controller sacrifices it to one of them, going the permanent and the other Nettlevine Blight to the graveyard, and moves the first one to another permanent (if there is another land or creature).
sadlyblue
 
Posts: 175
Joined: 06 Feb 2012, 13:18
Has thanked: 18 times
Been thanked: 16 times

Re: Need an advice for Nettlevine Blight

Postby BlindWillow » 15 Oct 2012, 06:00

sadlyblue wrote:If two Nettlevine Blight enchant the same permanent, i believe one should go to the graveyard.
That would certainly make things easier, but I think because the wording says sacrifice "and" attach instead of "then," all Nettlevines should be able to move onto other permanents.
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Need an advice for Nettlevine Blight

Postby thefiremind » 15 Oct 2012, 08:22

sadlyblue wrote:If two Nettlevine Blight enchant the same permanent, i believe one should go to the graveyard.
That's exactly the idea I was recently thinking about, and I'd like to find a sure answer. The "and" should mean that state-based effects aren't checked between the two actions, so Nettlevine Blight doesn't even make a quick trip to the graveyard before being reassigned (anyway I'd like to get a sure interpretation on this, too), but more Nettlevine Blights make more triggers, and state-based effects are indeed checked between resolutions of different abilities, so I agree with sadlyblue... but again, I'd like to be sure about that.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Need an advice for Nettlevine Blight

Postby sadlyblue » 15 Oct 2012, 08:37

I still haven't found any ruling.
The card doesn't say something like "attach any card named Nettlevine Blight enchanting this permanent to another creature or land".
But even if the second one doesn't go to the graveyard, most likely the permanent controller will attach both to the same permanent, always. Only in a case of target enchantment removal would it matter.
sadlyblue
 
Posts: 175
Joined: 06 Feb 2012, 13:18
Has thanked: 18 times
Been thanked: 16 times

Re: Need an advice for Nettlevine Blight

Postby thefiremind » 15 Oct 2012, 09:21

I found an answer to one of my questions, even if it's not the most important:
http://community.wizards.com/go/thread/ ... light?pg=2
"Also note that the Blight doesn't leave and come back; it remains in play throughout the resolution of the triggered ability".
So, at least, I coded the "sacrifice and attach part" the right way.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Need an advice for Nettlevine Blight

Postby sadlyblue » 15 Oct 2012, 11:15

But i haven't found anything about when 2 enchant the same permanent. My "guess" is that one will go to the graveyard...
sadlyblue
 
Posts: 175
Joined: 06 Feb 2012, 13:18
Has thanked: 18 times
Been thanked: 16 times

Re: Need an advice for Nettlevine Blight

Postby BlindWillow » 15 Oct 2012, 14:48

I stand (or rather sit) corrected. I found this in an old Cranial Insertian Q&A on mtgsalvation.

Q: My opponent has a Nettlevine Blight on my Sower of Temptation, with which I am controlling his Spectral Lynx. At the end of my turn, when I have to sacrifice the Sower, can I put the Blight on his Lynx, and then have it spread to stuff he controls?

A: I love the idea of sending your opponent's Blight rampaging through his creatures and lands. Unfortunately, you can't do that. You'll perform the instructions in the order they're written: sacrifice, then attach. As soon as you sacrifice the Sower, her control effect ends and you won't be able to attach the Blight to the Lynx because you don't control it.

That means state-based effects are being checked after the sacrifice happens. So sadlyblue is correct, if multiple Nettlevine Blights enchant the same permanent, only one will remain on the battlefield after their abilities resolve.

To be honest, I'm quite relieved to be wrong. :)
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Need an advice for Nettlevine Blight

Postby BlindWillow » 18 Oct 2012, 17:23

Alright, here's a fully functional Nettlevine Blight. In honor of RiiakShiNal, it even has 16 possible granted abilities. :wink:

I don't claim to have gotten the timing right. Probably to be totally accurate the target selection for the granted abilities should happen after the sacrifice but before state-based effects, which is hard to code. What I've done should accomplish the same thing. The controller of the ability has to choose another permanent than is enchanted by Nettlevine Blight, unless there is only the enchanted permanent, in which case it is just sacrificed.
Attachments
nettlevine.zip
(3.53 KiB) Downloaded 291 times
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

PreviousNext

Return to Programming Talk

Who is online

Users browsing this forum: No registered users and 2 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 2 users online :: 0 registered, 0 hidden and 2 guests (based on users active over the past 10 minutes)
Most users ever online was 9824 on 10 Nov 2025, 04:33

Users browsing this forum: No registered users and 2 guests

Login Form