It is currently 03 Sep 2025, 13:46
   
Text Size

Formal Request Thread

Moderator: CCGHQ Admins

Re: Formal Request Thread

Postby fallenangle » 20 Oct 2014, 02:08

Well, here's another long shot. Is Serum Powder possible to code? Thanks in advance for all of your help!
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Formal Request Thread

Postby thefiremind » 20 Oct 2014, 08:04

fallenangle wrote:Well, here's another long shot. Is Serum Powder possible to code? Thanks in advance for all of your help!
The most you could do is to make it work on the first upkeep of the game (like the Leylines or the Chancellors), there's no way to do something before you choose your initial hand.
< 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: Formal Request Thread

Postby fallenangle » 20 Oct 2014, 20:23

Would anyone mind helping me troubleshoot my Goryo's Vengeance? I tried to make the splice ability an activated ability targeting other cards in your hand, and the spell ability work like normal, but I can't quite seem to get the spell to work properly. I'm pretty sure I've made some stupid mistakes, but I'm not seeing them at the moment. If anyone can take a look at my code and make pointers / corrections for me, I would be very grateful. Thanks in advance for all of your help!

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="GORYOS_VENGEANCE_74475" />
  <CARDNAME text="GORYOS_VENGEANCE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Goryo’s Vengeance]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vengeance selon Goryo]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Venganza de Goryo]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Goryos Rache]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Vendetta di Goryo]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[御霊の復讐]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Goryo’s Vengeance]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Goryo’s Vengeance]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Vingança de Goryo]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="74475" />
  <ARTID value="74475" />
  <ARTIST name="Ittoku" />
  <CASTING_COST cost="{1}{B}" />
  <TYPE metaname="Instant" />
  <SUB_TYPE metaname="Arcane" />
  <EXPANSION value="BOK" />
  <RARITY metaname="R" />
