It is currently 29 Apr 2024, 17:27
   
Text Size

MAGIC DUELS - CARD REQUEST THREAD

Moderator: CCGHQ Admins

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby Tejahn » 07 Jun 2016, 14:43

Xander9009 wrote:...In case you want to look at it:...
thefiremind wrote:EDIT: It works now! I also made some improvements here and there so that the "internal" abilities don't trigger if it's not necessary, and used GetGlobalIndex as Xander9009 suggested...

...@Tejahn: I can do that if you want, but that will mean that I'll have to use one or more LOL files and you'll have to include them in your ZED.
I've been travelling the past couple of days so I've not had a chance to reply until now. But first, let me say thanks for the time and effort that's being put into making the cards work. Also, TFM, I'm okay with including LOL files. Especially if they help to make cards fully functional.

thefiremind wrote:...EDIT: @Tejahn: I made 4 more cards: Dark Petition, Deadly Tempest, Malicious Affliction, Psychic Intrusion...

...Malicious Affliction: there's no official DERIVED_INFO for Morbid and I was too lazy to write it myself, so you won't see any [Creatures died this turn: x] information...
I'll add the derived info. Thank you kindly for the cards. I just downloaded them and will test them all today when I test Briarbridge Patrol. As always, I'll report my testing results in the Magic Duels tests and results thread afterwards.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby thefiremind » 07 Jun 2016, 19:34

