It is currently 14 May 2025, 22:30
   
Text Size

Help with Tokens and Manual Mana Tapping?

Moderator: CCGHQ Admins

Help with Tokens and Manual Mana Tapping?

Postby AlphaMagnum » 22 Sep 2013, 23:34

First Question: Do you have these token files?

I got my hands on XML files for Wurmcoil Engine and Nest Invader, but can't seem to find the token files! The game runs just fine when I cast Nest Invader, but the token doesn't show up at all, which is kind of problematic. Would anyone be able to reply in this thread with the token files mentioned in the code? These are the ones I'm looking for:

"TOKEN_WURM_D_3_3_131554888"
"TOKEN_WURM_L_3_3_131552888"
"TOKEN_ELDRAZI_SPAWN_01SMA_972002"

Wurmcoil Engine 888207875 | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="WURMCOIL_ENGINE_888207875" />
  <CARDNAME text="WURMCOIL_ENGINE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Wurmcoil Engine]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Macchina dei Wurm Attorcigliati]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wurmspiralmaschine]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Machine guivrétreinte]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Motor sierpespiral]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ワームとぐろエンジン]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Wurmcoil Engine]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Машина Свитых Вурмов]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Máquina a Vorme Espiralado]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="888207875" />
  <ARTID value="A888207875" />
  <ARTIST name="Raymond Swanland" />
  <CASTING_COST cost="{6}" />
  <TYPE metaname="Artifact" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Wurm" />
  <EXPANSION value="DPI" />
  <RARITY metaname="M" />
  <POWER value="6" />
  <TOUGHNESS value="6" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Deathtouch]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Contact mortel]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Toque mortal]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Todesberührung]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tocco letale]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[接死]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Deathtouch]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Смертельное касание]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toque mortífero]]></LOCALISED_TEXT>
    <INTRINSIC characteristic="CHARACTERISTIC_DEATHTOUCH" />
  </STATIC_ABILITY>
  <STATIC_ABILITY commaspace="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[lifelink]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[lien de vie]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[vínculo vital.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lebensverknüpfung]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[legame vitale]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[絆魂]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[lifelink]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Цепь жизни]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[vínculo com a vida]]></LOCALISED_TEXT>
    <INTRINSIC characteristic="CHARACTERISTIC_LIFELINK" />
  </STATIC_ABILITY>
  <TRIGGERED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Wurmcoil Engine dies, put a 3/3 colorless Wurm artifact creature token with deathtouch and a 3/3 colorless Wurm artifact creature token with lifelink onto the battlefield.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando la Macchina dei Wurm Attorcigliati viene messa in un cimitero dal campo di battaglia, metti sul campo di battaglia una pedina creatura artefatto Wurm 3/3 incolore con tocco letale e una pedina creatura artefatto Wurm 3/3 incolore con legame vitale.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn die Wurmspiralmaschine aus dem Spiel auf einen Friedhof gelegt wird, bringe einen 3/3 farblosen Wurm-Artefaktkreaturenspielstein mit Todesberührung und einen 3/3 farblosen Wurm-Artefaktkreaturenspielstein mit Lebensverknüpfung ins Spiel.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Quand la Machine guivrétreinte est mise dans un cimetière depuis le champ de bataille, mettez sur le champ de bataille un jeton de créature-artefact 3/3 incolore Guivre avec le contact mortel et un jeton de créature-artefact 3/3 incolore Guivre avec le lien de vie.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando el Motor sierpespiral vaya a un cementerio desde el campo de batalla, pon en el campo de batalla una ficha de criatura artefacto Sierpe incolora 3/3 con la habilidad de toque mortal y una ficha de criatura artefacto Sierpe incolora 3/3 con la habilidad de vínculo vital.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ワームとぐろエンジンが戦場からいずれかの墓地に置かれたとき、接死を持つ無色の3/3のワーム・アーティファクト・クリーチャー・トークンを1体と、絆魂を持つ無色の3/3のワーム・アーティファクト・クリーチャー・トークンを1体戦場に出す。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[When Wurmcoil Engine dies, put a 3/3 colorless Wurm artifact creature token with deathtouch and a 3/3 colorless Wurm artifact creature token with lifelink onto the battlefield.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Машина Свитых Вурмов попадает с поля битвы на кладбище, положите на поле битвы одну фишку артефактного существа 3/3 бесцветный Вурм со Смертельным касанием и одну фишку артефактного существа 3/3 бесцветный Вурм с Цепью жизни.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando Máquina a Vorme Espiralado for colocado num cemitério vindo do campo de batalha, coloque no campo de batalha uma ficha de criatura artefato incolor 3/3 do tipo Vorme com toque mortífero e uma ficha de criatura artefato incolor 3/3 do tipo Vorme com vínculo com a vida.]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_BATTLEFIELD" />
    <RESOLUTION_TIME_ACTION>
    MTG():PutTokensOntoBattlefield( "TOKEN_WURM_D_3_3_131554888", 1, EffectController() )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    MTG():PutTokensOntoBattlefield( "TOKEN_WURM_L_3_3_131552888", 1, EffectController() )
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TOKEN_REGISTRATION reservation="1" type="TOKEN_WURM_D_3_3_131554888" />
  <TOKEN_REGISTRATION reservation="1" type="TOKEN_WURM_L_3_3_131552888" />
  <SFX text="COMBAT_BITE_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BITE_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
  <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
