It is currently 25 Jun 2025, 21:33
   
Text Size

Formal Request Thread

Moderator: CCGHQ Admins

Re: Formal Request Thread

Postby 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. :D

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. :)
Your Aurelia is a bit OP, she gives as many extra turns as the tapped creatures you control each time she attacks... :lol: Wait a minute, I'm going to see if my DotP2013 code can be easily updated.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Formal Request Thread

Postby Xander9009 » 11 Jul 2013, 08:02

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. :)

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>
Replace
Code: Select all
EffectController():GetTeam():TakeExtraTurn()
with
Code: Select all
MTG():TakeAdditionalPhase(PHASE_COMBAT)
and put it in its own resolution block. I'm looking at Savage Beating for comparison.

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
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Formal Request Thread

Postby Xander9009 » 11 Jul 2013, 08:15

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. :D
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.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Formal Request Thread

Postby thefiremind » 11 Jul 2013, 08:19

Xander9009 wrote:Replace
Code: Select all
EffectController():GetTeam():TakeExtraTurn()
with
Code: Select all
MTG():TakeAdditionalPhase(PHASE_COMBAT)
and put it in its own resolution block. I'm looking at Savage Beating for comparison.

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.
I used a variable in DotP2013 to achieve the result, but I think there's an easier way in DotP2014, if it works:
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) &lt; 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>
I'm asking the interrogation query if Aurelia attacked less than 2 times (the current attack counts).
Try it and let me know.

Xander9009 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.)
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 story :mrgreen:).
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Formal Request Thread

Postby Xander9009 » 11 Jul 2013, 08:30

thefiremind wrote:
Code: Select all
return interrogation:Test(INTERROGATE_ATTACKS, INTERROGATE_THIS_TURN, 2) &lt; 2
I'm asking the interrogation query if Aurelia attacked less than 2 times (the current attack counts).
Try it and let me know.
What does the 2 in the parentheses do? (I know next to nothing about interrogations...)
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Formal Request Thread

Postby thefiremind » 11 Jul 2013, 08:34

Xander9009 wrote:What does the 2 in the parentheses do? (I know next to nothing about interrogations...)
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. :lol:

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...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Formal Request Thread

Postby sumomole » 11 Jul 2013, 15:34

Scion of Darkness wrote:Please can someone help me with soulbond? Thanks
Maybe I can say yes now! :D
That need to thank RiiakShiNal who bring back the ObjectDC for us. =D>
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>
BTW, I'm trying to find a new way that not use CHARACTERISTIC_PHASING and ObjectDC, if successful, maybe we can have a more simple soulbond ability. :wink:
User avatar
sumomole
Programmer
 
Posts: 611
Joined: 07 Jun 2011, 08:34
Has thanked: 51 times
Been thanked: 234 times

Re: Formal Request Thread

Postby 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? :)
User avatar
Master Necro
 
Posts: 259
Joined: 24 Apr 2013, 18:25
Has thanked: 83 times
Been thanked: 21 times

Re: Formal Request Thread

Postby 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 :P).

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() ) &gt; 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() ) &gt; 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>
but please test them before adding them to the first page, I'm not sure how the MAY blocks will work, especially with unleash.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Formal Request Thread

Postby Master Necro » 11 Jul 2013, 18:39

thefiremind 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 :P).

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() ) &gt; 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() ) &gt; 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>
but please test them before adding them to the first page, I'm not sure how the MAY blocks will work, especially with unleash.
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 tomorrow
User avatar
Master Necro
 
Posts: 259
Joined: 24 Apr 2013, 18:25
Has thanked: 83 times
Been thanked: 21 times

Re: Formal Request Thread

Postby 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?:)
Last edited by loookaz on 11 Jul 2013, 20:37, edited 2 times in total.
loookaz
 
Posts: 131
Joined: 01 Dec 2012, 10:56
Location: Warsaw, Poland
Has thanked: 22 times
Been thanked: 2 times

Re: Formal Request Thread

Postby Xander9009 » 11 Jul 2013, 20:04

loookaz 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?:)
It's about half the size of a couple other requests :) I'm about to start testing the last batch I did to make sure they work. Once I'm done with that, I'll get started on these if no one else has yet.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Formal Request Thread

Postby 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
loookaz
 
Posts: 131
Joined: 01 Dec 2012, 10:56
Location: Warsaw, Poland
Has thanked: 22 times
Been thanked: 2 times

Re: Formal Request Thread

Postby Master Necro » 11 Jul 2013, 21:42

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.
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.
User avatar
Master Necro
 
Posts: 259
Joined: 24 Apr 2013, 18:25
Has thanked: 83 times
Been thanked: 21 times

Re: Formal Request Thread

Postby thefiremind » 11 Jul 2013, 21:47

Master Necro wrote:
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.
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.
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? :lol:
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 8 guests

Main Menu

User Menu

Our Partners


Who is online

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

Users browsing this forum: No registered users and 8 guests

Login Form