It is currently 12 Sep 2025, 23:20
   
Text Size

Formal Request Thread

Moderator: CCGHQ Admins

Re: Formal Request Thread

Postby crypt » 15 Apr 2015, 00:23

I'm posting some feedback on cards that are currently in the CW but aren't working correctly, if someone could please have a look at these if/when they have time;

Bladewing the Risen
Line 64 has a typo, PutOnBattlefield instead of PutOntoBattlefield, it should be;
Code: Select all
      target:PutOntoBattlefield( EffectController() )
Dragonlord Kolaghan
The card seems to work fine but gives the following error in the script log;
Code: Select all
[lua] [string "DRAGONLORD_KOLAGHAN_CW_394548_TITLE (TRIGGER)~0x00001564"]:4: attempt to call method 'Set_Zone' (a nil value)
Dromoka's Command
Only allows 1 choice, but all the effects work.

Prossh, Skyraider of Kher
The kobold tokens created by this card and the ones from Utvara Hellkite cause the game to crash about 75% of the time when they are destroyed. The crash occurs right when the game is moving them to the graveyard if that helps. I have seen other mention of issues with tokens, not sure if this is part of the larger issue or specific to these cards.

Harbinger of the Hunt
Gives the following error in script log;
Code: Select all
[lua] [string "HARBINGER_OF_THE_HUNT_CW_394591_TITLE (RESOLUTION_TIME_ACTION)~..."]:4: ')' expected (to close '(' at line 3) near 'end'
Haven of the Spirit Dragon
The mana of any color produced can be used for any spell, not just Dragons.
The last effect (sacrifice to return dragon or ugin) does not work, no trigger on the card to activate.
Also gives the following errors in the script log;
Code: Select all
[lua] [string "HAVEN_OF_THE_SPIRIT_DRAGON_MM_CW_394593_TITLE (CONTINUOUS_ACTION)~0x00000423"]:2:
 parameter mismatch or too few parameters [expected bzS32]

[lua] [string "HAVEN_OF_THE_SPIRIT_DRAGON_MM_CW_394593_TITLE (RESOLUTION_TIME_ACTION)~0x0000041f"]:31:
 parameter mismatch or too few parameters [expected bzS32]

[lua] [string "HAVEN_OF_THE_SPIRIT_DRAGON_MM_CW_394593_TITLE (RESOLUTION_TIME_ACTION)~0x00000424"]:6:
 parameter mismatch or too few parameters [expected bzS32]

[lua] [string "HAVEN_OF_THE_SPIRIT_DRAGON_MM_CW_394593_TITLE (TARGET_DEFINITION)~0x00000432"]:5: attempt to call method 'AddSubFitler_And' (a nil value)
Cavern of Souls
The code in this card to "choose a creature type" is a bit awkward, and it doesn't seem to have Dragon in the list.
The code in Urza's Incubator has a similar effect, and works nicely.

These are the issues I have come across so far, and this seemed like the best place to post them. I hope this info is helpful, it is meant only as constructive criticism.

Thanks guys!
crypt
 
Posts: 7
Joined: 01 Apr 2015, 20:04
Has thanked: 3 times
Been thanked: 1 time

Re: Formal Request Thread

Postby Xander9009 » 15 Apr 2015, 00:51

Fixed everything except Cavern of Souls. Either you have a extra set of functions interfering (because Dragon appears to be in the list as excepted) or the code needs replaced with the Urza's Incubator version, and I don't have the time at the moment. The rest will be fixed in the next repack.
_______________________________
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 zysron » 16 Apr 2015, 01:21

mtg 2015 just added some more cards (which is probably why they havent released it yet)
zysron
 
Posts: 102
Joined: 13 Mar 2015, 09:02
Has thanked: 0 time
Been thanked: 2 times

Re: Formal Request Thread

Postby nivmizzet1 » 20 Apr 2015, 15:15

