It is currently 18 Apr 2024, 12:12
   
Text Size

Help with Pulmonic Sliver ["May" on replacemt_effect]

Moderator: CCGHQ Admins

Re: Help with Pulmonic Sliver ["May" on replacemt_effect]

Postby sweetLu » 19 Feb 2015, 02:40

Ok so I was going to have this problem (exile or go to graveyard) when I was making an EDH mod but I abandoned the project before I got to that point. I knew Blue Ghost picked up the project after stopped and here is his (her) solution:
| Open
Code: Select all
  <TRIGGERED_ABILITY replacement_query="1">
     <TRIGGER value="ZONECHANGE_END" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_ANY">
    local commander = MCE_GetCommander( EffectController() )
    return commander ~= nil and TriggerObject() ~= nil and commander == TriggerObject()
   </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    local player = EffectController()
    if player ~= nil then
       player:BeginNewMultipleChoice()
       player:AddMultipleChoiceAnswer("UI_CONDITIONAL_QUESTION_YES")
       player:AddMultipleChoiceAnswer("UI_CONDITIONAL_QUESTION_NO")
       player:AskMultipleChoiceQuestion("CARD_QUERY_COMMANDER_GRAVEYARD")
    end
    </RESOLUTION_TIME_ACTION>
   <RESOLUTION_TIME_ACTION>
        if EffectController():GetMultipleChoiceResult() == 0 then
                TriggerObject():Exile()
        end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