Nest Invader 275261 | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="NEST_INVADER_275261" />
  <CARDNAME text="NEST_INVADER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Nest Invader]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Envahisseur de nid]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Invasor del nido]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Nest-Eindringling]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Invasore della Colonia]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[巣の侵略者]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Nest Invader]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Nest Invader]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Nest Invader]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="275261" />
  <ARTID value="275261" />
  <ARTIST name="Trevor Claxton" />
  <CASTING_COST cost="{1}{G}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[It nurtures its masters’ glorious future.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Il soigne l’avenir glorieux de ses maîtres.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Nutre el glorioso futuro de sus amos.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Er ist der Nährboden der glorreichen Zukunft seines Meisters.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Alimenta il glorioso futuro dei suoi padroni.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[それは造物主の輝かしき未来を育む。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[It nurtures its masters’ glorious future.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[It nurtures its masters’ glorious future.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[It nurtures its masters’ glorious future.]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Eldrazi" />
  <SUB_TYPE metaname="Drone" />
  <EXPANSION value="PC2" />
  <RARITY metaname="C" />
  <POWER value="2" />
  <TOUGHNESS value="2" />
  <TRIGGERED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Nest Invader enters the battlefield, put a 0/1 colorless Eldrazi Spawn creature token onto the battlefield. It has “Sacrifice this creature: Add {1} to your mana pool.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Quand l’Envahisseur de nid arrive sur le champ de bataille, mettez sur le champ de bataille un jeton de créature 0/1 incolore Eldrazi et Engeance. Il a « Sacrifiez cette créature : Ajoutez {1} à votre réserve. »]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando el Invasor del nido entre al campo de batalla, pon en el campo de batalla una ficha de criatura Engendro Eldrazi incolora 0/1. Tiene “Sacrificar esta criatura: Agrega {1} a tu reserva de maná”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn der Nest-Eindringling ins Spiel kommt, bringe einen 0/1 farblosen <i>(Eldrazi, Ausgeburt)</i>-Kreaturenspielstein ins Spiel. Er hat „Opfere diese Kreatur: Erhöhe deinen Manavorrat um {1}”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando l’Invasore della Colonia entra nel campo di battaglia, metti sul campo di battaglia una pedina creatura Progenie Eldrazi 0/1 incolore. Ha “Sacrifica questa creatura: Aggiungi {1} alla tua riserva di mana”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[巣の侵略者が戦場に出たとき、無色の0/1のエルドラージ・落とし子・クリーチャー・トークンを1体戦場に出す。 それは「このクリーチャーを生け贄に捧げる:あなたのマナ・プールに{1}を加える。」を持つ。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[When Nest Invader enters the battlefield, put a 0/1 colorless Eldrazi Spawn creature token onto the battlefield. It has “Sacrifice this creature: Add {1} to your mana pool.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[When Nest Invader enters the battlefield, put a 0/1 colorless Eldrazi Spawn creature token onto the battlefield. It has “Sacrifice this creature: Add {1} to your mana pool.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[When Nest Invader enters the battlefield, put a 0/1 colorless Eldrazi Spawn creature token onto the battlefield. It has “Sacrifice this creature: Add {1} to your mana pool.”]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
    <RESOLUTION_TIME_ACTION>
      MTG():PutTokensOntoBattlefield( "TOKEN_ELDRAZI_SPAWN_01SMA_972002", 1, EffectController() )
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TOKEN_REGISTRATION reservation="1" type="TOKEN_ELDRAZI_SPAWN_01SMA_972002" />
  <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_C" />
  <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>
Second Question: Could you help me out with implementing RSN's mana functions?

I'm playing a deck that uses custom lands, particularly the manual mana basic lands made by RiiakShiNal. The lands in question:

Plains 3578461K | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="3">
   <FILENAME text="PLAINS_3578461K" />
   <CARDNAME text="PLAINS" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Plains]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Plaine]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Llanura]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ebene]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Pianura]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[平(へい)地(ち)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[들]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Равнина]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Planície]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="3578461K" />
   <ARTID value="3578461K" />
   <ARTIST name="Zoltan Boros &amp; Gabor Szikszai" />
   <CASTING_COST cost="" />
   <SUPERTYPE metaname="Basic" />
   <TYPE metaname="Land" />
   <SUB_TYPE metaname="Plains" />
   <EXPANSION value="DPI" />
   <RARITY metaname="L" />
   <ACTIVATED_ABILITY forced_skip="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {W} to your mana pool.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez {W} à votre réserve.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {W} a tu reserva de maná.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {W}.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {W} alla tua riserva di mana.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{W}を加える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: {W}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {W} в ваше хранилище маны.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {W} à sua reserva de mana.]]></LOCALISED_TEXT>
      <COST type="TapSelf" />
      <PLAY_TIME_ACTION>
         RSN_MarkManaAbilityStart()
      </PLAY_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_Produce( "{W}", 1 )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
         RSN_MarkManaAbilityEnd()
      </RESOLUTION_TIME_ACTION>
      <AI_AVAILABILITY window_step="upkeep" type="window" />
      <AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY type="in_response" response_target="1" />
   </ACTIVATED_ABILITY>
   <STATIC_ABILITY>
      <CONTINUOUS_ACTION layer="0">
         RSN_ClearCanProduceMana()
         RSN_MarkCanProduceMana( "{W}" )
      </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
   <TRIGGERED_ABILITY forced_skip="1" replacement_effect="1">
      <TRIGGER value="BEGINNING_OF_STEP" pre_trigger="1" />
      <RESOLUTION_TIME_ACTION>
         RSN_ClearProducedMana()
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_W" />
</CARD_V2>
Forest 357833K | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="3">
   <FILENAME text="FOREST_357833K" />
   <CARDNAME text="FOREST" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Forest]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Forêt]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Bosque]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wald]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Foresta]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[森(もり)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[숲]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Лес]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Floresta]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="357833K" />
   <ARTID value="357833K" />
   <ARTIST name="Ryan Pancoast" />
   <CASTING_COST cost="" />
   <SUPERTYPE metaname="Basic" />
   <TYPE metaname="Land" />
   <SUB_TYPE metaname="Forest" />
   <EXPANSION value="DPI" />
   <RARITY metaname="L" />
   <ACTIVATED_ABILITY forced_skip="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {G} to your mana pool.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez {G} à votre réserve.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {G} a tu reserva de maná.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {G}.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {G} alla tua riserva di mana.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{G}を加える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: {G}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {G} в ваше хранилище маны.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {G} à sua reserva de mana.]]></LOCALISED_TEXT>
      <COST type="TapSelf" />
      <PLAY_TIME_ACTION>
         RSN_MarkManaAbilityStart()
      </PLAY_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_Produce( "{G}", 1 )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
         RSN_MarkManaAbilityEnd()
      </RESOLUTION_TIME_ACTION>
      <AI_AVAILABILITY window_step="upkeep" type="window" />
      <AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY type="in_response" response_target="1" />
   </ACTIVATED_ABILITY>
   <STATIC_ABILITY>
      <CONTINUOUS_ACTION layer="0">
         RSN_ClearCanProduceMana()
         RSN_MarkCanProduceMana( "{G}" )
      </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
   <TRIGGERED_ABILITY forced_skip="1" replacement_effect="1">
      <TRIGGER value="BEGINNING_OF_STEP" pre_trigger="1" />
      <RESOLUTION_TIME_ACTION>
         RSN_ClearProducedMana()
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_G" />
</CARD_V2>
These lands are awesome for one key reason: flexibility! If I don't feel like manually tapping lands, the game treats them like ordinary lands and will auto-tap them as required. Alternatively, I can manually generate the needed mana of the appropriate colors by using the lands' activated abilities. Furthermore, they show up in the basic land section, so I can actually see them when trying to pay the cost for an activated ability on the battlefield (e.g. an equip cost). All the nonbasic lands end up with my other nonland cards, and thus get covered up when I need to pay costs, making it impossible to choose which lands get tapped.

With all that in mind, I tried to add the same functionality to two Hideaway lands which feature prominently in my deck: Windbrisk Heights and Mosswort Bridge. These lands are especially key, since if they tap themselves to pay a cost I can't use their activated abilities!

Here's the original land:

ORIGINAL Windbrisk Heights 444287338 | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="WINDBRISK_HEIGHTS_444287338" />
  <CARDNAME text="WINDBRISK_HEIGHTS" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="444287338" />
  <ARTID value="444287338" />
  <ARTIST name="Omar Rayyan" />
  <CASTING_COST cost="" />
  <TYPE metaname="Land" />
  <EXPANSION value="V12" />
  <RARITY metaname="M" />
  <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Nascondiglio]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" pre_trigger="1" />
    <RESOLUTION_TIME_ACTION>
    if TriggerObject() ~= nil then
      TriggerObject():Tap()
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY linked_ability_group="1">
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
    <RESOLUTION_TIME_ACTION>
    local i = 0
    local queryDC = EffectDC():Make_Chest(1)
    for i = 0,(3) do
       local card = EffectController():Library_GetNth( i )
       if card ~= nil then
          queryDC:Set_CardPtr(i, card)
       end
    end
    EffectController():ChooseItemFromDC( "CARD_QUERY_CHOOSE_CARD_TO_EXILE_FACE_DOWN", queryDC, EffectDC():Make_Targets(0) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil then
      if source ~= nil then
         LinkedDC():Set_CardPtr(0, target)
         LinkedDC():Protect_CardPtr(0)
      end
       target:ExileFaceDown()
    end
    for i = 0,(3) do
       local card = EffectDC():Get_Chest(1):Get_CardPtr(i)
       if card ~= nil then
          card:PutOnBottomOfLibrary()
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = LinkedDC():Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil and source ~= nil then
       target:NailOnto(source)
    end
    </RESOLUTION_TIME_ACTION>
    <CONTINUOUS_ACTION layer="8">
    local target = LinkedDC():Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil and source ~= nil then
       local characteristics = target:GetCurrentCharacteristics()
       characteristics:CanLookAtWhileFaceDown( source:GetPlayer() )
    end
    </CONTINUOUS_ACTION>
    <DURATION>
    return (LinkedDC():Get_CardPtr(0) == nil or EffectSource() == nil)
    </DURATION>
    <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
  <MANA_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {W} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Add {W} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Add {W} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Add {W} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {W} alla tua riserva di mana.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: Add {W} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Add {W} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Add {W} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Add {W} to your mana pool.]]></LOCALISED_TEXT>
    <COST type="TapSelf" />
    <PRODUCES amount="{W}" />
  </MANA_ABILITY>

  <ACTIVATED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{W}, {T}: Puoi giocare la carta esiliata senza pagare il suo costo di mana se hai attaccato con tre o più creature in questo turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <COST mana_cost="{W}" type="Mana" />
    <COST type="TapSelf" />
    <AVAILABILITY>
    return EffectController():CanPayManaCost("{W}{W}")
    </AVAILABILITY>
    <RESOLUTION_TIME_ACTION>
    local spellToCast = LinkedDC():Get_CardPtr(0)
    if spellToCast ~= nil and EffectController():CanCastSpellForFree( spellToCast ) then

       local interrogation = MTG():ClearInterrogationQuery()
       interrogation:SetType( CARD_TYPE_CREATURE )
       interrogation:SetPlayer( EffectController() )
       local total_attacked = interrogation:Count( INTERROGATE_ATTACKS, INTERROGATE_THIS_TURN, 3 )

       if total_attacked == 3 then
          EffectController():CastSpellForFree( spellToCast )
       end

    end
    </RESOLUTION_TIME_ACTION>
  </ACTIVATED_ABILITY>