I would like some help with two cards, some Vow enchantments, Vow of Duty and Vow of Flight. Basically, it's the part of the ability that states "Enchanted creature ...snip... can’t attack you or a planeswalker you control". All the cards that state something can't attack a player use the CAN'T_ATTACK_PLAYER_TEST, which is part of a triggered ability, but I can't see how it can be used to prevent an enchanted creature from attacking, unless there is some kind of filter I can apply. For now, I've just used half of pacifism, so the enchanted creature can't attack anybody, which is obviously wrong and basically ruins half the card's utility.

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="VOW_OF_DUTY_382402" />
  <CARDNAME text="VOW_OF_DUTY" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Vow of Duty]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vow of Duty]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vow of Duty]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Vow of Duty]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Vow of Duty]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[義務の誓約]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Vow of Duty]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Vow of Duty]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Vow of Duty]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="382402" />
  <ARTID value="382402" />
  <ARTIST name="Wayne Reynolds" />
  <CASTING_COST cost="{2}{W}" />
  <TYPE metaname="Enchantment" />
  <SUB_TYPE metaname="Aura" />
  <EXPANSION value="CNS" />
  <RARITY metaname="U" />
  <SPELL_ABILITY attach_definition="0">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanter : créature]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Encantar criatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Verzaubert eine Kreatur]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Incanta creatura]]></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[Encantar criatura]]></LOCALISED_TEXT>
    <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_ENCHANT" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    </TARGET_DEFINITION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if (target ~= nil and EffectSource() ~= nil) then
       EffectSource():Attach( target )
    end
    </RESOLUTION_TIME_ACTION>
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
  </SPELL_ABILITY>
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted creature gets +2/+2, has vigilance, and can’t attack you or a planeswalker you control.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanted creature gets +2/+2, has vigilance, and can’t attack you or a planeswalker you control.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Enchanted creature gets +2/+2, has vigilance, and can’t attack you or a planeswalker you control.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Enchanted creature gets +2/+2, has vigilance, and can’t attack you or a planeswalker you control.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura incantata prende +2/+2, ha cautela e non può attaccare te o un planeswalker che controlli.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャントされているクリーチャーは+2/+2の修整を受け、警戒を持ち、あなたやあなたがコントロールするプレインズウォーカーを攻撃できない。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchanted creature gets +2/+2, has vigilance, and can’t attack you or a planeswalker you control.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Enchanted creature gets +2/+2, has vigilance, and can’t attack you or a planeswalker you control.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Enchanted creature gets +2/+2, has vigilance, and can’t attack you or a planeswalker you control.]]></LOCALISED_TEXT>
    <CONTINUOUS_ACTION layer="7C">
    local parent = EffectSource():GetParent()
    if parent ~= nil then
       parent:GetCurrentCharacteristics():Power_Add( 2 )
       parent:GetCurrentCharacteristics():Toughness_Add( 2 )
    end
    </CONTINUOUS_ACTION>
    <CONTINUOUS_ACTION layer="6">
    local parent = EffectSource():GetParent()
    if parent ~= nil then
       parent:GetCurrentCharacteristics():Bool_Set( CHARACTERISTIC_VIGILANCE, 1 )
    end
    </CONTINUOUS_ACTION>
    <CONTINUOUS_ACTION layer="8">
    local parent = EffectSource():GetParent()
    if parent ~= nil then
       parent:GetCurrentCharacteristics():Bool_Set( CHARACTERISTIC_CANT_ATTACK, 1 )
    end
    </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
