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 sumomole » 19 Dec 2013, 18:48
This is indeed a feasible solution, but I don't like it, because I can't remember so many types.NeoAnderson wrote: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.

And AI certainly don't like this method because it's poor English.



I see "1. You don't have to look the kinds into decks just type one valid kind.", if you are for this reason, you can remove the sort part from my functions, so it will always display the default order, you will not derive the deck information. But again, AI will not be able to make good choices, so you need to write additional code for AI.
Yes, it's rule, target must be selected at ability plays, and "may" is decided at the time the ability resolves.NeoAnderson wrote: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.
Last edited by sumomole on 19 Dec 2013, 18:55, edited 1 time in total.
-
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:52
I know that it is needed to Implement the code for the AI choice, otherwise i can spend some of my time to teach him to writesumomole wrote:This is indeed a feasible solution, but I don't like it, because I can't remember so many types.NeoAnderson wrote: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.![]()
And AI certainly don't like this method because it's poor English.![]()
![]()
![]()
I see "1. You don't have to look the kinds into decks just type one valid kind.", if you are for this reason, you can remove the sort part from my functions, so it will always display the default order, you will not derive the deck information. But again, AI will not be able to make good choices, so you need to write additional code for AI.

I just made it because i had this idea and i would try if it was doable.
Have you any suggestion how to implement the AI selection?
Honestly until now i have worked few times for the AI implementation so i am not so prepared about it.
About your function as i told last time, i don't make it to replace your amazing work, i know that it can be used also without retrieve informations from the deck, i was just trying a different way.
You know what? Sometimes from weird ideas someone can take the starting point to make new interesting things.
- 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, 23:04
About your request :Orangewaggs wrote: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
Gift of Orzhova
Genesis Chamber + Myr Token
Putrid Leech
these tre cards are already coded by BloodReyvyn
You can find them into is mod here : http://www.slightlymagic.net/forum/viewtopic.php?f=109&t=11060
Or if you want i have extracted just these cards + token from his mod. You can download them here :
BloodReyvyn cards.zip
- 3 Cards + 1 Myr Token XML + TDX
- (2.48 MiB) Downloaded 255 times
I have coded the other cards :
- Norin the Wary | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="NORIN_THE_WARY_113512" />
<CARDNAME text="NORIN_THE_WARY" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Norin the Wary]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Norin le circonspect]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Norin el Precavido]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Norin der Vorsichtige]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Norin il Diffidente]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[二の足踏みのノリン]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Norin the Wary]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Норин Осторожный]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Norin, o Cauteloso]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="113512" />
<ARTID value="113512" />
<ARTIST name="Heather Hudson" />
<CASTING_COST cost="{R}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“I have a bad feeling about this.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« J’ai un mauvais pressentiment. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Tengo un mal presentimiento.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Das gefällt mir irgendwie nicht.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Ho una brutta sensazione riguardo a questo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[こいつは嫌な予感がするな。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“I have a bad feeling about this.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«У меня плохие предчувствия».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Tive um pressentimento ruim sobre isso.”]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Human" />
<SUB_TYPE metaname="Warrior" />
<EXPANSION value="TSP" />
<RARITY metaname="R" />
<POWER value="2" />
<TOUGHNESS value="1" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When a player casts a spell or a creature attacks, exile Norin the Wary. Return it to the battlefield under its owner’s control at the beginning of the next end step.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Quand un joueur joue un sort ou qu’une créature attaque, retirez Norin le circonspect de la partie. Renvoyez-le en jeu sous le contrôle de son propriétaire à la fin du tour.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando un jugador juegue un hechizo o una criatura ataque, remueve del juego a Norin el Precavido. Regrésalo al juego bajo el control de su propietario al final del turno.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn ein Spieler einen Zauberspruch spielt oder eine Kreatur angreift, entferne Norin den Vorsichtigen ganz aus dem Spiel. Bringe ihn am Ende des Zuges unter der Kontrolle seines Besitzers ins Spiel zurück.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando un giocatore lancia una magia o una creatura attacca, esilia Norin il Diffidente. Rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio all’inizio della prossima sottofase finale.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[いずれかのプレイヤーが呪文をプレイするかクリーチャーが攻撃したとき、二の足踏みのノリンをゲームから取り除く。 ターン終了時に、それをオーナーのコントロール下で場に戻す。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[When a player casts a spell or a creature attacks, exile Norin the Wary. Return it to the battlefield under its owner’s control at the beginning of the next end step.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда игрок играет заклинание или существо атакует, уберите Норина, Осторожного из игры. Верните его в игру под контролем владельца в конце хода.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando um jogador jogar uma mágica ou uma criatura atacar, remova Norin, o Cauteloso, do jogo. Devolva-o para o jogo, sob o controle de seu dono, no final do turno.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED" />
<TRIGGER value="ATTACKING" />
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Exile()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_CardPtr(1, source)
MTG():CreateDelayedTrigger(1, delayDC)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY resource_id="1" >
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_END_OF_TURN
</TRIGGER>
<CLEANUP fire_once="1" />
<RESOLUTION_TIME_ACTION>
local card = EffectDC():Get_CardPtr(1)
if card ~= nil then
card:PutOntoBattlefield( card:GetOwner() )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
NORIN_THE_WARY_113512.zip
- Card Xml + Tdx
- (548.02 KiB) Downloaded 244 times
- Burning Inquiry | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="BURNING_INQUIRY_191096" />
<CARDNAME text="BURNING_INQUIRY" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Burning Inquiry]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Requête brûlante]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pesquisa ardiente]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Brennende Frage]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Indagine Scottante]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[燃え立つ調査]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Burning Inquiry]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Горящий Вопрос]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Inquisição Ardente]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="191096" />
<ARTID value="191096" />
<ARTIST name="Zoltan Boros & Gabor Szikszai" />
<CASTING_COST cost="{R}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Jariad burned the midnight oil, burned through scroll after scroll, and then burned down his laboratory.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Jariad savait qu’il fallait se brûler les doigts pour apprendre, mais de là à incendier ses parchemins et son laboratoire...]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Jariad se quemó las pestañas, quemó un pergamino tras otro, y luego quemó su laboratorio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Jariad arbeitete bis spät in die Nacht und kämpfte sich durch eine Schriftrolle nach der anderen, bis sein Kopf qualmte.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Jariad bruciò tutto l’olio durante la notte, bruciò pergamena dopo pergamena e poi incenerì il suo laboratorio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ジャリアドは夜を徹して情熱を燃やし、巻物を次々と燃やし、ついには研究所を燃やし尽くしてしまった。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Jariad burned the midnight oil, burned through scroll after scroll, and then burned down his laboratory.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Джариад был в таком запале, что сжег дотла свою лабораторию.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Jariad queimou tanto as pestanas, passando de pergaminho a pergaminho, que a ardência de sua busca incendiou seu laboratório.]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Sorcery" />
<EXPANSION value="M10" />
<RARITY metaname="C" />
<SPELL_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Each player draws three cards, then discards three cards at random.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Chaque joueur pioche trois cartes, puis se défausse de trois cartes au hasard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cada jugador roba tres cartas, luego descarta tres cartas al azar.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Jeder Spieler zieht drei Karten und wirft dann drei zufällig bestimmte Karten aus seiner Hand ab.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogni giocatore pesca tre carte, poi scarta tre carte a caso.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[各プレイヤーはカードを3枚引き、その後カードを3枚無作為に選んで捨てる。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Each player draws three cards, then discards three cards at random.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый игрок берет три карты, затем сбрасывает три случайно выбранные карты.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Cada jogador compra três cards e descarta três cards aleatórios.]]></LOCALISED_TEXT>
<RESOLUTION_TIME_ACTION>
for i=0,MTG():GetNumberOfPlayers()-1 do
local nthPlayer = MTG():GetNthPlayer(i)
if nthPlayer ~= nil then
nthPlayer:DrawCards(3)
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
for i=0,MTG():GetNumberOfPlayers()-1 do
local nthPlayer = MTG():GetNthPlayer(i)
if nthPlayer ~= nil then
for i=0,2 do
nthPlayer:DiscardRandomCard()
end
end
end
</RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
</CARD_V2>
BURNING_INQUIRY_191096.zip
- Card Xml + Tdx
- (597.32 KiB) Downloaded 248 times
- Megrim | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="MEGRIM_189904" />
<CARDNAME text="MEGRIM" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Megrim]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Céphalalgie]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Jaqueca]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Schwermut]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Emicrania]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[偏頭痛]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Megrim]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Мигрень]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enxaqueca]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="189904" />
<ARTID value="189904" />
<ARTIST name="Nick Percival" />
<CASTING_COST cost="{2}{B}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“It’s a vicious circle. Stress breeds pain. Pain breeds stress. It’s simply beautiful, wouldn’t you agree?”
—Vradeen, vampire nocturnus]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« C’est un cercle vicieux. Le stress engendre la souffrance. La souffrance engendre le stress. N’est-ce pas tout simplement merveilleux ? »
—Vradeen, nocturnus vampire]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Es un círculo vicioso. El cansancio da dolor. El dolor da cansancio. Es hermoso, ¿no lo crees?”
—Vradeen, nócturnus vampiro]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Es ist ein Teufelskreis. Stress verursacht Schmerz. Schmerz verursacht Stress. Einfach schön, findest du nicht auch?”
—Vradeen, Vampir der Nacht]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“È un circolo vizioso. Lo stress genera dolore. Il dolore genera stress. È semplicemente bello, non sei d’accordo?”
—Vradeen, vampiro notturno]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「それは悪循環よ。 緊張は苦痛を生む。 苦痛は緊張を生む。 単純で美しいとは思わぬか、のう?」
――吸血鬼の夜侯、ヴラディーン]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“It’s a vicious circle. Stress breeds pain. Pain breeds stress. It’s simply beautiful, wouldn’t you agree?”
—Vradeen, vampire nocturnus]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«Это порочный круг. Стресс порождает боль. Боль порождает стресс. Это же так прекрасно, не правда ли?»
— Врадин, вампир-ноктурнус]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“É um círculo vicioso. A tensão resulta em dor. A dor resulta em tensão. É maravilhoso, você não acha?”
—Vradeen, vampiro noturno]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Enchantment" />
<EXPANSION value="M10" />
<RARITY metaname="U" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever an opponent discards a card, Megrim deals 2 damage to that player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois qu’un adversaire se défausse d’une carte, la Céphalalgie lui inflige 2 blessures.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que un oponente descarte una carta, la Jaqueca hace 2 puntos de daño a ese jugador.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn ein Gegner eine Karte abwirft, fügt Schwermut diesem Spieler 2 Schadenspunkte zu.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta un avversario scarta una carta, l’Emicrania infligge 2 danni a quel giocatore.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[いずれかの対戦相手がカードを1枚捨てるたび、偏頭痛はそのプレイヤーに2点のダメージを与える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever an opponent discards a card, Megrim deals 2 damage to that player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда оппонент сбрасывает карту, Мигрень наносит тому игроку 2 повреждения.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que um oponente descarta um card, Enxaqueca causa 2 pontos de dano àquele jogador.]]></LOCALISED_TEXT>
<TRIGGER value="DISCARD">
return TriggerObject():GetPlayer():GetTeam() ~= EffectController():GetTeam()
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local oPlayer = TriggerObjectLKI():GetPlayer()
if oPlayer ~= nil then
EffectSourceLKI():DealDamageTo(2, oPlayer)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
</CARD_V2>
MEGRIM_189904.zip
- Card Xml + Tdx
- (506.09 KiB) Downloaded 280 times
About your merfolk request please be more specific so i can check if that cards are already coded or not, and also check if is possible to code.
Last edited by NeoAnderson on 19 Dec 2013, 23:52, edited 1 time in total.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by Orangewaggs » 19 Dec 2013, 23:21
I found the Merfolk so there is no worry for that as for the other files how do i go about installing them?
-
Orangewaggs - Posts: 17
- Joined: 18 Dec 2013, 23:39
- Has thanked: 8 times
- Been thanked: 0 time
Re: Formal Request Thread
by NeoAnderson » 20 Dec 2013, 00:08
My suggestion is to install Riiak Deck Builder tool, so you can edit and customize your decks.Orangewaggs wrote:I found the Merfolk so there is no worry for that as for the other files how do i go about installing them?
Just a basic info to start :
If you install the program.
After started the tool, go to Tools then to Options.
In the options the first row is the directory of the game, be sure it is the same where you have installed Duels of Planeswalkers.
Close the options.
Go Again on Tools.
And push Set up Custom data Folder.
This action will create some directories into Duels of the Planeswalkers main folder.
You will find :
Folder : DATA_DLC_DECK_BUILDER_CUSTOM
SubFolder : DATA_ALL_PLATFORMS
Subfolders :
AI_PERSONALITIES
ART_ASSETS ( subfolder ILLUSTRATIONS)
CARDS
FUNCTIONS
SPECS
TEXT_PERMANENT
Ok for the moment you are interested about subfolders CARDS and ART_ASSETS\ILLUSTRATIONS
Copy the card XML file into CARDS folder.
Copy the Tdx file into ART_ASSETS\ILLUSTRATIONS folder.
Done.
Obviously if you don't have any deck with these cards the game will not show them.
To make custom deck i suggest to you to look riiak deck builder topic.
You can find it here : http://www.slightlymagic.net/forum/viewtopic.php?f=99&t=10999
If you have trouble with this procedure you can alternative download this core file.
I made it including all cards you have requested.
Just copy the Wad core file into main Duels of Planeswalker folder.
Same as before you have to add these cards into a custom deck to play with them.
Data_DLC_570_Core.zip
- All requested 7 cards
- (4.13 MiB) Downloaded 247 times
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by NeoAnderson » 20 Dec 2013, 09:36
Hi my friends
I have a question i am coding a card but i have an issue.
The card shold have this effect.(The card is real not new card but an old vintage card)
: deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.
So the steps are :
1. First Targetting a Player or a creature. And this is ok.
2. Second Select the Opponent who will replay the damage.
3. Third the opponent have to choose a Target player or creature.
Now I made the card to work but for the 3 point i am not able to use target functions.
I mean i tried to use SetTargetCount(1), SetTargetPrompt and ChooseTargets but it doesn't work always receive a scriptlog refering to a nil value.
Replacing these functions with SetItemCount(1), SetItemPrompt and ChooseItems it works.
The code is :
I have a question i am coding a card but i have an issue.
The card shold have this effect.(The card is real not new card but an old vintage card)