If this code works (I haven't tried it) you don't need MTG():Override() at all. It makes sense because in most cases pre_trigger and replacement effects cover the override for you and you do not specifically need to use the override function. I will say I haven't tested it and it may cause some unwanted graveyard triggers to go off. But if it works, it is an alternate solution that does not require the use of the ObjectDC functions.
Last edited by sweetLu on 19 Feb 2015, 04:27, edited 2 times in total.
sweetLu
 
Posts: 181
Joined: 16 Jul 2014, 01:24
Has thanked: 21 times
Been thanked: 22 times

Re: Help with Pulmonic Sliver ["May" on replacemt_effect]

Postby Xander9009 » 19 Feb 2015, 02:56

sweetLu, don't forget a spoiler tag needs the equal sign even if it's blank after. Anyway, I'm not sure if that would work, but if so, it would at least be a really simple solution. :)


Riiak's suggestions | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PULMONIC_SLIVER_283113575" />
  <CARDNAME text="PULMONIC_SLIVER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pulmonic Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slivoïde pulmonique]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fragmentado pulmonar]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lungenremasuri]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tramutante Polmonare]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[肺臓スリヴァー]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pulmonic Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Пульмоническая Щепка]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Fractius Pulmonar]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="283113575" />
  <ARTID value="A283113575" />
  <ARTIST name="Jeff Easley" />
  <CASTING_COST cost="{W}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Like a great bellows it hisses, and its kin, both living and dead, are lifted to safety.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Il souffle, tel un grand soufflet, et ses frères morts ou vifs sont soulevés loin du danger.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sisea como un gran fuelle, y sus hermanos, vivos y muertos, se elevan a un lugar seguro.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Er pumpt wie ein großer Blasebalg, um seine Artgenossen, tot wie lebendig, in Sicherheit zu bringen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Soffia come un grosso mantice e i suoi simili, sia vivi che morti, sono sollevati al sicuro.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[それは巨大なふいごのような声を上げ、その仲間は生きているものも死んでいるものも、安全な場所まで持ち上げられる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Like a great bellows it hisses, and its kin, both living and dead, are lifted to safety.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Подобно огромным кузнечным мехам, они раздуваются, и их родичи, и мертвые и живые, взлетают на безопасную высоту.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Como uma grande fole ele assobia, e seus semelhantes, mortos ou vivos, são elevados para a segurança.]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Sliver" />
  <EXPANSION value="TSP" />
  <RARITY metaname="R" />
  <POWER value="3" />
  <TOUGHNESS value="3" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have flying.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tous les slivoïdes ont le vol et « Si cette créature devait être mise dans un cimetière, vous pouvez la mettre au-dessus de la bibliothèque de son propriétaire à la place. »]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Todos los Fragmentados tienen la habilidad de volar y “Si esta criatura fuera a un cementerio, en vez de eso, puedes ponerla en la parte superior de la biblioteca de su propietario”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Alle Remasuris haben Flugfähigkeit und „Falls diese Kreatur auf einen Friedhof gelegt würde, kannst du sie stattdessen oben auf die Bibliothek ihres Besitzers legen”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno volare.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[すべてのスリヴァーは、飛行と「このクリーチャーが墓地に置かれる場合、あなたは代わりにそれをオーナーのライブラリーの一番上に置いてもよい。」の能力を持つ。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have flying.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Все Щепки обладают Полетом и способностью “Если это существо должно попасть на кладбище, вы можете  вместо этого положить его наверх библиотеки владельца.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Todos os Fractius têm voar e “Se esta criatura seria colocada em um cemitério, em vez disso, você pode colocá-la no topo do grimório de seu dono.”]]></LOCALISED_TEXT>
   <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE  )
    </FILTER>
   <CONTINUOUS_ACTION layer="6" filter_id="0">
    if FilteredCard() ~= nil then
       local characteristics = FilteredCard():GetCurrentCharacteristics()
       characteristics:Bool_Set( CHARACTERISTIC_FLYING, 1 )
    end
    </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
 
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Slivers have “If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutti i Tramutanti hanno “Se questo permanente sta per essere messo in un cimitero, puoi invece metterlo in cima al grimorio del suo proprietario.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Slivers have “If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.”]]></LOCALISED_TEXT>
   <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    </FILTER>
    <CONTINUOUS_ACTION layer="8" filter_id="0">
    if FilteredCard() ~= nil then
       local characteristics = FilteredCard():GetCurrentCharacteristics()
       characteristics:GrantAbility(1)
      characteristics:GrantAbility(2)
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
 
  <TRIGGERED_ABILITY resource_id="1" replacement_query="1" >
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se questo permanente sta per essere messo in un cimitero, puoi invece metterlo in cima al grimorio del suo proprietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_CONSIDERED" to_zone="ZONE_GRAVEYARD" simple_qualifier="self" from_zone="ZONE_BATTLEFIELD" pre_trigger="1">
        local ODC = RSN_ObjectDC()
        if ODC ~= nil and ODC:Get_Int(28301) ~= 1 then
           MTG():OverrideEvent()
           ODC:Set_Int(28301, 1)
           return true
        end
        return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
   if (EffectSource() ~= nil and EffectSource():IsToken() == false) then
      local player = EffectController()
      player:BeginNewMultipleChoice()
      player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_TOP_LIBRARY" )
      player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_GRAVEYARD" )
      player:AskMultipleChoiceQuestion( "CARD_QUERY_PULMONIC_SLIVER" )
    end
   </RESOLUTION_TIME_ACTION>
   <RESOLUTION_TIME_ACTION>
   local effectSource = EffectSource()
   local player = EffectController()
   local result = player:GetMultipleChoiceResult()
   if effectSource ~= nil then
      if result == 0 then
         effectSource:PutOnTopOfLibrary()
      else
         effectSource:PutInGraveyard()
      end
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
 
  <TRIGGERED_ABILITY resource_id="2" forced_skip="1">
   <TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" from_zone="ZONE_ANY" />
   <RESOLUTION_TIME_ACTION>
   local ODC = RSN_ObjectDC()
   if ODC ~= nil then
      ODC:Set_Int(28301, 0)
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
 
  <SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Help with Pulmonic Sliver ["May" on replacemt_effect]

Postby sweetLu » 19 Feb 2015, 03:37

Yea it doesn't work. I should just show mysefl out
sweetLu
 
Posts: 181
Joined: 16 Jul 2014, 01:24
Has thanked: 21 times
Been thanked: 22 times

Re: Help with Pulmonic Sliver ["May" on replacemt_effect]

Postby Zambooo » 19 Feb 2015, 13:04

RiiakShiNal wrote:Try moving the ODC:Set_Int(28301, 1) line to just after MTG():OverrideEvent() in the trigger and removing the to_zone attribute in the second TRIGGERED_ABILITY. That way the variable will be set in the trigger preventing multiple activations and regardless of which zone it moves to it should reset the ObjectDC value.
It works this way! :D
One last thing: now the second TRIGGERED_ABILITY triggers when the sliver enters the battlefield, is there a way to make it internal? cause with
Code: Select all
  <TRIGGERED_ABILITY resource_id="2" internal="1" >
   <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" from_zone="ZONE_ANY" />
   <RESOLUTION_TIME_ACTION>
   local ODC = RSN_ObjectDC()
   if ODC ~= nil then
      ODC:Set_Int(28301, 0)
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
the ability still triggers
User avatar
Zambooo
 