Here's my new version of Briarbridge Patrol, which should make the second ability work on copies of the card, too. I used external data chests, but by using strings as keys, I didn't need to make a LOL file. I also had a nice idea about how to make only one card keep count of the sacrifices.
Briarbridge Patrol 2.0 (working) | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="2">
  <FILENAME text="BRIARBRIDGE_PATROL_199409953" />
  <CARDNAME text="BRIARBRIDGE_PATROL" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Briarbridge Patrol]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Patrouille du Pont de Bruyère]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Patrulla de Puentespino]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Dornstrauchweg-Patrouille]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Pattuglia di Ponterovo]]></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[Patrulheiro de Pontespinho]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[荆桥巡卫]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[荊橋巡衛]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="199409953" />
  <ARTID value="199409953" />
  <ARTIST name="Greg Opalinski" />
  <CASTING_COST cost="{3}{G}" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Human" />
  <SUB_TYPE metaname="Warrior" />
  <EXPANSION value="SOI" />
  <RARITY metaname="U" />
  <POWER value="3" />
  <TOUGHNESS value="3" />
  <TRIGGERED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Briarbridge Patrol deals damage to one or more creatures, investigate.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que la Patrouille du Pont de Bruyère inflige des blessures à au moins une créature, enquêtez.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que la Patrulla de Puentespino haga daño a una o más criaturas, investiga.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn die Dornstrauchweg-Patrouille einer oder mehreren Kreaturen Schaden zufügt, stelle Nachforschungen an.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta la Pattuglia di Ponterovo infligge danno a una o più creature, indaga.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[茨橋の巡回兵がクリーチャー1体以上にダメージを与えるたび、調査を行う。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[들장미 교각 순찰병이 한 개 이상의 생물에 피해를 입힐 때마다, 조사한다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда Дозорная Тернового Пути наносит повреждения одному или нескольким существам, используйте Дознание.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que Patrulheiro de Pontespinho causar dano a uma ou mais criaturas, investigue.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[每当荆桥巡卫对一个或数个生物造成伤害时,探查。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[每當荊橋巡衛對一個或數個生物造成傷害時,探查。]]></LOCALISED_TEXT>
    <TRIGGER value="SOURCE_DEALS_DAMAGE_TO_OBJECT" simple_qualifier="self">
    if SecondaryObject():GetCardType():Test(CARD_TYPE_CREATURE) and LinkedDC():Get_Int(1) == 0 then
       LinkedDC():Set_Int(1, 1) -- Shut the trigger off until the first one goes on the stack
       return true
    end
    return false
    </TRIGGER>
    <PLAY_TIME_ACTION>
    LinkedDC():Set_Int(1, 0) -- Turn the trigger on again
    </PLAY_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    MTG():PutTokensOntoBattlefield( "TOKEN_CLUE_5_A_395375", 1, EffectController() )
    EffectController():Investigated()
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
    <TRIGGER value="SACRIFICE">
    if TriggerObject():GetSubType():Test(ARTIFACT_TYPE_CLUE) then
       local duelDC = MTG():DuelDataChest()
       if duelDC:Get_CardPtr("TFM_Sac_Clues_Manager") == nil then
          duelDC:Set_CardPtr( "TFM_Sac_Clues_Manager", Object() ) -- Only the 1st card to run this code will act as manager
       end
       return duelDC:Get_CardPtr("TFM_Sac_Clues_Manager") == Object() -- Check if this card is the manager
    end
    return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    if TriggerPlayer() ~= nil then
       TriggerPlayer():PlayerDataChest():Int_Add("TFM_Sac_Clues", 1) -- Remember that TriggerPlayer sacrificed a Clue
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
    <TRIGGER value="BEGINNING_OF_TURN">
    return MTG():DuelDataChest():Get_CardPtr("TFM_Sac_Clues_Manager") == Object()
    </TRIGGER>
    <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:SetFilterType(FILTER_TYPE_PLAYERS)
    </FILTER>
    <RESOLUTION_TIME_ACTION filter_id="0">
    if FilteredPlayer() ~= nil then
       FilteredPlayer():PlayerDataChest():Set_Int("TFM_Sac_Clues", 0) -- Reset sacrifices for all players
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of each end step, if you sacrificed three or more Clues this turn, you may put a creature card from your hand onto the battlefield.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Au début de chaque étape de fin, si vous avez sacrifié au moins 3 indices ce tour-ci, vous pouvez mettre sur le champ de bataille une carte de créature de votre main.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Al principio de cada paso final, si sacrificaste tres o más pistas este turno, puedes poner una carta de criatura de tu mano en el campo de batalla.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Zu Beginn jedes Endsegments und falls du in diesem Zug drei oder mehr Hinweise geopfert hast, kannst du eine Kreaturenkarte aus deiner Hand ins Spiel bringen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All’inizio di ogni sottofase finale, se hai sacrificato tre o più Indizi in questo turno, puoi mettere sul campo di battaglia una carta creatura dalla tua mano.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[各終了ステップの開始時に、あなたがこのターンに手掛かりを3つ以上生け贄に捧げていた場合、あなたはあなたの手札からクリーチャー・カードを1枚戦場に出してもよい。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[각 종료단의 시작에, 당신이 이 턴에 단서를 세 개 이상 희생했다면, 당신은 생물 카드 한 장을 당신의 손에서 전장에 놓을 수 있다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[В начале каждого заключительного шага, если в этом ходу вы пожертвовали не менее трех Улик, вы можете положить карту существа из вашей руки на поле битвы.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[No início de cada etapa final, se você sacrificou três ou mais Pistas neste turno, você pode colocar um card de criatura de sua mão no campo de batalha.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[在每个结束步骤开始时,若本回合中你牺牲了三个或更多线索,则你可以将一张生物牌从你手上放进战场。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[在每個結束步驟開始時,若本回合中你犧牲了三個或更多線索,則你可以將一張生物牌從你手上放進戰場。]]></LOCALISED_TEXT>
    <TRIGGER value="BEGINNING_OF_STEP">
    return MTG():GetStep() == STEP_END_OF_TURN
    </TRIGGER>
    <INTERVENING_IF ignore_resolution_check="1">
    return EffectController():PlayerDataChest():Get_Int("TFM_Sac_Clues") &gt; 2 -- Check if controller sacrificed more than 2 clues
    </INTERVENING_IF>
    <RESOLUTION_TIME_ACTION>
    local filter = ClearFilter()
    filter:SetZone( ZONE_HAND, EffectController() )
    filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
    if filter:CountStopAt(1) == 1 then
       EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_PUT_ONTO_BATTLEFIELD", EffectDC():Make_Targets(0), QUERY_FLAG_MAY )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       target:PutOntoBattlefield( EffectController() )
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TOKEN_REGISTRATION reservation="1" type="TOKEN_CLUE_5_A_395375" />
  <SFX text="COMBAT_CHOP_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_CHOP_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
As you can see, the card tries to access a pointer in the duel data chest. If it's nil, then the card registers itself in it. From that moment onwards, only the card registered into that pointer will be allowed to manipulate the counts inside the players' data chests. This approach has an advantage over the old one which filtered all cards with the same name and picked the first one: if we had a different card which needs the same count, we could easily make it concur to the same task without modifying the code on this card.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby Xander9009 » 08 Jun 2016, 14:18

thefiremind wrote:Here's my new version of Briarbridge Patrol, which should make the second ability work on copies of the card, too. I used external data chests, but by using strings as keys, I didn't need to make a LOL file. I also had a nice idea about how to make only one card keep count of the sacrifices.
Briarbridge Patrol 2.0 (working) | Open
...snip...
As you can see, the card tries to access a pointer in the duel data chest. If it's nil, then the card registers itself in it. From that moment onwards, only the card registered into that pointer will be allowed to manipulate the counts inside the players' data chests. This approach has an advantage over the old one which filtered all cards with the same name and picked the first one: if we had a different card which needs the same count, we could easily make it concur to the same task without modifying the code on this card.
I'm glad you got it working. I'm also amused that you came up with the same solution I did only a couple of days ago. I didn't think to mention it, but that's exactly how I solved it for 2014 as well, but for a different card. I'd noticed some issues on Serra Avenger and solved it using this exact method. I didn't think to apply it to Briarbridge Patrol, though. The issue, by the way, was that someone (maybe me by accident(?) but I don't think so) removed the filtering on the card so all instances of Serra Avenger were updating the turn count. I added in this solution and then went to check if your original version suffered the same issue, and discovered it had code that the CW version was missing. But I stuck with the code I'd made for this for the same reason you mentioned. (Which is slightly less relevant for Serra Avenger, since there are no other cards that count turns of which I'm aware.)
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby Tejahn » 17 Jun 2016, 19:17

thefiremind wrote:...@Tejahn: I made 4 more cards: Dark Petition, Deadly Tempest, Malicious Affliction, Psychic Intrusion...
The only card that doesn't work properly is Psychic Intrusion. The owner was able to cast the exiled card. All other cards work.

thefiremind wrote:...Here's my new version of Briarbridge Patrol, which should make the second ability work on copies of the card, too. I used external data chests, but by using strings as keys, I didn't need to make a LOL file. I also had a nice idea about how to make only one card keep count of the sacrifices...
Just confirming that this work also. Thanks!
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby Tejahn » 17 Jun 2016, 20:02

Arlinn Avatar.jpg
Arlinn Avatar

Olivia Avatar.jpg
Olivia Avatar

Werewolves vs. Vampires.jpg
Werewolves vs. Vampires

Vampires vs. Werewolves Battlefield.jpg
Vampires vs. Werewolves Battlefield

Carousel Circles.jpg
Carousel Circles


mobius187 wrote:I'll keep checking the thread. Let me know when your tutorial is completed, as I'm eager to try my hand at coding. :)
hAcken wrote:a While back you mentioned that you were working on a tutorial mod and I know these take time since you said it'll be massive. But I want to ask you if you can release how you play against the decks in your screenshots. I'm still waiting on the big tutorial but I want to go ahead and get started playing against some championship decks
Well, now that thefiremind and Xander9009 have provided most of the cards needed for that portion of the tutorial I'll be glad to release that section of it. However, the following cards are still needed before I can do so:

Epiphany at the Drownyard - I tried coding this one a while back but so far I've not been successful. This is the last card I need to complete a zombie deck.

Inverter of Truth - I'll actually try coding this one today.

Mirror Match - I never tried to code this one.

Sin Prodder - I tried coding this one a while back but so far I've not been successful.

Traverse the Ulvenwald - I tried coding this one a while back but so far I've not been successful.

Wretched Confluence - I never tried to code this one.

Also, please remember that I am a humble hobbyist that can only mod in my free time. As you can see by looking at the screenshots above, I've already added updated art to the mod. Including Avatars and badges with different colors as well as a lot of good information. However, I'm having trouble making art fit perfectly in the Carousel Circles but I'm exploring different techniques to do so using Photoshop. When I have the above cards I'll post that part of the tutorial. Thanks for staying interested.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby thefiremind » 17 Jun 2016, 22:44

Tejahn wrote:The only card that doesn't work properly is Psychic Intrusion. The owner was able to cast the exiled card.
I tried to prevent that in the same way I did on Daxos of Meletis so I'm afraid he suffers the same problem (and it never happened during our tests). Only the granted UTILITY_ABILITY should be forbidden for the owner to use, and not the whole card, so that we ensure compatibility with cards like Misthollow Griffin: if I added a condition on the CONSIDERED_FOR_CAST trigger, that would be no longer true. So, is there someone who knows why the following code doesn't work and how to fix it?
Code: Select all
    <AVAILABILITY>
    return EffectController() ~= EffectSource():GetOwner() -- This SHOULD stop the owner from being able to cast the card, but it doesn't
    </AVAILABILITY>
(EDIT: Maybe EffectSource should be replaced by Object inside an AVAILABILITY block?)

I have never attempted this one because I didn't want to struggle finding a way to mimic the "two piles" that is convenient for the player and understandable for the AI. As Gatherer says, one of the 2 piles may also be empty.
Tejahn wrote:Sin Prodder
It doesn't seem difficult, the principle is similar to Browbeat. I'll try this one first when I have time.
Tejahn wrote:Wretched Confluence
I have only one idea to make this work and I'm not sure of it: replicate each mode 2 extra times, for a total of 9 options, and let the player choose 3. This way you could repeat the same mode 3 times if you choose all the options representing it. Is there someone who tested the maximum number of query options in Magic Duels?

EDIT: Here's my Sin Prodder, totally untested. Let me know if it works.
Sin Prodder (fixed and tested) | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="SIN_PRODDER_199409936" />
  <CARDNAME text="SIN_PRODDER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sin Prodder]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Incitateur de péchés]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Incitador al pecado]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sünden-Anstachler]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Pungolatore di Peccati]]></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[Alfinetador de Pecados]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[纵恶魔鬼]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[縱惡魔鬼]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="199409936" />
  <ARTID value="199409936" />
  <ARTIST name="Jack Wang" />
  <CASTING_COST cost="{2}{R}" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Devil" />
  <EXPANSION value="SOI" />
  <RARITY metaname="R" />
  <POWER value="3" />
  <TOUGHNESS value="2" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Menace]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Menace]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Amenaza.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bedrohlich]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Minacciare]]></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[Ameaçar]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[威慑]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[威懾]]></LOCALISED_TEXT>
    <INTRINSIC characteristic="CHARACTERISTIC_MENACE" />
  </STATIC_ABILITY>
  <TRIGGERED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of your upkeep, reveal the top card of your library. Any opponent may have you put that card into your graveyard. If a player does, Sin Prodder deals damage to that player equal to that card’s converted mana cost. Otherwise, put that card into your hand.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Au début de votre entretien, révélez la carte du dessus de votre bibliothèque. N’importe quel adversaire peut vous faire mettre cette carte dans votre cimetière. Si un joueur fait ainsi, l’Incitateur de péchés inflige à ce joueur un nombre de blessures égal au coût converti de mana de cette carte. Sinon, mettez cette carte dans votre main.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Al comienzo de tu mantenimiento, muestra la primera carta de tu biblioteca. Cualquier oponente puede hacer que pongas esa carta en tu cementerio. Si un jugador lo hace, el Incitador al pecado hace una cantidad de daño a ese jugador igual al coste de maná convertido de esa carta. De lo contrario, pon esa carta en tu mano.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Zeige zu Beginn deines Versorgungssegments die oberste Karte deiner Bibliothek offen vor. Jeder deiner Gegner kann bestimmen, dass du diese Karte auf deinen Friedhof legst. Falls ein Spieler dies tut, fügt der Sünden-Anstachler diesem Spieler Schadenspunkte in Höhe der umgewandelten Manakosten dieser Karte zu. Nimm die Karte sonst auf deine Hand.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All’inizio del tuo mantenimento, rivela la prima carta del tuo grimorio. Qualsiasi avversario può farti mettere quella carta nel tuo cimitero. Se un giocatore lo fa, il Pungolatore di Peccati infligge a quel giocatore danno pari al costo di mana convertito di quella carta. Altrimenti, aggiungi quella carta alla tua mano.]]></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[No início de sua manutenção, revele o card do topo de seu grimório. Qualquer oponente pode fazer com que você coloque aquele card em seu cemitério. Se um jogador fizer isso, Alfinetador de Pecados causa àquele jogador dano igual ao custo de mana convertido daquele card. Do contrário, coloque-o em sua mão.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[在你的维持开始时,展示你的牌库顶牌。任意对手可以令你将该牌置入你的坟墓场。若有牌手如此作,则纵恶魔鬼对该牌手造成伤害,其数量等同于该牌的总法术力费用。若否,则将该牌置于你手上。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[在你的維持開始時,展示你的牌庫頂牌。任意對手可以令你將該牌置入你的墳墓場。若有玩家如此作,則縱惡魔鬼對該玩家造成傷害,其數量等同於該牌的總魔法力費用。若否,則將該牌置於你手上。]]></LOCALISED_TEXT>
    <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
    return MTG():GetStep() == STEP_UPKEEP
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    local card = EffectController():Library_GetTop()
    if card ~= nil then
       local cardDC = EffectDC():Make_Chest(0)
       cardDC:Set_CardPtr(0, card)
       local nPlayers = MTG():GetNumberOfPlayers()
       for i=0,nPlayers-1 do
          local player = MTG():GetNthPlayer(i)
          if player ~= nil then
             player:RevealDCToMe(cardDC)
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION repeating="1">
    local controller = EffectController()
    local card = controller:Library_GetTop()
    if card == nil then
       return false -- Library is empty: exit
    end
    local n = MTG():GetActionRepCount()
    local player = MTG():GetNthPlayer(n/2)
    if player == nil then
       return false -- No players left: exit
    end
    if player:GetTeam() ~= controller:GetTeam() then
       local parity = n%2
       if parity == 0 then
          player:SetCustomQueryInstructionValue( card:GetConvertedManaCost() )
          player:BeginNewMultipleChoice()
          player:AddMultipleChoiceAnswer("CARD_QUERY_OPTION_YES")
          player:AddMultipleChoiceAnswer("CARD_QUERY_OPTION_NO")
          player:AskMultipleChoiceQuestion("CARD_QUERY_QUESTION_SIN_PRODDER")
       else
          if player:GetMultipleChoiceResult() == 0 then
             EffectDC():Set_PlayerPtr(1, player)
             return false -- A player chose to mill the card: exit
          end
       end
    end
    return true
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local card = EffectController():Library_GetTop()
    if card ~= nil then
       local player = EffectDC():Get_PlayerPtr(1)
       if player ~= nil then
          local cmc = card:GetConvertedManaCost()
          card:PutInGraveyard()
          EffectSourceLKI():DealDamageTo(cmc, player, REDIRECT_EXPLICIT_QUERY)
       else
          card:PutInHand()
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <HELP title="MORE_INFO_TITLE_MENACE" body="MORE_INFO_BODY_MENACE" zone="ZONE_ANY" />
  <SFX text="COMBAT_SLASH_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_SLASH_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
  <QUERYTEXT tag="CARD_QUERY_QUESTION_SIN_PRODDER">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Do you want to put the revealed card into its owner’s graveyard? If you do, you’ll suffer %d damage.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Do you want to put the revealed card into its owner’s graveyard? If you do, you’ll suffer %d damage.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Do you want to put the revealed card into its owner’s graveyard? If you do, you’ll suffer %d damage.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Do you want to put the revealed card into its owner’s graveyard? If you do, you’ll suffer %d damage.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Vuoi mettere la carta rivelata nel cimitero del suo proprietario? Se lo fai, subirai %d danno/i.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Do you want to put the revealed card into its owner’s graveyard? If you do, you’ll suffer %d damage.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Do you want to put the revealed card into its owner’s graveyard? If you do, you’ll suffer %d damage.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Do you want to put the revealed card into its owner’s graveyard? If you do, you’ll suffer %d damage.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Do you want to put the revealed card into its owner’s graveyard? If you do, you’ll suffer %d damage.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[Do you want to put the revealed card into its owner’s graveyard? If you do, you’ll suffer %d damage.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Do you want to put the revealed card into its owner’s graveyard? If you do, you’ll suffer %d damage.]]></LOCALISED_TEXT>
  </QUERYTEXT>
