Re: Formal Request Thread
by thefiremind
Here's Sylvan Primordial. The other cards need mana functions so I'll leave them to other modders.drleg3nd wrote:hope my requests didn't get lost ..
- Sylvan Primordial (tested) | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="SYLVAN_PRIMORDIAL_366282" />
<CARDNAME text="SYLVAN_PRIMORDIAL" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sylvan Primordial]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Primordial sylvestre]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Primordial silvano]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Waldurwesen]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Primordiale Silvano]]></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[Primordial Silvestre]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="366282" />
<ARTID value="366282" />
<ARTIST name="Stephan Martiniere" />
<CASTING_COST cost="{5}{G}{G}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Avatar" />
<EXPANSION value="GTC" />
<RARITY metaname="R" />
<POWER value="6" />
<TOUGHNESS value="8" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Reach]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Portée]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Alcance.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Reichweite]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Raggiungere]]></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[Alcance]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_REACH" />
</STATIC_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Sylvan Primordial enters the battlefield, for each opponent, destroy target noncreature permanent that player controls. For each permanent destroyed this way, search your library for a Forest card and put that card onto the battlefield tapped. Then shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Quand le Primordial sylvestre arrive sur le champ de bataille, pour chaque adversaire, détruisez un permanent non-créature ciblé que ce joueur contrôle. Pour chaque permanent détruit de cette manière, cherchez une carte de forêt dans votre bibliothèque et mettez-la sur le champ de bataille engagée. Mélangez ensuite votre bibliothèque.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando el Primordial silvano entre al campo de batalla, por cada oponente, destruye el permanente objetivo que no sea criatura que controla ese jugador. Por cada permanente destruido de esta manera, busca una carta de bosque en tu biblioteca y pon esa carta en el campo de batalla girada. Luego baraja tu biblioteca.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn das Waldurwesen ins Spiel kommt, zerstöre von jedem Gegner eine bleibende Karte deiner Wahl, die keine Kreatur ist und die dieser Spieler kontrolliert. Durchsuche für jede so zerstörte bleibende Karte deine Bibliothek nach einer Wald-Karte und bringe diese Karte getappt ins Spiel. Mische danach deine Bibliothek.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando il Primordiale Silvano entra nel campo di battaglia, per ogni avversario, distruggi un permanente non creatura bersaglio controllato da quel giocatore. Per ogni permanente distrutto in questo modo, passa in rassegna il tuo grimorio per una carta Foresta e mettila sul campo di battaglia TAPpata. Poi rimescola il tuo grimorio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[When Sylvan Primordial enters the battlefield, for each opponent, destroy target noncreature permanent that player controls. For each permanent destroyed this way, search your library for a Forest card and put that card onto the battlefield tapped. Then shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[녹지의 원시정령이 전장에 들어올 때, 각 상대마다 그가 조종하는 지속물 중 생물이 아닌 지속물 한 개를 목표로 정한다. 그 지속물들을 파괴한다. 이렇게 파괴된 지속물 한 개당 당신의 서고에서 숲 카드 한 장을 찾아 탭된 채로 전장에 놓는다. 그러고 나서 당신의 서고를 섞는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Первородный Дух Леса выходит на поле битвы, для каждого оппонента уничтожьте целевой не являющийся существом перманент под контролем того игрока. За каждый перманент, уничтоженный таким образом, найдите в вашей библиотеке карту Леса и положите ее на поле битвы повернутой. Затем перетасуйте вашу библиотеку.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[When Sylvan Primordial enters the battlefield, for each opponent, destroy target noncreature permanent that player controls. For each permanent destroyed this way, search your library for a Forest card and put that card onto the battlefield tapped. Then shuffle your library.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<TARGET tag="CARD_QUERY_CHOOSE_NONCREATURE_PERMANENT_TO_DESTROY" definition="0" compartment="0">
if MTG():GetNumberOfStartingPlayers() > 0 then
local player = MTG():GetNthStartingPlayer(0)
if player ~= nil and player:GetTeam() ~= EffectController():GetTeam() then
-- applicable, single target
MTG():SetTargetCount(1)
return
end
end
-- not applicable
MTG():SetTargetCount(0)
</TARGET>
<TARGET tag="CARD_QUERY_CHOOSE_NONCREATURE_PERMANENT_TO_DESTROY" definition="1" compartment="1">
if MTG():GetNumberOfStartingPlayers() > 1 then
local player = MTG():GetNthStartingPlayer(1)
if player ~= nil and player:GetTeam() ~= EffectController():GetTeam() then
-- applicable, single target
MTG():SetTargetCount(1)
return
end
end
-- not applicable
MTG():SetTargetCount(0)
</TARGET>
<TARGET tag="CARD_QUERY_CHOOSE_NONCREATURE_PERMANENT_TO_DESTROY" definition="2" compartment="2">
if MTG():GetNumberOfStartingPlayers() > 2 then
local player = MTG():GetNthStartingPlayer(2)
if player ~= nil and player:GetTeam() ~= EffectController():GetTeam() then
-- applicable, single target
MTG():SetTargetCount(1)
return
end
end
-- not applicable
MTG():SetTargetCount(0)
</TARGET>
<TARGET tag="CARD_QUERY_CHOOSE_NONCREATURE_PERMANENT_TO_DESTROY" definition="3" compartment="3">
if MTG():GetNumberOfStartingPlayers() > 3 then
local player = MTG():GetNthStartingPlayer(3)
if player ~= nil and player:GetTeam() ~= EffectController():GetTeam() then
-- applicable, single target
MTG():SetTargetCount(1)
return
end
end
-- not applicable
MTG():SetTargetCount(0)
</TARGET>
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
if MTG():GetNumberOfStartingPlayers() > 0 then
filter:Add( FE_CONTROLLER, OP_IS, MTG():GetNthStartingPlayer(0) )
filter:Add(FE_IS_PERMANENT, true)
filter:Add(FE_TYPE, OP_NOT, CARD_TYPE_CREATURE)
end
</TARGET_DEFINITION>
<TARGET_DEFINITION id="1">
local filter = ClearFilter()
if MTG():GetNumberOfStartingPlayers() > 1 then
filter:Add( FE_CONTROLLER, OP_IS, MTG():GetNthStartingPlayer(1) )
filter:Add(FE_IS_PERMANENT, true)
filter:Add(FE_TYPE, OP_NOT, CARD_TYPE_CREATURE)
end
</TARGET_DEFINITION>
<TARGET_DEFINITION id="2">
local filter = ClearFilter()
if MTG():GetNumberOfStartingPlayers() > 2 then
filter:Add( FE_CONTROLLER, OP_IS, MTG():GetNthStartingPlayer(2) )
filter:Add(FE_IS_PERMANENT, true)
filter:Add(FE_TYPE, OP_NOT, CARD_TYPE_CREATURE)
end
</TARGET_DEFINITION>
<TARGET_DEFINITION id="3">
local filter = ClearFilter()
if MTG():GetNumberOfStartingPlayers() > 3 then
filter:Add( FE_CONTROLLER, OP_IS, MTG():GetNthStartingPlayer(3) )
filter:Add(FE_IS_PERMANENT, true)
filter:Add(FE_TYPE, OP_NOT, CARD_TYPE_CREATURE)
end
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local found_targets = EffectDC():Make_Chest(4)
local num_players = MTG():GetNumberOfStartingPlayers()
for i=0,num_players-1 do
local targetDC = EffectDC():Get_Targets(i)
if targetDC ~= nil then
local target = targetDC:Get_CardPtr(0)
if target ~= nil then
found_targets:Set_Int(i, 1)
target:Destroy()
end
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local destroyed = 0
local found_targets = EffectDC():Get_Chest(4)
local num_players = MTG():GetNumberOfStartingPlayers()
for i=0,num_players-1 do
local targetDC = EffectDC():Get_Targets(i)
if targetDC ~= nil then
if found_targets:Get_Int(i) == 1 and targetDC:Get_CardPtr(0) == nil then
-- the target was there, but now it's not, so it has been destroyed
destroyed = destroyed + 1
end
end
end
if destroyed > 0 then
local filter = ClearFilter()
local controller = EffectController()
filter:Add(FE_SUBTYPE, OP_IS, LAND_TYPE_FOREST)
filter:SetZone(ZONE_LIBRARY, controller)
controller:SetItemCount(destroyed)
for i=0,destroyed-1 do
controller:SetItemPrompt(i, "CARD_QUERY_CHOOSE_LAND_FOREST_TO_PUT_ONTO_BATTLEFIELD")
end
controller:ChooseItems( EffectDC():Make_Targets(5) )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local targetDC = EffectDC():Get_Targets(5)
if targetDC ~= nil then
for i=0,targetDC:Count()-1 do
local target_card = targetDC:Get_CardPtr(i)
if target_card ~= nil then
target_card:PutOntoBattlefieldTapped( EffectController() )
end
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<HELP title="MORE_INFO_BADGE_TITLE_5" body="MORE_INFO_BADGE_BODY_5" zone="ZONE_ANY" />
<SFX text="COMBAT_GAEA_ATTACK" power_boundary_min="1" power_boundary_max="-1" />
<AI_BASE_SCORE score="900" zone="ZONE_HAND" />
</CARD_V2>
--------------------------
I think Nightveil Specter has been requested more than once, and nobody ever made one, right? So here it is.
- Nightveil Specter (tested) | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="NIGHTVEIL_SPECTER_366242" />
<CARDNAME text="NIGHTVEIL_SPECTER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Nightveil Specter]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Spectre voilenuit]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Espectro velo nocturno]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Nachtschleiergespenst]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Spettro Velo Notturno]]></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[Espectro do Véu da Noite]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="366242" />
<ARTID value="366242" />
<ARTIST name="Min Yum" />
<CASTING_COST cost="{U/B}{U/B}{U/B}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Specter" />
<EXPANSION value="GTC" />
<RARITY metaname="R" />
<POWER value="2" />
<TOUGHNESS value="3" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vol]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vuela.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fliegend]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Volare]]></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[Voar]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_FLYING" />
</STATIC_ABILITY>
<TRIGGERED_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Nightveil Specter deals combat damage to a player, that player exiles the top card of his or her library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que le Spectre voilenuit inflige des blessures de combat à un joueur, ce joueur exile la carte du dessus de sa bibliothèque.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que el Espectro velo nocturno haga daño de combate a un jugador, ese jugador exilia la primera carta de su biblioteca.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn das Nachtschleiergespenst einem Spieler Kampfschaden zufügt, schickt dieser Spieler die oberste Karte seiner Bibliothek ins Exil.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta lo Spettro Velo Notturno infligge danno da combattimento a un giocatore, quel giocatore esilia la prima carta del suo grimorio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[夜帷の死霊がプレイヤー1人に戦闘ダメージを与えるたび、そのプレイヤーは自分のライブラリーの一番上のカードを追放する。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[밤장막 스펙터가 플레이어에게 전투피해를 입힐 때마다, 그 플레이어는 자신의 서고 맨 위의 카드를 추방한다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда Призрак Ночного Покрова наносит боевые повреждения игроку, тот игрок изгоняет верхнюю карту своей библиотеки.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que Espectro do Véu da Noite causa dano de combate a um jogador, aquele jogador exila o card do topo do próprio grimório.]]></LOCALISED_TEXT>
<TRIGGER value="SOURCE_DEALS_DAMAGE_TO_PLAYER" simple_qualifier="self" damage_type="combat" />
<RESOLUTION_TIME_ACTION>
local top = SecondaryPlayer() and SecondaryPlayer():Library_GetTop()
if top ~= nil then
local index = LinkedDC():Get_Int(0)
local linkedDC = LinkedDC():Get_Chest(1)
if linkedDC == nil then
linkedDC = LinkedDC():Make_Chest(1)
end
linkedDC:Set_CardPtr(index, top)
linkedDC:Protect_CardPtr(index)
LinkedDC():Int_Inc(0)
top:Exile()
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<STATIC_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[You may play cards exiled with Nightveil Specter.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vous pouvez jouer les cartes exilées par le Spectre voilenuit.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Puedes jugar las cartas exiliadas con el Espectro velo nocturno.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Du kannst mit dem Nachtschleiergespenst ins Exil geschickte Karten spielen.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Puoi giocare le carte esiliate con lo Spettro Velo Notturno.]]></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[Você pode jogar cards exilados com Espectro do Véu da Noite.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="8">
local linkedDC = LinkedDC():Get_Chest(1)
if linkedDC ~= nil then
local count = LinkedDC():Get_Int(0)
for i=0,count-1 do
local card = linkedDC:Get_CardPtr(i)
if card ~= nil then
card:GetCurrentCharacteristics():GrantAbility(0)
end
end
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<UTILITY_ABILITY resource_id="0" qualifier="Normal_Cast" origin_controller_can_use="1" active_zone="ZONE_EXILE">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Play this card from exile.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Jouez cette carte depuis l’exil.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Juega esta carta desde el exilio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Diese Karte aus dem Exil spielen.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Gioca questa carta dall’esilio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Play this card from exile.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Play this card from exile.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Play this card from exile.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Jogue este card a partir do exílio.]]></LOCALISED_TEXT>
</UTILITY_ABILITY>
<HELP title="MORE_INFO_BADGE_TITLE_10" body="MORE_INFO_BADGE_BODY_10" zone="ZONE_ANY" />
<SFX text="COMBAT_CHOP_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_CHOP_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
<AI_BASE_SCORE score="450" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
- "NailOnto" code | Open
- Code: Select all
<RESOLUTION_TIME_ACTION>
local linkedDC = LinkedDC():Get_Chest(1)
if EffectSource() ~= nil and linkedDC ~= nil then
local count = LinkedDC():Get_Int(0)
for i=0,count-1 do
local card = linkedDC:Get_CardPtr(i)
if card ~= nil then
card:NailOnto( EffectSource() )
end
end
end
</RESOLUTION_TIME_ACTION>