<ACTIVATED_ABILITY active_zone="ZONE_HAND">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Splice onto Arcane {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Imprégnation d’arcane {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Empalmar con lo arcano {2}{B}.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Arkane Kopplung {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Unire nell’Arcano {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[連繋(秘儀) {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Splice onto Arcane {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Splice onto Arcane {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Unir em Arcana {2}{B}]]></LOCALISED_TEXT>
<COST mana_cost="{2}{B}" type="Mana" />
<TARGET tag="CARD_QUERY_CHOOSE_ARCANE_SPELL" definition="0" compartment="0" count="1" />
      <TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetZone(ZONE_HAND)
filter:Add(FE_SUBTYPE, OP_IS, CARD_TYPE_ARCANE)
 </TARGET_DEFINITION>
<CONTINUOUS_ACTION layer="6">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       target:GetCurrentCharacteristics():GrantAbility(2)
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
<RESOLUTION_TIME_ACTION>
    EffectSource():GuidedReveal( ZONE_HAND, ZONE_HAND )
    </RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Return target legendary creature card from your graveyard to the battlefield. That creature gains haste. Exile it at the beginning of the next end step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Renvoyez en jeu la carte de créature légendaire ciblée de votre cimetière. Cette créature acquiert la célérité. Retirez-la de la partie à la fin du tour.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Regresa la carta de criatura legendaria objetivo de tu cementerio al juego. Esa criatura gana la habilidad de prisa. Remuévela del juego al final del turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bringe eine legendäre Kreaturenkarte deiner Wahl aus deinem Friedhof ins Spiel zurück. Diese Kreatur erhält Eile. Entferne sie am Ende des Zuges ganz aus dem Spiel.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Rimetti nel campo di battaglia una carta creatura leggendaria dal tuo cimitero. Quella creatura ha rapidità. Esiliala all’inizio della prossima sottofase finale.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたの墓地にある伝説のクリーチャー・カード1枚を対象とし、それを場に出す。 そのクリーチャーは速攻を得る。 ターン終了時に、それをゲームから取り除く。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Return target legendary creature card from your graveyard to the battlefield. That creature gains haste. Exile it at the beginning of the next end step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Return target legendary creature card from your graveyard to the battlefield. That creature gains haste. Exile it at the beginning of the next end step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Devolve para o jogo o card alvo de criatura lendária de seu cemitério. Aquela criatura ganha ímpeto. Remova-a de jogo no final do turno.]]></LOCALISED_TEXT>
</STATIC_ABILITY>

<SPELL_ABILITY resource_id="2">
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_PUT_ONTO_BATTLEFIELD" definition="1" compartment="1" count="1" />
      <TARGET_DEFINITION id="1">

      local filter = ClearFilter()
   filter:Add( FE_SUPERTYPE, OP_IS, SUPERTYPE_LEGENDARY )
        filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )

        filter:SetZone( ZONE_GRAVEYARD, EffectController() )

    </TARGET_DEFINITION>
      <RESOLUTION_TIME_ACTION>

      for i = 0,(1-1) do

       local target_card = EffectDC():Get_Targets(1):Get_CardPtr(i)

       if target_card ~= nil  then

          target_card:PutOntoBattlefield( EffectController() )

       end

      end

    </RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="6">
    local target = EffectDC():Get_Targets(1):Get_CardPtr(0)
    if target ~= nil then
       target:GetCurrentCharacteristics():Bool_Set(CHARACTERISTIC_HASTE, 1)
    end
    </CONTINUOUS_ACTION>
<TRIGGERED_ABILITY resource_id="21" priority="-2">
         <CLEANUP fire_once="1" simple_cleanup="EndOfTurn" />
         <TRIGGER value="BEGINNING_OF_STEP">
    return MTG():GetStep() == STEP_END_OF_TURN
    </TRIGGER>
         <RESOLUTION_TIME_ACTION>
    local unearthed = EffectDC():Get_CardPtr(0)
    if unearthed ~= nil then
       unearthed:Exile()
    end
    </RESOLUTION_TIME_ACTION>
      </TRIGGERED_ABILITY>
      </SPELL_ABILITY>
</CARD_V2>
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Formal Request Thread

Postby NeoAnderson » 20 Oct 2014, 20:31

fallenangle wrote:Would anyone mind helping me troubleshoot my Goryo's Vengeance? I tried to make the splice ability an activated ability targeting other cards in your hand, and the spell ability work like normal, but I can't quite seem to get the spell to work properly. I'm pretty sure I've made some stupid mistakes, but I'm not seeing them at the moment. If anyone can take a look at my code and make pointers / corrections for me, I would be very grateful. Thanks in advance for all of your help!

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="GORYOS_VENGEANCE_74475" />
  <CARDNAME text="GORYOS_VENGEANCE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Goryo’s Vengeance]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vengeance selon Goryo]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Venganza de Goryo]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Goryos Rache]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Vendetta di Goryo]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[御霊の復讐]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Goryo’s Vengeance]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Goryo’s Vengeance]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Vingança de Goryo]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="74475" />
  <ARTID value="74475" />
  <ARTIST name="Ittoku" />
  <CASTING_COST cost="{1}{B}" />
  <TYPE metaname="Instant" />
  <SUB_TYPE metaname="Arcane" />
  <EXPANSION value="BOK" />
  <RARITY metaname="R" />
<ACTIVATED_ABILITY active_zone="ZONE_HAND">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Splice onto Arcane {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Imprégnation d’arcane {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Empalmar con lo arcano {2}{B}.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Arkane Kopplung {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Unire nell’Arcano {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[連繋(秘儀) {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Splice onto Arcane {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Splice onto Arcane {2}{B}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Unir em Arcana {2}{B}]]></LOCALISED_TEXT>
<COST mana_cost="{2}{B}" type="Mana" />
<TARGET tag="CARD_QUERY_CHOOSE_ARCANE_SPELL" definition="0" compartment="0" count="1" />
      <TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetZone(ZONE_HAND)
filter:Add(FE_SUBTYPE, OP_IS, CARD_TYPE_ARCANE)
 </TARGET_DEFINITION>
<CONTINUOUS_ACTION layer="6">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       target:GetCurrentCharacteristics():GrantAbility(2)
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
<RESOLUTION_TIME_ACTION>
    EffectSource():GuidedReveal( ZONE_HAND, ZONE_HAND )
    </RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Return target legendary creature card from your graveyard to the battlefield. That creature gains haste. Exile it at the beginning of the next end step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Renvoyez en jeu la carte de créature légendaire ciblée de votre cimetière. Cette créature acquiert la célérité. Retirez-la de la partie à la fin du tour.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Regresa la carta de criatura legendaria objetivo de tu cementerio al juego. Esa criatura gana la habilidad de prisa. Remuévela del juego al final del turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bringe eine legendäre Kreaturenkarte deiner Wahl aus deinem Friedhof ins Spiel zurück. Diese Kreatur erhält Eile. Entferne sie am Ende des Zuges ganz aus dem Spiel.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Rimetti nel campo di battaglia una carta creatura leggendaria dal tuo cimitero. Quella creatura ha rapidità. Esiliala all’inizio della prossima sottofase finale.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたの墓地にある伝説のクリーチャー・カード1枚を対象とし、それを場に出す。 そのクリーチャーは速攻を得る。 ターン終了時に、それをゲームから取り除く。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Return target legendary creature card from your graveyard to the battlefield. That creature gains haste. Exile it at the beginning of the next end step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Return target legendary creature card from your graveyard to the battlefield. That creature gains haste. Exile it at the beginning of the next end step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Devolve para o jogo o card alvo de criatura lendária de seu cemitério. Aquela criatura ganha ímpeto. Remova-a de jogo no final do turno.]]></LOCALISED_TEXT>
</STATIC_ABILITY>

<SPELL_ABILITY resource_id="2">
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_PUT_ONTO_BATTLEFIELD" definition="1" compartment="1" count="1" />
      <TARGET_DEFINITION id="1">

      local filter = ClearFilter()
   filter:Add( FE_SUPERTYPE, OP_IS, SUPERTYPE_LEGENDARY )
        filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )

        filter:SetZone( ZONE_GRAVEYARD, EffectController() )

    </TARGET_DEFINITION>
      <RESOLUTION_TIME_ACTION>

      for i = 0,(1-1) do

       local target_card = EffectDC():Get_Targets(1):Get_CardPtr(i)

       if target_card ~= nil  then

          target_card:PutOntoBattlefield( EffectController() )

       end

      end

    </RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="6">
    local target = EffectDC():Get_Targets(1):Get_CardPtr(0)
    if target ~= nil then
       target:GetCurrentCharacteristics():Bool_Set(CHARACTERISTIC_HASTE, 1)
    end
    </CONTINUOUS_ACTION>
<TRIGGERED_ABILITY resource_id="21" priority="-2">
         <CLEANUP fire_once="1" simple_cleanup="EndOfTurn" />
         <TRIGGER value="BEGINNING_OF_STEP">
    return MTG():GetStep() == STEP_END_OF_TURN
    </TRIGGER>
         <RESOLUTION_TIME_ACTION>
    local unearthed = EffectDC():Get_CardPtr(0)
    if unearthed ~= nil then
       unearthed:Exile()
    end
    </RESOLUTION_TIME_ACTION>
      </TRIGGERED_ABILITY>
      </SPELL_ABILITY>
</CARD_V2>
Splice onto arcane cannot be coded for one important reason, mtg rules explains that if one target of the spliced spells becomes illegal, all the spliced spells will be countered, also the spells without targets.
Now i already tested but dotp will not handle this situation and the spells are sequentially executed, and you cannot counter something already executed.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby fallenangle » 20 Oct 2014, 23:43

All right. One last request. Can Pull from Eternity be coded? Here's the code I've been trying, but it won't let me choose anything.

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PULL_FROM_ETERNITY_106657" />
  <CARDNAME text="PULL_FROM_ETERNITY" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pull from Eternity]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Attraction de l’éternité]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Extraer de la eternidad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sog aus der Ewigkeit]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Richiamo dall’Eternità]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[永遠からの引き抜き]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pull from Eternity]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Возврат из Вечности]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Arrancar da Eternidade]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="106657" />
  <ARTID value="106657" />
  <ARTIST name="Ron Spears" />
  <CASTING_COST cost="{W}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[It is best to conquer dragons before they hatch.