</CARD_V2>
By the way, I noticed that the official cards never use INTRINSIC for menace. Does anyone have any idea why? I can't see any reason not to, so I used INTRINSIC for menace on this card.
Last edited by thefiremind on 04 Oct 2016, 12:32, edited 1 time in total.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby Tejahn » 17 Jul 2016, 00:37

thefiremind wrote:Epiphany at the Drownyard
I have never attempted this one because I didn't want to struggle finding a way to mimic the "two piles" that is convenient for the player and understandable for the AI. As Gatherer says, one of the 2 piles may also be empty.
Indeed. I've also come the conclusion that we can just wait until (if) they add this mechanic in the future.

thefiremind wrote:Wretched Confluence
I have only one idea to make this work and I'm not sure of it: replicate each mode 2 extra times, for a total of 9 options, and let the player choose 3. This way you could repeat the same mode 3 times if you choose all the options representing it. Is there someone who tested the maximum number of query options in Magic Duels?
I'll give it a try and let you know the results.

thefiremind wrote: EDIT: Here's my Sin Prodder, totally untested. Let me know if it works.
I tested Sin Prodder and it didn't work properly.

thefiremind wrote: By the way, I noticed that the official cards never use INTRINSIC for menace. Does anyone have any idea why? I can't see any reason not to, so I used INTRINSIC for menace on this card.
I wondered the same thing and decided to use the 'INTRINSIC' method as well on Relentless Dead.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby thefiremind » 02 Aug 2016, 10:07