Posts: 242
Joined: 01 Jul 2012, 21:33
Has thanked: 19 times
Been thanked: 17 times

Re: Help with Pulmonic Sliver ["May" on replacemt_effect]

Postby Xander9009 » 19 Feb 2015, 13:45

<TRIGGERED_ABILITY resource_id="2" forced_skip="1">
That should have done it. That's how I have it in my last post where I made Riiak's suggested changes, so I'm not sure why it isn't working. That's how all of the mana abilities work and how I made my test card skip the reaction time...
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Help with Pulmonic Sliver ["May" on replacemt_effect]

Postby Zambooo » 19 Feb 2015, 14:49

just tried with
Code: Select all
  <TRIGGERED_ABILITY resource_id="2" forced_skip="1" >
   <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" from_zone="ZONE_ANY" />
   <RESOLUTION_TIME_ACTION>
   local ODC = RSN_ObjectDC()
   if ODC ~= nil then
      ODC:Set_Int(28301, 0)
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
and there is a reaction time 8-[

Edit: ok now somwthing weird happened: Liliana killed 3 of my Slivers (including Pulmonic Sliver) with Mutilate, I selected the "TOP_LIBRARY" option for all of them, but they all ended up in the graveyard D:
Edit2: tested a second time against Liliana: 3 Slivers on the battlefield (including Pulmonic Sliver); Liliana kills Pulmonic Sliver with Murder, I select "TOP_LIBRARY", everything goes smooth; I play Pulmonic Sliver again; Liliana kills it with Tendrils of Corruption, I select "TOP_LIBRARY", but now Pulmonic Sliver goes into the graveyard :cry:

currently using this version of the card:
| Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PULMONIC_SLIVER_283113575" />
  <CARDNAME text="PULMONIC_SLIVER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pulmonic Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slivoïde pulmonique]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fragmentado pulmonar]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lungenremasuri]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tramutante Polmonare]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[肺臓スリヴァー]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pulmonic Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Пульмоническая Щепка]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Fractius Pulmonar]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="283113575" />
  <ARTID value="A283113575" />
  <ARTIST name="Jeff Easley" />
  <CASTING_COST cost="{W}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Like a great bellows it hisses, and its kin, both living and dead, are lifted to safety.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Il souffle, tel un grand soufflet, et ses frères morts ou vifs sont soulevés loin du danger.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sisea como un gran fuelle, y sus hermanos, vivos y muertos, se elevan a un lugar seguro.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Er pumpt wie ein großer Blasebalg, um seine Artgenossen, tot wie lebendig, in Sicherheit zu bringen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Soffia come un grosso mantice e i suoi simili, sia vivi che morti, sono sollevati al sicuro.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[それは巨大なふいごのような声を上げ、その仲間は生きているものも死んでいるものも、安全な場所まで持ち上げられる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Like a great bellows it hisses, and its kin, both living and dead, are lifted to safety.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Подобно огромным кузнечным мехам, они раздуваются, и их родичи, и мертвые и живые, взлетают на безопасную высоту.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Como uma grande fole ele assobia, e seus semelhantes, mortos ou vivos, são elevados para a segurança.]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Sliver" />
  <EXPANSION value="TSP" />
  <RARITY metaname="R" />
  <POWER value="3" />
  <TOUGHNESS value="3" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have flying.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tous les slivoïdes ont le vol et « Si cette créature devait être mise dans un cimetière, vous pouvez la mettre au-dessus de la bibliothèque de son propriétaire à la place. »]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Todos los Fragmentados tienen la habilidad de volar y “Si esta criatura fuera a un cementerio, en vez de eso, puedes ponerla en la parte superior de la biblioteca de su propietario”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Alle Remasuris haben Flugfähigkeit und „Falls diese Kreatur auf einen Friedhof gelegt würde, kannst du sie stattdessen oben auf die Bibliothek ihres Besitzers legen”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno volare.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[すべてのスリヴァーは、飛行と「このクリーチャーが墓地に置かれる場合、あなたは代わりにそれをオーナーのライブラリーの一番上に置いてもよい。」の能力を持つ。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have flying.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Все Щепки обладают Полетом и способностью “Если это существо должно попасть на кладбище, вы можете  вместо этого положить его наверх библиотеки владельца.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Todos os Fractius têm voar e “Se esta criatura seria colocada em um cemitério, em vez disso, você pode colocá-la no topo do grimório de seu dono.”]]></LOCALISED_TEXT>
   <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE  )
    </FILTER>
   <CONTINUOUS_ACTION layer="6" filter_id="0">
    if FilteredCard() ~= nil then
       local characteristics = FilteredCard():GetCurrentCharacteristics()
       characteristics:Bool_Set( CHARACTERISTIC_FLYING, 1 )
    end
    </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
 
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Slivers have “If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutti i Tramutanti hanno “Se questo permanente sta per essere messo in un cimitero, puoi invece metterlo in cima al grimorio del suo proprietario.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Slivers have “If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.”]]></LOCALISED_TEXT>
   <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    </FILTER>
    <CONTINUOUS_ACTION layer="8" filter_id="0">
    if FilteredCard() ~= nil then
       local characteristics = FilteredCard():GetCurrentCharacteristics()
       characteristics:GrantAbility(1)
      characteristics:GrantAbility(2)
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
 
  <TRIGGERED_ABILITY resource_id="1" replacement_query="1" >
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se questo permanente sta per essere messo in un cimitero, puoi invece metterlo in cima al grimorio del suo proprietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_CONSIDERED" to_zone="ZONE_GRAVEYARD" simple_qualifier="self" from_zone="ZONE_BATTLEFIELD" pre_trigger="1">
        local ODC = RSN_ObjectDC()
        if ODC ~= nil and ODC:Get_Int(28301) ~= 1 then
           MTG():OverrideEvent()
         ODC:Set_Int(28301, 1)
           return true
        end
        return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
   if (EffectSource() ~= nil and EffectSource():IsToken() == false) then
      local player = EffectController()
      player:BeginNewMultipleChoice()
      player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_TOP_LIBRARY" )
      player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_GRAVEYARD" )
      player:AskMultipleChoiceQuestion( "CARD_QUERY_PULMONIC_SLIVER" )
    end
   </RESOLUTION_TIME_ACTION>
   <RESOLUTION_TIME_ACTION>
   local effectSource = EffectSource()
   local player = EffectController()
   local result = player:GetMultipleChoiceResult()
   if effectSource ~= nil then
      if result == 0 then
         effectSource:PutOnTopOfLibrary()
      else
         local ODC = RSN_ObjectDC()
         if ODC ~= nil then
            
            effectSource:PutInGraveyard()
         end
      end
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
 
  <TRIGGERED_ABILITY resource_id="2" forced_skip="1" >
   <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" from_zone="ZONE_ANY" />
   <RESOLUTION_TIME_ACTION>
   local ODC = RSN_ObjectDC()
   if ODC ~= nil then
      ODC:Set_Int(28301, 0)
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
 
  <SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