—Femeref adage]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Il vaut toujours mieux vaincre les dragons avant qu’ils n’éclosent.
—Adage fémeiref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Es mejor lidiar con los dragones antes de que nazcan.
—Adagio femeref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Drachen bekämpft man am Besten, bevor sie schlüpfen.
—Sprichwort der Femeref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[È meglio sgominare i draghi prima che nascano.
—adagio Femeref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ドラゴンは孵る前に倒せ。
――フェメレフの諺]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[It is best to conquer dragons before they hatch.
—Femeref adage]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«Лучше захватить драконов перед тем как они вылупятся»,
Фемерефская поговорка]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[É melhor conquistar os dragões antes que comecem a chocar.
—Provérbio de Femeref]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Instant" />
  <EXPANSION value="TSP" />
  <RARITY metaname="U" />
<SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Put target face-up exiled card into its owner’s graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Mettez la carte face visible ciblée qui est retirée de la partie dans le cimetière de son propriétaire.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pon la carta boca arriba objetivo que está removida del juego en el cementerio de su propietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lege eine aufgedeckte Karte deiner Wahl, die ganz aus dem Spiel entfernt ist, auf den Friedhof ihres Besitzers.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Metti una carta esiliata a faccia in su bersaglio nel cimitero del suo proprietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ゲームから取り除かれている表向きのカード1枚を対象とし、それをオーナーの墓地に置く。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Put target face-up exiled card into its owner’s graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Положите целевую карту, которая удалена из игры, лицом вверх на кладбище владельца.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Coloque o card alvo com a face voltada para cima que foi removido do jogo no cemitério de seu dono.]]></LOCALISED_TEXT>
<TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_RETURN" definition="0" compartment="0" count="1" />
      <TARGET_DEFINITION id="0">
       local filter = ClearFilter()
       filter:SetZone( ZONE_EXILE )
    </TARGET_DEFINITION>
      <RESOLUTION_TIME_ACTION>
       local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
       if target ~= nil then
          target:PutInGraveyard()
       end   
    </RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
</CARD_V2>
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Formal Request Thread

Postby NeoAnderson » 21 Oct 2014, 00:03

fallenangle wrote:All right. One last request. Can Pull from Eternity be coded? Here's the code I've been trying, but it won't let me choose anything.

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PULL_FROM_ETERNITY_106657" />
  <CARDNAME text="PULL_FROM_ETERNITY" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pull from Eternity]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Attraction de l’éternité]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Extraer de la eternidad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sog aus der Ewigkeit]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Richiamo dall’Eternità]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[永遠からの引き抜き]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pull from Eternity]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Возврат из Вечности]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Arrancar da Eternidade]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="106657" />
  <ARTID value="106657" />
  <ARTIST name="Ron Spears" />
  <CASTING_COST cost="{W}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[It is best to conquer dragons before they hatch.
—Femeref adage]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Il vaut toujours mieux vaincre les dragons avant qu’ils n’éclosent.
—Adage fémeiref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Es mejor lidiar con los dragones antes de que nazcan.
—Adagio femeref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Drachen bekämpft man am Besten, bevor sie schlüpfen.
—Sprichwort der Femeref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[È meglio sgominare i draghi prima che nascano.
—adagio Femeref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ドラゴンは孵る前に倒せ。
――フェメレフの諺]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[It is best to conquer dragons before they hatch.
—Femeref adage]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«Лучше захватить драконов перед тем как они вылупятся»,
Фемерефская поговорка]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[É melhor conquistar os dragões antes que comecem a chocar.
—Provérbio de Femeref]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Instant" />
  <EXPANSION value="TSP" />
  <RARITY metaname="U" />
<SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Put target face-up exiled card into its owner’s graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Mettez la carte face visible ciblée qui est retirée de la partie dans le cimetière de son propriétaire.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pon la carta boca arriba objetivo que está removida del juego en el cementerio de su propietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lege eine aufgedeckte Karte deiner Wahl, die ganz aus dem Spiel entfernt ist, auf den Friedhof ihres Besitzers.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Metti una carta esiliata a faccia in su bersaglio nel cimitero del suo proprietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ゲームから取り除かれている表向きのカード1枚を対象とし、それをオーナーの墓地に置く。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Put target face-up exiled card into its owner’s graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Положите целевую карту, которая удалена из игры, лицом вверх на кладбище владельца.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Coloque o card alvo com a face voltada para cima que foi removido do jogo no cemitério de seu dono.]]></LOCALISED_TEXT>
<TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_RETURN" definition="0" compartment="0" count="1" />
      <TARGET_DEFINITION id="0">
       local filter = ClearFilter()
       filter:SetZone( ZONE_EXILE )
    </TARGET_DEFINITION>
      <RESOLUTION_TIME_ACTION>
       local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
       if target ~= nil then
          target:PutInGraveyard()
       end   
    </RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
</CARD_V2>
It doesn't work because you cannot target the EXILE zone, you can only select through ChooseItem and Make_Targets...
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby Xander9009 » 21 Oct 2014, 00:33

NeoAnderson wrote:
fallenangle wrote:All right. One last request. Can Pull from Eternity be coded? Here's the code I've been trying, but it won't let me choose anything.

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PULL_FROM_ETERNITY_106657" />
  <CARDNAME text="PULL_FROM_ETERNITY" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pull from Eternity]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Attraction de l’éternité]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Extraer de la eternidad]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sog aus der Ewigkeit]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Richiamo dall’Eternità]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[永遠からの引き抜き]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pull from Eternity]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Возврат из Вечности]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Arrancar da Eternidade]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="106657" />
  <ARTID value="106657" />
  <ARTIST name="Ron Spears" />
  <CASTING_COST cost="{W}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[It is best to conquer dragons before they hatch.
—Femeref adage]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Il vaut toujours mieux vaincre les dragons avant qu’ils n’éclosent.
—Adage fémeiref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Es mejor lidiar con los dragones antes de que nazcan.
—Adagio femeref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Drachen bekämpft man am Besten, bevor sie schlüpfen.
—Sprichwort der Femeref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[È meglio sgominare i draghi prima che nascano.
—adagio Femeref]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ドラゴンは孵る前に倒せ。
――フェメレフの諺]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[It is best to conquer dragons before they hatch.
—Femeref adage]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«Лучше захватить драконов перед тем как они вылупятся»,
Фемерефская поговорка]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[É melhor conquistar os dragões antes que comecem a chocar.
—Provérbio de Femeref]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Instant" />
  <EXPANSION value="TSP" />
  <RARITY metaname="U" />
<SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Put target face-up exiled card into its owner’s graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Mettez la carte face visible ciblée qui est retirée de la partie dans le cimetière de son propriétaire.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pon la carta boca arriba objetivo que está removida del juego en el cementerio de su propietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lege eine aufgedeckte Karte deiner Wahl, die ganz aus dem Spiel entfernt ist, auf den Friedhof ihres Besitzers.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Metti una carta esiliata a faccia in su bersaglio nel cimitero del suo proprietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ゲームから取り除かれている表向きのカード1枚を対象とし、それをオーナーの墓地に置く。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Put target face-up exiled card into its owner’s graveyard.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Положите целевую карту, которая удалена из игры, лицом вверх на кладбище владельца.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Coloque o card alvo com a face voltada para cima que foi removido do jogo no cemitério de seu dono.]]></LOCALISED_TEXT>
<TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_RETURN" definition="0" compartment="0" count="1" />
      <TARGET_DEFINITION id="0">
       local filter = ClearFilter()
       filter:SetZone( ZONE_EXILE )
    </TARGET_DEFINITION>
      <RESOLUTION_TIME_ACTION>
       local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
       if target ~= nil then
          target:PutInGraveyard()
       end   
    </RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
</CARD_V2>
It doesn't work because you cannot target the EXILE zone, you can only select through ChooseItem and Make_Targets...
That doesn't actually mean it can't be done. It just means it's very difficult. If the exiled cards are already part of a data chest, they can be targeted. I think it was RSN who mentioned you could make a manager for cards that target exiled cards which adds card pointers to a data chest as they transfer to the exile zone, then pull from that data chest as needed. It was at least close to that.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Formal Request Thread

Postby NeoAnderson » 21 Oct 2014, 00:38

Xander9009 wrote:
NeoAnderson wrote:It doesn't work because you cannot target the EXILE zone, you can only select through ChooseItem and Make_Targets...
That doesn't actually mean it can't be done. It just means it's very difficult. If the exiled cards are already part of a data chest, they can be targeted. I think it was RSN who mentioned you could make a manager for cards that target exiled cards which adds card pointers to a data chest as they transfer to the exile zone, then pull from that data chest as needed. It was at least close to that.
Xander we are saying the same thing! i just said you can retrieve that cards using Chooseitems functions setting the filterZone to ZONE_EXILE, you don't need to store the cards pointer anywhere you have just to select them as like you do when you choose a card from library to put in hand or battlefield! The real difference is that you are not targetting anything you just picking a card from a chest! :wink:
Hey take a look to my revised convoke ability, i followed your suggestion now it should be really user friendly!!
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby Xander9009 » 21 Oct 2014, 00:43