</CARD_V2>
.
.
.
.
I'd also like help with the final ability of Evershrike

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="EVERSHRIKE_157978" />
  <CARDNAME text="EVERSHRIKE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Evershrike]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Perpétagasse]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Lanino eterno]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Dauerwürger]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Passero Perenne]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[永久モズ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Evershrike]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Вечнокрыл]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Asa Eterna]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="157978" />
  <ARTID value="157978" />
  <ARTIST name="Dan Dos Santos" />
  <CASTING_COST cost="{3}{W/B}{W/B}" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Elemental" />
  <SUB_TYPE metaname="Spirit" />
  <EXPANSION value="EVE" />
  <RARITY metaname="R" />
  <POWER value="2" />
  <TOUGHNESS value="2" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vol]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vuela.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fliegend]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Volare]]></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[Voar]]></LOCALISED_TEXT>
    <INTRINSIC characteristic="CHARACTERISTIC_FLYING" />
  </STATIC_ABILITY>
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Evershrike gets +2/+2 for each Aura attached to it.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[La Perpétagasse gagne +2/+2 pour chaque aura qui lui est attachée.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[El Lanino eterno obtiene +2/+2 por cada aura anexada a él.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Der Dauerwürger erhält für jede Aura, die an ihn angelegt ist, +2/+2.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Il Passero Perenne prende +2/+2 per ogni Aura ad esso assegnata.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[永久モズは、それにつけられているオーラ1つにつき+2/+2の修整を受ける。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Evershrike gets +2/+2 for each Aura attached to it.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Вечнокрыл получает +2/+2 за каждую прикрепленную к нему Ауру.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Asa Eterna recebe +2/+2 para cada Aura anexada a ela.]]></LOCALISED_TEXT>
    <CONTINUOUS_ACTION layer="7C">
    local effectSource = EffectSource()
    if effectSource ~= nil then
       effectSource:GetCurrentCharacteristics():Power_Add( (effectSource:CountAttachedAuras()*2) )
       effectSource:GetCurrentCharacteristics():Toughness_Add( (effectSource:CountAttachedAuras()*2) )
    end
    </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{X}{i}{i}: Return Evershrike from your graveyard to the battlefield. You may put an Aura card with converted mana cost X or less from your hand onto the battlefield attached to it. If you don’t, exile Evershrike.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{X}{i}{i} : Renvoyez en jeu la Perpétagasse depuis votre cimetière. Vous pouvez mettre en jeu, attachée à elle, une carte d’aura de votre main dont le coût converti de mana est de X ou moins. Si vous ne le faites pas, retirez la Perpétagasse de la partie.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{X}{i}{i}: Regresa el Lanino eterno de tu cementerio al juego. Puedes poner en juego anexada a él una carta de aura con coste de maná convertido de X o menos de tu mano. Si no lo haces, remueve del juego el Lanino eterno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{X}{i}{i}: Bringe den Dauerwürger aus deinem Friedhof ins Spiel zurück. Du kannst eine Auren-Karte mit umgewandelten Manakosten von X oder weniger aus deiner Hand an ihn angelegt ins Spiel bringen. Falls du das nicht tust, entferne den Dauerwürger ganz aus dem Spiel.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{X}{i}{i}: Rimetti nel campo di battaglia il Passero Perenne dal tuo cimitero. Puoi mettere nel campo di battaglia dalla tua mano una carta Aura con costo di mana convertito pari o inferiore a X assegnata al Passero Perenne. Se non lo fai, esilia il Passero Perenne.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{X}{i}{i}:永久モズをあなたの墓地から場に戻す。 あなたは点数で見たマナ・コストがX以下であるオーラ1つを、あなたの手札からそれにつけられた状態で場に出してもよい。 そうしない場合、永久モズをゲームから取り除く。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{X}{i}{i}: Return Evershrike from your graveyard to the battlefield. You may put an Aura card with converted mana cost X or less from your hand onto the battlefield attached to it. If you don’t, exile Evershrike.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{X}{i}{i}: верните Вечнокрыла из вашего кладбища в игру. Вы можете положить карту Ауры с конвертированной мана-стоимостью X или меньше из вашей руки в игру, прикрепленной к нему. Если вы этого не делаете, удалите Вечнокрыла из игры.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{X}{i}{i}: Devolva Asa Eterna de seu cemitério para o jogo. Você pode colocar em jogo um card de Aura da sua mão com custo de mana convertido igual a ou menor que X anexado a ela. Se não fizer isso, remova Asa Eterna do jogo.]]></LOCALISED_TEXT>


   </ACTIVATED_ABILITY>
  <HELP title="MORE_INFO_BADGE_TITLE_10" body="MORE_INFO_BADGE_BODY_10" zone="ZONE_ANY" />
  <SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
nivmizzet1
 
Posts: 617
Joined: 21 Mar 2013, 10:10
Has thanked: 100 times
Been thanked: 25 times

Re: Formal Request Thread

