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 thefiremind » 11 Jul 2013, 07:55
@damienx45 and @Xander9009: I'd suggest you to take a look at my updated mod, there's an Esper deck and many of the cards you are talking about. 
Wait a minute, I'm going to see if my DotP2013 code can be easily updated.

Your Aurelia is a bit OP, she gives as many extra turns as the tapped creatures you control each time she attacks...Master Necro wrote:I tried to make Aurelia, the Warleader, not to sure about it so could anyone take a look at the code, correct me if I mocked up somewhere. Thank you in advance.

< 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 Xander9009 » 11 Jul 2013, 08:02
ReplaceMaster Necro wrote:I tried to make Aurelia, the Warleader, not to sure about it so could anyone take a look at the code, correct me if I mocked up somewhere. Thank you in advance.
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="13">
<FILENAME text="AURELIA_THE_WARLEADER_17366448" />
<CARDNAME text="AURELIA_THE_WARLEADER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Aurelia, the Warleader]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Aurelia, the Warleader]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Aurelia, the Warleader]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Aurelia, the Warleader]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Aurelia, the Warleader]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Aurelia, the Warleader]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Aurelia, the Warleader]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Aurelia, the Warleader]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Aurelia, the Warleader]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="17366448" />
<ARTID value="A366448" />
<ARTIST name="Slawomir Maniak" />
<CASTING_COST cost="{2}{R}{R}{W}{W}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Where Razia was aloof and untouchable, Aurelia is on the frontlines, calling for war.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Where Razia was aloof and untouchable, Aurelia is on the frontlines, calling for war.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Where Razia was aloof and untouchable, Aurelia is on the frontlines, calling for war.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Where Razia was aloof and untouchable, Aurelia is on the frontlines, calling for war.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Where Razia was aloof and untouchable, Aurelia is on the frontlines, calling for war.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Where Razia was aloof and untouchable, Aurelia is on the frontlines, calling for war.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Where Razia was aloof and untouchable, Aurelia is on the frontlines, calling for war.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Where Razia was aloof and untouchable, Aurelia is on the frontlines, calling for war.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Where Razia was aloof and untouchable, Aurelia is on the frontlines, calling for war.]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Griffin" />
<EXPANSION value="DPI" />
<RARITY metaname="M" />
<POWER value="3" />
<TOUGHNESS value="4" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Flying]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_FLYING" />
</STATIC_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Vigilance]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vigilance]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vigilance]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Vigilance]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Vigilance]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Vigilance]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Vigilance]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Vigilance]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Vigilance]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_VIGILANCE" />
</STATIC_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Haste]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Haste]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Haste]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Haste]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Haste]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Haste]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Haste]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Haste]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Haste]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_HASTE" />
</STATIC_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Aurelia, the Warleader attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Whenever Aurelia, the Warleader attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever Aurelia, the Warleader attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Whenever Aurelia, the Warleader attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Whenever Aurelia, the Warleader attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Whenever Aurelia, the Warleader attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever Aurelia, the Warleader attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever Aurelia, the Warleader attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever Aurelia, the Warleader attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase.]]></LOCALISED_TEXT>
<TRIGGER value="ATTACKING" simple_qualifier="self" />
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_IS_TAPPED, true )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<RESOLUTION_TIME_ACTION filter_id="0">
if FilteredCard() ~= nil then
FilteredCard():Untap()
EffectController():GetTeam():TakeExtraTurn()
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<SEALED_HEURISTICS score_modifier="1150" />
<SFX text="COMBAT_ANGEL_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_ANGEL_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
<AI_BASE_SCORE score="150" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
- Code: Select all
EffectController():GetTeam():TakeExtraTurn()
- Code: Select all
MTG():TakeAdditionalPhase(PHASE_COMBAT)
Second, don't forget this is only supposed to happen once per turn. I'd put in another resolution block that sets a variable when then ability fires, and then have a trigger requirement for that variable to be 0. Finally, at end of turn, reset the variable. The only easier way I know to make something happen once per turn is with <AVAILABILITY once_per_turn="1" /> But I don't think that will work in a triggered ability (I've only seen it in activated abilities). But you could try that first. (Inside the ability, but outside of all blocks. Such as before the trigger.)
_______________________________
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: Formal Request Thread
by Xander9009 » 11 Jul 2013, 08:15
Almost my whole second post was already done by you lol. If only I'd known already. I'm just glad I don't have to bother trying to fix whatever mess I'm sure I made with Ethersworn Canonist.thefiremind wrote:@damienx45 and @Xander9009: I'd suggest you to take a look at my updated mod, there's an Esper deck and many of the cards you are talking about.
_______________________________
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: Formal Request Thread
by thefiremind » 11 Jul 2013, 08:19
I used a variable in DotP2013 to achieve the result, but I think there's an easier way in DotP2014, if it works:Xander9009 wrote:Replacewith
- Code: Select all
EffectController():GetTeam():TakeExtraTurn()
and put it in its own resolution block. I'm looking at Savage Beating for comparison.
- Code: Select all
MTG():TakeAdditionalPhase(PHASE_COMBAT)
Second, don't forget this is only supposed to happen once per turn. I'd put in another resolution block that sets a variable when then ability fires, and then have a trigger requirement for that variable to be 0. Finally, at end of turn, reset the variable.
- Code: Select all
<TRIGGERED_ABILITY>
-- Localised text omitted
<TRIGGER value="ATTACKING" simple_qualifier="self">
local interrogation = MTG():ClearInterrogationQuery()
interrogation:SetObject( EffectSource() )
return interrogation:Test(INTERROGATE_ATTACKS, INTERROGATE_THIS_TURN, 2) < 2
</TRIGGER>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<RESOLUTION_TIME_ACTION filter_id="0">
if FilteredCard() ~= nil then
FilteredCard():Untap()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
MTG():TakeAdditionalPhase(PHASE_COMBAT)
</RESOLUTION_TIME_ACTION>
<SFX text="GLOBAL_WARP_PLAY" />
</TRIGGERED_ABILITY>
Try it and let me know.
The availability works only for activated abilities (and for utility abilities and spell abilities when you need to set a cast condition, but that's another storyXander9009 wrote:The only easier way I know to make something happen once per turn is with <AVAILABILITY once_per_turn="1" /> But I don't think that will work in a triggered ability (I've only seen it in activated abilities). But you could try that first. (Inside the ability, but outside of all blocks. Such as before the trigger.)

< 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 Xander9009 » 11 Jul 2013, 08:30
What does the 2 in the parentheses do? (I know next to nothing about interrogations...)thefiremind wrote:I'm asking the interrogation query if Aurelia attacked less than 2 times (the current attack counts).
- Code: Select all
return interrogation:Test(INTERROGATE_ATTACKS, INTERROGATE_THIS_TURN, 2) < 2
Try it and let me know.
_______________________________
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: Formal Request Thread
by thefiremind » 11 Jul 2013, 08:34
It's like filter:CountStopAt(...), it gives a maximum number for the count, for when you don't need to count further. I'm not sure if this has a big impact on performance (I think it doesn't), but since it exists, let's use it.Xander9009 wrote:What does the 2 in the parentheses do? (I know next to nothing about interrogations...)

EDIT: Anyway, I just tried to code Restore the Peace but I can't, so the interrogation isn't as flexible as I thought, and Aurelia might not work. I guess we'll know when someone makes a test.
< 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 sumomole » 11 Jul 2013, 15:34
Maybe I can say yes now!Scion of Darkness wrote:Please can someone help me with soulbond? Thanks

That need to thank RiiakShiNal who bring back the ObjectDC for us.

This's his function file. Object DC Functions You need to download it and put into the functions folder of your mod, since soulbond ability used its code.
I didn't do a lot of testing, if you find any bugs, please let me know.
- Wolfir Silverheart | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="WOLFIR_SILVERHEART_627047" />
<CARDNAME text="WOLFIR_SILVERHEART" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Wolfir Silverheart]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Cœur d’argent wolfir]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Licano corazón plateado]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Silberherz-Wölfling]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Lupir Cuore d’Argento]]></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[Lupíneo Coração de Prata]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="627047" />
<ARTID value="627047" />
<ARTIST name="Raymond Swanland" />
<CASTING_COST cost="{3}{G}{G}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Wolf" />
<SUB_TYPE metaname="Warrior" />
<EXPANSION value="DPI" />
<RARITY metaname="R" />
<POWER value="4" />
<TOUGHNESS value="4" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Soulbond |(You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Association d’âmes |(Vous pouvez associer cette créature à une autre créature dissociée quand l’une d’elles arrive sur le champ de bataille. Elles restent associées tant que vous les contrôlez toutes les deux.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Unir almas. |(Puedes emparejar esta criatura con otra criatura no emparejada cuando cualquiera de ellas entre al campo de batalla. Permanecen emparejadas mientras controles ambas criaturas.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Seelengebunden |(Du kannst diese Kreatur an eine andere nicht gebundene Kreatur binden, wenn eine von beiden ins Spiel kommt. Sie bleiben verbunden, solange du die Kontrolle über beide Kreaturen hast.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Unione d’anime |(Puoi abbinare questa creatura a un’altra creatura non abbinata quando una delle due entra nel campo di battaglia. Restano abbinate fintanto che le controlli entrambe.)|]]></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[Elo espiritual |(Você pode emparelhar esta criatura com outra criatura não emparelhada quando uma delas entrar no campo de batalha. Elas permanecem emparelhadas enquanto você controlar ambas.)|]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" simple_qualifier="objectyoucontrol" to_zone="ZONE_BATTLEFIELD">
return (TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) and EffectSource():GetCurrentCharacteristics():Bool_Get( CHARACTERISTIC_PHASING ) == false)
</TRIGGER>
<RESOLUTION_TIME_ACTION>
if (EffectSource() ~= nil and EffectSource():GetCurrentCharacteristics():Bool_Get( CHARACTERISTIC_PHASING ) == false and EffectSource():GetCardType():Test( CARD_TYPE_CREATURE ) and EffectSource():GetController() == EffectController()) then
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
filter:Add( FE_CHARACTERISTIC, OP_NOT, CHARACTERISTIC_PHASING )
if TriggerObject() ~= EffectSource() then
filter:Add( FE_CARD_INSTANCE, OP_IS, TriggerObject() )
else
filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource() )
end
EffectController():ChooseItem ("CARD_QUERY_CHOOSE_CREATURE_TO_PAIR", 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
RSN_ObjectDC():Set_CardPtr(-627, target)
RSN_ObjectDC():Set_PlayerPtr(-628, EffectController())
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As long as Wolfir Silverheart is paired with another creature, each of those creatures gets +4/+4.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tant que le Cœur d’argent wolfir est associé à une autre créature, chacune de ces créatures gagne +4/+4.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Mientras el Licano corazón plateado esté emparejado con otra criatura, cada una de esas criaturas obtiene +4/+4.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Solange der Silberherz-Wölfling an eine andere Kreatur gebunden ist, erhalten beide Kreaturen +4/+4.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Fintanto che il Lupir Cuore d’Argento è abbinato a un’altra creatura, ognuna di quelle creature prende +4/+4.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ウルフィーの銀心が他のクリーチャーと組になっているかぎり、それらのクリーチャーはそれぞれ+4/+4の修整を受ける。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[울피르 은심장이 다른 생물과 짝을 이루는 한, 두 생물 모두 +4/+4를 받는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Пока Вульфир Серебряного Сердца находится в паре с другим существом, каждое из тех существ получает +4/+4.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enquanto Lupíneo Coração de Prata estiver emparelhado com outra criatura, cada uma dessas criaturas receberá +4/+4.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="8">
local pairedCard = RSN_ObjectDC():Get_CardPtr(-627)
if EffectSource() ~= nil and pairedCard ~= nil then
pairedCard:GetCurrentCharacteristics():Bool_Set( CHARACTERISTIC_PHASING, 1 )
EffectSource():GetCurrentCharacteristics():Bool_Set( CHARACTERISTIC_PHASING, 1 )
end
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="7C">
local pairedCard = RSN_ObjectDC():Get_CardPtr(-627)
if EffectSource() ~= nil and pairedCard ~= nil then
pairedCard:GetCurrentCharacteristics():Power_Add( 4 )
pairedCard:GetCurrentCharacteristics():Toughness_Add( 4 )
EffectSource():GetCurrentCharacteristics():Power_Add( 4 )
EffectSource():GetCurrentCharacteristics():Toughness_Add( 4 )
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1">
<TRIGGER value="ABILITY_RESOLVED">
if EffectSource():GetCardType():Test( CARD_TYPE_CREATURE ) and RSN_ObjectDC():Get_CardPtr(-627) == nil then
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource() )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
local numCards = filter:EvaluateObjects()
for i=0,(numCards-1) do
local card = filter:GetNthEvaluatedObject(i)
if card ~= nil and RSN_GetObjectDC( card, false ) ~= nil then
local pairedCard = RSN_GetObjectDC( card, false ):Get_CardPtr(-627)
if pairedCard ~= nil and pairedCard == EffectSource() then
RSN_ObjectDC():Set_CardPtr(-627, card)
RSN_ObjectDC():Set_PlayerPtr(-628, EffectController())
return true
end
end
end
end
return false
</TRIGGER>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1">
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_BATTLEFIELD" />
<TRIGGER value="ABILITY_RESOLVED">
local pairedCard = RSN_ObjectDC():Get_CardPtr(-627)
local player = RSN_ObjectDC():Get_PlayerPtr(-628)
if pairedCard ~= nil and player ~= nil then
return (pairedCard:GetController() ~= player or EffectSource():GetController() ~= player or pairedCard:GetCardType():Test( CARD_TYPE_CREATURE ) == false or EffectSource():GetCardType():Test( CARD_TYPE_CREATURE ) == false)
end
return false
</TRIGGER>
<TRIGGER value="SPELL_RESOLVED">
local pairedCard = RSN_ObjectDC():Get_CardPtr(-627)
local player = RSN_ObjectDC():Get_PlayerPtr(-628)
if pairedCard ~= nil and player ~= nil then
return (pairedCard:GetController() ~= player or EffectSource():GetController() ~= player or pairedCard:GetCardType():Test( CARD_TYPE_CREATURE ) == false or EffectSource():GetCardType():Test( CARD_TYPE_CREATURE ) == false)
end
return false
</TRIGGER>
<TRIGGER value="PLAYER_LOSES_GAME">
local player = RSN_ObjectDC():Get_PlayerPtr(-628)
if player ~= nil then
return TriggerPlayer() == player
end
return false
</TRIGGER>
<RESOLUTION_TIME_ACTION>
RSN_ObjectDC():Set_CardPtr(-627, nil)
RSN_ObjectDC():Set_PlayerPtr(-628, nil)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<HELP title="MORE_INFO_TITLE_SOULBOND" body="MORE_INFO_BODY_SOULBOND" zone="ZONE_ANY" />
<SFX text="COMBAT_BITE_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BITE_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
<AI_BASE_SCORE score="750" zone="ZONE_BATTLEFIELD" />
</CARD_V2>

-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Formal Request Thread
by Master Necro » 11 Jul 2013, 16:24
Is there any progress on the rest of the abilities, Forecast, Bloodrush, Overload, Haunt, Unleash, Convoke and Graft? 

-
Master Necro - Posts: 259
- Joined: 24 Apr 2013, 18:25
- Has thanked: 83 times
- Been thanked: 21 times
Re: Formal Request Thread
by thefiremind » 11 Jul 2013, 18:21
Forecast (and ninjutsu, for that matter) can't be made on DotP2014 except for when they have monocolored mana costs or no mana costs, this is the reason.
Convoke and overload are still impossible or requiring too many approximations to be feasible (until someone proves I'm wrong
).
Bloodrush has different effects depending on the creature, the only standard part is the DiscardSelf cost: if you start from cycling it's not really that hard to make.
Haunt needs a different implementation for creatures and non-creatures. I remember getting stuck on something for the non-creature implementation in DotP2013, so I'll leave it to someone else unless I need to make a card with haunt for one of my decks.
Unleash and graft aren't really difficult, I think they should work like this:
Convoke and overload are still impossible or requiring too many approximations to be feasible (until someone proves I'm wrong

Bloodrush has different effects depending on the creature, the only standard part is the DiscardSelf cost: if you start from cycling it's not really that hard to make.
Haunt needs a different implementation for creatures and non-creatures. I remember getting stuck on something for the non-creature implementation in DotP2013, so I'll leave it to someone else unless I need to make a card with haunt for one of my decks.
Unleash and graft aren't really difficult, I think they should work like this:
- Unleash (untested) | Open
- Code: Select all
<TRIGGERED_ABILITY replacement_query="1" active_zone="ZONE_TRANSITION">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Unleash]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Scatenare]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Entfesselt]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Emportement]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Desatar.]]></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[Liberar]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
</RESOLUTION_TIME_ACTION>
<MAY tag="CARD_QUERY_UNLEASH" always_prompt="1" />
</TRIGGERED_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="8">
local source = EffectSource()
if source ~= nil and source:CountCounters( MTG():PlusOnePlusOneCounters() ) > 0 then
source:GetCurrentCharacteristics():Characteristic_Set(CHARACTERISTIC_CANT_BLOCK, 1)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
- Graft (untested) | Open
- Code: Select all
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
-- change the amount of counters here for Graft 2, 3, etc.
EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Graft 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Greffe 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Injertar 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Pfropfen 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Innesto 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[移植 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Graft 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Прививка 1.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enxerto 1]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY">
return TriggerObject():GetCardType():Test(CARD_TYPE_CREATURE) and TriggerObject() ~= EffectSource()
</TRIGGER>
<INTERVENING_IF>
return EffectSource() ~= nil and TriggerObject() ~= nil and EffectSource():CountCounters( MTG():PlusOnePlusOneCounters() ) > 0
</INTERVENING_IF>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil and TriggerObject() ~= nil then
TriggerObject():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
EffectSource():RemoveCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
</RESOLUTION_TIME_ACTION>
<MAY tag="CARD_QUERY_GRAFT" always_prompt="1" />
<AUTO_SKIP>
return EffectSource() == nil or TriggerObject() == nil
</AUTO_SKIP>
</TRIGGERED_ABILITY>
< 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 Master Necro » 11 Jul 2013, 18:39
Thanks, it may be some time before I can test them but I will and I will tell you if they work, same goes for Aurelia although I am almost finished with her deck so expect the results by tomorrowthefiremind wrote:Forecast (and ninjutsu, for that matter) can't be made on DotP2014 except for when they have monocolored mana costs or no mana costs, this is the reason.
Convoke and overload are still impossible or requiring too many approximations to be feasible (until someone proves I'm wrong).
Bloodrush has different effects depending on the creature, the only standard part is the DiscardSelf cost: if you start from cycling it's not really that hard to make.
Haunt needs a different implementation for creatures and non-creatures. I remember getting stuck on something for the non-creature implementation in DotP2013, so I'll leave it to someone else unless I need to make a card with haunt for one of my decks.
Unleash and graft aren't really difficult, I think they should work like this:
- Unleash (untested) | Open
- Code: Select all
<TRIGGERED_ABILITY replacement_query="1" active_zone="ZONE_TRANSITION">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Unleash]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Scatenare]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Entfesselt]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Emportement]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Desatar.]]></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[Liberar]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
</RESOLUTION_TIME_ACTION>
<MAY tag="CARD_QUERY_UNLEASH" always_prompt="1" />
</TRIGGERED_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="8">
local source = EffectSource()
if source ~= nil and source:CountCounters( MTG():PlusOnePlusOneCounters() ) > 0 then
source:GetCurrentCharacteristics():Characteristic_Set(CHARACTERISTIC_CANT_BLOCK, 1)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>but please test them before adding them to the first page, I'm not sure how the MAY blocks will work, especially with unleash.
- Graft (untested) | Open
- Code: Select all
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
-- change the amount of counters here for Graft 2, 3, etc.
EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Graft 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Greffe 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Injertar 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Pfropfen 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Innesto 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[移植 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Graft 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Прививка 1.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enxerto 1]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY">
return TriggerObject():GetCardType():Test(CARD_TYPE_CREATURE) and TriggerObject() ~= EffectSource()
</TRIGGER>
<INTERVENING_IF>
return EffectSource() ~= nil and TriggerObject() ~= nil and EffectSource():CountCounters( MTG():PlusOnePlusOneCounters() ) > 0
</INTERVENING_IF>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil and TriggerObject() ~= nil then
TriggerObject():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
EffectSource():RemoveCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
</RESOLUTION_TIME_ACTION>
<MAY tag="CARD_QUERY_GRAFT" always_prompt="1" />
<AUTO_SKIP>
return EffectSource() == nil or TriggerObject() == nil
</AUTO_SKIP>
</TRIGGERED_ABILITY>
-
Master Necro - Posts: 259
- Joined: 24 Apr 2013, 18:25
- Has thanked: 83 times
- Been thanked: 21 times
Re: Formal Request Thread
by loookaz » 11 Jul 2013, 19:58
hi guys
i am trying to port my old decks to 2014 version of the game.
can someone help me with:
ARMADILLO_CLOAK
QASALI_PRIDEMAGE
SUN_TITAN
flickerwisp
CLOUDSHIFT
NOBLE_HIERARCH
SWORDS_TO_PLOWSHARES
EMERIA_THE_SKY_RUIN
i know it's a lot
but there is no harm in asking, right?:)
i am trying to port my old decks to 2014 version of the game.
can someone help me with:
ARMADILLO_CLOAK
QASALI_PRIDEMAGE
SUN_TITAN
flickerwisp
CLOUDSHIFT
NOBLE_HIERARCH
SWORDS_TO_PLOWSHARES
EMERIA_THE_SKY_RUIN
i know it's a lot
but there is no harm in asking, right?:)
Last edited by loookaz on 11 Jul 2013, 20:37, edited 2 times in total.
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 Xander9009 » 11 Jul 2013, 20:04
It's about half the size of a couple other requestsloookaz wrote:hi guys
i am trying to port my old decks to 2014 version of the game.
can someone help me with:
Armadillo Cloak
Qasali Pridemage
Sun Titan
Flickerwisp
Cloudshift
Noble Hierarch
Swords to Plowshares
Emeria, the Sky Ruin
i know it's a lot
but there is no harm in asking, right?:)