NeoAnderson wrote:
Xander9009 wrote:
NeoAnderson wrote:It doesn't work because you cannot target the EXILE zone, you can only select through ChooseItem and Make_Targets...
That doesn't actually mean it can't be done. It just means it's very difficult. If the exiled cards are already part of a data chest, they can be targeted. I think it was RSN who mentioned you could make a manager for cards that target exiled cards which adds card pointers to a data chest as they transfer to the exile zone, then pull from that data chest as needed. It was at least close to that.
Xander we are saying the same thing! i just said you can retrieve that cards using Chooseitems functions setting the filterZone to ZONE_EXILE, you don't need to store the cards pointer anywhere you have just to select them as like you do when you choose a card from library to put in hand or battlefield! The real difference is that you are not targetting anything you just picking a card from a chest! :wink:
Hey take a look to my revised convoke ability, i followed your suggestion now it should be really user friendly!!
Sorry. I just saw "it doesn't work" and assumed (very wrongly) that you meant it was impossible.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Formal Request Thread

Postby NeoAnderson » 21 Oct 2014, 00:48

Xander9009 wrote:Sorry. I just saw "it doesn't work" and assumed (very wrongly) that you meant it was impossible.
Don't be sorry i just said we are saying the same thing and i tried to explain that is not needed any particular action to pick a card from exile. :wink:
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby Xander9009 » 21 Oct 2014, 20:17

For Mycosynth Lattice, I know it was discussed before, but was it ever considered to give the lattice the ability to convert all mana in your mana pool? For instance, if you've tapped cards to produce {R} {R} {R} {G} {G}, Mycosynth Lattice could have its ability that says you may spend mana as any color be an activated ability, and when it's activated, it counts up how much mana you have in your mana pool, then lets you use a number choice to decide, in turn, how much mana of each color you want. So you activate the ability, you get a numerical choice for white, choose 1, there's still mana left, so it asks for blue, etc. Right up until you've chosen 1 green. Now you have no unchosen mana and no colors, so it removes those mana tokens and produces the necessary ones. I imagine something like this was already considered, but I didn't see it, so I thought I'd ask.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Formal Request Thread

Postby hinesassociates » 21 Oct 2014, 20:26

What would be the best way to code the keyword frenzy? I am trying to make frenzy sliver and I got it working but technically it is breaking one of the rulings on the card that talks about when the triggers happen. Also the text states whenever "a" sliver attacks and isnt blocked so if you have a frenzy sliver in play and 2 slivers attack and arent blocked both should get +2+0 or if 1 gets blocked then the non-blocked one should have +1+0 and the blocked one +0+0. At least thats the way I understand the card which could be wrong. Anyway I am looking to fix the coding on this. Right now it gives +1+0 when you declare attackers but isnt multiplicative. So if 2 slivers attack it gives them each only +1+0 not +2+0 like I think it should. Then when they declare blockers if a sliver is blocked it gets -1+0 to put it back to its original state. If you add another frenzy sliver it will function properly in that if 2 frenzy slivers in play and 2 slivers are attacking they will both get +2+0 and if 1 is blocked it goes down to its original power/toughness while the other remains +2+0 as each frenzy sliver is activating another version of the triggered ability. Wow. Its hard to even explain the issues with this card. Haha. Anyway here is the code I have for it currently.

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="FRENZY_SLIVER_111207902" />
  <CARDNAME text="FRENZY_SLIVER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="111207902" />
  <ARTID value="111207902" />
  <ARTIST name="Glen Angus" />
  <CASTING_COST cost="{1}{B}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Sliver" />
  <EXPANSION value="H09" />
  <RARITY metaname="C" />
  <POWER value="1" />
  <TOUGHNESS value="1" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno frenesia 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    </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">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno frenesia 1.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
<TRIGGER value="ATTACKING" simple_qualifier="self" />
   <CONTINUOUS_ACTION layer="7C">
    if EffectSource() ~= nil then
       local characteristics = EffectSource():GetCurrentCharacteristics()
       characteristics:Power_Add( 1 )
       characteristics:Toughness_Add( 0 )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
      <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
<TRIGGERED_ABILITY resource_id="2">
<TRIGGER value="WAS_BLOCKED_BY_A_CREATURE" simple_qualifier="self" />
<CONTINUOUS_ACTION layer="7C">
    if EffectSource() ~= nil then
       local characteristics = EffectSource():GetCurrentCharacteristics()
       characteristics:Power_Add( -1 )
       characteristics:Toughness_Add( 0 )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
      <AUTO_SKIP no_effect_source="1" />
  </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>
hinesassociates
 
Posts: 18
Joined: 07 Oct 2014, 23:59
Has thanked: 8 times
Been thanked: 0 time

Re: Formal Request Thread

Postby Xander9009 » 21 Oct 2014, 20:34