Tejahn wrote:I tested Sin Prodder and it didn't work properly.
Could you be more specific? The code seems fine by looking at it, but I haven't had the time to test it myself. If I knew exactly what didn't work properly I might be able to fix it without testing it myself.

----------------

Here's Emrakul, the Promised End. I included the illustration as well, since I took the time to resize it properly and fill the parts that weren't included (I couldn't find an image that really covers the whole card art space).
As I wrote in the other topic, I'm deliberately ignoring the case of 2HG, since we can't play that mode against the AI in Duels.
Attachments
EMRAKUL_THE_PROMISED_END_199414295.zip
Untested
(96.25 KiB) Downloaded 270 times
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby Nick26 » 15 Aug 2016, 12:52

Omg, you guys are doing an insanely good job! Where can I find a file with all of these cards? I would love to have the "old" planeswalkers.
Nick26
 
Posts: 71
Joined: 23 Mar 2015, 16:40
Has thanked: 14 times
Been thanked: 0 time

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby Tejahn » 01 Sep 2016, 00:39

The mod with the Planeswalkers has not been released yet but will be. I've been quietly working on the Tutorial DLC in the background since I returned from vacation. I've added the newer Planeswalkers as well. As I mentioned in another thread, I'll be creating a Tutorial DLC - Progress Report thread soon. I'm currently adding video tutorials to the tDLC. I'm hoping it can be an all-inclusive tutorial once input starts flowing in from the community.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby Nick26 » 10 Sep 2016, 09:53

Can't wait for it :D You guys are doing an amazing job, I have been playing with emerge decks and the new emrakul a lot and it works flawlessly! I didn't think it was possible to code this card, thanks a lot spirolone! I was wondering, is it possible to code Karn Liberated ?
Nick26
 
Posts: 71
Joined: 23 Mar 2015, 16:40
Has thanked: 14 times
Been thanked: 0 time

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby thefiremind » 04 Oct 2016, 12:38

I fixed Sin Prodder in the original post. The only thing I haven't been able to do is to show the card while asking the question: since you can't normally see your opponent's deck, even by adding the card argument to the query it will stay invisible.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby Tejahn » 05 Oct 2016, 00:20

Thanks for the fix. As soon as I figure out how to get pass the 'Can't access store' screen I can start back modding. I was actually on track to releasing the tDLC October 15th but it seems we've run into another stumbling block. As soon as I can added cards again I'll restart work on the mod.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby Nick26 » 17 Nov 2016, 12:37

Hi everyone,
does anyone know if it is possible to code god cards in magic duels? I tried to import them from magic 2014 but they don't work, they are always creatures (regardless of devotion), and for some reason Keranos main ability does not work (nothing triggers).
Nick26
 
Posts: 71
Joined: 23 Mar 2015, 16:40
Has thanked: 14 times
Been thanked: 0 time

Re: MAGIC DUELS - CARD REQUEST THREAD

Postby thefiremind » 17 Nov 2016, 12:53

Nick26 wrote:Hi everyone,
does anyone know if it is possible to code god cards in magic duels? I tried to import them from magic 2014 but they don't work, they are always creatures (regardless of devotion), and for some reason Keranos main ability does not work (nothing triggers).
You can't import them as they are because since DotP2015, layer 4 has been split into 4A and 4B, one for adding types and the other for adding sub-types. Also, there's no need for custom devotion functions anymore because there's an official one. If you download my test ZED contents from the other topic you'll find Ephara, God of the Polis already coded: the devotion-related ability can be copied to any other god card just by changing the colors.
I don't know why Keranos doesn't trigger, I should look at its code.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

PreviousNext

Return to Magic Duels

Who is online

Users browsing this forum: No registered users and 5 guests


Who is online

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

Users browsing this forum: No registered users and 5 guests

Login Form