Edit2: this appears to work
| Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PULMONIC_SLIVER_283113575" />
  <CARDNAME text="PULMONIC_SLIVER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pulmonic Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slivoïde pulmonique]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fragmentado pulmonar]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lungenremasuri]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tramutante Polmonare]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[肺臓スリヴァー]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pulmonic Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Пульмоническая Щепка]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Fractius Pulmonar]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="283113575" />
  <ARTID value="A283113575" />
  <ARTIST name="Jeff Easley" />
  <CASTING_COST cost="{W}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Like a great bellows it hisses, and its kin, both living and dead, are lifted to safety.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Il souffle, tel un grand soufflet, et ses frères morts ou vifs sont soulevés loin du danger.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sisea como un gran fuelle, y sus hermanos, vivos y muertos, se elevan a un lugar seguro.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Er pumpt wie ein großer Blasebalg, um seine Artgenossen, tot wie lebendig, in Sicherheit zu bringen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Soffia come un grosso mantice e i suoi simili, sia vivi che morti, sono sollevati al sicuro.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[それは巨大なふいごのような声を上げ、その仲間は生きているものも死んでいるものも、安全な場所まで持ち上げられる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Like a great bellows it hisses, and its kin, both living and dead, are lifted to safety.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Подобно огромным кузнечным мехам, они раздуваются, и их родичи, и мертвые и живые, взлетают на безопасную высоту.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Como uma grande fole ele assobia, e seus semelhantes, mortos ou vivos, são elevados para a segurança.]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Sliver" />
  <EXPANSION value="TSP" />
  <RARITY metaname="R" />
  <POWER value="3" />
  <TOUGHNESS value="3" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have flying.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tous les slivoïdes ont le vol et « Si cette créature devait être mise dans un cimetière, vous pouvez la mettre au-dessus de la bibliothèque de son propriétaire à la place. »]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Todos los Fragmentados tienen la habilidad de volar y “Si esta criatura fuera a un cementerio, en vez de eso, puedes ponerla en la parte superior de la biblioteca de su propietario”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Alle Remasuris haben Flugfähigkeit und „Falls diese Kreatur auf einen Friedhof gelegt würde, kannst du sie stattdessen oben auf die Bibliothek ihres Besitzers legen”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno volare.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[すべてのスリヴァーは、飛行と「このクリーチャーが墓地に置かれる場合、あなたは代わりにそれをオーナーのライブラリーの一番上に置いてもよい。」の能力を持つ。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have flying.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Все Щепки обладают Полетом и способностью “Если это существо должно попасть на кладбище, вы можете  вместо этого положить его наверх библиотеки владельца.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Todos os Fractius têm voar e “Se esta criatura seria colocada em um cemitério, em vez disso, você pode colocá-la no topo do grimório de seu dono.”]]></LOCALISED_TEXT>
   <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE  )
    </FILTER>
   <CONTINUOUS_ACTION layer="6" filter_id="0">
    if FilteredCard() ~= nil then
       local characteristics = FilteredCard():GetCurrentCharacteristics()
       characteristics:Bool_Set( CHARACTERISTIC_FLYING, 1 )
    end
    </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
 
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Slivers have “If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutti i Tramutanti hanno “Se questo permanente sta per essere messo in un cimitero, puoi invece metterlo in cima al grimorio del suo proprietario.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Slivers have “If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.”]]></LOCALISED_TEXT>
   <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    </FILTER>
    <CONTINUOUS_ACTION layer="8" filter_id="0">
    if FilteredCard() ~= nil then
       local characteristics = FilteredCard():GetCurrentCharacteristics()
       characteristics:GrantAbility(1)
      characteristics:GrantAbility(2)
      characteristics:GrantAbility(3)
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
 
  <TRIGGERED_ABILITY resource_id="1" replacement_query="1" >
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se questo permanente sta per essere messo in un cimitero, puoi invece metterlo in cima al grimorio del suo proprietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_CONSIDERED" to_zone="ZONE_GRAVEYARD" simple_qualifier="self" from_zone="ZONE_BATTLEFIELD" pre_trigger="1">
        local ODC = RSN_ObjectDC()
        if ODC ~= nil and ODC:Get_Int(28301) ~= 1 then
           MTG():OverrideEvent()
         ODC:Set_Int(28301, 1)
           return true
        end
        return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
   if (EffectSource() ~= nil and EffectSource():IsToken() == false) then
      local player = EffectController()
      player:BeginNewMultipleChoice()
      player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_TOP_LIBRARY" )
      player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_GRAVEYARD" )
      player:AskMultipleChoiceQuestion( "CARD_QUERY_PULMONIC_SLIVER" )
    end
   </RESOLUTION_TIME_ACTION>
   <RESOLUTION_TIME_ACTION>
   local effectSource = EffectSource()
   local player = EffectController()
   local result = player:GetMultipleChoiceResult()
   if effectSource ~= nil then
      if result == 0 then
         effectSource:PutOnTopOfLibrary()
      else
         effectSource:PutInGraveyard()
      end
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
 
  <TRIGGERED_ABILITY resource_id="2" internal="1" >
   <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" from_zone="ZONE_ANY" pre_trigger="1" />
   <RESOLUTION_TIME_ACTION>
   local ODC = RSN_ObjectDC()
   if ODC ~= nil then
      ODC:Set_Int(28301, 0)
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
 
  <ACTIVATED_ABILITY resource_id="3">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{0}: Sacrifice this permanent.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{0}: sacrifiez ce permanent.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{0}:  sacrificar este permanente.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{0}: opfere diese bleibende Karte.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{0}: Sacrifica questo permanente.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{0}: このパーマネントを生け贄に捧げる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{0}: 이 지속물을 희생한다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{0}: пожертвуйте этот перманент.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{0}: Sacrifique esta permanente.]]></LOCALISED_TEXT>
    <COST mana_cost="{0}" type="Mana" />
    <COST type="SacrificeSelf" />
   <RESOLUTION_TIME_ACTION>
   </RESOLUTION_TIME_ACTION>
  </ACTIVATED_ABILITY>
 
  <SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
