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 NEMESiS » 16 May 2014, 19:35
-
NEMESiS - Posts: 460
- Joined: 03 Jan 2013, 04:02
- Location: Pools of Becoming
- Has thanked: 70 times
- Been thanked: 21 times
Re: Formal Request Thread
by sumomole » 17 May 2014, 05:47
this card can only be used in draft mode that doesn't exist in dotp.NEMESiS wrote:I would like to personally request Cogwork Librarian.

-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Formal Request Thread
by thefiremind » 17 May 2014, 09:26
It's quite clear that he was joking...
OK, I'll joke too. Anybody can code that card: since there's no draft mode, just make all dummy abilities with no code inside. The card will work flawlessly.
Anyway, a little off-topic: I think they pushed too far in making such a card a common... people who buy booster packs not for drafting, but for other formats, will often find themselves with a vanilla 3/3 for 4. Luckily I quit paper Magic a long time ago (but not soon enough to avoid opening a Steamflogger Boss...
).
EDIT: Now my comment doesn't make much sense: I didn't expect the Conspiracy expansion to be so heavily focused on drafting. A single card at common would have been "pushing too far" according to me, but now that I see a bunch of draft-oriented cards at different rarities, it's absolutely fine: people will know the purpose of the expansion before attempting to get boosters.
...but sumomole's answer was probably aimed at other people who aren't aware of that.NEMESiS wrote:![]()
OK, I'll joke too. Anybody can code that card: since there's no draft mode, just make all dummy abilities with no code inside. The card will work flawlessly.