Postby Xander9009 » 20 Apr 2015, 18:51

Well, the ability should have active_zone="ZONE_GRAVEYARD" in the ACTIVATED_ABILITY tag.
Make sure you get the mana cost right, and you'll use GetEffectX() to know how much the aura can cost.

When the ability is activated, set up a delayed trigger for EffectSource() entering the battlefield and then return the card to the battlefield. Make sure to store GetEffectX() in an int in the delayDC that you pass to the delayed trigger.

In the delayed trigger, filter for target auras in EffectContoller()'s hand with CMC less than or equal to the stored value (if you stored it in DelayDC:Set_Int(1), then it'll be in EffectDC():Get_Int(1) because the chest you pass to the delayed trigger becomes the EffectDC()).

Once you have a target aura, put it onto the battlefield with Target:PutOntoBattlefieldAttachedTo(EffectController(), EffectSource()). That might not work, but it should be close enough that you can debug it or tell us where it fails.

----

As for Vow of Duty, you do the the test. It's a replacement triggered ability where the trigger is pretrigger and returns true if the creature can attack TriggerPlayer() and false otherwise. So, add in the localized text:
Code: Select all
<STATIC_ABILITY linked_ability_group="1">
   <CONTINUOUS_ACTION layer="6">
      local parent = EffectSource():GetParent()
      if parent ~= nil then
         LinkedDC():Set_PlayerPtr(0, EffectController())
         parent:GetCurrentCharacteristics():GrantAbility(1)
      end
   </CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" resource_id="1" linked_ability_group="1">
   <TRIGGER value="CANT_ATTACK_PLAYER_TEST" simple_qualifier="self" pre_trigger="1">
      return TriggerPlayer() ~= LinkedDC():Get_PlayerPtr(0)
   </TRIGGER>
</TRIGGERED_ABILITY>
This should make it so the granted ability has its controller (you) as the stored player and thus the trigger returns false if it's currently checking if the creature can attack you. If this doesn't seem to work, try storing the player AFTER granting the ability rather than before. The ability might need to be granted so it exists before the LinkedDC can be used. I'm pretty sure that's not the case, but I'm not certain.
_______________________________
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 nivmizzet1 » 21 Apr 2015, 05:05

Xander9009 wrote:As for Vow of Duty, you do the the test. It's a replacement triggered ability where the trigger is pretrigger and returns true if the creature can attack TriggerPlayer() and false otherwise. So, add in the localized text:
Code: Select all
<STATIC_ABILITY linked_ability_group="1">
   <CONTINUOUS_ACTION layer="6">
      local parent = EffectSource():GetParent()
      if parent ~= nil then
         LinkedDC():Set_PlayerPtr(0, EffectController())
         parent:GetCurrentCharacteristics():GrantAbility(1)
      end
   </CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" resource_id="1" linked_ability_group="1">
   <TRIGGER value="CANT_ATTACK_PLAYER_TEST" simple_qualifier="self" pre_trigger="1">
      return TriggerPlayer() ~= LinkedDC():Get_PlayerPtr(0)
   </TRIGGER>
</TRIGGERED_ABILITY>
This should make it so the granted ability has its controller (you) as the stored player and thus the trigger returns false if it's currently checking if the creature can attack you. If this doesn't seem to work, try storing the player AFTER granting the ability rather than before. The ability might need to be granted so it exists before the LinkedDC can be used. I'm pretty sure that's not the case, but I'm not certain.
It's not working either way. As it is, both ways prevent my enchanted creature from attacking and still allow an opponents enchanted creature to attack me. I'm guessing the solution is simple, but I don't know what it is. Is the problem that the player being set is actually the controller of the enchantment, not the enchanted creature? Does LinkedDC():Set_PlayerPtr(0, EffectController()) need to be changed so it's the controller of the Parent?
Last edited by nivmizzet1 on 24 Apr 2015, 18:21, edited 2 times in total.
nivmizzet1
 
Posts: 617
Joined: 21 Mar 2013, 10:10
Has thanked: 100 times
Been thanked: 25 times

Re: Formal Request Thread