</CARD_V2>
I tried to modify it so it not only has its alternative functions, but also works like RSN's manual mana tapping basic lands. It looks like I succeeded only partially. Here's my modified card:

NEW Windbrisk Heights 444287338 | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="WINDBRISK_HEIGHTS_444287338" />
  <CARDNAME text="WINDBRISK_HEIGHTS" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Windbrisk Heights]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="444287338" />
  <ARTID value="444287338" />
  <ARTIST name="Omar Rayyan" />
  <CASTING_COST cost="" />
   <SUPERTYPE metaname="Basic" />
   <TYPE metaname="Land" />
   <SUB_TYPE metaname="Plains" />
   <EXPANSION value="DPI" />
   <RARITY metaname="L" />
  <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Nascondiglio]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" pre_trigger="1" />
    <RESOLUTION_TIME_ACTION>
    if TriggerObject() ~= nil then
      TriggerObject():Tap()
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY linked_ability_group="1">
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
    <RESOLUTION_TIME_ACTION>
    local i = 0
    local queryDC = EffectDC():Make_Chest(1)
    for i = 0,(3) do
       local card = EffectController():Library_GetNth( i )
       if card ~= nil then
          queryDC:Set_CardPtr(i, card)
       end
    end
    EffectController():ChooseItemFromDC( "CARD_QUERY_CHOOSE_CARD_TO_EXILE_FACE_DOWN", queryDC, EffectDC():Make_Targets(0) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil then
      if source ~= nil then
         LinkedDC():Set_CardPtr(0, target)
         LinkedDC():Protect_CardPtr(0)
      end
       target:ExileFaceDown()
    end
    for i = 0,(3) do
       local card = EffectDC():Get_Chest(1):Get_CardPtr(i)
       if card ~= nil then
          card:PutOnBottomOfLibrary()
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = LinkedDC():Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil and source ~= nil then
       target:NailOnto(source)
    end
    </RESOLUTION_TIME_ACTION>
    <CONTINUOUS_ACTION layer="8">
    local target = LinkedDC():Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil and source ~= nil then
       local characteristics = target:GetCurrentCharacteristics()
       characteristics:CanLookAtWhileFaceDown( source:GetPlayer() )
    end
    </CONTINUOUS_ACTION>
    <DURATION>
    return (LinkedDC():Get_CardPtr(0) == nil or EffectSource() == nil)
    </DURATION>
    <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
   <ACTIVATED_ABILITY forced_skip="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {W} to your mana pool.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez {W} à votre réserve.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {W} a tu reserva de maná.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {W}.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {W} alla tua riserva di mana.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{W}を加える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: {W}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {W} в ваше хранилище маны.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {W} à sua reserva de mana.]]></LOCALISED_TEXT>
      <COST type="TapSelf" />
      <PLAY_TIME_ACTION>
         RSN_MarkManaAbilityStart()
      </PLAY_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_Produce( "{W}", 1 )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
         RSN_MarkManaAbilityEnd()
      </RESOLUTION_TIME_ACTION>
      <AI_AVAILABILITY window_step="upkeep" type="window" />
      <AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY type="in_response" response_target="1" />
   </ACTIVATED_ABILITY>
   <STATIC_ABILITY>
      <CONTINUOUS_ACTION layer="0">
         RSN_ClearCanProduceMana()
         RSN_MarkCanProduceMana( "{W}" )
      </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
   <TRIGGERED_ABILITY forced_skip="1" replacement_effect="1">
      <TRIGGER value="BEGINNING_OF_STEP" pre_trigger="1" />
      <RESOLUTION_TIME_ACTION>
         RSN_ClearProducedMana()
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
  <ACTIVATED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{W}, {T}: Puoi giocare la carta esiliata senza pagare il suo costo di mana se hai attaccato con tre o più creature in questo turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.]]></LOCALISED_TEXT>
    <COST mana_cost="{W}" type="Mana" />
    <COST type="TapSelf" />
    <AVAILABILITY>
    return EffectController():CanPayManaCost("{W}{W}")
    </AVAILABILITY>
    <RESOLUTION_TIME_ACTION>
    local spellToCast = LinkedDC():Get_CardPtr(0)
    if spellToCast ~= nil and EffectController():CanCastSpellForFree( spellToCast ) then

       local interrogation = MTG():ClearInterrogationQuery()
       interrogation:SetType( CARD_TYPE_CREATURE )
       interrogation:SetPlayer( EffectController() )
       local total_attacked = interrogation:Count( INTERROGATE_ATTACKS, INTERROGATE_THIS_TURN, 3 )

       if total_attacked == 3 then
          EffectController():CastSpellForFree( spellToCast )
       end

    end
    </RESOLUTION_TIME_ACTION>
  </ACTIVATED_ABILITY>
  <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_W" />
</CARD_V2>
Continued in following post...
AlphaMagnum
 
Posts: 37
Joined: 15 Mar 2013, 18:21
Has thanked: 1 time
Been thanked: 0 time

Re: Help with Tokens and Manual Mana Tapping?

Postby AlphaMagnum » 22 Sep 2013, 23:34

And here are the two versions of Mosswort Bridge:

ORIGINAL Mosswort Bridge | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="MOSSWORT_BRIDGE_444220570" />
  <CARDNAME text="MOSSWORT_BRIDGE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="444220570" />
  <ARTID value="444220570" />
  <ARTIST name="Jeremy Jarvis" />
  <CASTING_COST cost="" />
  <TYPE metaname="Land" />
  <EXPANSION value="ARC" />
  <RARITY metaname="R" />
  <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Nascondiglio]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" pre_trigger="1" />
    <RESOLUTION_TIME_ACTION>
    if TriggerObject() ~= nil then
      TriggerObject():Tap()
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY linked_ability_group="1">
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
    <RESOLUTION_TIME_ACTION>
    local i = 0
    local queryDC = EffectDC():Make_Chest(1)
    for i = 0,(3) do
       local card = EffectController():Library_GetNth( i )
       if card ~= nil then
          queryDC:Set_CardPtr(i, card)
       end
    end
    EffectController():ChooseItemFromDC( "CARD_QUERY_CHOOSE_CARD_TO_EXILE_FACE_DOWN", queryDC, EffectDC():Make_Targets(0) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil then
      if source ~= nil then
         LinkedDC():Set_CardPtr(0, target)
         LinkedDC():Protect_CardPtr(0)
      end
       target:ExileFaceDown()
    end
    for i = 0,(3) do
       local card = EffectDC():Get_Chest(1):Get_CardPtr(i)
       if card ~= nil then
          card:PutOnBottomOfLibrary()
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = LinkedDC():Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil and source ~= nil then
       target:NailOnto(source)
    end
    </RESOLUTION_TIME_ACTION>
    <CONTINUOUS_ACTION layer="8">
    local target = LinkedDC():Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil and source ~= nil then
       local characteristics = target:GetCurrentCharacteristics()
       characteristics:CanLookAtWhileFaceDown( source:GetPlayer() )
    end
    </CONTINUOUS_ACTION>
    <DURATION>
    return (LinkedDC():Get_CardPtr(0) == nil or EffectSource() == nil)
    </DURATION>
    <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
  <MANA_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {G} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Add {G} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Add {G} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Add {G} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {G} alla tua riserva di mana.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: Add {G} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Add {G} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Add {G} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Add {G} to your mana pool.]]></LOCALISED_TEXT>
    <COST type="TapSelf" />
    <PRODUCES amount="{G}" />
  </MANA_ABILITY>
  <ACTIVATED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{G}, {T}: Puoi giocare la carta esiliata senza pagare il suo costo di mana se le creature che controlli hanno una forza totale pari o superiore a 10.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <COST mana_cost="{G}" type="Mana" />
    <COST type="TapSelf" />
    <AVAILABILITY>
    return EffectController():CanPayManaCost("{G}{G}")
    </AVAILABILITY>
    <RESOLUTION_TIME_ACTION>
    local spellToCast = LinkedDC():Get_CardPtr(0)
    if spellToCast ~= nil and EffectController():CanCastSpellForFree( spellToCast ) then
       local filter = ClearFilter()
        filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
       filter:Add(FE_POWER, OP_GREATER_THAN_OR_EQUAL_TO, 1 )
       filter:SetZone( ZONE_BATTLEFIELD, EffectController() )
       local num_creatures = filter:EvaluateObjects()
       local total_power = 0
       if num_creatures &gt; 0 then

          for i = 0, (num_creatures-1) do
             local nth_creature = filter:GetNthEvaluatedObject(i)
             if nth_creature ~= nil then
                total_power = total_power + ( nth_creature:GetCurrentPower() )
             end
          end

          if total_power &gt; 9 then
             EffectController():CastSpellForFree( spellToCast )
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
    <MAY />
  </ACTIVATED_ABILITY>
  <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
NEW Mosswort Bridge | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="MOSSWORT_BRIDGE_444220570" />
  <CARDNAME text="MOSSWORT_BRIDGE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Mosswort Bridge]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="444220570" />
  <ARTID value="444220570" />
  <ARTIST name="Jeremy Jarvis" />
  <CASTING_COST cost="" />
   <SUPERTYPE metaname="Basic" />
   <TYPE metaname="Land" />
   <SUB_TYPE metaname="Forest" />
   <EXPANSION value="DPI" />
   <RARITY metaname="L" />
  <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Nascondiglio]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Hideaway]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" pre_trigger="1" />
    <RESOLUTION_TIME_ACTION>
    if TriggerObject() ~= nil then
      TriggerObject():Tap()
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY linked_ability_group="1">
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
    <RESOLUTION_TIME_ACTION>
    local i = 0
    local queryDC = EffectDC():Make_Chest(1)
    for i = 0,(3) do
       local card = EffectController():Library_GetNth( i )
       if card ~= nil then
          queryDC:Set_CardPtr(i, card)
       end
    end
    EffectController():ChooseItemFromDC( "CARD_QUERY_CHOOSE_CARD_TO_EXILE_FACE_DOWN", queryDC, EffectDC():Make_Targets(0) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil then
      if source ~= nil then
         LinkedDC():Set_CardPtr(0, target)
         LinkedDC():Protect_CardPtr(0)
      end
       target:ExileFaceDown()
    end
    for i = 0,(3) do
       local card = EffectDC():Get_Chest(1):Get_CardPtr(i)
       if card ~= nil then
          card:PutOnBottomOfLibrary()
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = LinkedDC():Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil and source ~= nil then
       target:NailOnto(source)
    end
    </RESOLUTION_TIME_ACTION>
    <CONTINUOUS_ACTION layer="8">
    local target = LinkedDC():Get_CardPtr(0)
    local source = EffectSource()
    if target ~= nil and source ~= nil then
       local characteristics = target:GetCurrentCharacteristics()
       characteristics:CanLookAtWhileFaceDown( source:GetPlayer() )
    end
    </CONTINUOUS_ACTION>
    <DURATION>
    return (LinkedDC():Get_CardPtr(0) == nil or EffectSource() == nil)
    </DURATION>
    <AUTO_SKIP no_effect_source="1" />
  </TRIGGERED_ABILITY>
   <ACTIVATED_ABILITY forced_skip="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {G} to your mana pool.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez {G} à votre réserve.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {G} a tu reserva de maná.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {G}.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {G} alla tua riserva di mana.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{G}を加える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: {G}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {G} в ваше хранилище маны.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {G} à sua reserva de mana.]]></LOCALISED_TEXT>
      <COST type="TapSelf" />
      <PLAY_TIME_ACTION>
         RSN_MarkManaAbilityStart()
      </PLAY_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_Produce( "{G}", 1 )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
         RSN_MarkManaAbilityEnd()
      </RESOLUTION_TIME_ACTION>
      <AI_AVAILABILITY window_step="upkeep" type="window" />
      <AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY type="in_response" response_target="1" />
   </ACTIVATED_ABILITY>
   <STATIC_ABILITY>
      <CONTINUOUS_ACTION layer="0">
         RSN_ClearCanProduceMana()
         RSN_MarkCanProduceMana( "{G}" )
      </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
   <TRIGGERED_ABILITY forced_skip="1" replacement_effect="1">
      <TRIGGER value="BEGINNING_OF_STEP" pre_trigger="1" />
      <RESOLUTION_TIME_ACTION>
         RSN_ClearProducedMana()
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <ACTIVATED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{G}, {T}: Puoi giocare la carta esiliata senza pagare il suo costo di mana se le creature che controlli hanno una forza totale pari o superiore a 10.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{G}, {T}: You may play the exiled card without paying its mana cost if creatures you control have total power 10 or greater.]]></LOCALISED_TEXT>
    <COST mana_cost="{G}" type="Mana" />
    <COST type="TapSelf" />
    <AVAILABILITY>
    return EffectController():CanPayManaCost("{G}{G}")
    </AVAILABILITY>
    <RESOLUTION_TIME_ACTION>
    local spellToCast = LinkedDC():Get_CardPtr(0)
    if spellToCast ~= nil and EffectController():CanCastSpellForFree( spellToCast ) then
       local filter = ClearFilter()
        filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
       filter:Add(FE_POWER, OP_GREATER_THAN_OR_EQUAL_TO, 1 )
       filter:SetZone( ZONE_BATTLEFIELD, EffectController() )
       local num_creatures = filter:EvaluateObjects()
       local total_power = 0
       if num_creatures &gt; 0 then

          for i = 0, (num_creatures-1) do
             local nth_creature = filter:GetNthEvaluatedObject(i)
             if nth_creature ~= nil then
                total_power = total_power + ( nth_creature:GetCurrentPower() )
             end
          end

          if total_power &gt; 9 then
             EffectController():CastSpellForFree( spellToCast )
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
    <MAY />
  </ACTIVATED_ABILITY>
  <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_G" />
  <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