Anyway, a little off-topic: I think they pushed too far in making such a card a common... people who buy booster packs not for drafting, but for other formats, will often find themselves with a vanilla 3/3 for 4. Luckily I quit paper Magic a long time ago (but not soon enough to avoid opening a Steamflogger Boss...

EDIT: Now my comment doesn't make much sense: I didn't expect the Conspiracy expansion to be so heavily focused on drafting. A single card at common would have been "pushing too far" according to me, but now that I see a bunch of draft-oriented cards at different rarities, it's absolutely fine: people will know the purpose of the expansion before attempting to get boosters.
Last edited by thefiremind on 21 May 2014, 08:39, edited 1 time in total.
< 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 Hacker85 » 17 May 2014, 14:35
trying to do the Deceiver Exarch copied the ability from Pestermite what i need to change to make the ability correct from Exarch
- | Open
- <SFX text="TARGET_PLASMA_PLAY" />
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<TARGET tag="CARD_QUERY_CHOOSE_PERMANENT_TO_TAP_OR_UNTAP" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:Add( FE_IS_PERMANENT, true )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local effectController = EffectController()
local card = EffectDC():Get_Targets(0):Get_CardPtr(0)
if card~= nil then
if effectController ~= nil then
effectController:BeginNewMultipleChoice()
effectController:AddMultipleChoiceAnswer( "CARD_QUERY_MC_ANSWER_TAP" )
effectController:AddMultipleChoiceAnswer( "CARD_QUERY_MC_ANSWER_UNTAP" )
effectController:AskMultipleChoiceQuestion( "CARD_QUERY_MC_TAP_OR_UNTAP", card )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local questionResult = EffectController():GetMultipleChoiceResult()
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
if questionResult == 0 then
target:Tap()
elseif questionResult == 1 then
target:Untap()
end
end
</RESOLUTION_TIME_ACTION>
Re: Formal Request Thread
by sumomole » 17 May 2014, 19:34
a 3/3 artifact creature with 4 cmc is not so difficult to accept, Magic never lacks of worse cards.thefiremind wrote:Anyway, a little off-topic: I think they pushed too far in making such a card a common... people who buy booster packs not for drafting, but for other formats, will often find themselves with a vanilla 3/3 for 4. Luckily I quit paper Magic a long time ago (but not soon enough to avoid opening a Steamflogger Boss...).

yes, they are similar, but there is a small difference, Exarch's ability is a modal ability that uses "choose one", which means that it includes two targets, you can refer Betrayal of Flesh, and you can find more info about Modal here.Hacker85 wrote:trying to do the Deceiver Exarch copied the ability from Pestermite what i need to change to make the ability correct from Exarch
the following is Deceiver Exarch ability(untested), for reference only when you have other problems.
- | Open
- Code: Select all
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Deceiver Exarch enters the battlefield, choose one — Untap target permanent you control; or tap target permanent an opponent controls.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Quand l'Exarque fourbe arrive sur le champ de bataille, choisissez l’un — Dégagez un permanent ciblé que vous contrôlez ; ou engagez un permanent ciblé qu'un adversaire contrôle.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando el Exarca impostor entre al campo de batalla, elige uno: Endereza el permanente objetivo que controlas; o gira el permanente objetivo que controla un oponente.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn der Täuscher-Exarch ins Spiel kommt, bestimme eines — Enttappe eine bleibende Karte deiner Wahl, die du kontrollierst; oder tappe eine bleibende Karte deiner Wahl, die ein Gegner kontrolliert.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando l'Esarca Ingannatore entra nel campo di battaglia, scegli uno — STAPpa un permanente bersaglio che controlli; oppure TAPpa un permanente bersaglio controllato da un avversario.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[詐欺師の総督が戦場に出たとき、以下の2つから1つを選ぶ。「あなたがコントロールするパーマネント1つを対象とし、それをアンタップする。」「対戦相手がコントロールするパーマネント1つを対象とし、それをタップする。」]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[When Deceiver Exarch enters the battlefield, choose one — Untap target permanent you control; or tap target permanent an opponent controls.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Экзарх-Обманщик выходит на поле битвы, выберите одно — разверните целевой перманент под вашим контролем; или поверните целевой перманент под контролем оппонента.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando Exarca Enganador entrar no campo de batalha, escolha um — Desvire a permanente alvo que você controla; ou vire a permanente alvo que um oponente controla.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[当欺瞒督教进战场时,选择一项~重置目标由你操控的永久物;或横置目标由对手操控的永久物。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[當欺瞞督教進戰場時,選擇一項~重置目標由你操控的永久物;或橫置目標由對手操控的永久物。]]></LOCALISED_TEXT>
<SFX text="TARGET_PLASMA_PLAY" />
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<MODE_SELECT tag="MODE_CHOOSE_ONE">
<MODE tag="CARD_QUERY_OPTION_UNTAP_PERMANENT_YOU_CONTROL" index="1" />
<MODE tag="CARD_QUERY_OPTION_TAP_PERMANENT_YOU_DONT_CONTROL" index="2" />
</MODE_SELECT>
<TARGET tag="CARD_QUERY_CHOOSE_PERMANENT_TO_UNTAP" definition="0" compartment="0" mode="1" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:Add( FE_IS_PERMANENT, true )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION mode="1">
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
target:Untap()
end
</RESOLUTION_TIME_ACTION>
<TARGET tag="CARD_QUERY_CHOOSE_PERMANENT_TO_TAP" definition="1" compartment="1" mode="2" count="1" />
<TARGET_DEFINITION id="1">
local filter = ClearFilter()
filter:Add( FE_IS_PERMANENT, true )
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION mode="2">
local target = EffectDC():Get_Targets(1):Get_CardPtr(0)
if target ~= nil then
target:Tap()
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Formal Request Thread
by RiiakShiNal » 17 May 2014, 23:12
Steamflogger Boss isn't an Artifact Creature though, it's basically just a Red 3/3 Goblin who can give +1/+0 and haste to other Riggers (of which there is only 1). Though it is true that there are worse cards (for example Hill Giant, only slightly).sumomole wrote:a 3/3 artifact creature with 4 cmc is not so difficult to accept, Magic never lacks of worse cards.![]()
For an even worse card try Wood Elemental.
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: Formal Request Thread
by loookaz » 05 Jun 2014, 19:17
I have searched the forum for Overgrown Battlement, Mercy Killing, Batwing Brume and Forbidden Orchard, but i cannot find them. Can someone help?
Najlepsze lekcje angielskiego w Warszawie:
http://www.englishwithlucas.com/
https://www.facebook.com/angielski.z.Lucasem
http://www.englishwithlucas.com/
https://www.facebook.com/angielski.z.Lucasem
- loookaz
- Posts: 131
- Joined: 01 Dec 2012, 10:56
- Location: Warsaw, Poland
- Has thanked: 22 times
- Been thanked: 2 times
Re: Formal Request Thread
by RiiakShiNal » 05 Jun 2014, 20:54
Overgrown Battlement is pretty easy to code as you can take the mana ability from Cloudpost (in my mod) and modify the filter to look for the Type Creature and Characteristic Defender instead of the Subtype Locus and produceloookaz wrote:I have searched the forum for Overgrown Battlement, Mercy Killing, Batwing Brume and Forbidden Orchard, but i cannot find them. Can someone help?


Forbidden Orchard can be fairly easily created by taking the mana ability from Birds of Paradise (also in my mod) for the first ability. For the second ability you make a TRIGGERED_ABILITY that selects a target opponent and puts a 1/1 colourless spirit on the battlefield (token would probably have to be made, but is extremely simple). The trigger for the second ability would be like this (adapted from Mana Flare, also from my mod):
- Trigger for second ability | Open
- Code: Select all
<TRIGGER value="BECAME_TAPPED_FOR_MANA" simple_qualifier="self">
local oCard = TriggerObject()
if (oCard ~= nil) then
if (RSN_UsedManaAbility( oCard )) then
return true
end
end
-- If we don't have the TriggerObject then we don't know if it was a mana ability or not.
return false
</TRIGGER>
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: Formal Request Thread
by loookaz » 05 Jun 2014, 21:10
I am terribly sorry and I don't want to sound ungrateful, but it's just beyond my coding skills to do that, I can only make a tdx file, coding abilities is not my forte i am afraid...
can someone post the codes for the cards?
thank you in advance
lucas

can someone post the codes for the cards?
thank you in advance
lucas
Najlepsze lekcje angielskiego w Warszawie:
http://www.englishwithlucas.com/
https://www.facebook.com/angielski.z.Lucasem
http://www.englishwithlucas.com/
https://www.facebook.com/angielski.z.Lucasem
- loookaz
- Posts: 131
- Joined: 01 Dec 2012, 10:56
- Location: Warsaw, Poland
- Has thanked: 22 times
- Been thanked: 2 times
Re: Formal Request Thread
by NEMESiS » 09 Jun 2014, 12:33
Hello, can I ask you folks for some help? I am trying to code Exploding Borders but I am having problem making the Domain part of it. It was a no brainer to use Rampant Growth and then I grabbed Corrupt for the 2nd part but it fizzles out when doing the damage. I think its because it wont use the supertype basic and type land. If I tell it to count each type of land it will simply deal damage equal to all the land I have.
-
NEMESiS - Posts: 460
- Joined: 03 Jan 2013, 04:02
- Location: Pools of Becoming
- Has thanked: 70 times
- Been thanked: 21 times
Re: Formal Request Thread
by sumomole » 09 Jun 2014, 14:26
Domain counts the number of basic land types, not the number of lands, you should use player:CountBasicLandTypes().NEMESiS wrote:Hello, can I ask you folks for some help? I am trying to code Exploding Borders but I am having problem making the Domain part of it. It was a no brainer to use Rampant Growth and then I grabbed Corrupt for the 2nd part but it fizzles out when doing the damage. I think its because it wont use the supertype basic and type land. If I tell it to count each type of land it will simply deal damage equal to all the land I have.
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Formal Request Thread
by NEMESiS » 10 Jun 2014, 01:47
Thanks, unfortunately I seem to be a little then dense then that...sumomole wrote:Domain counts the number of basic land types, not the number of lands, you should use player:CountBasicLandTypes().NEMESiS wrote:Hello, can I ask you folks for some help? I am trying to code Exploding Borders but I am having problem making the Domain part of it. It was a no brainer to use Rampant Growth and then I grabbed Corrupt for the 2nd part but it fizzles out when doing the damage. I think its because it wont use the supertype basic and type land. If I tell it to count each type of land it will simply deal damage equal to all the land I have.
This is what I have but unfortunately I am sure that the code probably looks nothing like it actually should.
- Code: Select all
<TARGET tag="CARD_QUERY_CHOOSE_DEAL_DOMAIN_DAMAGE" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
filter:Add( FE_IS_LAND, true )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
local damage = filter:CountBasicLandTypes()
if ( target_player ~= nil ) then
EffectSourceLKI():DealDamageTo( damage, target_player )
end
</RESOLUTION_TIME_ACTION>
-
NEMESiS - Posts: 460
- Joined: 03 Jan 2013, 04:02
- Location: Pools of Becoming
- Has thanked: 70 times
- Been thanked: 21 times
Re: Formal Request Thread
by RiiakShiNal » 10 Jun 2014, 01:54
CountBasicLandTypes() is a player function not a filter function.NEMESiS wrote:Thanks, unfortunately I seem to be a little then dense then that...
This is what I have but unfortunately I am sure that the code probably looks nothing like it actually should.At least I gave it a good try. lol
- | Open
- Code: Select all
<TARGET tag="CARD_QUERY_CHOOSE_DEAL_DOMAIN_DAMAGE" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
filter:Add( FE_IS_LAND, true )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
local damage = filter:CountBasicLandTypes()
if ( target_player ~= nil ) then
EffectSourceLKI():DealDamageTo( damage, target_player )
end
</RESOLUTION_TIME_ACTION>
- Code: Select all
<RESOLUTION_TIME_ACTION>
local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
local damage = EffectController():CountBasicLandTypes()
if ( target_player ~= nil ) then
EffectSourceLKI():DealDamageTo( damage, target_player )
end
</RESOLUTION_TIME_ACTION>
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: Formal Request Thread
by NEMESiS » 10 Jun 2014, 01:59
Thanks, I had actually tried something similar to that but used filter instead of EffectController() ..... 
EDIT: Well, this still does no damage....

EDIT: Well, this still does no damage....
- Code: Select all
<SPELL_ABILITY filter_zone="ZONE_IN_PLAY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Domain — Search your library for a basic land card, put that card onto the battlefield tapped, then shuffle your library. Exploding Borders deals X damage to target player, where X is the number of basic land types among lands you control.]]></LOCALISED_TEXT>
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
local effectController = EffectController()
filter:Add( FE_SUPERTYPE, OP_IS, SUPERTYPE_BASIC )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
filter:SetZone( ZONE_LIBRARY, effectController )
effectController:ChooseItem( "CARD_QUERY_CHOOSE_LAND_TO_PUT_ONTO_THE_BATTLEFIELD_TAPPED", EffectDC():Make_Targets(0) )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
target:PutOntoBattlefieldTapped( EffectController() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
EffectController():ShuffleLibrary()
</RESOLUTION_TIME_ACTION>
<MAY />
<SFX text="TARGET_BLUNT_PLAY" />
<TARGET tag="CARD_QUERY_CHOOSE_DEAL_DOMAIN_DAMAGE" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
local damage = EffectController():CountBasicLandTypes()
if ( target_player ~= nil ) then
EffectSourceLKI():DealDamageTo( damage, target_player )
end
</RESOLUTION_TIME_ACTION>
<AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
</SPELL_ABILITY>
-
NEMESiS - Posts: 460
- Joined: 03 Jan 2013, 04:02
- Location: Pools of Becoming
- Has thanked: 70 times
- Been thanked: 21 times
Re: Formal Request Thread
by sumomole » 10 Jun 2014, 04:15
compartment="0" in target block means EffectDC():Make_Targets(0), so you should use EffectDC():Make_Targets(1) for land.NEMESiS wrote:Well, this still does no damage....
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Who is online
Users browsing this forum: No registered users and 9 guests