Postby sweetLu » 21 Apr 2015, 12:11

you might want to look at Riiak's corrected version of Form of the Dragon. You should be able to modify that for your needs.
sweetLu
 
Posts: 181
Joined: 16 Jul 2014, 01:24
Has thanked: 21 times
Been thanked: 22 times

Re: Formal Request Thread

Postby Xander9009 » 21 Apr 2015, 13:02

Definitely look into Form of the Dragon. But no, it's "you", which means the person who controls the effect, which is the same person that currently controls the card the effect is on, which is the enchantment, not the enchanted creature. Otherwise, it would ONLY be useful if you enchanted an opponent's creature. It's supposed to be good if it enchants yours, too.
_______________________________
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 nivmizzet1 » 24 Apr 2015, 18:22

nivmizzet1 wrote:
Xander9009 wrote:As for Vow of Duty, you do the the test. It's a replacement triggered ability where the trigger is pretrigger and returns true if the creature can attack TriggerPlayer() and false otherwise. So, add in the localized text:
| Open
Code: Select all
<STATIC_ABILITY linked_ability_group="1">
   <CONTINUOUS_ACTION layer="6">
      local parent = EffectSource():GetParent()
      if parent ~= nil then
         LinkedDC():Set_PlayerPtr(0, EffectController())
         parent:GetCurrentCharacteristics():GrantAbility(1)
      end
   </CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" resource_id="1" linked_ability_group="1">
   <TRIGGER value="CANT_ATTACK_PLAYER_TEST" simple_qualifier="self" pre_trigger="1">
      return TriggerPlayer() ~= LinkedDC():Get_PlayerPtr(0)
   </TRIGGER>
</TRIGGERED_ABILITY>
This should make it so the granted ability has its controller (you) as the stored player and thus the trigger returns false if it's currently checking if the creature can attack you. If this doesn't seem to work, try storing the player AFTER granting the ability rather than before. The ability might need to be granted so it exists before the LinkedDC can be used. I'm pretty sure that's not the case, but I'm not certain.
It's not working either way. As it is, both ways prevent my enchanted creature from attacking and still allow an opponents enchanted creature to attack me. I'm guessing the solution is simple, but I don't know what it is. Is the problem that the player being set is actually the controller of the enchantment, not the enchanted creature? Does LinkedDC():Set_PlayerPtr(0, EffectController()) need to be changed so it's the controller of the Parent?
I think I fixed it just by changing "return TriggerPlayer() ~= LinkedDC():Get_PlayerPtr(0)" to "return TriggerPlayer() == LinkedDC():Get_PlayerPtr(0)". :D

EDIT: That was the obvious thing, given how it was working, but I thought I'd already tried that, which is where the difficulty arose.
nivmizzet1
 
Posts: 617
Joined: 21 Mar 2013, 10:10
Has thanked: 100 times
Been thanked: 25 times

Re: Formal Request Thread

Postby Xander9009 » 27 Apr 2015, 14:24

So, I've decided to code Spawnsire of Ulamog if I can. The problem is that I'm not sure if I can actually cast a card that's not in the game. The best I can think of is to include the cards to cast in the deck and exile them at the beginning of the game.

That seems really clunky. Although, if that is what I did, then I could make it so the cards are actually shown and you could click the ones you want to cast. Otherwise, it'll be done with buttons if I can figure out how to cast a card that's not in the game. In that case, there would be a list of eldrazi cards you could choose from, and I was thinking I'd assume you have 4 of each common, 3 of each uncommon, 2 of each rare, and 1 of each mythic rare. Or a second version of the card which assumes 4 copies are owned. And it'll just ask you which ones to cast after removing any you have in the deck.

Anyone have any thoughts or suggestions? If I have to use the exiling, I might try using the ZONE_CEASED_TO_EXIST or something. We'll see how that all goes. I just wanted to know if anyone had thoughts on the plausibility of casting non-existent cards.
_______________________________
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 zysron » 30 Apr 2015, 01:29