_______________________________
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: Formal Request Thread
by loookaz » 11 Jul 2013, 20:29
i will greatly appreciate it, thanks in advance mate:)
i just wanted to say that
Flickerwisp
and Cloudshift are crucial for me
i just wanted to say that
Flickerwisp
and Cloudshift are crucial for me
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 Master Necro » 11 Jul 2013, 21:42
Just saw something, actually Bloodrush has the same effect after discard it always says Target attacking creature gets +N/+N until the end of turn.thefiremind wrote:Bloodrush has different effects depending on the creature, the only standard part is the DiscardSelf cost: if you start from cycling it's not really that hard to make.
-
Master Necro - Posts: 259
- Joined: 24 Apr 2013, 18:25
- Has thanked: 83 times
- Been thanked: 21 times
Re: Formal Request Thread
by thefiremind » 11 Jul 2013, 21:47
Well, Rubblehulk isn't a normal +N/+N, and Ghor-Clan Rampager gives trample as well. You could say that those aren't big differences... but then if you know the differences, why do you need help?Master Necro wrote:Just saw something, actually Bloodrush has the same effect after discard it always says Target attacking creature gets +N/+N until the end of turn.thefiremind wrote:Bloodrush has different effects depending on the creature, the only standard part is the DiscardSelf cost: if you start from cycling it's not really that hard to make.

< 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
Who is online
Users browsing this forum: No registered users and 25 guests