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




Community Wad
Moderator: CCGHQ Admins
Re: Community Wad
by Xander9009 » 26 Oct 2016, 15:44
Nope. If it doesn't use the word "cast", then it's not being cast, just played. Casting means it will be put onto the stack, which Rise from the Grave skips.erjerjerj wrote:Thanks you all, for the quick response.Xander9009 wrote:In fact, all of the art from Magic Duels is already in use. It's too good of a resource to leave unused. Although, looking at their code, it's either bugged or they fixed an engine-side issue. The points 3 and 4 from the bug report suggested that (and I confirmed through testing that) if a token dies, and then another identical token is made, then the game recycles the old pointer, meaning it starts in the graveyard where the previous token ended. So, it's considered to have entered from the graveyard. I added a check to ensure the trigger object isn't a token, since tokens can't enter from the graveyard ever anyway, but the code in Magic Duels lacks that check.
I did at least notice they were checking that you own the card, which I wasn't doing. That's important to ensure it came from your graveyard, though in both theirs and the copy in the CW, it lacks the check that if it's cast, you were the one to cast it. But I don't know if there is a way for you to cast another player's cards from their graveyard, so that might be irrelevant.
Maybe Rise from the Grave counts for casting another player's card from their graveyard?
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-
Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
Re: Community Wad
by Splinterverse » 26 Oct 2016, 21:12
I've finished coding for today. All cards referenced below are from the missing cards list, unless otherwise noted.
Coded, tested, and uploaded:
Æthersnatch -- this was coded and tested by thefiremind; I also tested it.
Brass Herald
Flame Burst -- this card's code had to be updated to handle Pardic Firecat
Hidden Predators
Infinite Authority
Kjeldoran Frostbeast
Lurking Jackals
Orim's Cure
Outbreak
Pardic Firecat
Phyrexian Furnace
Phyrexian Grimoire
Phyrexian Reaper
Phyrexian Slayer
Phyrexian Splicer
Pillar Tombs of Aku
Pledge of Loyalty -- I updated this one the other day, but I don't think it was working exactly the way it was intended; it is with this new implementation.
Bugs Fixed:
Abomination -- was checking color of itself rather than the color of the creature it blocked or was blocked by
HQ art uploaded (all were missing):
Æthersnatch
Empty-Shrine Kannushi
Notes:
-- I also updated CW_CARD_QUERY_SPLINTERVERSE and uploaded it.
-- I had fewer cards completed today because I wanted to do a review of all the remaining cards on the missing cards list and get organized. The result is that I've updated the impossible cards list and found a lot of places where I can pair development on similar cards. Hopefully, this will result in more cards completed per coding session.
Next:
Back on Friday for more coding.
Coded, tested, and uploaded:
Æthersnatch -- this was coded and tested by thefiremind; I also tested it.
Brass Herald
Flame Burst -- this card's code had to be updated to handle Pardic Firecat
Hidden Predators
Infinite Authority
Kjeldoran Frostbeast
Lurking Jackals
Orim's Cure
Outbreak
Pardic Firecat
Phyrexian Furnace
Phyrexian Grimoire
Phyrexian Reaper
Phyrexian Slayer
Phyrexian Splicer
Pillar Tombs of Aku
Pledge of Loyalty -- I updated this one the other day, but I don't think it was working exactly the way it was intended; it is with this new implementation.
Bugs Fixed:
Abomination -- was checking color of itself rather than the color of the creature it blocked or was blocked by
HQ art uploaded (all were missing):
Æthersnatch
Empty-Shrine Kannushi
Notes:
-- I also updated CW_CARD_QUERY_SPLINTERVERSE and uploaded it.
-- I had fewer cards completed today because I wanted to do a review of all the remaining cards on the missing cards list and get organized. The result is that I've updated the impossible cards list and found a lot of places where I can pair development on similar cards. Hopefully, this will result in more cards completed per coding session.
Next:
Back on Friday for more coding.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
- Splinterverse
- Posts: 918
- Joined: 04 Sep 2016, 13:32
- Has thanked: 150 times
- Been thanked: 76 times
Re: Community Wad
by erjerjerj » 27 Oct 2016, 06:09
Found another bug.
When casting Diregraf Colossus from the graveyard, it doesn't count itself for the +1/+1 counters while it should.
When casting Diregraf Colossus from the graveyard, it doesn't count itself for the +1/+1 counters while it should.
Re: Community Wad
by Splinterverse » 27 Oct 2016, 11:28
Xander, I know you are doing some work with lands and I was wondering if you might add this: MTG():FireTrigger( TRIGGER_BECAME_TAPPED_FOR_MANA, EffectSource() )
If we had this, I think it will benefit cards like Contamination, Dawn's Reflection, Elvish Guidance, Extraplanar Lens, Fertile Ground, Gauntlet of Might, Gauntlet of Power, Hall of Gemstone, Infernal Darkness, Mana Web, Market Festival, Naked Singularity, Overgrowth, Pulse of Llanowar, etc.
There may be another way of doing it that is better, but to date, I haven't had much success with cards that are triggered by "tapped for mana".
I'm only suggesting it since I know you are working with lands already and I thought it might be something you can incorporate. Outside of that, it would be tough to do for all lands. I will add it on any that I create moving forward.
If we had this, I think it will benefit cards like Contamination, Dawn's Reflection, Elvish Guidance, Extraplanar Lens, Fertile Ground, Gauntlet of Might, Gauntlet of Power, Hall of Gemstone, Infernal Darkness, Mana Web, Market Festival, Naked Singularity, Overgrowth, Pulse of Llanowar, etc.
There may be another way of doing it that is better, but to date, I haven't had much success with cards that are triggered by "tapped for mana".
I'm only suggesting it since I know you are working with lands already and I thought it might be something you can incorporate. Outside of that, it would be tough to do for all lands. I will add it on any that I create moving forward.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
- Splinterverse
- Posts: 918
- Joined: 04 Sep 2016, 13:32
- Has thanked: 150 times
- Been thanked: 76 times
Re: Community Wad
by RiiakShiNal » 27 Oct 2016, 11:55
Any card that calls RSN_Produce or RSN_ProduceForPlayer already fires the trigger as it is part of the function to produce mana. Many of the cards you mentioned are already possible to code for example Mana Flare has already been coded. The limitation is that basic lands that are auto-tapped will never trigger because you can't add code (or costs) to MANA_ABILITY blocks and they don't fire TRIGGER_BECAME_TAPPED_FOR_MANA so it is impossible for auto-tap abilities to be recognized.Splinterverse wrote:Xander, I know you are doing some work with lands and I was wondering if you might add this: MTG():FireTrigger( TRIGGER_BECAME_TAPPED_FOR_MANA, EffectSource() )
If we had this, I think it will benefit cards like Contamination, Dawn's Reflection, Elvish Guidance, Extraplanar Lens, Fertile Ground, Gauntlet of Might, Gauntlet of Power, Hall of Gemstone, Infernal Darkness, Mana Web, Market Festival, Naked Singularity, Overgrowth, Pulse of Llanowar, etc.
There may be another way of doing it that is better, but to date, I haven't had much success with cards that are triggered by "tapped for mana".
I'm only suggesting it since I know you are working with lands already and I thought it might be something you can incorporate. Outside of that, it would be tough to do for all lands. I will add it on any that I create moving forward.
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2188
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Community Wad
by Splinterverse2 » 27 Oct 2016, 12:08
Ah, very good to know. I will keep this in mind while coding. Thanks for the insight.RiiakShiNal wrote:Any card that calls RSN_Produce or RSN_ProduceForPlayer already fires the trigger as it is part of the function to produce mana. Many of the cards you mentioned are already possible to code for example Mana Flare has already been coded. The limitation is that basic lands that are auto-tapped will never trigger because you can't add code (or costs) to MANA_ABILITY blocks and they don't fire TRIGGER_BECAME_TAPPED_FOR_MANA so it is impossible for auto-tap abilities to be recognized.
- Splinterverse2
- Posts: 52
- Joined: 20 Sep 2016, 13:52
- Has thanked: 13 times
- Been thanked: 0 time
Re: Community Wad
by fallenangle » 27 Oct 2016, 13:16
The Colossus is not in your graveyard when it enters the battlefield, so it doesn't get counted as being there, even if you cast it from your graveyard.Found another bug.
When casting Diregraf Colossus from the graveyard, it doesn't count itself for the +1/+1 counters while it should.
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Community Wad
by Splinterverse2 » 27 Oct 2016, 13:27
That is true from a coding standpoint, but the rulings state that it is supposed to be counted. My guess is it will need different triggers for different zones or some check to see if the from zone is the graveyard.fallenangle wrote:The Colossus is not in your graveyard when it enters the battlefield, so it doesn't get counted as being there, even if you cast it from your graveyard.Found another bug.
When casting Diregraf Colossus from the graveyard, it doesn't count itself for the +1/+1 counters while it should.
- Splinterverse2
- Posts: 52
- Joined: 20 Sep 2016, 13:52
- Has thanked: 13 times
- Been thanked: 0 time
Re: Community Wad
by thefiremind » 27 Oct 2016, 13:28
Just to be clear: if Diregraf Colossus enters the battlefield directly from your graveyard (because of Rise from the Grave and similar reanimation spells), it must count itself (as Gatherer says). However, if you cast it from your graveyard (because of Gisa and Geralf for example), it does graveyard->stack->battlefield, so it doesn't count itself because it was on the stack when it mattered.
< 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: Community Wad
by migookman » 28 Oct 2016, 00:17
A few more done today:
Witch Hunt
Weight of Conscience
Watchdog
War Elemental
Wandering Mage
Waterspout Weavers
Problem Cards
Whipkeeper - not dealing damage to damaged creature
Wave of Vitriol
Witch Hunt
Wake the Dead
Witch Hunt
Weight of Conscience
Watchdog
War Elemental
Wandering Mage
Waterspout Weavers
Problem Cards
Whipkeeper - not dealing damage to damaged creature
- Code: Select all
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Whipkeeper deals damage to target creature equal to the damage already dealt to it this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Celui qui garde les fouets inflige à la créature ciblée autant de blessures que les blessures qui ont déjà été infligées à la créature ce tour-ci.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: El Guardián del látigo hace a la criatura objetivo una cantidad de daño igual al daño que ya recibió ella este turno.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Der Peitschmeister fügt einer Kreatur deiner Wahl soviel Schaden zu, wie ihr in diesem Zug bereits zugefügt wurde.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Il Fustigatore infligge a una creatura bersaglio un ammontare di danni pari ai danni che le sono già stati inflitti in questo turno.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: Whipkeeper deals damage to target creature equal to the damage already dealt to it this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Whipkeeper deals damage to target creature equal to the damage already dealt to it this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Whipkeeper deals damage to target creature equal to the damage already dealt to it this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Guarda-Açoite causa à criatura alvo uma quantidade de dano igual à já causada a ela neste turno.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}: Whipkeeper deals damage to target creature equal to the damage already dealt to it this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}: Whipkeeper deals damage to target creature equal to the damage already dealt to it this turn.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<TARGET tag="CARD_QUERY_CHOOSE_OPPONENT" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target_creature = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target_creature ~= nil then
local damage = 0
local interrogation = MTG():ClearInterrogationQuery()
interrogation:Get_Damage(target_creature)
damage_count = damage_count + interrogation:Count( INTERROGATE_DAMAGE_DEALT, INTERROGATE_THIS_TURN )
if damage_count > 0 then
EffectSourceLKI():DealDamageTo(damage_count, target_creature)
end
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
- Code: Select all
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of each end step, each opponent loses life equal to the life he or she lost this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À la fin de chaque tour, chaque adversaire perd un nombre de points de vie égal au nombre de points de vie qu’il a perdu ce tour.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Al final de cada turno, cada oponente pierde una cantidad de vida igual a las vidas que perdió este turno.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Am Ende jedes Zuges verliert jeder Gegner Lebenspunkte in Höhe der Lebenspunkte, die er in diesem Zug bisher verloren hat.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Alla fine di ogni turno, ogni avversario perde punti vita pari ai punti vita che ha perso in questo turno.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[各ターンの終了時に、各対戦相手はこのターンにそのプレイヤーが失ったライフの点数に等しい点数のライフを失う。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of each end step, each opponent loses life equal to the life he or she lost this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[В конце каждого хода каждый оппонент теряет столько жизней, сколько жизней он потерял в этом ходу.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[No final de cada turno, cada oponente perde pontos de vida igual à quantidade que perdeu neste turno.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[在每个回合结束时,每位对手各失去若干生命,其数量等同于他在本回合所失去的生命数量。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[At the end of each turn, each opponent loses life equal to the life he or she lost this turn.]]></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_END_OF_TURN
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local interrogation = MTG():ClearInterrogationQuery()
interrogation:SetPlayer(TriggerPlayer())
local life_lost_this_turn = interrogation:Count(INTERROGATE_LIFE_LOST, INTERROGATE_THIS_TURN)
TriggerPlayer():LoseLife(life_lost_this_turn)
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<AI_AVAILABILITY window_step="end_of_turn" type="window" />
</TRIGGERED_ABILITY>
- Code: Select all
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Name a creature card. Reveal the top four cards of your library and put all of them with that name into your hand. Put the rest into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[<span class=“missing”>(Missing!)</span>]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[<span class=“missing”>(Missing!)</span>]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Tap: Nenne eine Kreaturenkarte. Zeige die obersten vier Karten Deiner Bibliothek allen Spielern. Wenn die genannte Karte unter diesen gezeigten Karten ist, nimm diese auf Deine Hand. Lege die restlichen gezeigten Karten auf Deinen Friedhof.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[<span class=“missing”>(Missing!)</span>]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:クリーチャー・カード名を1つ指定する。あなたのライブラリーの一番上から4枚のカードを公開し、それらの中からその名前を持つすべてのカードをあなたの手札に加える。残りをあなたの墓地に置く。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Name a creature card. Reveal the top four cards of your library and put all of them with that name into your hand. Put the rest into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Name a creature card. Reveal the top four cards of your library and put all of them with that name into your hand. Put the rest into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[<span class=“missing”>(Missing!)</span>]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:说出一个生物牌的名称。展示你牌库顶的四张牌,并将其中所有该名称的牌置于你手上。将其余的牌置入你的坟墓场。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}: Name a creature card. Reveal the top four cards of your library and put all of them with that name into your hand. Put the rest into your graveyard.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<RESOLUTION_TIME_ACTION>
local filterDC = EffectDC():Make_Chest(1)
local filter = ClearFilter()
filter:SetZone( ZONE_LIBRARY, EffectController() )
filter:Add( FE_IS_TOKEN, false )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
S_FillAlphabeticChest( filterDC, filter )
EffectController():ChooseItemFromDC( "CARD_QUERY_CHOOSE_CARD", filterDC, EffectDC():Make_Targets(0) )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
S_SaveName(target)
S_DeclareCardName(target)
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = EffectController()
for i=0, (4-1) do
local card = player:Library_GetNth(i)
if card ~= nil then
if card:Add( FE_CARD_NAME, OP_IS, S_LoadName() ) then
card:GuidedReveal( card:GetZone(), ZONE_LIBRARY )
card:PutInHand()
else
card:GuidedReveal( card:GetZone() , ZONE_LIBRARY )
card:PutInGraveyard()
end
end
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
- Code: Select all
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{1}, Remove X ki counters from Waxmane Baku: Tap X target creatures.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{1}, Retirez X marqueurs « ki » du Baku crinecire : Engagez X créatures ciblées.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{1}, remover X contadores de ki del Baku melena de cera: Gira X criaturas objetivo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{1}. Entferne X Ki-Marken vom Wachsmähnen-Baku: Tappe X Kreaturen deiner Wahl.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{1}, Rimuovi X segnalini ki dal Baku Crinecera: TAPpa X creature bersaglio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{1}, 蝋鬣の獏の上から気カウンターをX個取り除く:クリーチャーX体を対象とし、それらをタップする。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{1}, Remove X ki counters from Waxmane Baku: Tap X target creatures.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{1}, Remove X ki counters from Waxmane Baku: Tap X target creatures.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{1}, Remova X marcadores de ki de Baku de Cera: Vira X criaturas alvo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{1},从蜡鬃食梦兽上移去X个聚气指示物:横置X个目标生物。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{1}, Remove X ki counters from Waxmane Baku: Tap X target creatures.]]></LOCALISED_TEXT>
<COST mana_cost="{1}" type="Mana" />
<COUNTER_REGISTRATION name="Ki" proliferate="11" />
<AVAILABILITY>
-- Only allow to activate the ability if there is at least 1 counter.
-- This prevents pointless activations, though to be completely accurate
-- you could just change this to "return true".
return (Object():CountCounters( MTG():GetCountersType("Ki") ) > 0)
</AVAILABILITY>
<RESOLUTION_TIME_ACTION>
if (EffectSource() ~= nil) then
local nCounters = EffectSource():CountCounters( MTG():GetCountersType("Ki") )
if (nCounters > 0) then
local oPlayer = EffectController()
oPlayer:BeginNewNumericalChoice()
oPlayer:AddNumericalChoiceAnswer(nCounters)
oPlayer:AskNumericalChoiceQuestion("CARD_QUERY_REMOVE_HOW_MANY_COUNTERS")
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local decision = EffectController():GetNumericalChoiceResult()
EffectDC():Set_Int(4, decision)
MTG():SetTargetCount(decision)
EffectSource():RemoveCounters( MTG():GetCountersType("Ki"), decision )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local count = EffectDC():Get_Int(4)
local effectController = EffectController()
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
for i = 0, (count-1) do
effectController:SetItemPrompt(i, "CARD_QUERY_CHOOSE_CREATURE_TO_TAP")
end
effectController:ChooseItems( EffectDC():Make_Targets(1), QUERY_FLAG_UP_TO)
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local count = EffectDC():Get_Int(4)
for i = 0, count-1 do
local target_card = EffectDC():Get_Targets(1):Get_CardPtr(i)
if target_card ~= nil then
target_card:Tap()
end
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
- Code: Select all
<SPELL_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Return X target creature cards from your graveyard to the battlefield. Sacrifice those creatures at the beginning of the next end step.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Renvoyez sur le champ de bataille X cartes de créature ciblées depuis votre cimetière. Sacrifiez ces créatures au début de la prochaine étape de fin.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Regresa X cartas de criatura objetivo de tu cementerio al campo de batalla. Sacrifica esas criaturas al comienzo del próximo paso final.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bringe X Kreaturenkarten deiner Wahl aus deinem Friedhof ins Spiel zurück. Opfere diese Kreaturen zu Beginn des nächsten Endsegments.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Rimetti sul campo di battaglia X carte creatura bersaglio dal tuo cimitero. Sacrifica quelle creature all’inizio della prossima sottofase finale.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたの墓地にあるクリーチャー・カードX枚を対象とし、それらを戦場に戻す。次の終了ステップの開始時に、それらのクリーチャーを生け贄に捧げる。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Return X target creature cards from your graveyard to the battlefield. Sacrifice those creatures at the beginning of the next end step.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Return X target creature cards from your graveyard to the battlefield. Sacrifice those creatures at the beginning of the next end step.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Return X target creature cards from your graveyard to the battlefield. Sacrifice those creatures at the beginning of the next end step.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[将X张目标生物牌从你的坟墓场移回战场。在下一个结束步骤开始时,牺牲这些生物。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Return X target creature cards from your graveyard to the battlefield. Sacrifice those creatures at the beginning of the next end step.]]></LOCALISED_TEXT>
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_RETURN_TO_BATTLEFIELD" definition="0" compartment="0" depends_on_X="1">
MTG():SetTargetCount(GetEffectX())
</TARGET>
<TARGET_DEFINITION id="0">
local player = EffectController()
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:SetZone( ZONE_GRAVEYARD, player )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
if EffectDC():Get_Targets(0) ~= nil then
local Targets = EffectDC():Get_Targets(1):Count()
for i = 0, (Targets-1) do
local creature = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(i)
if creature ~= nil then
creature:PuOntoBattlefield(EffectController())
end
end
end
MTG():CreateDelayedTrigger(1, delayDC)
</RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
<TRIGGERED_ABILITY resource_id="1">
<CLEANUP fire_once="1" />
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_END_OF_TURN
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local count = EffectDC():Get_Int(0)
if count > 0 then
for i=1,count do
local creature = EffectDC():Get_CardPtr(i)
if creature ~= nil then
EffectController():Sacrifice(creature)
end
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
Wave of Vitriol
Witch Hunt
Wake the Dead
Re: Community Wad
by Xander9009 » 28 Oct 2016, 00:26
Whipkeeper: damage_count is used without ever being declared.
Wound Reflection: I'm not sure how those interrogations work, so I'd have to check on it and get back to you later unless someone else knows off hand. However, that ability isn't going to do what the card says. It says each opponent loses life, not just the player whose turn it currently is, which is who TriggerPlayer() will be.
Wood Sage: Well, it's not supposed to put them onto the battlefield lol. But assuming you meant it's not putting them in hand, you can't "Add" to a card. "Add" only works on filters. You need "if card:GetCardName() == S_LoadName() then"
Waxmane Baku: In the RTA in which you call "ChooseItems", you also need to call "effectController:SetItemCount(count)".
Wake the Dead: Int he RTA, you call both "EffectDC():Get_Targets(0)" and "EffectDC():Get_Targets(1)". There is nothing in target chest 1.
Wound Reflection: I'm not sure how those interrogations work, so I'd have to check on it and get back to you later unless someone else knows off hand. However, that ability isn't going to do what the card says. It says each opponent loses life, not just the player whose turn it currently is, which is who TriggerPlayer() will be.
Wood Sage: Well, it's not supposed to put them onto the battlefield lol. But assuming you meant it's not putting them in hand, you can't "Add" to a card. "Add" only works on filters. You need "if card:GetCardName() == S_LoadName() then"
Waxmane Baku: In the RTA in which you call "ChooseItems", you also need to call "effectController:SetItemCount(count)".
Wake the Dead: Int he RTA, you call both "EffectDC():Get_Targets(0)" and "EffectDC():Get_Targets(1)". There is nothing in target chest 1.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-
Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
Re: Community Wad
by tmxk2012917 » 28 Oct 2016, 00:58
- tmxk2012917
- Posts: 164
- Joined: 15 Mar 2015, 09:52
- Has thanked: 20 times
- Been thanked: 12 times
Re: Community Wad
by Splinterverse » 28 Oct 2016, 01:03
HQ art uploaded for Wave of Vitriol
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
- Splinterverse
- Posts: 918
- Joined: 04 Sep 2016, 13:32
- Has thanked: 150 times
- Been thanked: 76 times
Re: Community Wad
by tmxk2012917 » 28 Oct 2016, 02:49
when Chandra, Fire of Kaladesh transformed to Chandra, roaring flame, I could cast the latter's first ability unlimited times at that turn.
- tmxk2012917
- Posts: 164
- Joined: 15 Mar 2015, 09:52
- Has thanked: 20 times
- Been thanked: 12 times
Re: Community Wad
by Splinterverse » 28 Oct 2016, 13:40
How do you get a card's complete mana cost (not its converted cost, but it's "original" cost, such as 1RR instead of 3).
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
- Splinterverse
- Posts: 918
- Joined: 04 Sep 2016, 13:32
- Has thanked: 150 times
- Been thanked: 76 times
Who is online
Users browsing this forum: No registered users and 14 guests