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.
It doesn't seem difficult, the principle is similar to
Browbeat. I'll try this one first when I have time.
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.