The good news is that they taps manually, auto-tap most of the time, and show up with the basic lands. One issue I noticed was that if I relied on the auto-tapping function, sometimes I'd get more lands than necessary tapping to cast a spell. Now, this could be a problem with the other cards involved, so I'll post those here as well:

Razorverge Thicket 209407 | Open
Code: Select all
<?xml version='1.0'?>
<CARD_V2>
   <FILENAME text="RSN_RAZORVERGE_THICKET_209407" />
   <CARDNAME text="RAZORVERGE_THICKET" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Razorverge Thicket]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Halliers à l'Orée des Rasoirs]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Maleza Bordenavaja]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Rasierklingengestrüpp]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Boschetto del Bordo Tagliente]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[剃刀境の茂み]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Razorverge Thicket]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Заросли Бритвенной Травы]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Bosque das Margens Cortantes]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="209407" />
   <ARTID value="RSN209407" />
   <ARTIST name="James Paick" />
   <CASTING_COST cost="" />
   <FLAVOURTEXT>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Where the Razor Fields beat back the Tangle, the crowded thicket yields to bright scimitars of grass.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Là où les Champs de Rasoirs repoussent la Filandre, les halliers serrés perdent la bataille contre les cimeterres d’herbe affûtés.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Donde los Campos Navaja empujan a la Maraña, la densa maleza se rinde a las brillantes cimitarras de pasto.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wo die Rasierklingenfelder das Knäuel zurückdrängen, gibt das üppige Dickicht den hellen Säbeln aus Gras nach.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Dove i Campi Taglienti respingono il Groviglio, il fitto boschetto si arrende a splendenti scimitarre d’erba.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[剃刀ヶ原が絡み森を押しとどめる場所では、密集した茂みが輝く草の三日月刀を構えている。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Where the Razor Fields beat back the Tangle, the crowded thicket yields to bright scimitars of grass.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Там, где Бритвенные Поля дают отпор Зарослям, густой кустарник уступает блестящим лезвиям травы.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Onde os Campos Cortantes avançam sobre o Emaranhado, o bosque comprimido rende-se às brilhantes cimitarras de grama.]]></LOCALISED_TEXT>
   </FLAVOURTEXT>
   <TYPE metaname="Land" />
   <EXPANSION value="SOM" />
   <RARITY metaname="R" />
   <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Razorverge Thicket enters the battlefield tapped unless you control two or fewer other lands.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Les Halliers à l’Orée des Rasoirs arrivent sur le champ de bataille engagés à moins que vous ne contrôliez deux autres terrains ou moins.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[La Maleza Bordenavaja entra al campo de batalla girada a menos que controles otras dos o menos tierras.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Das Rasierklingengestrüpp kommt getappt ins Spiel, falls du nicht zwei oder weniger andere Länder kontrollierst.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Il Boschetto del Bordo Tagliente entra nel campo di battaglia TAPpato a meno che tu non controlli al massimo altre due terre.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたがコントロールしている他の土地が3つ以上であるかぎり、剃刀境の茂みはタップ状態で戦場に出る。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Razorverge Thicket enters the battlefield tapped unless you control two or fewer other lands.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Заросли Бритвенной Травы выходят на поле битвы повернутыми, если под вашим контролем есть не менее трех других земель.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Bosque das Margens Cortantes entra no campo de batalha virado, a menos que você controle dois outros terrenos ou menos.]]></LOCALISED_TEXT>
      <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" pre_trigger="1">
         local oFilter = ClearFilter()
         oFilter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
         oFilter:Add( FE_CARD_NAME, OP_NOT, TriggerObject() )
         oFilter:Add( FE_CONTROLLER, OP_IS, EffectController())

         if (oFilter:CountStopAt(3) &lt; 3) then
            return false
         else
            return true
         end
      </TRIGGER>
      <RESOLUTION_TIME_ACTION>
         if (TriggerObject() ~= nil) then
            TriggerObject():Tap()
         end
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <ACTIVATED_ABILITY forced_skip="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {G} or {W} to your mana pool.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez {G} ou {W} à votre réserve.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {G} o {W} a tu reserva de maná.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {G} oder {W}.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {G} o {W} alla tua riserva di mana.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{G}か{W}を加える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: {G}나 {W}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {G} или {W} в ваше хранилище маны.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {G} ou {W} à sua reserva de mana.]]></LOCALISED_TEXT>
      <COST type="TapSelf" />
      <MODE_SELECT tag="MODE_CHOOSE_ONE">
         <MODE tag="RSN_MODE_PRODUCE_G" index="1" />
         <MODE tag="RSN_MODE_PRODUCE_W" index="2" />
      </MODE_SELECT>
      <PLAY_TIME_ACTION>
         RSN_MarkManaAbilityStart()
      </PLAY_TIME_ACTION>
      <RESOLUTION_TIME_ACTION mode="1">
         RSN_Produce( "{G}", 1 )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION mode="2">
         RSN_Produce( "{W}", 1 )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         RSN_EliminateExtraManaTokens()
         RSN_MarkManaAbilityEnd()
      </RESOLUTION_TIME_ACTION>
      <AI_AVAILABILITY window_step="upkeep" type="window" />
      <AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY type="in_response" response_target="1" />
   </ACTIVATED_ABILITY>
   <STATIC_ABILITY>
      <CONTINUOUS_ACTION layer="0">
         RSN_ClearCanProduceMana()
         RSN_MarkCanProduceMana( "{G}{W}" )
      </CONTINUOUS_ACTION>
      <CONTINUOUS_ACTION layer="8">
         local nDefaultColour = COLOUR_GREEN
         local oCard = EffectSource()
         if (oCard ~= nil) then
            local oCharacteristics = oCard:GetCurrentCharacteristics()
            if (((oCharacteristics ~= nil) and (oCharacteristics:Bool_Get( CHARACTERISTIC_CANT_USE_ACTIVATED_ABILITIES ))) or
               (EffectController():GetCurrentCharacteristics():Bool_Get( PLAYER_CHARACTERISTIC_CANT_ACTIVATE_NONMANA_ABILITIES ))) then
               local nColour = RSN_GetLastProducedColour()
               if (nColour ~= COLOUR_COLOURLESS) then
                  oCharacteristics:GrantAbility( nColour )
               else
                  oCharacteristics:GrantAbility( nDefaultColour )
               end
            end
         end
      </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
   <TRIGGERED_ABILITY forced_skip="1" replacement_effect="1">
      <TRIGGER value="BEGINNING_OF_STEP" pre_trigger="1" />
      <RESOLUTION_TIME_ACTION>
         RSN_ClearProducedMana()
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <MANA_ABILITY resource_id="1">
      <COST type="TapSelf" />
      <PRODUCES amount="{W}" />
   </MANA_ABILITY>
   <MANA_ABILITY resource_id="5">
      <COST type="TapSelf" />
      <PRODUCES amount="{G}" />
   </MANA_ABILITY>
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_G" />
   <TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_W" />