hinesassociates wrote:What would be the best way to code the keyword frenzy? I am trying to make frenzy sliver and I got it working but technically it is breaking one of the rulings on the card that talks about when the triggers happen. Also the text states whenever "a" sliver attacks and isnt blocked so if you have a frenzy sliver in play and 2 slivers attack and arent blocked both should get +2+0 or if 1 gets blocked then the non-blocked one should have +1+0 and the blocked one +0+0. At least thats the way I understand the card which could be wrong. Anyway I am looking to fix the coding on this. Right now it gives +1+0 when you declare attackers but isnt multiplicative. So if 2 slivers attack it gives them each only +1+0 not +2+0 like I think it should. Then when they declare blockers if a sliver is blocked it gets -1+0 to put it back to its original state. If you add another frenzy sliver it will function properly in that if 2 frenzy slivers in play and 2 slivers are attacking they will both get +2+0 and if 1 is blocked it goes down to its original power/toughness while the other remains +2+0 as each frenzy sliver is activating another version of the triggered ability. Wow. Its hard to even explain the issues with this card. Haha. Anyway here is the code I have for it currently.

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="FRENZY_SLIVER_111207902" />
  <CARDNAME text="FRENZY_SLIVER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="111207902" />
  <ARTID value="111207902" />
  <ARTIST name="Glen Angus" />
  <CASTING_COST cost="{1}{B}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Sliver" />
  <EXPANSION value="H09" />
  <RARITY metaname="C" />
  <POWER value="1" />
  <TOUGHNESS value="1" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno frenesia 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    </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">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno frenesia 1.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
<TRIGGER value="ATTACKING" simple_qualifier="self" />
   <CONTINUOUS_ACTION layer="7C">
    if EffectSource() ~= nil then
       local characteristics = EffectSource():GetCurrentCharacteristics()
       characteristics:Power_Add( 1 )
       characteristics:Toughness_Add( 0 )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
      <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
<TRIGGERED_ABILITY resource_id="2">
<TRIGGER value="WAS_BLOCKED_BY_A_CREATURE" simple_qualifier="self" />
<CONTINUOUS_ACTION layer="7C">
    if EffectSource() ~= nil then
       local characteristics = EffectSource():GetCurrentCharacteristics()
       characteristics:Power_Add( -1 )
       characteristics:Toughness_Add( 0 )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
      <AUTO_SKIP no_effect_source="1" />
  </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>
The ability Frenzy 1 means "When this creature attacks and isn't blocked", so the reminder text is just saying that this happens for all slivers. Each one, no matter how many attack and aren't blocked, gets +1/+0.

Anyway, there's a trigger specifically for this: <TRIGGER value="ATTACKING_AND_ISNT_BLOCKED" simple_qualifier="self" />. Look at this code by Neo.
Merchant Ship | Open
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="MERCHANT_SHIP_CW_936" />
   <CARDNAME text="MERCHANT_SHIP" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="936" />
   <ARTID value="CW936" />
   <ARTIST name="Tom Wänerstrand" />
   <CASTING_COST cost="{U}" />
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Ship" />
   <EXPANSION value="AN" />
   <RARITY metaname="U" />
   <POWER value="0" />
   <TOUGHNESS value="2" />
   <TRIGGERED_ABILITY replacement_effect="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La Nave dei Mercanti non può attaccare a meno che il giocatore in difesa controlli un’Isola.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <TRIGGER value="CANT_ATTACK_PLAYER_TEST" simple_qualifier="self" pre_trigger="1">
    return CountcardSubtypeControlledBy(LAND_TYPE_ISLAND, TriggerPlayer(), ZONE_BATTLEFIELD) == 0
    </TRIGGER>
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta la Nave dei Mercanti attacca e non viene bloccata, guadagni 2 punti vita.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <TRIGGER value="ATTACKING_AND_ISNT_BLOCKED" simple_qualifier="self" />
      <RESOLUTION_TIME_ACTION>
    EffectController():GainLife(2)
     </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando non controlli Isole, sacrifica la Nave dei Mercanti.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <CONTINUOUS_ACTION>
    if EffectSource() ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_SUBTYPE, OP_IS, LAND_TYPE_ISLAND )
        filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       local total = filter:CountStopAt( 1 )
       if total &lt; 1 then
       EffectController():Sacrifice(EffectSource())
       end
    end
      </CONTINUOUS_ACTION>
   </STATIC_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" />
   <AUTHOR><![CDATA[NeoAnderson]]></AUTHOR>
   <EDITORS><![CDATA[NeoAnderson]]></EDITORS>
   <DATE><![CDATA[1-09-14]]></DATE>
</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: Formal Request Thread

Postby hinesassociates » 21 Oct 2014, 21:49