still need to test when the enemy kills multiple slivers at once
note: the ability 3 is because I didn't wanna wait for the enemy to kill them xD

final Edit:
| Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PULMONIC_SLIVER_283113575" />
  <CARDNAME text="PULMONIC_SLIVER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pulmonic Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slivoïde pulmonique]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fragmentado pulmonar]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lungenremasuri]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tramutante Polmonare]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[肺臓スリヴァー]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pulmonic Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Пульмоническая Щепка]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Fractius Pulmonar]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="283113575" />
  <ARTID value="A283113575" />
  <ARTIST name="Jeff Easley" />
  <CASTING_COST cost="{3}{W}{W}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Like a great bellows it hisses, and its kin, both living and dead, are lifted to safety.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Il souffle, tel un grand soufflet, et ses frères morts ou vifs sont soulevés loin du danger.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sisea como un gran fuelle, y sus hermanos, vivos y muertos, se elevan a un lugar seguro.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Er pumpt wie ein großer Blasebalg, um seine Artgenossen, tot wie lebendig, in Sicherheit zu bringen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Soffia come un grosso mantice e i suoi simili, sia vivi che morti, sono sollevati al sicuro.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[それは巨大なふいごのような声を上げ、その仲間は生きているものも死んでいるものも、安全な場所まで持ち上げられる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Like a great bellows it hisses, and its kin, both living and dead, are lifted to safety.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Подобно огромным кузнечным мехам, они раздуваются, и их родичи, и мертвые и живые, взлетают на безопасную высоту.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Como uma grande fole ele assobia, e seus semelhantes, mortos ou vivos, são elevados para a segurança.]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Sliver" />
  <EXPANSION value="TSP" />
  <RARITY metaname="R" />
  <POWER value="3" />
  <TOUGHNESS value="3" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have flying.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tous les slivoïdes ont le vol et « Si cette créature devait être mise dans un cimetière, vous pouvez la mettre au-dessus de la bibliothèque de son propriétaire à la place. »]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Todos los Fragmentados tienen la habilidad de volar y “Si esta criatura fuera a un cementerio, en vez de eso, puedes ponerla en la parte superior de la biblioteca de su propietario”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Alle Remasuris haben Flugfähigkeit und „Falls diese Kreatur auf einen Friedhof gelegt würde, kannst du sie stattdessen oben auf die Bibliothek ihres Besitzers legen”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno volare.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[すべてのスリヴァーは、飛行と「このクリーチャーが墓地に置かれる場合、あなたは代わりにそれをオーナーのライブラリーの一番上に置いてもよい。」の能力を持つ。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have flying.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Все Щепки обладают Полетом и способностью “Если это существо должно попасть на кладбище, вы можете  вместо этого положить его наверх библиотеки владельца.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Todos os Fractius têm voar e “Se esta criatura seria colocada em um cemitério, em vez disso, você pode colocá-la no topo do grimório de seu dono.”]]></LOCALISED_TEXT>
   <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE  )
    </FILTER>
   <CONTINUOUS_ACTION layer="6" filter_id="0">
    if FilteredCard() ~= nil then
       local characteristics = FilteredCard():GetCurrentCharacteristics()
       characteristics:Bool_Set( CHARACTERISTIC_FLYING, 1 )
    end
    </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
 
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Slivers have “If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutti i Tramutanti hanno “Se questo permanente sta per essere messo in un cimitero, puoi invece metterlo in cima al grimorio del suo proprietario.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Slivers have “If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.”]]></LOCALISED_TEXT>
   <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    </FILTER>
    <CONTINUOUS_ACTION layer="8" filter_id="0">
    if FilteredCard() ~= nil then
       local characteristics = FilteredCard():GetCurrentCharacteristics()
       characteristics:GrantAbility(1)
      characteristics:GrantAbility(2)
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
 
  <TRIGGERED_ABILITY resource_id="1" replacement_query="1" >
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se questo permanente sta per essere messo in un cimitero, puoi invece metterlo in cima al grimorio del suo proprietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[If this permanent would be put into a graveyard, you may put it on top of its owner’s library instead.]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_CONSIDERED" to_zone="ZONE_GRAVEYARD" simple_qualifier="self" from_zone="ZONE_BATTLEFIELD" pre_trigger="1">
        local ODC = RSN_ObjectDC()
        if ODC ~= nil and ODC:Get_Int(28301) ~= 1 then
           MTG():OverrideEvent()
         ODC:Set_Int(28301, 1)
           return true
        end
        return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
   if (EffectSource() ~= nil and EffectSource():IsToken() == false) then
      local player = EffectController()
      player:BeginNewMultipleChoice()
      player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_TOP_LIBRARY" )
      player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_GRAVEYARD" )
      player:AskMultipleChoiceQuestion( "CARD_QUERY_PULMONIC_SLIVER" )
    end
   </RESOLUTION_TIME_ACTION>
   <RESOLUTION_TIME_ACTION>
   local effectSource = EffectSource()
   local player = EffectController()
   local result = player:GetMultipleChoiceResult()
   if effectSource ~= nil then
      if result == 0 then
         effectSource:PutOnTopOfLibrary()
      else
         effectSource:PutInGraveyard()
      end
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
 
  <TRIGGERED_ABILITY resource_id="2" internal="1" >
   <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" from_zone="ZONE_ANY" pre_trigger="1" />
   <RESOLUTION_TIME_ACTION>
   local ODC = RSN_ObjectDC()
   if ODC ~= nil then
      ODC:Set_Int(28301, 0)
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
   
  <SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