So the steps are :
1. First Targetting a Player or a creature. And this is ok.
2. Second Select the Opponent who will replay the damage.
3. Third the opponent have to choose a Target player or creature.
Now I made the card to work but for the 3 point i am not able to use target functions.
I mean i tried to use SetTargetCount(1), SetTargetPrompt and ChooseTargets but it doesn't work always receive a scriptlog refering to a nil value.
Replacing these functions with SetItemCount(1), SetItemPrompt and ChooseItems it works.
The code is :
- Code: Select all
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<TARGET tag="CARD_QUERY_CHOOSE_DEAL_1_DAMAGE" definition="0" compartment="0" count="1" />
<TARGET tag="CARD_QUERY_CHOOSE_PLAYER" definition="1" compartment="1" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetFilterType(FILTER_TYPE_CARDS + FILTER_TYPE_PLAYERS)
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
</TARGET_DEFINITION>
<TARGET_DEFINITION id="1">
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS)
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
</TARGET_DEFINITION>
<PLAY_TIME_ACTION>
local opponent_player = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_PlayerPtr(0)
if opponent_player ~= nil then
local oVal = 1
local filter = ClearFilter()
filter:SetFilterType(FILTER_TYPE_CARDS + FILTER_TYPE_PLAYERS)
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
opponent_player:SetItemCount( oVal )
for i=0, 1-1 do
opponent_player:SetItemPrompt( i, "CARD_QUERY_CHOOSE_DEAL_1_DAMAGE" )
end
opponent_player:ChooseItems( EffectDC():Make_Targets(2) )
end
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target_creature = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
local target_player = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_PlayerPtr(0)
local target_creatureB = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_CardPtr(0)
local target_playerB = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_PlayerPtr(0)
if target_creature ~= nil then
EffectSourceLKI():DealDamageTo(1, target_creature)
elseif target_player ~= nil then
EffectSourceLKI():DealDamageTo(1, target_player)
end
if target_creatureB ~= nil then
EffectSourceLKI():DealDamageTo(1, target_creatureB)
elseif target_playerB ~= nil then
EffectSourceLKI():DealDamageTo(1, target_playerB)
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by sumomole » 20 Dec 2013, 10:01
Cuombajj Witches?NeoAnderson wrote:Hi my friends
I have a question i am coding a card but i have an issue.
The card shold have this effect.(The card is real not new card but an old vintage card): deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.
You can think of it as two parts, two separate abilities, the first almost like Shock, the second target selection requires two steps, you can refer to Evangelize, I assume you have all the official card files.
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Formal Request Thread
by NeoAnderson » 20 Dec 2013, 10:36
Yes my friend is that card i am coding Arabian Nights set. Just for fun.sumomole wrote:Cuombajj Witches?NeoAnderson wrote:Hi my friends
I have a question i am coding a card but i have an issue.
The card shold have this effect.(The card is real not new card but an old vintage card): deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.
You can think of it as two parts, two separate abilities, the first almost like Shock, the second target selection requires two steps, you can refer to Evangelize, I assume you have all the official card files.
UPDATE : Ok thanks my friend, now i have resolved, thanks to you! Inside Evangelize code i found the answer : MTG():SetTargetAnswerer
- Code: Select all
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Cuombajj Witches deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Cuombajj Witches deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Cuombajj Witches deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Cuombajj Witches deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Le Streghe Cuombajj infliggono 1 danno alla creatura o al giocatore bersaglio e 1 danno alla creatura o al giocatore bersaglio a scelta di un avversario.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: Cuombajj Witches deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Cuombajj Witches deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Cuombajj Witches deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Cuombajj Witches deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent’s choice.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<TARGET tag="CARD_QUERY_CHOOSE_DEAL_1_DAMAGE" definition="0" compartment="0" count="1" />
<TARGET tag="CARD_QUERY_CHOOSE_PLAYER" definition="1" compartment="1" count="1" dependency="1" not_targeted="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetFilterType(FILTER_TYPE_CARDS + FILTER_TYPE_PLAYERS)
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
</TARGET_DEFINITION>
<TARGET_DEFINITION id="1">
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS)
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
</TARGET_DEFINITION>
<TARGET tag="CARD_QUERY_CHOOSE_DEAL_1_DAMAGE" definition="0" compartment="2" count="1">
MTG():SetTargetAnswerer(EffectDC():Get_Targets(1):Get_PlayerPtr(0))
</TARGET>
<RESOLUTION_TIME_ACTION>
local target_creature = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
local target_player = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_PlayerPtr(0)
local target_creatureB = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_CardPtr(0)
local target_playerB = EffectDC():Get_Targets(2) and EffectDC():Get_Targets(2):Get_PlayerPtr(0)
if target_creature ~= nil then
EffectSourceLKI():DealDamageTo(1, target_creature)
elseif target_player ~= nil then
EffectSourceLKI():DealDamageTo(1, target_player)
end
if target_creatureB ~= nil then
EffectSourceLKI():DealDamageTo(1, target_creatureB)
elseif target_playerB ~= nil then
EffectSourceLKI():DealDamageTo(1, target_playerB)
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by NeoAnderson » 20 Dec 2013, 21:59
Hi my friends,
I am coding another card from Arabian nights set, i have made some code but i still not tested it, the conditions to test are little bit complicated to replicate, i think i have to arrange a custom deck for the AI just to test it.
I would know the opinion of skilled modders, to understand if it could work.
I am coding another card from Arabian nights set, i have made some code but i still not tested it, the conditions to test are little bit complicated to replicate, i think i have to arrange a custom deck for the AI just to test it.
I would know the opinion of skilled modders, to understand if it could work.
- Guardian Beast UNTESTED | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="GUARDIAN_BEAST_202539" />
<CARDNAME text="GUARDIAN_BEAST" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Guardian Beast]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Guardian Beast]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Guardian Beast]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Guardian Beast]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Guardian Beast]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Guardian Beast]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Guardian Beast]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Guardian Beast]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Guardian Beast]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="202539" />
<ARTID value="202539" />
<ARTIST name="Ken Meyer, Jr." />
<CASTING_COST cost="{3}{B}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Beast" />
<EXPANSION value="ME4" />
<RARITY metaname="R" />
<POWER value="2" />
<TOUGHNESS value="4" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As long as Guardian Beast is untapped, noncreature artifacts you control can’t be enchanted, they have indestructible, and other players can’t gain control of them. This effect doesn’t remove Auras already attached to those artifacts.]]></LOCALISED_TEXT>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
filter:Add( FE_TYPE, OP_NOT, CARD_TYPE_CREATURE )
filter:Add( FE_CONTROLLER, OP_IS, EffectController())
</FILTER>
<CONTINUOUS_ACTION layer="6" filter_id="0">
if FilteredCard() ~= nil and EffectSource():IsTapped() == false then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_INDESTRUCTIBLE, 1 )
end
</CONTINUOUS_ACTION>
<DURATION>
if EffectSource() ~= nil then
return EffectSource():IsTapped()
else
return true
end
</DURATION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1">
<TRIGGER value="CARD_CONSIDERED_FOR_TARGETTING" simple_qualifier="objectyoucontrol" pre_trigger="1">
if EffectSource():IsTapped() == false and SecondaryObject()~= nil and TriggerObject()~= nil and SecondaryObject():GetSubType():Test( ENCHANTMENT_TYPE_AURA ) and TriggerObject():GetCardType():Test( CARD_TYPE_ARTIFACT ) then
if TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) then
return false
else
return true
end
else
return false
end
</TRIGGER>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1">
<TRIGGER value="CONTROLLER_CHANGED" simple_qualifier="objectyoucontrol" pre_trigger="1">
if EffectSource():IsTapped() == false and TriggerObject()~= nil and TriggerObject():GetCardType():Test( CARD_TYPE_ARTIFACT ) then
if TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) then
return false
else
return true
end
else
return false
end
</TRIGGER>
</TRIGGERED_ABILITY>
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by thefiremind » 20 Dec 2013, 22:42
If the controller change trigger can be properly overridden (which is unknown until you try), then it should work. Only one thing: the DURATION in a static ability is useless. Some official cards have it, but it does nothing.NeoAnderson wrote:Hi my friends,
I am coding another card from Arabian nights set, i have made some code but i still not tested it, the conditions to test are little bit complicated to replicate, i think i have to arrange a custom deck for the AI just to test it.
I would know the opinion of skilled modders, to understand if it could work.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by NeoAnderson » 20 Dec 2013, 22:54
Thanks my dear friend,thefiremind wrote:If the controller change trigger can be properly overridden (which is unknown until you try), then it should work. Only one thing: the DURATION in a static ability is useless. Some official cards have it, but it does nothing.NeoAnderson wrote:Hi my friends,
I am coding another card from Arabian nights set, i have made some code but i still not tested it, the conditions to test are little bit complicated to replicate, i think i have to arrange a custom deck for the AI just to test it.
I would know the opinion of skilled modders, to understand if it could work.
I am glad to see your comments again.
I am still trying to testing it.
But i already find the first issue, if an enchantment aura is putonbattlefield without cast it allow to target the artifact.
I am trying to resolve it with the this additional trigger :
- Code: Select all
<TRIGGERED_ABILITY replacement_effect="1">
<TRIGGER value="TRIGGER_TARGETS_CHOSEN" simple_qualifier="objectyoucontrol" pre_trigger="1">
if EffectSource():IsTapped() == false and SecondaryObject()~= nil and TriggerObject()~= nil and SecondaryObject():GetSubType():Test( ENCHANTMENT_TYPE_AURA ) and TriggerObject():GetCardType():Test( CARD_TYPE_ARTIFACT ) then
if TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) then
return false
else
return true
end
else
return false
end
</TRIGGER>
</TRIGGERED_ABILITY>
It seems that the trigger CARD_CONSIDERED_FOR_TARGETTING works when the player ig going to cast a spell who targets.
So it works on targetting checks before to cast a spell. If the spell is already on the stack the targetting is allowed and it doesn't trigger.
I am going to check if adding this trigger BECAME_TARGET_OF_SPELL could resolve the problem.
About the duration thanks i will remove it.
2. About the controller changed it is also my worry but i also have another solution if it doesn't work
i could add SetbaseController to getowner into static ability where i give indestructible.
3. Some posts ago i was discussing about a new implementation with sumomole, about this card Xenograft.
I have made a typing function, i would know your opinion, and i also need some help to understand how to implement the AI code for the selection. Can you take a look?
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by thefiremind » 20 Dec 2013, 23:30
I had to deal with Auras put onto the battlefield because of Copy Enchantment and I had been forced to use an approximation, so I don't know if there's a solution for this.NeoAnderson wrote:if an enchantment aura is putonbattlefield without cast it allow to target the artifact.
This won't work mainly because the trigger name should be TARGETS_CHOSEN without TRIGGER_, but even without that error I doubt it would work as intended. You can still try, though.NeoAnderson wrote:I am trying to resolve it with the this additional trigger :
The typing idea is good for human players, but I think you'll still need to force default decisions for the AI. I don't even know what kind of combo deck Xenograft is needed for, but you could make the AI decide according to what cards it finds in its own zones (library, hand, battlefield). For example, let's say that Xenograft is needed for a combo together with cards A and B, and for another combo together with cards C and D. If the AI's library and/or hand and/or battlefield contains at least one copy of A and one copy of B, the AI will choose the creature type needed for the combo with A and B; same for C and D. If you cannot find any of the cards... well, I don't know, choose a random type.NeoAnderson wrote:Some posts ago i was discussing about a new implementation with sumomole, about this card Xenograft.
I have made a typing function, i would know your opinion, and i also need some help to understand how to implement the AI code for the selection. Can you take a look?

< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by NeoAnderson » 20 Dec 2013, 23:40
Thanks a lot for your support my friend,thefiremind wrote:I had to deal with Auras put onto the battlefield because of Copy Enchantment and I had been forced to use an approximation, so I don't know if there's a solution for this.NeoAnderson wrote:if an enchantment aura is putonbattlefield without cast it allow to target the artifact.This won't work mainly because the trigger name should be TARGETS_CHOSEN without TRIGGER_, but even without that error I doubt it would work as intended. You can still try, though.NeoAnderson wrote:I am trying to resolve it with the this additional trigger :The typing idea is good for human players, but I think you'll still need to force default decisions for the AI. I don't even know what kind of combo deck Xenograft is needed for, but you could make the AI decide according to what cards it finds in its own zones (library, hand, battlefield). For example, let's say that Xenograft is needed for a combo together with cards A and B, and for another combo together with cards C and D. If the AI's library and/or hand and/or battlefield contains at least one copy of A and one copy of B, the AI will choose the creature type needed for the combo with A and B; same for C and D. If you cannot find any of the cards... well, I don't know, choose a random type.NeoAnderson wrote:Some posts ago i was discussing about a new implementation with sumomole, about this card Xenograft.
I have made a typing function, i would know your opinion, and i also need some help to understand how to implement the AI code for the selection. Can you take a look?
About the Auras i am still trying.
Yeah just now i see that i made the syntax error about TARGETS_CHOSEN trigger it was copy and paste and i miss it.
I will try again.
Anyway i also tried BECAME_TARGET_OF_SPELL (with replacement effect and pretrigger, and without replacement and pretrigger), I tried with SecondaryObject and SecondaryObjectLKI() but nothing!
Do you have checked the code of this card Retether ?
There is an interesting function : MTG():BESPOKE_Retether_SetOnlyCreaturesCanBeEnchantedFlag(1)
Would be the best solution if there was a function to exclude a type from being enchanted.
About Xenograft, yeah i know i have to force the AI to choose, and i was already thinking to let it check the playing zone.
But my main doubt was how i can check the possibles combos between the cards?
Does the ai make this interpretation by itself? And the check should be extended also to the other ingame zones of the other players. I mean the Ai could have interest to have a type who interact with other cards in play undercontrol of other players.
So it should check all visible zones of ther player excluding the libraries.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by thefiremind » 21 Dec 2013, 00:53
The problem is that putting an Aura onto the battlefield and attach it to a creature doesn't target the creature (you can enchant creatures with shroud this way). I have only one idea, it's not elegant and it may cause unwanted effects (if it works at allNeoAnderson wrote:Anyway i also tried BECAME_TARGET_OF_SPELL (with replacement effect and pretrigger, and without replacement and pretrigger), I tried with SecondaryObject and SecondaryObjectLKI() but nothing!

You can check by yourself that there's no other function like that:
http://www.slightlymagic.net/wiki/DotP_2014:_Functions
that's the funniest function, I imagine the developers saying: "Hey, why thinking at complicated structures that could be useful for other cards as well, let's just make a function that's useful only for Retether!"

You can't. With my suggestion I meant to get informed about the possible combos and hard-code the combo cards' names into Xenograft code. Personally, I don't see any other way out, and I don't think it's possible to make a Xenograft that the AI will use like a human. I'm sure that people who worked on this kind of functionality before (like RiiakShiNal or sumomole) will be more helpful than me on this matter.NeoAnderson wrote:But my main doubt was how i can check the possibles combos between the cards?
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by NeoAnderson » 21 Dec 2013, 01:31
It's a pleasure to exchange idea with person like you.thefiremind wrote:The problem is that putting an Aura onto the battlefield and attach it to a creature doesn't target the creature (you can enchant creatures with shroud this way). I have only one idea, it's not elegant and it may cause unwanted effects (if it works at all) but that's all I have: grant your artifacts protection from Auras with no parent. I think you need a FILTER_CONDITION with FilteredCard():GetParent() == nil because I don't think there's another way, and some unusual protections were making DotP2013 crash, that's why I don't know if it works on DotP2014.
I will try also your idea but i also have another one. I am not sure if i am enough skilled to code it.
My idea is to use ZONECHANGE to check when an Aura come into battlefield without casting it (i think with WasCast() function).
Now we could try to retrieve targetting info from Aura doing something similar to the card made by you Hindering Light. Then force it to retrieve a new target loading the target definition and excluding from it non-creature artifacts.
I know i always use that page as a guide for function i still don't know!thefiremind wrote:You can check by yourself that there's no other function like that:
http://www.slightlymagic.net/wiki/DotP_2014:_Functions
that's the funniest function, I imagine the developers saying: "Hey, why thinking at complicated structures that could be useful for other cards as well, let's just make a function that's useful only for Retether!"

The unbelievable think is how to program a function without leaving the possibility to use it for multiple situations!
All Wasted time! Anyway would be interesting if could be possible to see the decomplied function, but as i have seen for 2014 there are not decomplied LoL files.
As i was imaging at this point i think the best solution is to let the AI CHOOSE for a value between the first Type and the latest one, then add that type. Who knows, could be interesting to view if it can add useful types!thefiremind wrote:You can't. With my suggestion I meant to get informed about the possible combos and hard-code the combo cards' names into Xenograft code. Personally, I don't see any other way out, and I don't think it's possible to make a Xenograft that the AI will use like a human. I'm sure that people who worked on this kind of functionality before (like RiiakShiNal or sumomole) will be more helpful than me on this matter.
- 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 6 guests