Xander9009 wrote:
hinesassociates wrote:What would be the best way to code the keyword frenzy? I am trying to make frenzy sliver and I got it working but technically it is breaking one of the rulings on the card that talks about when the triggers happen. Also the text states whenever "a" sliver attacks and isnt blocked so if you have a frenzy sliver in play and 2 slivers attack and arent blocked both should get +2+0 or if 1 gets blocked then the non-blocked one should have +1+0 and the blocked one +0+0. At least thats the way I understand the card which could be wrong. Anyway I am looking to fix the coding on this. Right now it gives +1+0 when you declare attackers but isnt multiplicative. So if 2 slivers attack it gives them each only +1+0 not +2+0 like I think it should. Then when they declare blockers if a sliver is blocked it gets -1+0 to put it back to its original state. If you add another frenzy sliver it will function properly in that if 2 frenzy slivers in play and 2 slivers are attacking they will both get +2+0 and if 1 is blocked it goes down to its original power/toughness while the other remains +2+0 as each frenzy sliver is activating another version of the triggered ability. Wow. Its hard to even explain the issues with this card. Haha. Anyway here is the code I have for it currently.

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="FRENZY_SLIVER_111207902" />
  <CARDNAME text="FRENZY_SLIVER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="111207902" />
  <ARTID value="111207902" />
  <ARTIST name="Glen Angus" />
  <CASTING_COST cost="{1}{B}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Sliver" />
  <EXPANSION value="H09" />
  <RARITY metaname="C" />
  <POWER value="1" />
  <TOUGHNESS value="1" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno frenesia 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    </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">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno frenesia 1.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
<TRIGGER value="ATTACKING" simple_qualifier="self" />
   <CONTINUOUS_ACTION layer="7C">
    if EffectSource() ~= nil then
       local characteristics = EffectSource():GetCurrentCharacteristics()
       characteristics:Power_Add( 1 )
       characteristics:Toughness_Add( 0 )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
      <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
<TRIGGERED_ABILITY resource_id="2">
<TRIGGER value="WAS_BLOCKED_BY_A_CREATURE" simple_qualifier="self" />
<CONTINUOUS_ACTION layer="7C">
    if EffectSource() ~= nil then
       local characteristics = EffectSource():GetCurrentCharacteristics()
       characteristics:Power_Add( -1 )
       characteristics:Toughness_Add( 0 )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
      <AUTO_SKIP no_effect_source="1" />
  </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>
The ability Frenzy 1 means "When this creature attacks and isn't blocked", so the reminder text is just saying that this happens for all slivers. Each one, no matter how many attack and aren't blocked, gets +1/+0.

Anyway, there's a trigger specifically for this: <TRIGGER value="ATTACKING_AND_ISNT_BLOCKED" simple_qualifier="self" />. Look at this code by Neo.
Merchant Ship | Open
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="MERCHANT_SHIP_CW_936" />
   <CARDNAME text="MERCHANT_SHIP" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="936" />
   <ARTID value="CW936" />
   <ARTIST name="Tom Wänerstrand" />
   <CASTING_COST cost="{U}" />
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Ship" />
   <EXPANSION value="AN" />
   <RARITY metaname="U" />
   <POWER value="0" />
   <TOUGHNESS value="2" />
   <TRIGGERED_ABILITY replacement_effect="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La Nave dei Mercanti non può attaccare a meno che il giocatore in difesa controlli un’Isola.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <TRIGGER value="CANT_ATTACK_PLAYER_TEST" simple_qualifier="self" pre_trigger="1">
    return CountcardSubtypeControlledBy(LAND_TYPE_ISLAND, TriggerPlayer(), ZONE_BATTLEFIELD) == 0
    </TRIGGER>
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta la Nave dei Mercanti attacca e non viene bloccata, guadagni 2 punti vita.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <TRIGGER value="ATTACKING_AND_ISNT_BLOCKED" simple_qualifier="self" />
      <RESOLUTION_TIME_ACTION>
    EffectController():GainLife(2)
     </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando non controlli Isole, sacrifica la Nave dei Mercanti.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <CONTINUOUS_ACTION>
    if EffectSource() ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_SUBTYPE, OP_IS, LAND_TYPE_ISLAND )
        filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       local total = filter:CountStopAt( 1 )
       if total &lt; 1 then
       EffectController():Sacrifice(EffectSource())
       end
    end
      </CONTINUOUS_ACTION>
   </STATIC_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" />
   <AUTHOR><![CDATA[NeoAnderson]]></AUTHOR>
   <EDITORS><![CDATA[NeoAnderson]]></EDITORS>
   <DATE><![CDATA[1-09-14]]></DATE>
</CARD_V2>
Oh. Ok. I guess I was reading that wrong. Anyway ok well thanks for your help. That was exactly what I was looking for code wise. I figured that had to be a thing, but in searching the cards I failed to find it. Works great. One other question though. If there are 2 frenzy slivers in play do they end up with frenzy 2? I know most of the sliver abilities stack, but things like flying do not as there is clearly no benefit.
hinesassociates
 
Posts: 18
Joined: 07 Oct 2014, 23:59
Has thanked: 8 times
Been thanked: 0 time

Re: Formal Request Thread

Postby Xander9009 » 21 Oct 2014, 21:54