this one works even when multiple Slivers die at once, event though after the 3 Slivers that were killed come back onto the battlefield the AI seems confused and spends way more time than usual on making decisions, even if it has just land cards in hand (I made a deck with 59 Forest so I know that for sure)
User avatar
Zambooo
 
Posts: 242
Joined: 01 Jul 2012, 21:33
Has thanked: 19 times
Been thanked: 17 times

Re: Help with Pulmonic Sliver ["May" on replacemt_effect]

Postby RiiakShiNal » 20 Feb 2015, 00:14

Zambooo wrote:It works this way! :D
One last thing: now the second TRIGGERED_ABILITY triggers when the sliver enters the battlefield, is there a way to make it internal? cause with
Code: Select all
  <TRIGGERED_ABILITY resource_id="2" internal="1" >
   <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" from_zone="ZONE_ANY" />
   <RESOLUTION_TIME_ACTION>
   local ODC = RSN_ObjectDC()
   if ODC ~= nil then
      ODC:Set_Int(28301, 0)
   end
   </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
the ability still triggers
Don't use internal, use replacement_effect="1". Internal is a DotP 2013 attribute that was replaced (it isn't valid in DotP 2014). Both the replacement_effect and replacement_query attributes make an ability internal (query is used when you need to interact with the user, effect is used otherwise).
RiiakShiNal
Programmer
 
Posts: 2185
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 496 times

Re: Help with Pulmonic Sliver ["May" on replacemt_effect]

Postby Zambooo » 20 Feb 2015, 17:28

RiiakShiNal wrote:Don't use internal, use replacement_effect="1". Internal is a DotP 2013 attribute that was replaced (it isn't valid in DotP 2014). Both the replacement_effect and replacement_query attributes make an ability internal (query is used when you need to interact with the user, effect is used otherwise).
In the last version of the card I used
Code: Select all
<TRIGGERED_ABILITY resource_id="2" internal="1" >
   <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" from_zone="ZONE_ANY" pre_trigger="1" />
and it does not have reaction time :)
User avatar
Zambooo
 
Posts: 242
Joined: 01 Jul 2012, 21:33
Has thanked: 19 times
Been thanked: 17 times

Previous

Return to Programming Talk

Who is online

Users browsing this forum: No registered users and 19 guests

cron

Who is online

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

Users browsing this forum: No registered users and 19 guests

Login Form