i dont think you should... not unless you can make it so that the card see's what is in the "sideboard" which is all the cards you did not put in your deck that the game knows you had.
i had a major dispute once with this card and had to look up tournament rulings... and the rulings stated that the cards had to be in the sideboard (up to 15 cards) to use spawnsire's ability. otherwise you can do what i did which was summon an 33 eldrazi cards with the first to resolve being All Is Dust (i didnt have a It That Betrays)
zysron
 
Posts: 102
Joined: 13 Mar 2015, 09:02
Has thanked: 0 time
Been thanked: 2 times

Re: Formal Request Thread

Postby Xander9009 » 30 Apr 2015, 01:35

I'm going to make the card. I'm just wondering if anyone has any advice on how best to go about it. I'm not worried about the tournament ruling because the spirit of the ability is basically a more fun version of "{20}: You win the game."

EDIT: After thinking about it, the following wouldn't really be the best solution, but it should be a usable one. Enumerate the Eldrazi cards in all present decks/your deck (including all zones, not just libraries) and allow the player to cast up to 15 of those cards, up to 4 copies of any given card minus however many are in the current deck.

Iterate through each player's cards, storing all cards with subtype Eldrazi if not already in the chest and which the player has less than 4 copies of in this or her deck.
Allow player to choose cards from chest, storing results in a new chest.
Iterate through that chest, allowing player to choose a number from 0 to X, where X is 4-Copies in deck with a Max of 15 - the numbers chosen so far.
Iterate through chest again, casting copies of the cards for free (resulting in a max of 15 cards cast, with no more than 4 of any given card in the deck post-casting total).

It'll have bad interactions with a few cards, but it should work. For instance, the cards should, at that point, be considered part of the game, and if they die, they should go to your graveyard. Since they're copies, they won't.
_______________________________
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 zysron » 01 May 2015, 05:17

ruling #6:in a casual game, the cards you cast from outside the game come from your personal collection. In a sanctioned event, those cards must come from your sideboard. Note that you can't cast cards from exile this way; exile is a zone in the game.
so graveyard and deck are also invalid(if you choose to go by tournament rulings)
also the cards, once cast from outside the game become part of the game and hence would go into your graveyard if canceled resolved or destroyed. (so by making them an auto addon to the deck that is exiled when the game is started would be the best way to do it) and anyone planning on spawnsire as the winn is deffinatly going to go for massive manaramp (turn 5 20 mana its hard but possible in real games) which would be blue green deck (draw mana ramp)the only problem is it would have to be a premade deck not a premade card b/c wouldnt multiple spawnsires add multiples of those cards to the deck? in effect rendering the deck unbuildable with multiple spawnsires?

but really if i built the deck it would be blue green omniscience, mana ramp, blue sun, gennisis, draw, landfall life gain, Platinum Angel, and Asceticism eff it thro in a green sun and Platinum Imperion as well lol
zysron
 
Posts: 102
Joined: 13 Mar 2015, 09:02
Has thanked: 0 time
Been thanked: 2 times

Re: Formal Request Thread

Postby Phage8 » 02 May 2015, 09:57

Hi,anyone could make Karn liberated? Even an «approximated one» would fit,since i red somewhere the third effect cannot work right. Thank You. :)
Phage8
 
Posts: 4
Joined: 22 Mar 2012, 00:02
Has thanked: 5 times
Been thanked: 0 time

Re: Formal Request Thread

Postby Xander9009 » 02 May 2015, 15:54

Karn Liberated was coded by fallenangel and NeoAnderson already. It's not yet included in the planeswalker pool, though, I think. fallenangel sent me the card (as well as three other planeswalkers) and once I've tested them and gotten them converted for the CW, they'll be included there.

EDIT: This includes the impossible third ability. It won't be 100%, but I'm told it's a really good approximation. And considering Neo's the one that gave us morph, phasing, mana that can only be spent on certain cards, delve, convoke, and probably some more I'm forgetting (he was quite prolific and amazing while he was active), I'm confident it'll work well.
_______________________________
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

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 18 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 18 users online :: 0 registered, 0 hidden and 18 guests (based on users active over the past 10 minutes)
Most users ever online was 7967 on 09 Sep 2025, 23:08

Users browsing this forum: No registered users and 18 guests

Login Form