hinesassociates wrote:
Xander9009 wrote:
hinesassociates wrote:What would be the best way to code the keyword frenzy? I am trying to make frenzy sliver and I got it working but technically it is breaking one of the rulings on the card that talks about when the triggers happen. Also the text states whenever "a" sliver attacks and isnt blocked so if you have a frenzy sliver in play and 2 slivers attack and arent blocked both should get +2+0 or if 1 gets blocked then the non-blocked one should have +1+0 and the blocked one +0+0. At least thats the way I understand the card which could be wrong. Anyway I am looking to fix the coding on this. Right now it gives +1+0 when you declare attackers but isnt multiplicative. So if 2 slivers attack it gives them each only +1+0 not +2+0 like I think it should. Then when they declare blockers if a sliver is blocked it gets -1+0 to put it back to its original state. If you add another frenzy sliver it will function properly in that if 2 frenzy slivers in play and 2 slivers are attacking they will both get +2+0 and if 1 is blocked it goes down to its original power/toughness while the other remains +2+0 as each frenzy sliver is activating another version of the triggered ability. Wow. Its hard to even explain the issues with this card. Haha. Anyway here is the code I have for it currently.

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="FRENZY_SLIVER_111207902" />
  <CARDNAME text="FRENZY_SLIVER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Frenzy Sliver]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="111207902" />
  <ARTID value="111207902" />
  <ARTIST name="Glen Angus" />
  <CASTING_COST cost="{1}{B}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[The Arturan conjurers took the strange, alien fossil and patterned their own twisted creations in its image.]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Sliver" />
  <EXPANSION value="H09" />
  <RARITY metaname="C" />
  <POWER value="1" />
  <TOUGHNESS value="1" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno frenesia 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    </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">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutte le creature Tramutante hanno frenesia 1.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[All Sliver creatures have frenzy 1.(Whenever a Sliver attacks and isn't blocked, it gets +1/+0 until end of turn.)]]></LOCALISED_TEXT>
<TRIGGER value="ATTACKING" simple_qualifier="self" />
   <CONTINUOUS_ACTION layer="7C">
    if EffectSource() ~= nil then
       local characteristics = EffectSource():GetCurrentCharacteristics()
       characteristics:Power_Add( 1 )
       characteristics:Toughness_Add( 0 )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
      <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
<TRIGGERED_ABILITY resource_id="2">
<TRIGGER value="WAS_BLOCKED_BY_A_CREATURE" simple_qualifier="self" />
<CONTINUOUS_ACTION layer="7C">
    if EffectSource() ~= nil then
       local characteristics = EffectSource():GetCurrentCharacteristics()
       characteristics:Power_Add( -1 )
       characteristics:Toughness_Add( 0 )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
      <AUTO_SKIP no_effect_source="1" />
  </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>
The ability Frenzy 1 means "When this creature attacks and isn't blocked", so the reminder text is just saying that this happens for all slivers. Each one, no matter how many attack and aren't blocked, gets +1/+0.

Anyway, there's a trigger specifically for this: <TRIGGER value="ATTACKING_AND_ISNT_BLOCKED" simple_qualifier="self" />. Look at this code by Neo.
Merchant Ship | Open
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="MERCHANT_SHIP_CW_936" />
   <CARDNAME text="MERCHANT_SHIP" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Merchant Ship]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="936" />
   <ARTID value="CW936" />
   <ARTIST name="Tom Wänerstrand" />
   <CASTING_COST cost="{U}" />
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Ship" />
   <EXPANSION value="AN" />
   <RARITY metaname="U" />
   <POWER value="0" />
   <TOUGHNESS value="2" />
   <TRIGGERED_ABILITY replacement_effect="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La Nave dei Mercanti non può attaccare a meno che il giocatore in difesa controlli un’Isola.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Merchant Ship can’t attack unless defending player controls an Island.]]></LOCALISED_TEXT>
      <TRIGGER value="CANT_ATTACK_PLAYER_TEST" simple_qualifier="self" pre_trigger="1">
    return CountcardSubtypeControlledBy(LAND_TYPE_ISLAND, TriggerPlayer(), ZONE_BATTLEFIELD) == 0
    </TRIGGER>
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta la Nave dei Mercanti attacca e non viene bloccata, guadagni 2 punti vita.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever Merchant Ship attacks and isn’t blocked, you gain 2 life.]]></LOCALISED_TEXT>
      <TRIGGER value="ATTACKING_AND_ISNT_BLOCKED" simple_qualifier="self" />
      <RESOLUTION_TIME_ACTION>
    EffectController():GainLife(2)
     </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando non controlli Isole, sacrifica la Nave dei Mercanti.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[When you control no Islands, sacrifice Merchant Ship.]]></LOCALISED_TEXT>
      <CONTINUOUS_ACTION>
    if EffectSource() ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_SUBTYPE, OP_IS, LAND_TYPE_ISLAND )
        filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       local total = filter:CountStopAt( 1 )
       if total &lt; 1 then
       EffectController():Sacrifice(EffectSource())
       end
    end
      </CONTINUOUS_ACTION>
   </STATIC_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" />
   <AUTHOR><![CDATA[NeoAnderson]]></AUTHOR>
   <EDITORS><![CDATA[NeoAnderson]]></EDITORS>
   <DATE><![CDATA[1-09-14]]></DATE>
</CARD_V2>
Oh. Ok. I guess I was reading that wrong. Anyway ok well thanks for your help. That was exactly what I was looking for code wise. I figured that had to be a thing, but in searching the cards I failed to find it. Works great. One other question though. If there are 2 frenzy slivers in play do they end up with frenzy 2? I know most of the sliver abilities stack, but things like flying do not as there is clearly no benefit.
For most abilities, you can check MTGSalvation.com for that ability and it will tell you if it stacks or if they're redundant. In the case of frenzy (which is what I linked to), they stack. So, you don't need to do anything special (that's what will happen by default).
_______________________________
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

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 17 guests

Main Menu

User Menu

Our Partners


Who is online

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

Login Form