Board index Programs with AI or Rules Enforcement Magic: The Gathering - Duels of the Planeswalkers New MTG Cards and Decks (2010, 2012, 2013, 2014, 2015, Magic Duels) 2014
Formal Request Thread
Moderator: CCGHQ Admins
Re: Formal Request Thread
by NeoAnderson » 17 Dec 2013, 16:49
I made the card Xenograft, with my idea of "Name a creature type", with my implementation you type the creature_type, it is still a working progress idea, but the basic functions are working.
There are some limitations :
1. Are supported only the follow languages : English, French, Spanish, German, Italian.
2. When you type the creature type, each special character(expecially for French, Spanish and German) must be turned into basic type ( Example: ALLIÉ must be typed as ALLIE. Example : ÜBERTRÄGER must be typed as UBERTRAGER. Example : TEJÓN must be typed as TEJON). I could fix this issue but the screens with types would be increased too much. I think is a fair compromise.
Positive aspects :
1. You don't have to look the kinds into decks just type one valid kind.
2. Are simultaneously supported 5 languages, so you can type the card into your preferred language also if it is different from playing language. Sometimes the words are shorter into another language so can be easy to type Example : "Bat" : English "Pipistrello" : Italian, you can type "Bat" also if you are playing into Italian language.
3. Only valid kind are accepted otherwise the function restart.
4. On the Button "Ok" you can see what you have already typed (it changes, after each typing)
Hey guys would be appreciated to know your opinion
There are some limitations :
1. Are supported only the follow languages : English, French, Spanish, German, Italian.
2. When you type the creature type, each special character(expecially for French, Spanish and German) must be turned into basic type ( Example: ALLIÉ must be typed as ALLIE. Example : ÜBERTRÄGER must be typed as UBERTRAGER. Example : TEJÓN must be typed as TEJON). I could fix this issue but the screens with types would be increased too much. I think is a fair compromise.
Positive aspects :
1. You don't have to look the kinds into decks just type one valid kind.
2. Are simultaneously supported 5 languages, so you can type the card into your preferred language also if it is different from playing language. Sometimes the words are shorter into another language so can be easy to type Example : "Bat" : English "Pipistrello" : Italian, you can type "Bat" also if you are playing into Italian language.
3. Only valid kind are accepted otherwise the function restart.
4. On the Button "Ok" you can see what you have already typed (it changes, after each typing)
- Xenograft | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="XENOGRAFT_227544" />
<CARDNAME text="XENOGRAFT" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Xenograft]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Xénogreffe]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Xenoinjerto]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fremdtransplantat]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Xenotrapianto]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[異種移植]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Xenograft]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Ксенотрансплантат]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Xenoenxerto]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="227544" />
<ARTID value="227544" />
<ARTIST name="Daniel Ljunggren" />
<CASTING_COST cost="{4}{U}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“I despise Vorinclex and his slobberings about ‘evolution.’ Only I know true progress.”
—Jin-Gitaxias, Core Augur]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« Je méprise Vorinclex et ses élucubrations sur « l’évolution ». Je suis le seul à savoir ce qu’est le vrai progrès. »
—Jin-Gitaxias, augure du Noyau]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Desprecio a Vórinclex y sus balbuceos sobre ‘evolución’. Sólo yo conozco el verdadero progreso.”
—Jin-Gitaxias, presagio del núcleo]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Ich verachte Vorinclex und sein Gesabbel über ,Entwicklung‘. Nur ich kenne den wahren Fortschritt.”
—Jin-Gitaxias, Kern-Augur]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Disprezzo Vorinclex e le sue farneticazioni sull’‘evoluzione’. Solo io conosco il vero progresso.”
—Jin-Gitaxias, Augure del Nucleo]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「ヴォリンクレックスの口から出る『進化』ほどくだらぬ言葉は無い。真の進歩を知るのは我だけだ。」
――核の占い師、ジン=ギタクシアス]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“I despise Vorinclex and his slobberings about ‘evolution.’ Only I know true progress.”
—Jin-Gitaxias, Core Augur]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«Я презираю Воринклекса и его сюсюкание по поводу “эволюции”. Я один знаю, что такое истинный прогресс».
— Джин-Джитаксиас, Гадатель Ядра]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Eu desprezo Vorinclex e toda sua conversa sobre ‘evolução’. Só eu sei o que é o verdadeiro progresso.”
— Jin-Gitaxias, Áugure Principal]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Enchantment" />
<EXPANSION value="NPH" />
<RARITY metaname="R" />
<TRIGGERED_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As Xenograft enters the battlefield, choose a creature type.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Au moment où la Xénogreffe arrive sur le champ de bataille, choisissez un type de créature.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[En cuanto el Xenoinjerto entre al campo de batalla, elige un tipo de criatura.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sowie das Fremdtransplantat ins Spiel kommt, bestimme einen Kreaturentyp.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Mentre lo Xenotrapianto entra nel campo di battaglia, scegli un tipo di creatura.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[異種移植が戦場に出るに際し、クリーチャー・タイプを1つ選ぶ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[As Xenograft enters the battlefield, choose a creature type.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[При выходе Ксенотрансплантата на поле битвы выберите тип существа.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Conforme Xenoenxerto entra no campo de batalha, escolha um tipo de criatura.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<RESOLUTION_TIME_ACTION repeating="1">
local player = EffectController()
local n = MTG():GetActionRepCount()
local oString = ""
local oEnding = "OK"
local oType = ""
local difference = 0
if n == 0 then
LinkedDC():Set_Int(10, 1)
LinkedDC():Set_Int(20, 0)
end
local parity = n % 2
local startIndex = LinkedDC():Get_Int(10)
local val = 0
for i=1, LinkedDC():Get_Int(20) do
val = i + 20
oType = NumbersToString(LinkedDC():Get_Int(val))
oString = oString..oType
end
if parity == 0 then
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer( "UI_PROMOTIONAL_PREV" )
player:AddMultipleChoiceAnswer( NumbersToString( startIndex ) )
player:AddMultipleChoiceAnswer( NumbersToString( startIndex+1 ) )
player:AddMultipleChoiceAnswer( NumbersToString( startIndex+2 ) )
player:AddMultipleChoiceAnswer( NumbersToString( startIndex+3 ) )
player:AddMultipleChoiceAnswer( "UI_PROMOTIONAL_NEXT" )
player:AddMultipleChoiceAnswer( oString.." - "..oEnding )
player:AskMultipleChoiceQuestion( "CARD_QUERY_MC_CHOOSE_CREATURE_TYPE" )
elseif parity == 1 then
local result = player:GetMultipleChoiceResult()
if result == 0 then
if startIndex == 1 then
startIndex = 25
else
startIndex = startIndex - 4
end
LinkedDC():Set_Int(10, startIndex)
return true
elseif result == 5 then
if startIndex == 25 then
startIndex = 1
else
startIndex = startIndex + 4
end
LinkedDC():Set_Int(10, startIndex)
return true
elseif result > 0 and result < 5 then
difference = result + (startIndex - 1)
LinkedDC():Int_Inc(20)
local pos = LinkedDC():Get_Int(20)
pos = pos + 20
LinkedDC():Set_Int(pos, difference)
return true
elseif result == 6 then
local oTypeToAdd = StringToCreatureIndex(oString)
if oTypeToAdd ~= 0 then
LinkedDC():Set_Int(0,1)
return false
else
LinkedDC():Set_Int(10, 1)
LinkedDC():Set_Int(20, 0)
startIndex = 1
oString = ""
return true
end
end
end
return true
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<STATIC_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Each creature you control is the chosen type in addition to its other types.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Chaque créature que vous contrôlez a le type choisi en plus de ses autres types.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cada criatura que controlas es del tipo elegido además de sus otros tipos.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Jede Kreatur, die du kontrollierst, hat zusätzlich zu ihren anderen Typen den bestimmten Kreaturentyp.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogni creatura che controlli ha il tipo scelto in aggiunta ai suoi altri tipi.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたがコントロールするクリーチャーは、それの他のタイプに加えてその選ばれたタイプでもある。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Each creature you control is the chosen type in addition to its other types.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждое существо под вашим контролем обладает выбранным типом в дополнение к своим другим типам.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Cada criatura que você controla é do tipo escolhido além de seus outros tipos.]]></LOCALISED_TEXT>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_CONTROLLER, OP_IS, EffectController())
</FILTER>
<CONTINUOUS_ACTION layer="4" filter_id="0">
if LinkedDC():Get_Int(0) == 1 then
local oSString = ""
local oType = ""
local val = 0
for i=1, LinkedDC():Get_Int(20) do
val = i + 20
oType = NumbersToString(LinkedDC():Get_Int(val))
oSString = oSString..oType
end
local oTypeToAdd = StringToCreatureIndex(oSString)
if oTypeToAdd ~= 0 then
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
local subtype = characteristics:SubType_GetWritable()
subtype:Add( oTypeToAdd )
end
end
end
</CONTINUOUS_ACTION>
<DURATION>
return EffectSource() == nil
</DURATION>
</STATIC_ABILITY>
</CARD_V2>
- Needed functions | Open
- Code: Select all
NumbersToString = function(oVal)
local oString = ""
if oVal == 1 then
oString = "A"
elseif oVal == 2 then
oString = "B"
elseif oVal == 3 then
oString = "C"
elseif oVal == 4 then
oString = "D"
elseif oVal == 5 then
oString = "E"
elseif oVal == 6 then
oString = "F"
elseif oVal == 7 then
oString = "G"
elseif oVal == 8 then
oString = "H"
elseif oVal == 9 then
oString = "I"
elseif oVal == 10 then
oString = "J"
elseif oVal == 11 then
oString = "K"
elseif oVal == 12 then
oString = "L"
elseif oVal == 13 then
oString = "M"
elseif oVal == 14 then
oString = "N"
elseif oVal == 15 then
oString = "O"
elseif oVal == 16 then
oString = "P"
elseif oVal == 17 then
oString = "Q"
elseif oVal == 18 then
oString = "R"
elseif oVal == 19 then
oString = "S"
elseif oVal == 20 then
oString = "T"
elseif oVal == 21 then
oString = "U"
elseif oVal == 22 then
oString = "V"
elseif oVal == 23 then
oString = "W"
elseif oVal == 24 then
oString = "X"
elseif oVal == 25 then
oString = "Y"
elseif oVal == 26 then
oString = "Z"
elseif oVal == 27 then
oString = "_"
elseif oVal == 28 then
oString = " "
end
return oString
end
StringToCreatureIndex = function(oVal)
local oString = 0
if oVal == "HUMAN" or oVal == "HUMAIN" or oVal == "HUMANO" or oVal == "MENSCH" or oVal == "UMANO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 0
elseif oVal == "ADVISOR" or oVal == "CONSEILLER" or oVal == "CONSEJERO" or oVal == "BERATER" or oVal == "CONSIGLIERE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 1
elseif oVal == "ANEMONE" or oVal == "ANEMONA" or oVal == "SEEANEMONE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 2
elseif oVal == "ANGEL" or oVal == "ANGE" or oVal == "ANGEL" or oVal == "ENGEL" or oVal == "ANGELO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 3
elseif oVal == "ANTEATER" or oVal == "FOURMILIER" or oVal == "HORMIGUERO" or oVal == "AMEISENBAR" or oVal == "FORMICHIERE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 4
elseif oVal == "ANTELOPE" or oVal == "ANTILOPE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 5
elseif oVal == "APE" or oVal == "GRAND SINGE" or oVal == "SIMIO" or oVal == "MENSCHENAFFE" or oVal == "SCIMPANZE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 6
elseif oVal == "ARCHER" or oVal == "ARQUERO" or oVal == "BOGENSCHUTZE" or oVal == "ARCIERE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 7
elseif oVal == "ARCHON" or oVal == "ARCHONTE" or oVal == "ARCONTE" or oVal == "ARCHON" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 8
elseif oVal == "ARTIFICER" or oVal == "ARTIFICIER" or oVal == "ARTIFICE" or oVal == "HANDWERKER" or oVal == "ARTEFICE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 9
elseif oVal == "ASSASSIN" or oVal == "ASESINO" or oVal == "ASSASSINE" or oVal == "ASSASSINO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 10
elseif oVal == "ASSEMBLY WORKER" or oVal == "OUVRIER SPECIALISE" or oVal == "OPERARIO" or oVal == "MONTAGEARBEITER" or oVal == "ADDETTO AL MONTAGGIO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 11
elseif oVal == "ATOG" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 12
elseif oVal == "AUROCHS" or oVal == "URO" or oVal == "AUEROCHSE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 13
elseif oVal == "AVATAR" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 14
elseif oVal == "BADGER" or oVal == "BLAIREAU" or oVal == "TEJON" or oVal == "DACHS" or oVal == "TASSO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 15
elseif oVal == "BARBARIAN" or oVal == "BARBARE" or oVal == "BARBARO" or oVal == "BARBAR" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 16
elseif oVal == "BASILISK" or oVal == "BASILIC" or oVal == "BASILISCO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 17
elseif oVal == "BAT" or oVal == "CHAUVE SOURIS" or oVal == "MURCIELAGO" or oVal == "FLEDERMAUS" or oVal == "PIPISTRELLO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 18
elseif oVal == "BEAR" or oVal == "OURS" or oVal == "OSO" or oVal == "BAR" or oVal == "ORSO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 19
elseif oVal == "BEAST" or oVal == "BÊTE" or oVal == "BESTIA" or oVal == "BESTIE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 20
elseif oVal == "BEEBLE" or oVal == "BIBULE" or oVal == "BEEBLE" or oVal == "BOBBEL" or oVal == "BIBOLO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 21
elseif oVal == "BERSERKER" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 22
elseif oVal == "BIRD" or oVal == "OISEAU" or oVal == "AVE" or oVal == "VOGEL" or oVal == "UCCELLO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 23
elseif oVal == "BLINKMOTH" or oVal == "SCINTIMITE" or oVal == "POLILLA TITILANTE" or oVal == "BLINKMOTTE" or oVal == "LAMPIDOTTERO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 24
elseif oVal == "BOAR" or oVal == "SANGLIER" or oVal == "JABALI" or oVal == "WILDSCHWEIN" or oVal == "CINGHIALE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 25
elseif oVal == "BRINGER" or oVal == "ANNONCIATEUR" or oVal == "ADALID" or oVal == "PORTATORE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 26
elseif oVal == "BRUSHWAGG" or oVal == "BOSQUERISSON" or oVal == "YERBAMALA" or oVal == "BUSCHKOTER" or oVal == "BURLARBUSTO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 27
elseif oVal == "CAMARID" or oVal == "CAMARIDE" or oVal == "CAMARIDO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 28
elseif oVal == "CAMEL" or oVal == "CHAMEAU" or oVal == "CAMELLO" or oVal == "KAMEL" or oVal == "CAMMELLO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 29
elseif oVal == "CARIBOU" or oVal == "CARIBU" or oVal == "RENTIER" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 30
elseif oVal == "CARRIER" or oVal == "PROPAGATEUR" or oVal == "PORTADOR" or oVal == "UBERTRAGER" or oVal == "VIAGGIATORE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 31
elseif oVal == "CAT" or oVal == "CHAT" or oVal == "FELINO" or oVal == "KATZE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 32
elseif oVal == "CENTAUR" or oVal == "CENTAURE" or oVal == "CENTAURO" or oVal == "ZENTAUR" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 33
elseif oVal == "CEPHALID" or oVal == "CEPHALIDE" or oVal == "CEFALIDO" or oVal == "ZEPHALID" or oVal == "CEFALIDE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 34
elseif oVal == "CHIMERA" or oVal == "CHIMERE" or oVal == "QUIMERA" or oVal == "CHIMARE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 35
elseif oVal == "CITIZEN" or oVal == "CITOYEN" or oVal == "CIUDADANO" or oVal == "BURGER" or oVal == "CITTADINO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 36
elseif oVal == "CLERIC" or oVal == "CLERC" or oVal == "CLERIGO" or oVal == "KLERIKER" or oVal == "CHIERICO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 37
elseif oVal == "COCKATRICE" or oVal == "COCATRIX" or oVal == "COCATRIZ" or oVal == "WOLPERTINGER" or oVal == "COCCATRICE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 38
elseif oVal == "CONSTRUCT" or oVal == "CONSTRUCTION" or oVal == "CONSTRUCTO" or oVal == "KONSTRUKT" or oVal == "COSTRUTTO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 39
elseif oVal == "COWARD" or oVal == "COUARD" or oVal == "COBARDE" or oVal == "FEIGLING" or oVal == "VIGLIACCO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 40
elseif oVal == "CRAB" or oVal == "CRABE" or oVal == "CANGREJO" or oVal == "KRABBE" or oVal == "GRANCHIO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 41
elseif oVal == "CROCODILE" or oVal == "COCODRILO" or oVal == "KROKODIL" or oVal == "COCCODRILLO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 42
elseif oVal == "CYCLOPS" or oVal == "CYCLOPE" or oVal == "ZYKLOP" or oVal == "CICLOPE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 43
elseif oVal == "DAUTHI" or oVal == "DAUTI" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 44
elseif oVal == "DEMON" or oVal == "DEMONIO" or oVal == "DAMON" or oVal == "DEMONE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 45
elseif oVal == "DESERTER" or oVal == "DESERTEUR" or oVal == "DESERTOR" or oVal == "DISERTORE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 46
elseif oVal == "DEVIL" or oVal == "DIABLE" or oVal == "DIABLO" or oVal == "TEUFEL" or oVal == "DIAVOLO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 47
elseif oVal == "DJINN" or oVal == "DSCHINN" or oVal == "GENIO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 48
elseif oVal == "DRAGON" or oVal == "DRACHE" or oVal == "DRAGO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 49
elseif oVal == "DRAKE" or oVal == "DRAKON" or oVal == "DRACO" or oVal == "SCEADA" or oVal == "DRAGHETTO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 50
elseif oVal == "DREADNOUGHT" or oVal == "CUIRASSE" or oVal == "ACORAZADO" or oVal == "SCHLACHTSCHIFF" or oVal == "STERMINATORE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 51
elseif oVal == "DRONE" or oVal == "ZANGANO" or oVal == "DROHNE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 52
elseif oVal == "DRUID" or oVal == "DRUIDE" or oVal == "DRUIDA" or oVal == "DRUIDO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 53
elseif oVal == "DRYAD" or oVal == "DRYADE" or oVal == "DRIADA" or oVal == "DRYADE" or oVal == "DRIADE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 54
elseif oVal == "DWARF" or oVal == "NAIN" or oVal == "ENANO" or oVal == "ZWERG" or oVal == "NANO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 55
elseif oVal == "EFREET" or oVal == "EFRIT" or oVal == "IFRIT" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 56
elseif oVal == "EGG" or oVal == "EUF" or oVal == "HUEVO" or oVal == "EI" or oVal == "UOVO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 57
elseif oVal == "ELDER" or oVal == "ANCETRE" or oVal == "ANCIANO" or oVal == "ALTESTER" or oVal == "ANTICO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 58
elseif oVal == "ELEMENTAL" or oVal == "ELEMENTARWESEN" or oVal == "ELEMENTALE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 59
elseif oVal == "ELEPHANT" or oVal == "ELEFANTE" or oVal == "ELEFANT" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 60
elseif oVal == "ELF" or oVal == "ELFE" or oVal == "ELFO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 61
elseif oVal == "ELK" or oVal == "ELAN" or oVal == "ALCE" or oVal == "HIRSCH" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 62
elseif oVal == "EYE" or oVal == "EIL" or oVal == "OJO" or oVal == "BETRACHTER" or oVal == "OCCHIO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 63
elseif oVal == "FAERIE" or oVal == "PEUPLE FEE" or oVal == "HADA" or oVal == "FEENWESEN" or oVal == "SPIRITELLO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 64
elseif oVal == "FERRET" or oVal == "FURET" or oVal == "HURON" or oVal == "FRETTCHEN" or oVal == "FURETTO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 65
elseif oVal == "FISH" or oVal == "POISSON" or oVal == "PEZ" or oVal == "FISCH" or oVal == "PESCE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 66
elseif oVal == "FLAGBEARER" or oVal == "ENSEIGNE" or oVal == "ABANDERADO" or oVal == "FAHNENTRAGER" or oVal == "PORTABANDIERA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 67
elseif oVal == "FOX" or oVal == "RENARD" or oVal == "ZORRO" or oVal == "FUCHS" or oVal == "VOLPE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 68
elseif oVal == "FROG" or oVal == "GRENOUILLE" or oVal == "RANA" or oVal == "FROSCH" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 69
elseif oVal == "FUNGUS" or oVal == "FONGUS" or oVal == "HONGO" or oVal == "PILZWESEN" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 70
elseif oVal == "GARGOYLE" or oVal == "GARGOUILLE" or oVal == "GARGOLA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 71
elseif oVal == "GIANT" or oVal == "" or oVal == "" or oVal == "" or oVal == "" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 72
elseif oVal == "GNOME" or oVal == "GEANT" or oVal == "GIGANTE" or oVal == "RIESE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 73
elseif oVal == "GOAT" or oVal == "CHEVRE" or oVal == "CABRA" or oVal == "ZIEGE" or oVal == "CAPRA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 74
elseif oVal == "GOBLIN" or oVal == "GOBELIN" or oVal == "TRASGO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 75
elseif oVal == "GOLEM" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 76
elseif oVal == "GORGON" or oVal == "GORGONOIDE" or oVal == "GORGONA" or oVal == "GORGO" or oVal == "GORGONE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 77
elseif oVal == "GRAVEBORN" or oVal == "NE DES TOMBES" or oVal == "CADAVER" or oVal == "LEICHE" or oVal == "FIGLIO DELLA TOMBA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 78
elseif oVal == "GREMLIN" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 79
elseif oVal == "GRIFFIN" or oVal == "GRIFFON" or oVal == "GRIFO" or oVal == "GREIF" or oVal == "GRIFONE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 80
elseif oVal == "HAG" or oVal == "MEGERE" or oVal == "SAGA" or oVal == "VETTEL" or oVal == "STREGA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 81
elseif oVal == "HARPY" or oVal == "HARPIE" or oVal == "ARPIA" or oVal == "HARPYIE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 82
elseif oVal == "HELLION" or oVal == "MONSTRUOSITE" or oVal == "INFERNAL" or oVal == "TEUFELSBRATEN" or oVal == "INFERNALE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 83
elseif oVal == "HIPPO" or oVal == "HIPPOPOTAME" or oVal == "HIPOPOTAMO" or oVal == "FLUSSPFERD" or oVal == "IPPOPOTAMO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 84
elseif oVal == "HOMARID" or oVal == "HOMARIDE" or oVal == "HOMARIDO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 85
elseif oVal == "HOMUNCULUS" or oVal == "HOMONCULE" or oVal == "HOMUNCULO" or oVal == "HOMUNKULUS" or oVal == "OMUNCOLO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 86
elseif oVal == "HORROR" or oVal == "HORREUR" or oVal == "SCHRECKEN" or oVal == "ORRORE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 87
elseif oVal == "HORSE" or oVal == "CHEVAL" or oVal == "CABALLO" or oVal == "PFERD" or oVal == "CAVALLO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 88
elseif oVal == "HOUND" or oVal == "CHIEN DE CHASSE" or oVal == "PERRO" or oVal == "HUND" or oVal == "SEGUGIO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 89
elseif oVal == "HYDRA" or oVal == "HYDRE" or oVal == "HIDRA" or oVal == "IDRA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 90
elseif oVal == "ILLUSION" or oVal == "ILUSION" or oVal == "ILLUSIONE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 91
elseif oVal == "IMP" or oVal == "DIABLOTIN" or oVal == "DIABLILLO" or oVal == "BOLD" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 92
elseif oVal == "INCARNATION" or oVal == "ENCARNACION" or oVal == "INKARNATION" or oVal == "INCARNAZIONE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 93
elseif oVal == "INSECT" or oVal == "INSECTE" or oVal == "INSECTO" or oVal == "INSEKT" or oVal == "INSETTO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 94
elseif oVal == "JELLYFISH" or oVal == "MEDUSE" or oVal == "MEDUSA" or oVal == "QUALLE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 95
elseif oVal == "JUGGERNAUT" or oVal == "DJAGGERNAUT" or oVal == "DESTRUCTOR" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 96
elseif oVal == "KAVU" or oVal == "KAVRU" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 97
elseif oVal == "KIRIN" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 98
elseif oVal == "KITHKIN" or oVal == "SANGAMI" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 99
elseif oVal == "KNIGHT" or oVal == "CHEVALIER" or oVal == "CABALLERO" or oVal == "RITTER" or oVal == "CAVALIERE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 100
elseif oVal == "KOBOLD" or oVal == "COBOLDO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 101
elseif oVal == "KOR" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 102
elseif oVal == "KRAKEN" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 103
elseif oVal == "LAMMASU" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 104
elseif oVal == "LEECH" or oVal == "SANGSUE" or oVal == "SANGUIJUELA" or oVal == "EGEL" or oVal == "SANGUISUGA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 105
elseif oVal == "LEVIATHAN" or oVal == "LEVIATÁN" or oVal == "LEVIATANO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 106
elseif oVal == "LHURGOYF" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 107
elseif oVal == "LICID" or oVal == "LITIQUE" or oVal == "LICIDO" or oVal == "ZECKE" or oVal == "LICIDE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 108
elseif oVal == "LIZARD" or oVal == "LEZARD" or oVal == "LAGARTO" or oVal == "EIDECHSE" or oVal == "LUCERTOLA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 109
elseif oVal == "MANTICORE" or oVal == "MANTICORA" or oVal == "MANTIKOR" or oVal == "MANTICORA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 110
elseif oVal == "MASTICORE" or oVal == "MASTIKOR" or oVal == "MASTICORA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 111
elseif oVal == "MERCENARY" or oVal == "MERCENAIRE" or oVal == "MERCENARIO" or oVal == "SÖLDNER" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 112
elseif oVal == "MERFOLK" or oVal == "ONDIN" or oVal == "TRITON" or oVal == "MEERVOLK" or oVal == "TRITONE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 113
elseif oVal == "METATHRAN" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 114
elseif oVal == "MINION" or oVal == "MIGNON" or oVal == "SICARIO" or oVal == "DIENER" or oVal == "SERVITORE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 115
elseif oVal == "MINOTAUR" or oVal == "MINOTAURE" or oVal == "MINOTAURO" or oVal == "MINOTAURUS" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 116
elseif oVal == "MONGER" or oVal == "NEGOCIANT" or oVal == "TRAFICANTE" or oVal == "FREIHANDLER" or oVal == "COMMERCIANTE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 117
elseif oVal == "MONGOOSE" or oVal == "MANGOUSTE" or oVal == "MANGOSTA" or oVal == "MUNGO" or oVal == "MANGUSTA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 118
elseif oVal == "MONK" or oVal == "MOINE" or oVal == "MONJE" or oVal == "MONCH" or oVal == "MONACO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 119
elseif oVal == "MOONFOLK" or oVal == "LUNAREEN" or oVal == "PUEBLO LUNAR" or oVal == "MONDVOLK" or oVal == "LUNANTROPO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 120
elseif oVal == "MUTANT" or oVal == "MUTANTE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 121
elseif oVal == "MYR" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 122
elseif oVal == "MYSTIC" or oVal == "MYSTIQUE" or oVal == "MYSTIKER" or oVal == "MISTICO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 123
elseif oVal == "NAUTILUS" or oVal == "NAUTILE" or oVal == "NAUTILO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 124
elseif oVal == "NEPHILIM" or oVal == "NEFILIM" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 125
elseif oVal == "NIGHTMARE" or oVal == "CAUCHEMAR" or oVal == "PESADILLA" or oVal == "NACHTMAHR" or oVal == "INCUBO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 126
elseif oVal == "NIGHTSTALKER" or oVal == "CHASSENUIT" or oVal == "CAZADOR NOCTURNO" or oVal == "NACHTSCHRAT" or oVal == "CACCIATORE NOTTURNO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 127
elseif oVal == "NINJA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 128
elseif oVal == "NOMAD" or oVal == "NOMADE" or oVal == "NOMADA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 129
elseif oVal == "OCTOPUS" or oVal == "PIEUVRE" or oVal == "PULPO" or oVal == "OKTOPUS" or oVal == "PIOVRA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 130
elseif oVal == "OGRE" or oVal == "OGRO" or oVal == "OGER" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 131
elseif oVal == "OOZE" or oVal == "LIMON" or oVal == "CIENO" or oVal == "SCHLAMMWESEN" or oVal == "MELMA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 132
elseif oVal == "ORB" or oVal == "ORBE" or oVal == "SPHARE" or oVal == "GLOBO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 133
elseif oVal == "ORC" or oVal == "ORQUE" or oVal == "ORCO" or oVal == "ORK" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 134
elseif oVal == "ORGG" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 135
elseif oVal == "OUPHE" or oVal == "ORPHE" or oVal == "OUFE" or oVal == "BUBOH" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 136
elseif oVal == "OX" or oVal == "BOVIDE" or oVal == "BUEY" or oVal == "OCHSE" or oVal == "BUE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 137
elseif oVal == "OYSTER" or oVal == "HUITRE" or oVal == "OSTRA" or oVal == "AUSTER" or oVal == "OSTRICA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 138
elseif oVal == "PEGASUS" or oVal == "PEGASE" or oVal == "PEGASO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 139
elseif oVal == "PENTAVITE" or oVal == "PENTAVITA" or oVal == "PENTAVIT" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 140
elseif oVal == "PEST" or oVal == "PARASITE" or oVal == "PLAGA" or oVal == "SCHADLING" or oVal == "PESTE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 141
elseif oVal == "PHELDDAGRIF" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 142
elseif oVal == "PHOENIX" or oVal == "PHENIX" or oVal == "FENIX" or oVal == "FENICE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 143
elseif oVal == "PINCHER" or oVal == "PINCEUR" or oVal == "TENAZA" or oVal == "KNEIFER" or oVal == "PUNGITORE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 144
elseif oVal == "PIRATE" or oVal == "PIRATA" or oVal == "PIRAT" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 145
elseif oVal == "PLANT" or oVal == "PLANTE" or oVal == "PLANTA" or oVal == "PFLANZE" or oVal == "PIANTA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 146
elseif oVal == "PRISM" or oVal == "PRISME" or oVal == "PRISMA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 147
elseif oVal == "RABBIT" or oVal == "LAPIN" or oVal == "CONEJO" or oVal == "KANINCHEN" or oVal == "CONIGLIO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 148
elseif oVal == "RAT" or oVal == "RATA" or oVal == "RATTE" or oVal == "RATTO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 149
elseif oVal == "REBEL" or oVal == "REBELLE" or oVal == "REBELDE" or oVal == "REBELL" or oVal == "RIBELLE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 150
elseif oVal == "REFLECTION" or oVal == "REFLET" or oVal == "REFLEJO" or oVal == "REFLEKTION" or oVal == "RIFLESSO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 151
elseif oVal == "RHINO" or oVal == "RHINOCEROS" or oVal == "RINOCERONTE" or oVal == "NASHORN" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 152
elseif oVal == "RIGGER" or oVal == "GREEUR" or oVal == "APAREJADOR" or oVal == "MECHANIKER" or oVal == "ASSEMBLATORE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 153
elseif oVal == "ROGUE" or oVal == "GREDIN" or oVal == "BRIBON" or oVal == "RAUBER" or oVal == "FARABUTTO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 154
elseif oVal == "SALAMANDER" or oVal == "SALAMANDRE" or oVal == "SALAMANDRA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 155
elseif oVal == "SAMURAI" or oVal == "SAMOURAÏ" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 156
elseif oVal == "SAND" or oVal == "SABLE" or oVal == "ARENA" or oVal == "SABBIA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 157
elseif oVal == "SAPROLING" or oVal == "SAPROBIONTE" or oVal == "SAPROLIN" or oVal == "SAPROLINGIO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 158
elseif oVal == "SATYR" or oVal == "SATYRE" or oVal == "SATIRO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 159
elseif oVal == "SCARECROW" or oVal == "EPOUVANTAIL" or oVal == "ESPANTAPAJAROS" or oVal == "VOGELSCHEUCHE" or oVal == "SPAVENTAPASSERI" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 160
elseif oVal == "SCORPION" or oVal == "ESCORPION" or oVal == "SKORPION" or oVal == "SCORPIONE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 161
elseif oVal == "SCOUT" or oVal == "ECLAIREUR" or oVal == "EXPLORADOR" or oVal == "SPAHER" or oVal == "ESPLORATORE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 162
elseif oVal == "SERF" or oVal == "SIERVO" or oVal == "LEIBEIGENER" or oVal == "SERVO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 163
elseif oVal == "SERPENT" or oVal == "SERPIENTE" or oVal == "SCHLANGE" or oVal == "SERPE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 164
elseif oVal == "SHADE" or oVal == "OMBRE" or oVal == "SOMBRA" or oVal == "SCHATTEN" or oVal == "OMBRA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 165
elseif oVal == "SHAMAN" or oVal == "SHAMANE" or oVal == "CHAMAN" or oVal == "SCHAMANE" or oVal == "SCIAMANO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 166
elseif oVal == "SHAPESHIFTER" or oVal == "CHANGEFORME" or oVal == "METAMORFO" or oVal == "GESTALTWANDLER" or oVal == "POLIMORFO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 167
elseif oVal == "SHEEP" or oVal == "MOUTON" or oVal == "OVEJA" or oVal == "SCHAF" or oVal == "PECORA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 168
elseif oVal == "SKELETON" or oVal == "SQUELETTE" or oVal == "ESQUELETO" or oVal == "SKELETT" or oVal == "SCHELETRO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 169
elseif oVal == "SLITH" or oVal == "SLIT" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 170
elseif oVal == "SLIVER" or oVal == "SLIVOIDE" or oVal == "FRAGMENTADO" or oVal == "REMASURI" or oVal == "TRAMUTANTE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 171
elseif oVal == "SLUG" or oVal == "LIMACE" or oVal == "BABOSA" or oVal == "SCHNECKE" or oVal == "LUMACA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 172
elseif oVal == "SNAKE" or oVal == "SERPENT" or oVal == "VIBORA" or oVal == "OPHIS" or oVal == "SERPENTE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 173
elseif oVal == "SOLDIER" or oVal == "SOLDAT" or oVal == "SOLDADO" or oVal == "SOLDATO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 174
elseif oVal == "SOLTARI" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 175
elseif oVal == "SPAWN" or oVal == "ENGEANCE" or oVal == "ENGENDRO" or oVal == "LAICH" or oVal == "PROGENIE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 176
elseif oVal == "SPECTER" or oVal == "SPECTRE" or oVal == "ESPECTRO" or oVal == "SPETTRO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 177
elseif oVal == "SPELLSHAPER" or oVal == "SORTISAN" or oVal == "CAMBIAHECHIZOS" or oVal == "SPRUCHWANDLER" or oVal == "MUTAMAGIA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 178
elseif oVal == "SPHINX" or oVal == "ESFINGE" or oVal == "SFINGE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 179
elseif oVal == "SPIDER" or oVal == "ARAIGNEE" or oVal == "ARANA" or oVal == "SPINNE" or oVal == "RAGNO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 180
elseif oVal == "SPIKE" or oVal == "EPIX" or oVal == "PERFORADOR" or oVal == "STACHEL" or oVal == "PUNGIGLIONE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 181
elseif oVal == "SPIRIT" or oVal == "ESPRIT" or oVal == "ESPIRITU" or oVal == "GEIST" or oVal == "SPIRITO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 182
elseif oVal == "SPLINTER" or oVal == "FRAGMENT" or oVal == "ASTILLADO" or oVal == "SPLITTER" or oVal == "SCHEGGIA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 183
elseif oVal == "SPONGE" or oVal == "EPONGE" or oVal == "ESPONJA" or oVal == "SCHWAMM" or oVal == "SPUGNA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 184
elseif oVal == "SQUID" or oVal == "CALAMAR" or oVal == "KALMAR" or oVal == "CALAMARO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 185
elseif oVal == "SQUIRREL" or oVal == "ECUREUIL" or oVal == "ARDILLA" or oVal == "EICHHORNCHEN" or oVal == "SCOIATTOLO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 186
elseif oVal == "STARFISH" or oVal == "ETOILE DE MER" or oVal == "ESTRELLA DE MAR" or oVal == "SEESTERN" or oVal == "STELLA MARINA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 187
elseif oVal == "SURVIVOR" or oVal == "SURVIVANT" or oVal == "SOBREVIVIENTE" or oVal == "UBERLEBENDER" or oVal == "SOPRAVVISSUTO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 188
elseif oVal == "TETRAVITE" or oVal == "TETRAVITA" or oVal == "TETRAVIT" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 189
elseif oVal == "THALAKOS" or oVal == "TALAKO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 190
elseif oVal == "THOPTER" or oVal == "MECANOPTERE" or oVal == "TOPTERO" or oVal == "TOTTERO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 191
elseif oVal == "THRULL" or oVal == "SRANE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 192
elseif oVal == "TREEFOLK" or oVal == "SYLVIN" or oVal == "PUEBLO ARBOREO" or oVal == "BAUMHIRTE" or oVal == "SILVANTROPO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 193
elseif oVal == "TRISKELAVITE" or oVal == "TRISQUELAVITA" or oVal == "TRISKELAVIT" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 194
elseif oVal == "TROLL" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 195
elseif oVal == "TURTLE" or oVal == "TORTUE" or oVal == "TORTUGA" or oVal == "SCHILDKROTE" or oVal == "TARTARUGA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 196
elseif oVal == "UNICORN" or oVal == "LICORNE" or oVal == "UNICORNIO" or oVal == "EINHORN" or oVal == "UNICORNO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 197
elseif oVal == "VAMPIRE" or oVal == "VAMPIRO" or oVal == "VAMPIR" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 198
elseif oVal == "VEDALKEN" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 199
elseif oVal == "VIASHINO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 200
elseif oVal == "VOLVER" or oVal == "EVOLIEN" or oVal == "MODULON" or oVal == "VOLVERO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 201
elseif oVal == "WALL" or oVal == "MUR" or oVal == "MURO" or oVal == "MAUER" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 202
elseif oVal == "WARRIOR" or oVal == "GUERRIER" or oVal == "GUERRERO" or oVal == "KRIEGER" or oVal == "GUERRIERO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 203
elseif oVal == "WEIRD" or oVal == "ANOMALIE" or oVal == "EXTRANO" or oVal == "SELTSAMKEIT" or oVal == "BIZZARRIA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 204
elseif oVal == "WHALE" or oVal == "BALEINE" or oVal == "BALLENA" or oVal == "WAL" or oVal == "BALENA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 205
elseif oVal == "WIZARD" or oVal == "SORCIER" or oVal == "HECHICERO" or oVal == "ZAUBERER" or oVal == "MAGO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 206
elseif oVal == "WOLF" or oVal == "LOUP" or oVal == "LOBO" or oVal == "LUPO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 207
elseif oVal == "WOLVERINE" or oVal == "GLOUTON" or oVal == "GLOTON" or oVal == "VIELFRAB" or oVal == "GHIOTTONE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 208
elseif oVal == "WOMBAT" or oVal == "VOMBATO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 209
elseif oVal == "WORM" or oVal == "VER" or oVal == "GUSANO" or oVal == "WURMCHEN" or oVal == "VERME" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 210
elseif oVal == "WRAITH" or oVal == "APPARITION" or oVal == "APARICION" or oVal == "NECROSPETTRO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 211
elseif oVal == "WURM" or oVal == "GUIVRE" or oVal == "SIERPE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 212
elseif oVal == "YETI" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 213
elseif oVal == "ZOMBIE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 214
elseif oVal == "ZUBERA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 215
elseif oVal == "ALLY" or oVal == "ALLIE" or oVal == "ALIADO" or oVal == "VERBUNDETER" or oVal == "ALLEATO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 216
elseif oVal == "TRAP" or oVal == "PIEGE" or oVal == "TRAMPA" or oVal == "FALLE" or oVal == "TRAPPOLA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 217
elseif oVal == "ELDRAZI" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 218
elseif oVal == "PRAETOR" or oVal == "MAGISTRADO" or oVal == "PRATOREN" or oVal == "PRETORE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 219
elseif oVal == "WEREWOLF" or oVal == "LOUP GAROU" or oVal == "LICANTROPO" or oVal == "MANNARO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 220
elseif oVal == "SURRAKAR" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 221
elseif oVal == "GERM" or oVal == "GERME" or oVal == "GERMEN" or oVal == "KEIM" or oVal == "MICROBO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 222
elseif oVal == "HIPPOGRIFF" or oVal == "HIPPOGRIFFE" or oVal == "HIPOGRIFO" or oVal == "HIPPOGRYPH" or oVal == "IPPOGRIFO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 223
elseif oVal == "SIREN" or oVal == "SIRENE" or oVal == "SIRENA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 224
elseif oVal == "TOWNSFOLK" or oVal == "CITADIN" or oVal == "ALDEANO" or oVal == "STADTBEWOHNER" or oVal == "CITTADINI" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 225
elseif oVal == "HYENA" or oVal == "HYENE" or oVal == "HIENA" or oVal == "HYANE" or oVal == "IENA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 226
elseif oVal == "NOGGLE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 227
elseif oVal == "GOD" or oVal == "DIEU" or oVal == "DEIDAD" or oVal == "GOTT" or oVal == "DIO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 228
elseif oVal == "NYMPH" or oVal == "NYMPHE" or oVal == "NINFA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 229
elseif oVal == "SABLE" or oVal == "ZIBELINE" or oVal == "MARTA" or oVal == "ZOBEL" or oVal == "ZIBELLINO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 230
elseif oVal == "DIVINITY" or oVal == "DIVINITE" or oVal == "DIVINIDAD" or oVal == "GOTTLICHKEIT" or oVal == "DIVINITA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 231
elseif oVal == "DEMIGOD" or oVal == "DEMIDIEU" or oVal == "SEMIDIOS" or oVal == "HALBGOTT" or oVal == "SEMIDIO" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 232
elseif oVal == "MINOR DIVINITY" or oVal == "DIVINITE MINEURE" or oVal == "MENOR DEIDAD" or oVal == "KLEINERE GOTTHEIT" or oVal == "DIVINITA MINORE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 233
elseif oVal == "EAGLE" or oVal == "AIGLE" or oVal == "AGUILA" or oVal == "ADLER" or oVal == "AQUILA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 234
elseif oVal == "AMAZON" or oVal == "AMAZONAS" or oVal == "AMAZZONE" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 235
elseif oVal == "QUEEN" or oVal == "REINE" or oVal == "REINA" or oVal == "KONIGIN" or oVal == "REGINA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 236
elseif oVal == "STATUE" or oVal == "ESTATUA" or oVal == "STATUA" then
oString = SIZE_OF_TYPE_BAND * CARD_TYPE_CREATURE + 237
end
if oString > 999 and oString < 1238 then
return oString
else
return 0
end
end
- XENOGRAFT_227544.zip
- Card XML + TDX + LoL function file
- (500 KiB) Downloaded 230 times
Hey guys would be appreciated to know your opinion
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by Misplay » 18 Dec 2013, 00:19
So, I thank both you!!NeoAnderson wrote:Final card Skeletal Scrying collaboration with Sumomole
Re: Formal Request Thread
by Deadpoolmtg » 18 Dec 2013, 01:15
Missed some important cards for some decks, it is possible to code them?(If yes, could someone do it?) Strange someone not having coded them yet...
Spellweaver Helix
Forbidden Orchard
Tinder Wall
Propaganda
Ghostly Prison(found one whith cmc 1...)
Desperate Ritual
No need to hurry
Spellweaver Helix
Forbidden Orchard
Tinder Wall
Propaganda
Ghostly Prison(found one whith cmc 1...)
Desperate Ritual
No need to hurry
-
Deadpoolmtg - Posts: 12
- Joined: 02 Jul 2013, 17:25
- Has thanked: 28 times
- Been thanked: 0 time
Re: Formal Request Thread
by Orangewaggs » 19 Dec 2013, 00:04
Hey guys amazing work you do here I have a few requests if I may
Norin the Wary
Burning Inquiry
Gift of Orzhova
If it's possible Genesis Chamber
Megrim
Putrid Leech
Any of the Merfolk not already made
Thank you
Norin the Wary
Burning Inquiry
Gift of Orzhova
If it's possible Genesis Chamber
Megrim
Putrid Leech
Any of the Merfolk not already made
Thank you
-
Orangewaggs - Posts: 17
- Joined: 18 Dec 2013, 23:39
- Has thanked: 8 times
- Been thanked: 0 time
Re: Formal Request Thread
by NeoAnderson » 19 Dec 2013, 02:57
I started to code Spellweaver Helix , this card did drive me crazy.Deadpoolmtg wrote:Missed some important cards for some decks, it is possible to code them?(If yes, could someone do it?) Strange someone not having coded them yet...
Spellweaver Helix
Forbidden Orchard
Tinder Wall
Propaganda
Ghostly Prison(found one whith cmc 1...)
Desperate Ritual
No need to hurry
I have made it but i still have some doubts about how it is supposed to work, i would receive the opinion of other modders like Riiak, TheFiremind, Mc Brodie, Sumomole...
The point to focus are :
1. When i decide to make a copy of the sorcery, the copy must be played during the copy or is stored and can be played later?
2. If the copy is stored the copies are cumulative? I mean until i play it i can make other copies then play them when i decide to do it ?
I also encountered some problem while i made the code :
I was supposing the copy and playing at the same time, and the game crashed many times, finally i found the problem this card exile sorceries, and when we are playing the opponent turn these card cannot be normally played.
This issue make me crazy because i was thinking there were problems with the trigger SPELL_PLAYED, the game was crashing without any log so i had to make a lot of different trials.
Anyway I made it work supposing the follow :
1. You can decide if Exile or not the sorceries when it come into battlefield.
2. You can decide to copy or not the sorcery B when a spell with the same name of the sorcery A is played.
2B. You can decide to copy or not the sorcery A when a spell with the same name of the sorcery B is played.
3. The copy is stored and you can play it into any of your turns, using the the corresponding activable ability on the main card.
4. The copies are cumulative, so until you don't play it you can copy again the same spell, and it will add a new copy to play.
5. If you play the copy it doesn't activate the trigger. Otherwise the card can endlessly loop.
- Spellweaver Helix | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="SPELLWEAVER_HELIX_48047" />
<CARDNAME text="SPELLWEAVER_HELIX" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Spellweaver Helix]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Hélice tisse-sort]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Hélice tejehechizos]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Spruchweber-Spirale]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Spirale Tessimagie]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[呪文織りのらせん]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Spellweaver Helix]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Spellweaver Helix]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Hélice Tece-Mágicas]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="48047" />
<ARTID value="48047" />
<ARTIST name="Luca Zontini" />
<CASTING_COST cost="{3}" />
<TYPE metaname="Artifact" />
<EXPANSION value="MRD" />
<RARITY metaname="R" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Imprint — When Spellweaver Helix enters the battlefield, you may exile two target sorcery cards from a single graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Empreinte Quand l’Hélice tisse-sort arrive en jeu, vous pouvez retirer de la partie deux cartes de rituel ciblées dans un même cimetière.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Estampa Cuando la Hélice tejehechizos entre en juego, puedes remover del juego dos cartas de conjuro objetivo de un único cementerio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Einprägen Wenn die Spruchweber-Spirale ins Spiel kommt, kannst du zwei Hexereikarten deiner Wahl aus einem einzigen Friedhof ganz aus dem Spiel entfernen.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Imprimere — Quando la Spirale Tessimagie entra nel campo di battaglia, puoi esiliare due carte stregoneria bersaglio da un singolo cimitero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[刻印 ― 呪文織りの螺旋が場に出たとき、あなたはいずれか1つの墓地にあるソーサリー・カード2枚を対象とする。あなたはそれらをゲームから取り除いてもよい。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Imprint — When Spellweaver Helix enters the battlefield, you may exile two target sorcery cards from a single graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Imprint — When Spellweaver Helix enters the battlefield, you may exile two target sorcery cards from a single graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Estampar Quando Hélice Tece-Mágicas entra em jogo, você pode remover de jogo dois cards alvo de feitiço de um único cemitério.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<RESOLUTION_TIME_ACTION>
local num_Players = MTG():GetNumberOfPlayers()
for i = 0, (num_Players-1) do
local oTPlayer = MTG():GetNthPlayer(i)
if oTPlayer ~= nil then
local filter = ClearFilter()
filter:SetZone( ZONE_GRAVEYARD, oTPlayer)
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_SORCERY )
local num_of_sorceries = filter:Count()
if num_of_sorceries > 1 then
EffectDC():Set_Int(10+i, 2)
end
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
local subfilter = filter:AddSubFilter_Or()
local num_Players = MTG():GetNumberOfPlayers()
local j = 0
for i = 0, (num_Players-1) do
if EffectDC():Get_Int(10+i) > 1 then
subfilter:Add( FE_PLAYER_INSTANCE, OP_IS, MTG():GetNthPlayer(i) )
j = j + 1
end
end
if j > 0 then
local player = EffectController()
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_EXILE_TWO_SORCERIES" )
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NOT_EXILE_TWO_SORCERIES" )
player:AskMultipleChoiceQuestion( "CARD_QUERY_EXILE_TWO_SORCERIES", Object() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local result = EffectController():GetMultipleChoiceResult()
if result == 0 then
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
local subfilter = filter:AddSubFilter_Or()
local num_Players = MTG():GetNumberOfPlayers()
local j = 0
for i = 0, (num_Players-1) do
if EffectDC():Get_Int(10+i) > 1 then
subfilter:Add( FE_PLAYER_INSTANCE, OP_IS, MTG():GetNthPlayer(i) )
j = j + 1
end
end
if j > 0 then
EffectController():SetItemCount( 1 )
for i = 0,(1-1) do
EffectController():SetItemPrompt (i, "CARD_QUERY_CHOOSE_PLAYER" )
end
EffectController():ChooseItems( EffectDC():Make_Targets(1) )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local oTPlayer = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_PlayerPtr(0)
if oTPlayer ~= nil then
local filter = ClearFilter()
filter:SetZone( ZONE_GRAVEYARD, oTPlayer)
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_SORCERY )
EffectController():SetItemCount( 2 )
for i = 0,(2-1) do
EffectController():SetItemPrompt (i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
end
EffectController():ChooseItems( EffectDC():Make_Targets(2) )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local firstcard = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_CardPtr(0)
local secondcard = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_CardPtr(1)
if firstcard ~= nil then
EffectDC():Get_Targets(2):Protect_CardPtr(0)
firstcard:Exile()
end
if secondcard ~= nil then
EffectDC():Get_Targets(2):Protect_CardPtr(1)
secondcard:Exile()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local firstcard = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_CardPtr(0)
local secondcard = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_CardPtr(1)
local source = EffectSource()
local oDC = RSN_ObjectDC()
if firstcard ~= nil then
oDC:Set_CardPtr( 0, firstcard )
oDC:Protect_CardPtr(0)
firstcard:NailOnto(source)
end
if secondcard ~= nil then
oDC:Set_CardPtr(1, secondcard)
oDC:Protect_CardPtr(1)
secondcard:NailOnto(source)
end
oDC:Int_Set(10, 1)
oDC:Int_Set(11, 0)
oDC:Int_Set(12, 0)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever a player casts a card, if it has the same name as one of the cards exiled with Spellweaver Helix, you may copy the other. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois qu’une carte est jouée, si elle a le même nom qu’une des cartes dont l’Hélice tisse-sort a l’empreinte, vous pouvez copier l’autre et en jouer la copie sans payer son coût de mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que se juegue una carta, si tiene el mismo nombre que una de las cartas de conjuro estampadas, puedes copiar la otra y jugar la copia sin pagar su coste de maná.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn eine Karte gespielt wird, die denselben Namen wie eine der eingeprägten Hexereikarten hat, kannst du die andere Karte kopieren und die Kopie spielen, ohne ihre Manakosten zu bezahlen.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta viene lanciata una carta, se ha lo stesso nome di una delle due carte esiliate con la Spirale Tessimagie, puoi copiare l’altra. Se lo fai, puoi lanciare la copia senza pagare il suo costo di mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[いずれかのカードがプレイされるたび、それが刻印されているいずれかのソーサリー・カードと同じ名前を持つ場合、あなたはもう一方をコピーし、マナ・コストを支払わずにプレイしてもよい。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever a player casts a card, if it has the same name as one of the cards exiled with Spellweaver Helix, you may copy the other. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever a player casts a card, if it has the same name as one of the cards exiled with Spellweaver Helix, you may copy the other. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que um card for jogado, se ele tiver o mesmo nome que um dos cards de feitiço estampados, você pode copiar o outro e jogar a cópia sem pagar seu custo de mana.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED" simple_qualifier="another">
local oDC = RSN_ObjectDC()
local firstcard = oDC:Get_CardPtr(0)
local secondcard = oDC:Get_CardPtr(1)
if TriggerObject():GetCardName() == firstcard:GetCardName() then
oDC:Int_Set(13, 2)
return true
elseif TriggerObject():GetCardName() == secondcard:GetCardName() then
oDC:Int_Set(13, 1)
return true
end
return false
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local oDC = RSN_ObjectDC()
local card = EffectSource()
if oDC:Int_Get(10) == 1 then
local player = EffectController()
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_MAKE_SORCERY_COPY" )
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NOT_MAKE_SORCERY_COPY" )
player:AskMultipleChoiceQuestion( "CARD_QUERY_COPY_OTHER_IMPRINTED_SORCERY", card )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local oDC = RSN_ObjectDC()
if oDC:Int_Get(10) == 1 then
local result = EffectController():GetMultipleChoiceResult()
if result == 0 then
if oDC:Int_Get(13) == 1 then
local oVal = oDC:Int_Get(11)
oVal = oVal + 1
oDC:Int_Set(11, oVal)
else
local oVal = oDC:Int_Get(12)
oVal = oVal + 1
oDC:Int_Set(12, oVal)
end
end
else
oDC:Int_Set(10, 1)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Cast a copy of an exiled sorcery.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Lancer une copie d'une sorcellerie en exil.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Lanzar una copia de una hechicería exiliada]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[werfen eine Kopie eines Exil-Zauberei.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Lancia una copia di una stregoneria esiliata.]]></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[lançou uma cópia de uma feitiçaria exilada.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[施放放逐巫術的副本。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[施放放逐巫術的副本。]]></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<AVAILABILITY sorcery_time="1" />
<AVAILABILITY>
local oDC = RSN_ObjectDC()
if oDC:Int_Get(11) > 0 or oDC:Int_Get(12) > 0 then
return true
else
return false
end
</AVAILABILITY>
<RESOLUTION_TIME_ACTION>
local oDC = RSN_ObjectDC()
local firstcard = oDC:Get_CardPtr(0)
local secondcard = oDC:Get_CardPtr(1)
local Aname = firstcard:GetCardName()
local Bname = secondcard:GetCardName()
local oPlayer = EffectController()
local source = EffectSource()
oPlayer:BeginNewMultipleChoice()
oPlayer:AddMultipleChoiceAnswer( Aname, (oDC:Int_Get(11) > 0) )
oPlayer:AddMultipleChoiceAnswer( Bname, (oDC:Int_Get(12) > 0) )
oPlayer:AskMultipleChoiceQuestion( "CARD_QUERY_CHOOSE_SPELL_TO_COPY", source )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local oDC = RSN_ObjectDC()
oDC:Int_Set(10, 0)
local result = EffectController():GetMultipleChoiceResult()
if result == 0 then
local card = oDC:Get_CardPtr(0)
local copy = EffectController():CopySpell(card)
if EffectController():CanCastSpellForFree(copy) then
EffectController():CastSpellForFree( copy )
local oVal = oDC:Int_Get(11)
oVal = oVal - 1
oDC:Int_Set(11, oVal)
end
else
local card = oDC:Get_CardPtr(1)
local copy = EffectController():CopySpell(card)
if EffectController():CanCastSpellForFree(copy) then
EffectController():CastSpellForFree( copy )
local oVal = oDC:Int_Get(12)
oVal = oVal - 1
oDC:Int_Set(12, oVal)
end
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
</CARD_V2>
- SPELLWEAVER_HELIX_48047.zip
- Card XML + TDX + CARD_UI_TEXT.XML
- (573.66 KiB) Downloaded 215 times
IMPORTANT INFORMATIONS
The download zip file include a CARD_UI_TEXT.XML this file is needed for queries translation.
Copy it into DATA_DLC_DECK_BUILDER_CUSTOM\DATA_ALL_PLATFORMS\TEXT_PERMANENT folder.
If you already have a file with the same name you can rename this one adding a number at end Example : CARD_UI_TEXT.XML to CARD_UI_TEXT2.XML
This card to work properly needs Riiak RSN_Object function installed.
You can download it here :
- Riiak RSN_Object function | Open
- http://mtg.dragonanime.org/index.php?title=DotP_2014:_ObjectDC_Functions#Download
Here there is the second requested card Forbidden Orchard.
This card is made using Riiak Mana Functions
- Riiak Manual Mana Functions | Open
- http://mtg.dragonanime.org/index.php?title=DotP_2014:_Manual_Mana_Functions
- Forbidden Orchard | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="FORBIDDEN_ORCHARD_282541" />
<CARDNAME text="FORBIDDEN_ORCHARD" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Forbidden Orchard]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Cerisaie interdite]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Huerto prohibido ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Verbotener Obstgarten]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Frutteto Proibito]]></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[Pomar Proibido]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="282541" />
<ARTID value="282541" />
<ARTIST name="Daniel Ljunggren" />
<CASTING_COST cost="" />
<TYPE metaname="Land" />
<EXPANSION value="V12" />
<RARITY metaname="M" />
<ACTIVATED_ABILITY forced_skip="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add one mana of any color to your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez un mana de la couleur de votre choix à votre réserve.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega un maná de cualquier color a tu reserva de maná.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um ein Mana einer beliebigen Farbe.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi un mana di un qualsiasi colore alla tua riserva di mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに、好きな色1色のマナ1点を加える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: 당신의 마나풀에 원하는 색의 마나 한 개를 담는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте одну ману любого цвета в ваше хранилище маны.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione um mana de qualquer cor à sua reserva de mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加一点任意颜色的法术力到你的法术力池中。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:加一點任意顏色的魔法力到你的魔法力池中。]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
local oPlayer = EffectController()
local oCard = EffectSource()
if (oPlayer ~= nil) then
oPlayer:BeginNewMultipleChoice()
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_W" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_U" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_B" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_R" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_G" )
oPlayer:AskMultipleChoiceQuestion( "MODE_CHOOSE_ONE", oCard )
end
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local nColour = EffectController():GetMultipleChoiceResult() + 1
if (nColour == COLOUR_BLACK) then
RSN_Produce( "{B}", 1 )
elseif (nColour == COLOUR_BLUE) then
RSN_Produce( "{U}", 1 )
elseif (nColour == COLOUR_GREEN) then
RSN_Produce( "{G}", 1 )
elseif (nColour == COLOUR_RED) then
RSN_Produce( "{R}", 1 )
elseif (nColour == COLOUR_WHITE) then
RSN_Produce( "{W}", 1 )
end
</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( "{B}{G}{R}{U}{W}" )
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="8">
local nDefaultColour = COLOUR_GREEN
local oCard = EffectSource()
if (RSN_CheckSwitchToFallback( oCard )) then
local nColour = RSN_GetLastProducedColour()
local oCharacteristics = oCard:GetCurrentCharacteristics()
if (nColour ~= COLOUR_COLOURLESS) then
oCharacteristics:GrantAbility( nColour )
else
oCharacteristics:GrantAbility( nDefaultColour )
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="2">
<COST type="TapSelf" />
<PRODUCES amount="{U}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="3">
<COST type="TapSelf" />
<PRODUCES amount="{B}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="4">
<COST type="TapSelf" />
<PRODUCES amount="{R}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="5">
<COST type="TapSelf" />
<PRODUCES amount="{G}" />
</MANA_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you tap Forbidden Orchard for mana, target opponent puts a 1/1 colorless Spirit creature token onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous engagez la Cerisaie interdite pour du mana, mettez en jeu un jeton de créature 1/1 incolore Esprit sous le contrôle de l'adversaire ciblé.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que gires el Huerto prohibido para obtener maná, pon en juego bajo el control del oponente objetivo una ficha de criatura Espíritu incolora 1/1.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn du den Verbotenen Obstgarten für Mana tappst, bringe einen 1/1 farblosen Geistspielstein unter der Kontrolle eines Gegners deiner Wahl ins Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta TAPpi il Frutteto Proibito per attingere mana, metti in gioco una pedina creatura Spirito 1/1 incolore sotto il controllo di un avversario bersaglio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたが禁忌の果樹園をマナを引き出す目的でタップするたび、対戦相手1人を対象とする。無色の1/1のスピリット・クリーチャー・トークンを1体、そのプレイヤーのコントロール下で場に出す。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신이 마나가 금지 오차드을 누르 때마다, 목표 상대는 전장에 1 / 1 무색의 정신 생물 토큰을 넣습니다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Всякий раз, когда вы нажмете Запретный Фруктовый сад для маны, целевой оппонент ставит одну фишку существа 1/1 бесцветный Spirit на поле битвы.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que você virar Pomar Proibido para gerar mana, coloque em jogo uma ficha de criatura incolor 1/1 do tipo Espírito sob o controle do oponente alvo.]]></LOCALISED_TEXT>
<TRIGGER value="BECAME_TAPPED_FOR_MANA" simple_qualifier="self" />
<TARGET tag="CARD_QUERY_CHOOSE_PLAYER_LOSE_2" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
MTG():PutTokensOntoBattlefield( "TOKEN_SPIRIT_1_1_7282901", 1, target_player )
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="TOKEN_SPIRIT_1_1_7282901" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_G" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_R" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_U" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_W" />
</CARD_V2>
- FORBIDDEN_ORCHARD_282541.zip
- Card XML + TDX + TOKEN XML and TDX.XML
- (874.5 KiB) Downloaded 232 times
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by NeoAnderson » 19 Dec 2013, 13:54
Another requested card Tinder Wall:Deadpoolmtg wrote:Missed some important cards for some decks, it is possible to code them?(If yes, could someone do it?) Strange someone not having coded them yet...
Spellweaver Helix
Forbidden Orchard
Tinder Wall
Propaganda
Ghostly Prison(found one whith cmc 1...)
Desperate Ritual
No need to hurry
- Tinder Wall | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="TINDER_WALL_184678" />
<CARDNAME text="TINDER_WALL" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Tinder Wall]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Mur d'amadou]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Muro de leña]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Zundermauer]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Muro Infiammabile]]></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[Barreira de Pinheiros]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="184678" />
<ARTID value="184678" />
<ARTIST name="Rick Emond" />
<CASTING_COST cost="{G}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Plant" />
<SUB_TYPE metaname="Wall" />
<EXPANSION value="ME2" />
<RARITY metaname="C" />
<POWER value="0" />
<TOUGHNESS value="3" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Defender]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Défenseur]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Defensor.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Verteidiger]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Difensore]]></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[Defensor]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_DEFENDER" />
</STATIC_ABILITY>
<ACTIVATED_ABILITY forced_skip="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sacrifice Tinder Wall: Add {R}{R} to your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sacrifiez le Mur d'amadou: Ajoutez {R} {R} à votre réserve de mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sacrificar Muro de leña: Agrega {R} {R} a tu reserva de maná.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Opfere die Zundermauer: Erhöhe deinen Manavorrat um {R}{R}.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sacrifica il Muro Infiammabile: Aggiungi {R}{R} alla tua riserva di mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[火口壁を生け贄に捧げる:あなたのマナ·プールに{R}{R}を加える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[부싯깃 벽을 희생한다 : 당신의 마나 풀에 {R} {R}를 추가합니다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Жертвоприношение трут Уолл: Добавить {R} {R} в ваше хранилище маны.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sacrificar Barreira de Pinheiros: Adicione {R} {R} à sua reserva de mana.]]></LOCALISED_TEXT>
<COST type="SacrificeSelf" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_Produce( "{R}", 2 )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_EliminateExtraManaTokens()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
S_DisplayManaPool(EffectController())
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>
<TRIGGERED_ABILITY linked_ability_group="1" forced_skip="1">
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
LinkedDC():Int_Set(1001, 0)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY linked_ability_group="1" forced_skip="1" active_zone="ZONE_ANY">
<TRIGGER value="BLOCKS_A_CREATURE" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_ANY" />
<RESOLUTION_TIME_ACTION>
local card = SecondaryObject()
if card ~= nil then
LinkedDC():Set_CardPtr( 1000, card )
LinkedDC():Protect_CardPtr(1000)
LinkedDC():Int_Set(1001, 1)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY linked_ability_group="1" forced_skip="1">
<TRIGGER value="BEGINNING_OF_STEP">
local oVal = LinkedDC():Int_Get(1001)
local source = EffectSource()
if MTG():GetStep() == STEP_END_OF_COMBAT and oVal == 1 and source ~= nil then
LinkedDC():Int_Set(1001, 0)
return true
else
return false
end
</TRIGGER>
</TRIGGERED_ABILITY>
<ACTIVATED_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{R}, Sacrifice Tinder Wall: Tinder Wall deals 2 damage to target creature it’s blocking.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{R}, Sacrifiez le Mur d'amadou: le Mur d'amadou inflige 2 blessures à une cible, créature qu'il bloque.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{R}, Sacrificar Muro de leña: Muro de leña have 2 puntos de daño a la criatura que está bloqueando objetivo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{R}, Sacrifice Zundermauer: Zundermauer 2 Schadens einer Kreatur sie blockt Ziel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{R}, Sacrifica il Muro Infiammabile: Il Muro Infiammabile infligge 2 danni alla creatura bersaglio che esso sta bloccando.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{R}, 火口壁を生け贄に捧げる:火口壁、それがブロックしているクリーチャー1体を対象とし、2点のダメージを与える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{R}, 부싯깃 벽을 희생 : 부싯깃 벽이 막고 생물을 대상으로 2 데미지.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{R}, Жертвоприношение трут Уолл: Трут Уолл наносит 2 повреждения целевому существу это блокирующий.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{R}, Sacrificar Barreira de Pinheiros: Barreira de Pinheiros 2 pontos de dano à criatura alvo que está bloqueando.]]></LOCALISED_TEXT>
<COST type="Mana" mana_cost="{R}" />
<COST type="generic">
<PREREQUISITE>
return true
</PREREQUISITE>
<RESOLUTION_TIME_ACTION>
local oVal = LinkedDC():Int_Get(1001)
if oVal == 1 and Object() ~= nil then
LinkedDC():Int_Set(1001, 0)
local card = LinkedDC():Get_CardPtr(1000)
if card ~= nil then
EffectDC():Set_CardPtr( 1, card )
EffectDC():Protect_CardPtr(1)
end
end
</RESOLUTION_TIME_ACTION>
</COST>
<COST type="SacrificeSelf" />
<RESOLUTION_TIME_ACTION>
local card = EffectDC():Get_CardPtr(1)
if card ~= nil then
EffectSourceLKI():DealDamageTo(2, card)
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_R" />
<HELP title="MORE_INFO_BADGE_TITLE_6" body="MORE_INFO_BADGE_BODY_6" zone="ZONE_ANY" />
<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>
- TINDER_WALL_184678.zip
- Card Xml + Tdx
- (599.04 KiB) Downloaded 220 times
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by MC Brodie » 19 Dec 2013, 14:40
I don't think the copy is stored and played later. The gatherer text says if you don't want to cast the copy the copy will cease to exist the next time state based actions are checked. See the bottom of this link. Another interesting thing to note is if you imprint 2 copies of the same card, Spellweaver Helix only triggers once.
If you are having problems casting the card after you copy it I'd suggest to look at the cipher ability if you haven't yet. It seems very similar. There are a handful of cipher cards in the vanilla game.
http://gatherer.wizards.com/Pages/Card/ ... seid=48047
If you are having problems casting the card after you copy it I'd suggest to look at the cipher ability if you haven't yet. It seems very similar. There are a handful of cipher cards in the vanilla game.
http://gatherer.wizards.com/Pages/Card/ ... seid=48047
-----------------------------------------------------------------------
Song of the Day: 46 and 2 (cover)
Song of the Day: 46 and 2 (cover)
Re: Formal Request Thread
by NeoAnderson » 19 Dec 2013, 14:58
Thanks a lot my friend for useful link.MC Brodie wrote:I don't think the copy is stored and played later. The gatherer text says if you don't want to cast the copy the copy will cease to exist the next time state based actions are checked. See the bottom of this link. Another interesting thing to note is if you imprint 2 copies of the same card, Spellweaver Helix only triggers once.
If you are having problems casting the card after you copy it I'd suggest to look at the cipher ability if you haven't yet. It seems very similar. There are a handful of cipher cards in the vanilla game.
http://gatherer.wizards.com/Pages/Card/ ... seid=48047
Now it is more clear, also if i think it will be more complex to code.
Cipher cards can't help, because that effect is applied on creature you control, and when they deal damage you activate the effect, and thi happen during your turn.
I will try some tests now to see what i can do to make it compliant to Mtg Rules, any help will be appreciated
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by MC Brodie » 19 Dec 2013, 15:59
Does the "can cast for free" function check game phases? The cipher code might work. I think most if not all cipher cards are at sorcery speed. When the cipher ability triggers it should be during the combat phase after damage not main phase 2. I'd consider at least trying the cipher code with this pseudo code for the trigger:
Edit - I just looked at your trigger and saw its what I posted . That should work unless I'm badly mistaken. Also, does a LinkedDC work in this case or does that not work for imprint?
Edit - Thanks sumo I wasn't even thinking about those other checks I'm the trigger.
- Code: Select all
trigger on spell cast
If spellcast == ImprintA then
return true
elseif spellcast == ImprintB then
return true
end
return false
Edit - I just looked at your trigger and saw its what I posted . That should work unless I'm badly mistaken. Also, does a LinkedDC work in this case or does that not work for imprint?
Edit - Thanks sumo I wasn't even thinking about those other checks I'm the trigger.
Last edited by MC Brodie on 19 Dec 2013, 16:23, edited 4 times in total.
-----------------------------------------------------------------------
Song of the Day: 46 and 2 (cover)
Song of the Day: 46 and 2 (cover)
Re: Formal Request Thread
by sumomole » 19 Dec 2013, 16:08
This card is simpler than you think.NeoAnderson wrote:Now it is more clear, also if i think it will be more complex to code.
Cipher cards can't help, because that effect is applied on creature you control, and when they deal damage you activate the effect, and thi happen during your turn.
I will try some tests now to see what i can do to make it compliant to Mtg Rules, any help will be appreciated
For the first ability, first you need to choose targets, the target's zone is graveyard, type is sorcery and count is 2. Second, when the ability resolves you need to exile these two target cards, before exile you also need to use LinkedDC to store them, just like Oblivion Ring.
For the second ability, first it has three trigger conditions: the spell must be a card, rather than a copy; there must be two sorcery cards are exiled by Spellweaver Helix, rather than one or not; and the spell has the same name as one of the cards exiled with Spellweaver Helix. Second, when the ability resolves you need to check the number of the cards exiled again, if less than two, nothing will happen, then if the spell has the same name as one of them, another card will be able to be copied and cast, cipher ability will tell you how to copy a card and cast the copy, finally don't forget the "may", although there are two "may", but in the game, you just need to code once.
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Formal Request Thread
by NeoAnderson » 19 Dec 2013, 16:56
Thanks my friend for the suggestion, as you said also my trigger condition make one copy because it return true before to check the second card.MC Brodie wrote:Does the "can cast for free" function check game phases? The cipher code might work. I think most if not all cipher cards are at sorcery speed. When the cipher ability triggers it should be during the combat phase after damage not main phase 2. I'd consider at least trying the cipher code with this pseudo code for the trigger:With this trigger it should copy only once if the two imprints are the same. Then use similar code for the "copy the card" part by replacing the return true with the copy code. (you could reduce the trigger down to one return line but i used the if statement to illustrate a way to do the copy code).
- Code: Select all
trigger on spell cast
If spellcast == ImprintA then
return true
elseif spellcast == ImprintB then
return true
end
return false
Edit - I just looked at your trigger and saw its what I posted . That should work unless I'm badly mistaken. Also, does a LinkedDC work in this case or does that not work for imprint?
Edit - Thanks sumo I wasn't even thinking about those other checks I'm the trigger.
About the problem to cast a sorcery while is not your turn i resolved, just granting FLASH into the same resolution block to the copy before cast it.
I would also point that May conditions are 3 :sumomole wrote:This card is simpler than you think.NeoAnderson wrote:Now it is more clear, also if i think it will be more complex to code.
Cipher cards can't help, because that effect is applied on creature you control, and when they deal damage you activate the effect, and thi happen during your turn.
I will try some tests now to see what i can do to make it compliant to Mtg Rules, any help will be appreciated
For the first ability, first you need to choose targets, the target's zone is graveyard, type is sorcery and count is 2. Second, when the ability resolves you need to exile these two target cards, before exile you also need to use LinkedDC to store them, just like Oblivion Ring.
For the second ability, first it has three trigger conditions: the spell must be a card, rather than a copy; there must be two sorcery cards are exiled by Spellweaver Helix, rather than one or not; and the spell has the same name as one of the cards exiled with Spellweaver Helix. Second, when the ability resolves you need to check the number of the cards exiled again, if less than two, nothing will happen, then if the spell has the same name as one of them, another card will be able to be copied and cast, cipher ability will tell you how to copy a card and cast the copy, finally don't forget the "may", although there are two "may", but in the game, you just need to code once.
a. When it enter onto battlefield "you may exile 2 sorceries from a single graveyard"
b. When a spell with same name of exile sorceries is played you may make a copy"
c. You may cast the copy for free
Are all needed because you can also decide to make a copy but without cast it. I know i useless but the card say so.
I have revised my card Sumomole could you test it and let me know if it could be ok?
This version is made with Riiak RSN_ObjectDC function, it's a long story but when i was making the card for the first time i started with LinkedDC as i have seen from other imprint card examples..but i eancountered crashes of the game without log (lately i have understand the problem was cause when i cast a sorcery copy during opponent turn), so i tried many different changes but finally when i understand where the problem was i have already turned it to RSN_Objects..so be patient.
Compliant to these rules :
1. If the two imprinted sorcery cards have the same name and a card with that name is cast, only one copy is created, not two.
2. Spellweaver Helix's second ability creates a copy of the imprinted card in the Exile zone (that's where the imprinted sorcery card is), then allows you to cast it without paying its mana cost.
3. You cast the copy while this ability is resolving, and still on the stack. Normally, you're not allowed to cat spells or activate abilities at this time. Spellweaver Helix's ability breaks this rule. (The card that triggered this ability is also still on the stack.)
4. If you don't want to cast the copy, you can choose not to; the copy ceases to exist the next time state-based actions are checked.
5. The creation of the copy and then the casting of the copy are both optional.
- Spellweaver Helix revised | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="SPELLWEAVER_HELIX_48047" />
<CARDNAME text="SPELLWEAVER_HELIX" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Spellweaver Helix]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Hélice tisse-sort]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Hélice tejehechizos]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Spruchweber-Spirale]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Spirale Tessimagie]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[呪文織りのらせん]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Spellweaver Helix]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Spellweaver Helix]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Hélice Tece-Mágicas]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="48047" />
<ARTID value="48047" />
<ARTIST name="Luca Zontini" />
<CASTING_COST cost="{3}" />
<TYPE metaname="Artifact" />
<EXPANSION value="MRD" />
<RARITY metaname="R" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Imprint — When Spellweaver Helix enters the battlefield, you may exile two target sorcery cards from a single graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Empreinte Quand l’Hélice tisse-sort arrive en jeu, vous pouvez retirer de la partie deux cartes de rituel ciblées dans un même cimetière.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Estampa Cuando la Hélice tejehechizos entre en juego, puedes remover del juego dos cartas de conjuro objetivo de un único cementerio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Einprägen Wenn die Spruchweber-Spirale ins Spiel kommt, kannst du zwei Hexereikarten deiner Wahl aus einem einzigen Friedhof ganz aus dem Spiel entfernen.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Imprimere — Quando la Spirale Tessimagie entra nel campo di battaglia, puoi esiliare due carte stregoneria bersaglio da un singolo cimitero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[刻印 ― 呪文織りの螺旋が場に出たとき、あなたはいずれか1つの墓地にあるソーサリー・カード2枚を対象とする。あなたはそれらをゲームから取り除いてもよい。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Imprint — When Spellweaver Helix enters the battlefield, you may exile two target sorcery cards from a single graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Imprint — When Spellweaver Helix enters the battlefield, you may exile two target sorcery cards from a single graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Estampar Quando Hélice Tece-Mágicas entra em jogo, você pode remover de jogo dois cards alvo de feitiço de um único cemitério.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<RESOLUTION_TIME_ACTION>
local num_Players = MTG():GetNumberOfPlayers()
for i = 0, (num_Players-1) do
local oTPlayer = MTG():GetNthPlayer(i)
if oTPlayer ~= nil then
local filter = ClearFilter()
filter:SetZone( ZONE_GRAVEYARD, oTPlayer)
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_SORCERY )
local num_of_sorceries = filter:Count()
if num_of_sorceries > 1 then
EffectDC():Set_Int(10+i, 2)
end
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
local subfilter = filter:AddSubFilter_Or()
local num_Players = MTG():GetNumberOfPlayers()
local j = 0
for i = 0, (num_Players-1) do
if EffectDC():Get_Int(10+i) > 1 then
subfilter:Add( FE_PLAYER_INSTANCE, OP_IS, MTG():GetNthPlayer(i) )
j = j + 1
end
end
if j > 0 then
local player = EffectController()
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_EXILE_TWO_SORCERIES" )
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NOT_EXILE_TWO_SORCERIES" )
player:AskMultipleChoiceQuestion( "CARD_QUERY_EXILE_TWO_SORCERIES", Object() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local result = EffectController():GetMultipleChoiceResult()
if result == 0 then
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
local subfilter = filter:AddSubFilter_Or()
local num_Players = MTG():GetNumberOfPlayers()
local j = 0
for i = 0, (num_Players-1) do
if EffectDC():Get_Int(10+i) > 1 then
subfilter:Add( FE_PLAYER_INSTANCE, OP_IS, MTG():GetNthPlayer(i) )
j = j + 1
end
end
if j > 0 then
EffectController():SetItemCount( 1 )
for i = 0,(1-1) do
EffectController():SetItemPrompt (i, "CARD_QUERY_CHOOSE_PLAYER" )
end
EffectController():ChooseItems( EffectDC():Make_Targets(1) )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local oTPlayer = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_PlayerPtr(0)
if oTPlayer ~= nil then
local filter = ClearFilter()
filter:SetZone( ZONE_GRAVEYARD, oTPlayer)
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_SORCERY )
EffectController():SetItemCount( 2 )
for i = 0,(2-1) do
EffectController():SetItemPrompt (i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
end
EffectController():ChooseItems( EffectDC():Make_Targets(2) )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local firstcard = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_CardPtr(0)
local secondcard = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_CardPtr(1)
if firstcard ~= nil then
EffectDC():Get_Targets(2):Protect_CardPtr(0)
firstcard:Exile()
end
if secondcard ~= nil then
EffectDC():Get_Targets(2):Protect_CardPtr(1)
secondcard:Exile()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local firstcard = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_CardPtr(0)
local secondcard = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_CardPtr(1)
local source = EffectSource()
local oDC = RSN_ObjectDC()
if firstcard ~= nil then
oDC:Set_CardPtr( 0, firstcard )
oDC:Protect_CardPtr(0)
firstcard:NailOnto(source)
end
if secondcard ~= nil then
oDC:Set_CardPtr(1, secondcard)
oDC:Protect_CardPtr(1)
secondcard:NailOnto(source)
end
oDC:Int_Set(10, 1)
oDC:Int_Set(11, 0)
oDC:Int_Set(12, 0)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever a player casts a card, if it has the same name as one of the cards exiled with Spellweaver Helix, you may copy the other. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois qu’une carte est jouée, si elle a le même nom qu’une des cartes dont l’Hélice tisse-sort a l’empreinte, vous pouvez copier l’autre et en jouer la copie sans payer son coût de mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que se juegue una carta, si tiene el mismo nombre que una de las cartas de conjuro estampadas, puedes copiar la otra y jugar la copia sin pagar su coste de maná.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn eine Karte gespielt wird, die denselben Namen wie eine der eingeprägten Hexereikarten hat, kannst du die andere Karte kopieren und die Kopie spielen, ohne ihre Manakosten zu bezahlen.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta viene lanciata una carta, se ha lo stesso nome di una delle due carte esiliate con la Spirale Tessimagie, puoi copiare l’altra. Se lo fai, puoi lanciare la copia senza pagare il suo costo di mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[いずれかのカードがプレイされるたび、それが刻印されているいずれかのソーサリー・カードと同じ名前を持つ場合、あなたはもう一方をコピーし、マナ・コストを支払わずにプレイしてもよい。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever a player casts a card, if it has the same name as one of the cards exiled with Spellweaver Helix, you may copy the other. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever a player casts a card, if it has the same name as one of the cards exiled with Spellweaver Helix, you may copy the other. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que um card for jogado, se ele tiver o mesmo nome que um dos cards de feitiço estampados, você pode copiar o outro e jogar a cópia sem pagar seu custo de mana.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED" simple_qualifier="another">
local oDC = RSN_ObjectDC()
local firstcard = oDC:Get_CardPtr(0)
local secondcard = oDC:Get_CardPtr(1)
if TriggerObject():GetCardName() == firstcard:GetCardName() then
oDC:Int_Set(13, 2)
return true
elseif TriggerObject():GetCardName() == secondcard:GetCardName() then
oDC:Int_Set(13, 1)
return true
end
return false
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local oDC = RSN_ObjectDC()
local card = EffectSource()
if oDC:Int_Get(10) == 1 then
local player = EffectController()
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_MAKE_SORCERY_COPY" )
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NOT_MAKE_SORCERY_COPY" )
player:AskMultipleChoiceQuestion( "CARD_QUERY_COPY_OTHER_IMPRINTED_SORCERY", card )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local oDC = RSN_ObjectDC()
if oDC:Int_Get(10) == 1 then
local result = EffectController():GetMultipleChoiceResult()
if result == 0 then
local delayDC = EffectDC():Make_Chest(4)
delayDC:Set_CardPtr(10, TriggerObject())
delayDC:Protect_CardPtr(10)
MTG():CreateDelayedTrigger(1, delayDC)
if oDC:Int_Get(13) == 1 then
oDC:Int_Set(11, 1)
else
oDC:Int_Set(12, 1)
end
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local oDC = RSN_ObjectDC()
if oDC:Int_Get(10) == 1 then
if oDC:Int_Get(11) > 0 then
local firstcard = oDC:Get_CardPtr(0)
local Aname = firstcard:GetCardName()
local oPlayer = EffectController()
local source = EffectSource()
oPlayer:BeginNewMultipleChoice()
oPlayer:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_CAST_COPY_FOR_FREE" )
oPlayer:AddMultipleChoiceAnswer( "CARD_QUERY__NEO_OPTION_DO_NOTHING" )
oPlayer:AskMultipleChoiceQuestion( Aname, source )
elseif oDC:Int_Get(12) > 0 then
local secondcard = oDC:Get_CardPtr(1)
local Bname = secondcard:GetCardName()
local oPlayer = EffectController()
local source = EffectSource()
oPlayer:BeginNewMultipleChoice()
oPlayer:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_CAST_COPY_FOR_FREE" )
oPlayer:AddMultipleChoiceAnswer( "CARD_QUERY__NEO_OPTION_DO_NOTHING" )
oPlayer:AskMultipleChoiceQuestion( Bname, source )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local oDC = RSN_ObjectDC()
if oDC:Int_Get(10) == 1 then
local result = EffectController():GetMultipleChoiceResult()
if result == 0 then
oDC:Int_Set(10, 0)
if oDC:Int_Get(11) > 0 then
local card = oDC:Get_CardPtr(0)
local copy = EffectController():CopySpell(card)
local characteristics = copy:GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLASH, 1 )
if EffectController():CanCastSpellForFree(copy) then
EffectController():CastSpellForFree( copy )
oDC:Int_Set(11, 0)
end
elseif oDC:Int_Get(12) > 0 then
local card = oDC:Get_CardPtr(1)
local copy = EffectController():CopySpell(card)
local characteristics = copy:GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLASH, 1 )
if EffectController():CanCastSpellForFree(copy) then
EffectController():CastSpellForFree( copy )
oDC:Int_Set(12, 0)
end
end
end
else
oDC:Int_Set(10, 1)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY resource_id="1">
<TRIGGER value="SPELL_RESOLVED">
local oDC = RSN_ObjectDC()
if TriggerObject() == EffectDC():Get_CardPtr(10) then
oDC:Int_Set(11, 0)
oDC:Int_Set(12, 0)
return true
end
return false
</TRIGGER>
<CLEANUP fire_once="1" />
</TRIGGERED_ABILITY>
</CARD_V2>
- SPELLWEAVER_HELIX_48047 REVISED.zip
- Card XML + TDX + CARD_UI_TEXT.XML
- (573.84 KiB) Downloaded 183 times
IMPORTANT INFORMATIONS
The download zip file include a CARD_UI_TEXT.XML this file is needed for queries translation.
Copy it into DATA_DLC_DECK_BUILDER_CUSTOM\DATA_ALL_PLATFORMS\TEXT_PERMANENT folder.
If you already have a file with the same name you can rename this one adding a number at end Example : CARD_UI_TEXT.XML to CARD_UI_TEXT2.XML
This card to work properly needs Riiak RSN_Object function installed.
You can download it here :
- Riiak RSN_Object function | Open
- http://mtg.dragonanime.org/index.php?title=DotP_2014:_ObjectDC_Functions#Download
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by sumomole » 19 Dec 2013, 17:20
I just want to say it is really too looong!NeoAnderson wrote:I have revised my card Sumomole could you test it and let me know if it could be ok?
1. your first ability has no target, and you only need to choose two cards from graveyard, don't need to choose a player.
2. in 2014 "may "is a specific code, you don't need use multiple choice.
3. CastSpellForFree can cast a spell at any time, it would have been cast to ignore the timing, so CHARACTERISTIC_FLASH is redundant.
4. I'm sure LinkedDC not be a problem, so you don't need RSN_ObjectDC.
5. the trigger condition of the second ability isn't complete, you can look at what I wrote above.
I try to code it, here is my version.
- untested | Open
- Code: Select all
<TRIGGERED_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[|Imprint| — When Spellweaver Helix enters the battlefield, you may exile two target sorcery cards from a single graveyard.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_EXILE" definition="0" compartment="0" count="2" />
<MAY />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetZone( ZONE_GRAVEYARD )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_SORCERY )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local targetDC = EffectDC():Get_Targets(0)
if targetDC ~= nil then
local number = targetDC:Count()
for i = 0,(number-1) do
local target = targetDC:Get_CardPtr(i)
if target ~= nil then
target:Exile()
local count_so_far = LinkedDC():Get_Int(0)
LinkedDC():Set_CardPtr(1 + count_so_far, target)
LinkedDC():Set_Int(0, count_so_far + 1)
end
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
local count_so_far = LinkedDC():Get_Int(0)
if source ~= nil and count_so_far > 0 then
for i = 1,(count_so_far) do
local target = LinkedDC():Get_CardPtr(i)
if target ~= nil then
target:NailOnto(source)
end
end
end
</RESOLUTION_TIME_ACTION>
<AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_NEUTRAL" />
<AUTO_SKIP no_effect_source="1" />
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever a player casts a card, if it has the same name as one of the cards exiled with Spellweaver Helix, you may copy the other. If you do, you may cast the copy without paying its mana cost.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED">
local first_card = LinkedDC():Get_CardPtr(1)
local second_card = LinkedDC():Get_CardPtr(2)
if first_card ~= nil and second_card ~= nil and TriggerObject():IsToken() == false and TriggerObject():WasCast() then
if TriggerObject():GetCardName() == first_card:GetCardName() or TriggerObject():GetCardName() == second_card:GetCardName() then
return true
end
end
return false
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local first_card = LinkedDC():Get_CardPtr(1)
local second_card = LinkedDC():Get_CardPtr(2)
if first_card ~= nil and second_card ~= nil then
if TriggerObjectLKI():GetCardName() == first_card:GetCardName() then
local copy = EffectController():CopySpell( second_card )
if EffectController():CanCastSpellForFree(copy) then
EffectController():CastSpellForFree(copy)
end
elseif TriggerObjectLKI():GetCardName() == second_card:GetCardName() then
local copy = EffectController():CopySpell( first_card )
if EffectController():CanCastSpellForFree(copy) then
EffectController():CastSpellForFree(copy)
end
end
end
</RESOLUTION_TIME_ACTION>
<MAY always_prompt="1" />
<AUTO_SKIP>
return LinkedDC():Get_CardPtr(1) == nil or LinkedDC():Get_CardPtr(2) == nil
</AUTO_SKIP>
</TRIGGERED_ABILITY>
yes, and b&c in the second ability, so you can only code once, I don't think code twice has any help to the game. if I am wrong, please tell me.NeoAnderson wrote:I would also point that May conditions are 3 :
a. When it enter onto battlefield "you may exile 2 sorceries from a single graveyard"
b. When a spell with same name of exile sorceries is played you may make a copy"
c. You may cast the copy for free
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Formal Request Thread
by NeoAnderson » 19 Dec 2013, 17:54
Ahahha I know sometimes my mind follow its weird pathssumomole wrote:I just want to say it is really too looong!
Anyway i would answer to you point by point :
I made it in this way because we need that the cards exiled are in the same graveyard, so i thought to check before which graveyard are suitable for this condition.sumomole wrote:1. your first ability has no target, and you only need to choose two cards from graveyard, don't need to choose a player.
Are you sure that simply using Target definition with items_count=2 and with Set Zone Graveyard the target will be picked from the same graveyard??
I know about May into Dotp 2014 but honestly i still don't understand how is supposed to work, does it automatically show a question? because into many cards i tried May condition seem simply skipped without letting you choose!sumomole wrote:2. in 2014 "may "is a specific code, you don't need use multiple choice.
As i said to MC Brodie this is my solution to a problem i have encountered, if i tried to copy a sorcery during opponents turn the game was crashing, now i don't know if this issue is only for me or not! but when i checked for other cards with imprint already coded i only find some example with instants, or other abilities played during your turn.sumomole wrote:3. CastSpellForFree can cast a spell at any time, it would have been cast to ignore the timing, so CHARACTERISTIC_FLASH is redundant.
As i said before i know the problem is not linkedDC, but now i have already coded the card and i should have to change it again please forgive my laziness.sumomole wrote:4. I'm sure LinkedDC not be a problem, so you don't need RSN_ObjectDC.
Probably i forget to add nil check for both cards during the trigger, about WasCast() have you tried it with 2014? I tried to usesumomole wrote:5. the trigger condition of the second ability isn't complete, you can look at what I wrote above.
I try to code it, here is my version.
with another card sometime ago but the game doesn't recognize it.
About IsToken function i was not sure if it could be used for spell cast with Copyspell now i know
NeoAnderson wrote:I would also point that May conditions are 3 :
a. When it enter onto battlefield "you may exile 2 sorceries from a single graveyard"
b. When a spell with same name of exile sorceries is played you may make a copy"
c. You may cast the copy for free
Honestly I agree with you but i just tried to keep the MTG rules for this card.sumomole wrote:yes, and b&c in the second ability, so you can only code once, I don't think code twice has any help to the game. if I am wrong, please tell me.
If you don't want to cast the copy, you can choose not to; the copy ceases to exist the next time state-based actions are checked. This rule is reported on gather.wizard.com.
There is also another issue with your code :
The card should not trigger when i cast the copy but this is not true if another player use a card to cast copies.
As you wrote the card will not trigger if the spell is a copy. But the text just say if a card with the same name, so it doesn't say Non-Token card or not copied-Card.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by sumomole » 19 Dec 2013, 18:14
yes, but is count, not items_count.NeoAnderson wrote:Are you sure that simply using Target definition with items_count=2 and with Set Zone Graveyard the target will be picked from the same graveyard??
You should note that in two abilities I used different code for "may" effect, the second one has always_prompt="1", there is "always use optional abilities" in game settings, if it is turned on, "may" effect defaults to yes, that is the situation you encounter, if you add always_prompt="1", it will always prompt you.NeoAnderson wrote:I know about May into Dotp 2014 but honestly i still don't understand how is supposed to work, does it automatically show a question? because into many cards i tried May condition seem simply skipped without letting you choose!
"Whenever a player casts a card", copy is not a card, you must distinguish between spell and card, just spell include copy.NeoAnderson wrote:The card should not trigger when i cast the copy but this is not true if another player use a card to cast copies.
As you wrote the card will not trigger if the spell is a copy. But the text just say if a card with the same name, so it doesn't say Non-Token card or not copied-Card.
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Formal Request Thread
by NeoAnderson » 19 Dec 2013, 18:25
Thanks a lot for these explanations. Are really useful for me, as you can see i am not a programmer and this is my first Dotp Editing adventuresumomole wrote:yes, but is count, not items_count.NeoAnderson wrote:Are you sure that simply using Target definition with items_count=2 and with Set Zone Graveyard the target will be picked from the same graveyard??You should note that in two abilities I used different code for "may" effect, the second one has always_prompt="1", there is "always use optional abilities" in game settings, if it is turned on, "may" effect defaults to yes, that is the situation you encounter, if you add always_prompt="1", it will always prompt you.NeoAnderson wrote:I know about May into Dotp 2014 but honestly i still don't understand how is supposed to work, does it automatically show a question? because into many cards i tried May condition seem simply skipped without letting you choose!"Whenever a player casts a card", copy is not a card.NeoAnderson wrote:The card should not trigger when i cast the copy but this is not true if another player use a card to cast copies.
As you wrote the card will not trigger if the spell is a copy. But the text just say if a card with the same name, so it doesn't say Non-Token card or not copied-Card.
I can confirm to you that your code works, i just tried it. Ok i can add this experience for future cards coding
Just one last thing.
Could you try my Xenograft version i have made the function about name a creature type we talked last time. I would know what you think about it.
You can find it into these topic I really would know what you think. Also you Mc Brodie, Riiak, and TheFireMind, check it and let me know if you think could be useful or not.
UPDATE : One thing Sumomole, I disabled "always use optional abilities" in game settings, now it works, thanks but, the card when enters into battlefield, ask the targets selection and when you made it, it asks if you want to use the ability.
It is a little bit weird , i also tried to move the May tag before of the target tag but it is the same. Targets are evaluated first.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Who is online
Users browsing this forum: No registered users and 33 guests