</CARD_V2>
Noble Hierarch 627118 | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="NOBLE_HIERARCH_627118" />
  <CARDNAME text="NOBLE_HIERARCH" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Noble Hierarch]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Noble hiérarche]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Jerarca noble]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Edle Hierarchin]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Gerarca Nobile]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[貴族の教主]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Noble Hierarch]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Благородный Иерарх]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Hierarca Nobre]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[贵族大主教]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[貴族大主教]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="627118" />
  <ARTID value="627118" />
  <ARTIST name="Mark Zug" />
  <CASTING_COST cost="{G}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[She protects the sacred groves from blight, drought, and the Unbeholden.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Elle protège les vergers sacrés contre la peste, la sècheresse et les Insoumis.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Ella protege las arboledas sagradas de inundaciones, sequía y de los Ignorados.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sie beschützt die heiligen Haine vor Mehltau, Dürren und den Unwürdigen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Protegge i boschetti sacri dall’avvizzimento, dalla siccità e dagli Ingrati.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[彼女は聖なる木立を、疫病や旱魃や下層の人々から守っている。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[She protects the sacred groves from blight, drought, and the Unbeholden.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Она защищает священные рощи от болезней, засухи и касты «невидимых».]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Ela protege os bosques sagrados contra pragas, aridez e os Desocupados.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[她守护神圣树丛,将枯萎、干旱与失格者摒除在外。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[她守護神聖樹叢,將枯萎、乾旱與失格者摒除在外。]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Human" />
  <SUB_TYPE metaname="Druid" />
  <EXPANSION value="DPI" />
  <RARITY metaname="R" />
  <POWER value="0" />
  <TOUGHNESS value="1" />
  <TRIGGERED_ABILITY badge="BADGE_EXALTED">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Exalted |(Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Exaltation |(À chaque fois qu’une créature que vous contrôlez attaque seule, elle gagne +1/+1 jusqu’à la fin du tour.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Exaltado. |(Siempre que una criatura que controlas ataque sola, esa criatura obtiene +1/+1 hasta el final del turno.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Edelmut |(Immer wenn eine Kreatur, die du kontrollierst, alleine angreift, erhält diese Kreatur +1/+1 bis zum Ende des Zuges.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Esaltato |(Ogniqualvolta una creatura che controlli attacca da sola, prende +1/+1 fino alla fine del turno.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[賛美(あなたがコントロールするいずれかのクリーチャーが単独で攻撃するたび、そのクリーチャーはターン終了時まで+1/+1の修整を受ける。)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[고귀 (당신이 조종하는 생물이 혼자 공격할 때마다, 그 생물은 턴종료까지 +1/+1을 받는다.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Повышение |(Каждый раз, когда существо под вашим контролем атакует в одиночку, то существо получает +1/+1 до конца хода.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Exaltado |(Toda vez que uma criatura que você controla ataca sozinha, ela recebe +1/+1 até o final do turno.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[颂威(每当一个由你操控的生物单独攻击时,该生物得+1/+1直到回合结束。)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[頌威(每當一個由你操控的生物單獨攻擊時,該生物得+1/+1直到回合結束。)]]></LOCALISED_TEXT>
    <TRIGGER value="ATTACKING_ALONE" simple_qualifier="objectyoucontrol" />
    <CONTINUOUS_ACTION layer="7C">
    if TriggerObject() ~= nil  then
       local characteristics = TriggerObject():GetCurrentCharacteristics()
       characteristics:Power_Add( 1 )   
       characteristics:Toughness_Add( 1 ) 
    end 
    </CONTINUOUS_ACTION>
    <DURATION simple_duration="UntilEOT" />
  </TRIGGERED_ABILITY>
  <ACTIVATED_ABILITY forced_skip="1" linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {G}, {W}, or {U} to your mana pool.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez {G}, {W} ou {U} à votre réserve.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {G}, {W}, o {U} a tu reserva de maná.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {G}, {W} oder {U}.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {G}, {W} o {U} alla tua riserva di mana.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{G}か{W}か{U}を加える。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: {G}, {W} 또는 {U}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {G}, {W} или {U} в ваше хранилище маны.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {G}, {W} ou {U} à sua reserva de mana.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加{G},{W},或{U}到你的法术力池中。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:加{G},{W},或{U}到你的魔法力池中。]]></LOCALISED_TEXT>
    <COST type="Generic">
      <PREREQUISITE>
    return EffectSource():IsTapped() == false and EffectController():IsAI() == false
    </PREREQUISITE>
      <RESOLUTION_TIME_ACTION>
    local player = EffectController()
    player:BeginNewMultipleChoice()
    player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_MANA_G" )
    player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_MANA_W" )
    player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_MANA_U" )
    player:AskMultipleChoiceQuestion( "CARD_QUERY_CHOOSE_COLOUR" )
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    LinkedDC():Set_Int( 0, EffectController():GetMultipleChoiceResult() )
    </RESOLUTION_TIME_ACTION>
    </COST>
  </ACTIVATED_ABILITY>
  <STATIC_ABILITY linked_ability_group="1">
    <CONTINUOUS_ACTION layer="6">
    local colour = LinkedDC():Get_Int( 0 )
    EffectSource():GetCurrentCharacteristics():GrantAbility(colour)
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <MANA_ABILITY resource_id="0">
    <PRODUCES amount="{G}" />
  </MANA_ABILITY>
  <MANA_ABILITY resource_id="1">
    <PRODUCES amount="{W}" />
  </MANA_ABILITY>
  <MANA_ABILITY resource_id="2">
    <PRODUCES amount="{U}" />
  </MANA_ABILITY>
  <HELP title="MORE_INFO_BADGE_TITLE_33" body="MORE_INFO_BADGE_BODY_33" zone="ZONE_ANY" />
  <SFX text="COMBAT_GREEN_MAGIC_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_GREEN_MAGIC_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
  <AI_BASE_SCORE score="300" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
The issue I noticed was that when trying to pay the 1G mana cost for the Nest Invader described earlier in this post, the auto-tap function had all three of my mana sources (Noble Hierarch, Razorverge Thicket, and my modified Windbrisk Heights) highlighted, and trying to hit ctrl to switch configurations produced no result. This was before I activated Razorverge Thicket's manual mana tapping ability. When I did so, the auto-tap function worked and I could choose between tapping Windbrisk Heights and Noble Hierarch. Do you know what's wrong, or why?

Also, if you notice any programming issues in the cards/modifications posted here, please let me know about them. I'm a total novice, so it's definitely possible that I've made a mess of things without knowing how or why. Thank you very much to anyone who can assist me here. I realize that you're busy people and taking the time to pore through the code here may definitely be tedious work.

~AlphaMagnum

EDIT: I realize that I've turned Mosswort Bridge and Windbrisk Heights into basic lands, which the original cards are not. This was a "blunt instrument" solution to my issue with where they appear on the battlefield. I would definitely check out a more 'Magic-legal' solution to this problem, if you have one.
AlphaMagnum
 
Posts: 37
Joined: 15 Mar 2013, 18:21
Has thanked: 1 time
Been thanked: 0 time

Re: Help with Tokens and Manual Mana Tapping?

Postby RiiakShiNal » 23 Sep 2013, 02:09

There are advantages and disadvantages to all solutions for mana.

Auto-Tap:
  • Pros:
    • Computer can use it without problem.
    • Simplistic for the user to use.
    • Quick.
    • Works with the mana select button.
    • Does not require tapping the land before casting a spell or using an ability.
  • Cons:
    • Does not allow tricks like tapping a land for mana, then untapping it and tapping it for mana again such as using an Arbor Elf.
    • Can only properly be used to produce 1 mana (if producing more than 1 mana it can't be split up, all mana must be used for a single cost or spell) like trying to use a Sol Ring to cast a Basilisk Collar and The Rack.
    • Does not support costs other than tapping self like Ancient Spring.
    • Can't handle multi-colour lands (anything more than 1 colour) like Razorverge Thicket.
    • Does not fire BECAME_TAPPED_FOR_MANA so can't make Mana Flare.
    • Can't do extra effects like take damage after producing mana, or return to hand in the mana ability like Adarkar Wastes and Ancient Tomb.
    • Many cards can't be coded like Apprentice Wizard.
    • Engine can't properly handle some abilities that require mana on a card that can produce auto-tapped mana like Academy Ruins.
    • Can't handle producing mana at other times like Altar of Shadows.

Manual-Tap (using my functions):
  • Pros:
    • More rule compliant.
    • Allows for complex costs.
    • Works fine for multi-colour lands.
    • Works fine for producing more than 1 mana.
    • Will fire BECAME_TAPPED_FOR_MANA.
    • Allows for complex results (doing more than just producing mana).
    • Allows for mana tricks like tapping a land for mana, untapping it, then tapping it for mana again.
    • If a land produces more than 1 mana it can be split up and used to cast multiple spells or use multiple abilities.
  • Cons:
    • Uses an activated ability instead of a mana ability to do the work (requires workarounds for some features/cards) which can interact with Burning-Tree Shaman (I made one using a workaround so my Burning-Tree Shaman will work properly with cards properly using my mana functions).
    • Game does not recognize them as mana abilities which can lead to certain "mana" abilities not working properly. I try to compensate with a fallback to a mana ability when I can. Not all cards can have an auto-tap backup for example Apprentice Wizard can't have a fallback auto-tap ability.
    • AI does not fully understand how to use manual tap mode (will often not cast spells that it actually does have the mana for). For example it won't cast a Tidehollow Strix even though it has two untapped Drowned Catacomb cards in play.
    • Requires user to manually tap mana before using a spell or ability which requires more knowledge of the game and how mana works. This can lead to issues with not being able to use some card abilities even though technically you have the mana available (like the Miracle ability of Temporal Mastery).
    • Even simple mana abilities require more code to be implemented properly.

I do understand the allure of having lands show up at the bottom of the screen. I would love to have non-basic lands show up there, but making them "Basic" is wrong and would add even more cons while not really adding many pros (cards that target non-basic lands would no longer work, cards that leave basic lands alone would also leave the non-basic lands alone). This would just cause too many problems.

I also understand that it would be nice to have the lands also be able to be auto-tapped, but this causes problems with lands that have other non-mana abilities on them which requires carefully considered availabilities and can lead to other problems. Auto-tap abilities can be added by using the MANA_ABILITY block though that tends to add many of the cons from auto-tapping then for a land like Razorverge Thicket you would have to add another activated ability to allow the user to choose which colour to produce when auto-tapping making the card even more complex.

Ultimately, the best solution would be engine supported MANA_ABILITY blocks with complex costs and results that can be auto-tapped or manual tapped at the user's option. Unfortunately, this is not possible (engine doesn't support it) so I opted to use the best possible solution I could, if someone can think of a better solution then I am all ears because I don't see one.
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Help with Tokens and Manual Mana Tapping?

Postby AlphaMagnum » 23 Sep 2013, 02:56

Thanks for chiming in!

Honestly, for basic lands, I think your manual mana functions are strictly superior to the original implementation. As I said in the OP, basic lands made with your functions do indeed auto-tap if I don't want to use the activated ability, and if I do want to control the mana more precisely then the functionality is there.

It's the dual lands, Razorverge Thicket in this case, which must be causing problems, I think. As I mentioned, using its activated ability caused the auto tapping to work as intended, so I'm guessing the problem didn't lie with my odd modification of the Hideaway lands, which functioned quite normally from my observation.

As a point of curiosity, how does the game handle Eye of Ugin, which was included in the original release? Does that land sit with the basics? Or out ahead with the nonland cards?
AlphaMagnum
 
Posts: 37
Joined: 15 Mar 2013, 18:21
Has thanked: 1 time
Been thanked: 0 time

Re: Help with Tokens and Manual Mana Tapping?

Postby RiiakShiNal » 23 Sep 2013, 12:31

AlphaMagnum wrote:Thanks for chiming in!

Honestly, for basic lands, I think your manual mana functions are strictly superior to the original implementation. As I said in the OP, basic lands made with your functions do indeed auto-tap if I don't want to use the activated ability, and if I do want to control the mana more precisely then the functionality is there.
In some respects the auto-tap functionality of the basic lands is a problem (sometimes a major problem). Because the auto-tap can't be removed from the basic lands the basic lands suffer from several of the cons of auto-tapping and don't interact with some other cards properly. For example Vorinclex, Voice of Hunger has an ability that says when an opponent taps land it shouldn't untap during it's controller's next untap step, but when mana sources are auto-tapped it doesn't work. Another example is Mana Flare, when land is auto-tapped the extra mana which should be produced isn't.

AlphaMagnum wrote:It's the dual lands, Razorverge Thicket in this case, which must be causing problems, I think. As I mentioned, using its activated ability caused the auto tapping to work as intended, so I'm guessing the problem didn't lie with my odd modification of the Hideaway lands, which functioned quite normally from my observation.
I can't speak for all dual lands, but I can guarantee that Razorverge Thicket does work properly. In your original post you mentioned that the game was highlighting 3 mana sources including Razorverge Thicket, but that can't happen with my Razorverge Thicket because it doesn't have an auto-tap mana ability for the game to select (unless activated abilities were shut down, but in that case you wouldn't be able to manually tap it). So my guess is your problem lies elsewhere because the game can't select to tap lands for mana that have no MANA_ABILITY blocks currently available.

AlphaMagnum wrote:As a point of curiosity, how does the game handle Eye of Ugin, which was included in the original release? Does that land sit with the basics? Or out ahead with the nonland cards?
Eye of Ugin does not sit with the basic lands; it sits on the main battlefield along with all other non-basic lands and permanents. Since Eye of Ugin has no mana abilities it is never selected for mana tapping and auto-tap/manual-tap has no meaning for it because it has no mana abilities.
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Help with Tokens and Manual Mana Tapping?

Postby AlphaMagnum » 23 Sep 2013, 14:59

I noticed another odd situation today. This time it was Temple Garden, Noble Hierarch, two Windbrisk Heights, and one Mosswort Bridge. The Temple Garden is below, and the other cards are in the two opening posts of this thread.

Temple Garden 627864 | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="3">
  <FILENAME text="TEMPLE_GARDEN_627864" />
  <CARDNAME text="TEMPLE_GARDEN" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Temple Garden]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Jardin du temple]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Jardín del templo]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Tempelgarten]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Giardino del Tempio]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[寺院の庭]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[정원 신전]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Церковный Сад]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Jardim do Templo]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[殿堂花园]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[殿堂花園]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="627864" />
  <ARTID value="627864" />
  <ARTIST name="Volkan Baga" />
  <CASTING_COST cost="" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[In the gardens of the Conclave, order and beauty are the roots of power.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Dans les jardins du Conclave, ordre et beauté sont les racines du pouvoir.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[En los jardines del Cónclave, el orden y la belleza son las raíces del poder.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[In den Gärten des Konklaves sind Ordnung und Schönheit die Wurzeln der Macht.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Nei giardini del Conclave, ordine e bellezza sono le radici del potere.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[議事会の庭では、秩序と美が力の源となっている。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[교단의 정원에서는 질서와 아름다움이 힘의 근원이다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[В садах Конклава порядок и красота лежат в основе могущества.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Nos jardins do Conclave, a ordem e a beleza são as raízes do poder.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[在盟会的花园中,秩序和美景是力量的根源。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[在盟會的花園中,秩序和美景是力量的根源。]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Land" />
  <SUB_TYPE metaname="Forest" />
  <SUB_TYPE metaname="Plains" />
  <EXPANSION value="DPI" />
  <RARITY metaname="R" />
  <ACTIVATED_ABILITY forced_skip="1" linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[|(|{T}|: Add| {G} |or| {W} |to your mana pool.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[|(|{T}|: Ajoutez| {G} |ou| {W} |à votre réserve.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[|(|{T}|: Agrega| {G} |o| {W} |a tu reserva de maná.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {G} oder {W}.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[|(|{T}|: Aggiungi| {G} |o| {W} |alla tua riserva di mana.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[({T}:あなたのマナ・プールに{G}か{W}を加える。)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[({T}: {G} 또는 {W}를 당신의 마나풀에 담는다.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[|(|{T}|: добавьте| {G} |или| {W} |в ваше хранилище маны.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[|(|{T}: Adicione| {G} |ou| {W} |à sua reserva de mana.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[({T}:加{G}或{W}到你的法术力池中。)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[({T}:加{G}或{W}到你的魔法力池中。)]]></LOCALISED_TEXT>
    <COST type="Generic">
      <PREREQUISITE>
    return EffectSource():IsTapped() == false and EffectController():IsAI() == false
    </PREREQUISITE>
      <RESOLUTION_TIME_ACTION>
    local player = EffectController()
    player:BeginNewMultipleChoice()
    player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_MANA_G" )
    player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_MANA_W" )
    player:AskMultipleChoiceQuestion( "CARD_QUERY_CHOOSE_COLOUR" )
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    LinkedDC():Set_Int( 0, EffectController():GetMultipleChoiceResult() )
    RSN_ObjectDC():Set_Int(S_COMPARTMENT_ID_INT_DUAL, EffectController():GetMultipleChoiceResult())
    </RESOLUTION_TIME_ACTION>
    </COST>
  </ACTIVATED_ABILITY>
  <TRIGGERED_ABILITY replacement_query="1" active_zone="ZONE_TRANSITION">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As Temple Garden enters the battlefield, you may pay 2 life. If you don’t, Temple Garden enters the battlefield tapped.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Au moment où le Jardin du temple arrive sur le champ de bataille, vous pouvez payer 2 points de vie. Si vous ne le faites pas, le Jardin du temple arrive sur le champ de bataille engagé.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[En cuanto el Jardín del templo entre al campo de batalla, puedes pagar 2 vidas. Si no lo haces, el Jardín del templo entra al campo de batalla girado.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sowie der Tempelgarten ins Spiel kommt, kannst du 2 Lebenspunkte bezahlen. Falls du dies nicht tust, kommt der Tempelgarten getappt ins Spiel.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Mentre il Giardino del Tempio entra nel campo di battaglia, puoi pagare 2 punti vita. Se non lo fai, il Giardino del Tempio entra nel campo di battaglia TAPpato.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[寺院の庭が戦場に出るに際し、あなたはライフを2点支払ってもよい。そうしない場合、寺院の庭はタップ状態で戦場に出る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[정원 신전이 전장에 들어오면서, 당신은 생명 2점을 지불할 수 있다. 그러지 않으면, 정원 신전은 탭된 채로 전장에 들어온다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[При выходе Церковного Сада на поле битвы вы можете заплатить 2 жизни. Если вы этого не делаете, Церковный Сад выходит на поле битвы повернутым.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Conforme Jardim do Templo entra no campo de batalha, você pode pagar 2 pontos de vida. Se não fizer isso, Jardim do Templo entrará no campo de batalha virado.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[于殿堂花园进战场时,你可以支付2点生命。如果你未如此作,殿堂花园须横置进战场。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[於殿堂花園進戰場時,你可以支付2點生命。如果你未如此作,殿堂花園須橫置進戰場。]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
    <RESOLUTION_TIME_ACTION>
    if TriggerObject() ~= nil and EffectController():CanPayResourceCost(2) then
       EffectController():BeginNewMultipleChoice()   
       EffectController():AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_PAY_2_LIFE" )   
       EffectController():AddMultipleChoiceAnswer( "CARD_QUERY_DO_NOTHING" )   
       EffectController():AskMultipleChoiceQuestion( "CARDS_QUERY_NEW_DUAL_LAND_ENTER" )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    if TriggerObject() ~= nil then
      if EffectController():CanPayResourceCost(2) then
         local result = EffectController():GetMultipleChoiceResult()
         if result ~= 1 then
           EffectController():PayResourceCost(2)
         else
          TriggerObject():Tap()
          end
      else
        TriggerObject():Tap()
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <STATIC_ABILITY linked_ability_group="1">
    <CONTINUOUS_ACTION layer="6">
    local colour = LinkedDC():Get_Int( 0 )
    EffectSource():GetCurrentCharacteristics():GrantAbility(colour)
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <TRIGGERED_ABILITY replacement_effect="1">
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
    <RESOLUTION_TIME_ACTION>
    RSN_ObjectDC():Set_Int(S_COMPARTMENT_ID_INT_DUAL, 0)
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <MANA_ABILITY resource_id="0">
    <PRODUCES amount="{G}" />
  </MANA_ABILITY>
  <MANA_ABILITY resource_id="1">
    <PRODUCES amount="{W}" />
  </MANA_ABILITY>
  <UTILITY_ABILITY resource_id="2">
    <COST type="Life" amount="2" />
  </UTILITY_ABILITY>
  <AI_BASE_SCORE score="150" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
I was trying to cast a spell that costs 2GG, and for some reason the auto-tap feature never hit a combination including all of my Hideaway lands. It was always Hierarch + Temple Garden + 2 Hideaway lands, and never 3x Hideaway + 1x ??. Both the Hierarch and Garden had been set to produce G thanks to their activated ability, and the fact that I saw one of the combinations to be Hierarch, Garden, and Windbrisk x2 indicated that this was working appropriately. Yet, even though (theoretically) a combination of Mosswort/Windbrisk x2/Noble Hierarch, or Mosswort/Windbrisk x2/Temple Garden should have worked, these possibilities were never highlighted.

Do you have any idea as to what happened? Does the auto-tap feature actually cycle through all possible combinations? Or only a few?
AlphaMagnum
 
Posts: 37
Joined: 15 Mar 2013, 18:21
Has thanked: 1 time
Been thanked: 0 time

Re: Help with Tokens and Manual Mana Tapping?

Postby RiiakShiNal » 23 Sep 2013, 16:18

The auto-tap cycling only goes through combinations of colours not combinations/permutations of lands. Even then it will prefer lands of a specific colour that were put on the battlefield later. So for example if you have lands come into play in this order:

Windbrisk Heights, Plains, Forest, Mosswort Bridge, Forest, Plains, Forest, Temple Garden, Forest.

And the Temple Garden is set to green and you try to cast a {2} {G} {G} casting cost spell then no combination on auto-tap will tap Windbrisk Heights or Mosswort Bridge as the only combinations it would give would be:

If Temple Garden is set to white then the combinations would be this:

If you do a compare on the combinations using the available colours it becomes obvious:
  • {G}, {G}, {G}, {G}
  • {G}, {G}, {G}, {W}
  • {G}, {G}, {W}, {W}

Which given the available lands in the example are the only three ways to cast a {2} {G} {G} casting cost spell.

I guess you could say that this is yet another con of auto-tapping. Manual tapping allows the user to tap any specific lands they want without having to worry about such the combinatorial rules used by the DotP engine on colours of mana. Having only manual tap on non-basic lands also allows you to save the special lands for when you actually want to use them rather than being forced to use them due to the engine's combinatorial rules.

Edit: Also due to these same rules you can get some odd situations where it will use land in play instead of mana tokens for a spell. For example you have a Forest in play and using my manual mana functions you tap it for a {G} mana token, then put another Forest in play, then cast Llanowar Elves, the engine will tap and use the untapped Forest instead of using the mana token since the Forest entered the battlefield after the mana token entered the field even though a human player would want to use the mana token leaving the Forest untapped and usable for later.
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times


Return to 2014

Who is online

Users browsing this forum: No registered users and 35 guests


Who is online

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

Users browsing this forum: No registered users and 35 guests

Login Form