Page 65 of 102

Re: Card Creation Request Thread

PostPosted: 26 May 2013, 09:14
by sumomole
thefiremind wrote:
sumomole wrote:I remember Reanimate not only target the graveyard card but also target the owner, if a player has shroud, you will not be able to target his graveyard cards.
I can't see anything in the Reanimate code that refers to the graveyard's owner. Do you mean that PLAYER_CHARACTERISTIC_HAS_SHROUD is bugged? I see that there's also a PLAYER_CHARACTERISTIC_CANT_BE_TARGETTED, which should basically mean the same, but maybe it's handled differently... if something goes wrong I'd suggest to try with the other characteristic.
I mean "choose target card in graveyard" is bugged, whenever you choose graveyard card, you must choose player first, juse like the code of Body Double, of course, it doesn't has target, but if it has target, both will be effected by shroud.
Code: Select all
    <PLAY_TIME_ACTION>
    local player = EffectController()
    player:SetTargetCount( 1 )
    player:SetTargetPrompt( 0, "CARD_QUERY_CHOOSE_WHICH_PLAYERS_GRAVEYARD" )
    player:SetTargetPrompt( 1, "CARD_QUERY_CHOOSE_CREATURE_TO_CLONE" )
    player:ChooseTargets( 0, EffectDC():Make_Targets(0) )
    </PLAY_TIME_ACTION>

Re: Card Creation Request Thread

PostPosted: 26 May 2013, 11:21
by thefiremind
sumomole wrote:I mean "choose target card in graveyard" is bugged, whenever you choose graveyard card, you must choose player first, juse like the code of Body Double, of course, it doesn't has target, but if it has target, both will be effected by shroud.
Code: Select all
    <PLAY_TIME_ACTION>
    local player = EffectController()
    player:SetTargetCount( 1 )
    player:SetTargetPrompt( 0, "CARD_QUERY_CHOOSE_WHICH_PLAYERS_GRAVEYARD" )
    player:SetTargetPrompt( 1, "CARD_QUERY_CHOOSE_CREATURE_TO_CLONE" )
    player:ChooseTargets( 0, EffectDC():Make_Targets(0) )
    </PLAY_TIME_ACTION>
Wow, this is really bad programming by the developers... [-X I guess the only way to solve this would be to recode all cards that target cards in a graveyard so that they choose a player with a NotTargetted() filter first, and then a card from that player's graveyard.

Re: Card Creation Request Thread

PostPosted: 26 May 2013, 11:27
by sumomole
thefiremind wrote:Wow, this is really bad programming by the developers... [-X I guess the only way to solve this would be to recode all cards that target cards in a graveyard so that they choose a player with a NotTargetted() filter first, and then a card from that player's graveyard.
Recode I know, and I have thought about it, but I found it was a foolish idea, I'd rather not do anything with player shroud. :mrgreen:

Master Necro wrote:No need to do the art I can at least do is my self. :mrgreen: Thanks man! Althou they are for various decks I'm making so testing is going to be slow.
I have simply tested it, fixed a foolish mistake and added arts, you can download it again. :lol:
And you need add the text of PLAYER_CURSED_ANNEX_ICON(Counter first spell of the game unless this player pays one mana.) in your TEXT_PERMANENT file. It's used to determine whether the player has cast the first spell.

Re: Card Creation Request Thread

PostPosted: 26 May 2013, 11:43
by Master Necro
sumomole wrote:
thefiremind wrote:Wow, this is really bad programming by the developers... [-X I guess the only way to solve this would be to recode all cards that target cards in a graveyard so that they choose a player with a NotTargetted() filter first, and then a card from that player's graveyard.
Recode I know, and I have thought about it, but I found it was a foolish idea, I'd rather not do anything with player shroud. :mrgreen:

Master Necro wrote:No need to do the art I can at least do is my self. :mrgreen: Thanks man! Althou they are for various decks I'm making so testing is going to be slow.
I have simply tested it, fixed a foolish mistake and added arts, you can download it again. :lol:
And you need add the text of PLAYER_CURSED_ANNEX_ICON(Counter first spell of the game unless this player pays one mana.) in your TEXT_PERMANENT file. It's used to determine whether the player has cast the first spell.
Thank you and yeah those foolish mistakes happen to me all the time. :lol:

Re: Card Creation Request Thread

PostPosted: 26 May 2013, 13:56
by BloodReyvyn
Just a thought as a work-around for that player shroud issue...

Perhaps you could remove the player's shroud whenever a spell that can target another player's grave is cast, then replace it after the target is chosen?

I was going to say after the effect resolves, but that leads to instant-speed spells and effects to get around the shroud mechanic. I'm not even sure if that would work, since the player target would be invalid and possibly could counter the spell.... food for thought...

Re: Card Creation Request Thread

PostPosted: 26 May 2013, 15:00
by BloodReyvyn
Yeah, got a couple issues with the shroud on the player.... If the shrouded player's grave is the only one with cards in it that the spell could target, it locks up the game (presumably because the game sees valid targets there, but it can't target the player and just gets stuck...)

Ugh... Hopefully we can figure out a work-around since I am not the only one with cards like that.... One of the decks has Leyline of Sanctity, and it also locks up if you try to cast reanimate when they are the only person with a grave to target.

Otherwise, I need a different card that grants damage prevention... :evil:

Re: Card Creation Request Thread

PostPosted: 26 May 2013, 18:14
by Master Necro
Hi, me again :) , could anyone make me Moonmist and Alpha Brawl ?

Re: Card Creation Request Thread

PostPosted: 26 May 2013, 19:21
by thefiremind
Master Necro wrote:Hi, me again :) , could anyone make me Moonmist and Alpha Brawl ?
Moonmist should be coded by the person who coded the transform cards you want to use it on because there's no standard way to do it and it might need some adjustments on the transform cards themselves. (Same would be true for Immerwolf.)

I had coded Alpha Brawl for DotP2012 and it took quite long because it's trickier than it seems. I'll see if I can update the old code.

In the meanwhile, here's Stuffy Doll for BloodReyvyn.

EDIT: Fixed Stuffy Doll and added Alpha Brawl. Alpha Brawl would demand extensive tests because I'm not totally sure that it follows all the rules listed on Gatherer.

Re: Card Creation Request Thread

PostPosted: 26 May 2013, 19:26
by BloodReyvyn
Thank you, I was having issues with that damage code anyway. :)

And that damn card was starting to really irk me.

Re: Card Creation Request Thread

PostPosted: 26 May 2013, 20:09
by Master Necro
thefiremind wrote:
Master Necro wrote:Hi, me again :) , could anyone make me Moonmist and Alpha Brawl ?
Moonmist should be coded by the person who coded the transform cards you want to use it on because there's no standard way to do it and it might need some adjustments on the transform cards themselves. (Same would be true for Immerwolf.)

I had coded Alpha Brawl for DotP2012 and it took quite long because it's trickier than it seems. I'll see if I can update the old code.

In the meanwhile, here's Stuffy Doll for BloodReyvyn.

EDIT: Fixed Stuffy Doll and added Alpha Brawl. Alpha Brawl would demand extensive tests because I'm not totally sure that it follows all the rules listed on Gatherer.
Thanks! :)

As for Moonmist , I was thinking, would it be possible to code something in the lines of "if a creture human on the battlefield has transform than trigger transform"?

Re: Card Creation Request Thread

PostPosted: 26 May 2013, 21:29
by BloodReyvyn
I formally ( :lol: ) request Howltooth Hollow, Shelldock Isle, and Myojin of Nights Reach just because :P

Re: Card Creation Request Thread

PostPosted: 27 May 2013, 01:53
by BloodReyvyn
BTW thefiremind, the Stuffy Doll still doesn't deal damage dealt to it to the chosen player... :lol:

Re: Card Creation Request Thread

PostPosted: 27 May 2013, 02:16
by RiiakShiNal
The card Stuffy Doll is not very difficult, here is a working version (tested):
Stuffy Doll | Open
Code: Select all
<?xml version='1.0'?>
<CARD_V2>
   <FILENAME text="STUFFY_DOLL_279711" />
   <CARDNAME text="STUFFY_DOLL" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Stuffy Doll]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Poupée de son]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Muñeca de trapo]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ausgestopfte Puppe]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Bambola di Pezza]]></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[Boneco Empalhado]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="279711" />
   <ARTID value="RSN279711" />
   <ARTIST name="David Rapoza" />
   <CASTING_COST cost="{5}" />
   <TYPE metaname="Artifact" />
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Construct" />
   <EXPANSION value="M13" />
   <RARITY metaname="R" />
   <POWER value="0" />
   <TOUGHNESS value="1" />
   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As Stuffy Doll enters the battlefield, choose a player.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Quand la Poupée de son arrive sur le champ de bataille, choisissez un joueur.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[En cuanto la Muñeca de trapo entre al campo de batalla, elige un jugador.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sowie die Ausgestopfte Puppe ins Spiel kommt, bestimme einen Spieler.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Mentre la Bambola di Pezza entra nel campo di battaglia, scegli un giocatore.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ぬいぐるみ人形が戦場に出るに際し、プレイヤーを1人選ぶ。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[푹신한 인형이 전장에 들어올 시에, 플레이어 한 명을 선택한다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[При выходе Мягкой Куклы на поле битвы выберите игрока.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Conforme Boneco Empalhado entra no campo de batalha, escolha um jogador.]]></LOCALISED_TEXT>
      <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_IN_PLAY" />
      <TARGET_DEFINITION id="0">
         local filter = Object():GetFilter()
         filter:Clear()
         filter:SetFilterType( FILTER_TYPE_PLAYERS )
         filter:SetHint( HINT_ENEMY_ONLY, EffectController() )
      </TARGET_DEFINITION>
      <TARGET_DETERMINATION>
         return AtLeastOneTargetFromDefinition(0)
      </TARGET_DETERMINATION>
      <PLAY_TIME_ACTION target_choosing="1">
         EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_PLAYER", EffectDC():Make_Targets(0) )
      </PLAY_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         local pTarget = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
         if (pTarget ~= nil) then
            ObjectDC():Set_PlayerPtr(0, pTarget)
         end
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Stuffy Doll is indestructible.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[La Poupée de son est indestructible.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[La Muñeca de trapo es indestructible.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die Ausgestopfte Puppe ist unzerstörbar.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La Bambola di Pezza è indistruttibile.]]></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[Boneco Empalhado é indestrutível.]]></LOCALISED_TEXT>
      <CONTINUOUS_ACTION>
         RSN_Indestructible( Object() )
      </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
   <TRIGGERED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Stuffy Doll is dealt damage, it deals that much damage to the chosen player.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que des blessures sont infligées à la Poupée de son, elle inflige autant de blessures au joueur choisi.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que la Muñeca de trapo reciba daño, esta le hace esa misma cantidad de daño al jugador elegido.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn der Ausgestopften Puppe Schaden zugefügt wird, fügt sie dem bestimmten Spieler ebenso viele Schadenspunkte zu.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta viene inflitto danno alla Bambola di Pezza, essa infligge altrettanti danni al giocatore scelto.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ぬいぐるみ人形にダメージが与えられるたび、それはその点数に等しい点数のダメージを選ばれたプレイヤーに与える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: 푹신한 인형은 스스로에게 피해 1점을 입힌다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда Мягкой Кукле наносятся повреждения, она наносит столько же повреждений выбранному игроку.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que Boneco Empalhado sofre dano, ele causa uma quantidade equivalente de dano ao jogador escolhido.]]></LOCALISED_TEXT>
      <TRIGGER value="CREATURE_TOOK_DAMAGE" simple_qualifier="self" />
      <RESOLUTION_TIME_ACTION>
         local damage_amount = Damage():GetAmount()
         local pTarget = ObjectDC():Get_PlayerPtr(0)
         if (damage_amount &gt; 0) and (pTarget ~= nil) then
            pTarget:DealDamage( damage_amount, EffectSource() )
         end
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Stuffy Doll deals 1 damage to itself.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : La Poupée de son s'inflige 1 blessure.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: La Muñeca de trapo se hace 1 punto de daño a sí misma.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Die Ausgestopfte Puppe fügt sich selber 1 Schadenspunkt zu.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: La Bambola di Pezza infligge 1 danno a se stessa.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:ぬいぐるみ人形は自身に1点のダメージを与える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Stuffy Doll deals 1 damage to itself.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Мягкая Кукла наносит 1 повреждение сама себе.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Boneco Empalhado causa 1 ponto de dano a si mesmo.]]></LOCALISED_TEXT>
      <COST type="TapSelf" />
      <RESOLUTION_TIME_ACTION>
         if (EffectSource() ~= nil) then
            EffectSource():DealDamage( 1, EffectSource() )
         end
      </RESOLUTION_TIME_ACTION>
   </ACTIVATED_ABILITY>
</CARD_V2>
Uses my functions for Indestructible.

Re: Card Creation Request Thread

PostPosted: 27 May 2013, 03:44
by sumomole
BloodReyvyn wrote:I formally ( :lol: ) request Howltooth Hollow, Shelldock Isle, and Myojin of Nights Reach just because :P


RiiakShiNal wrote:The card Stuffy Doll is not very difficult, here is a working version (tested):
Uses my functions for Indestructible.
Stuffy Doll doesn't have target. :lol:

Re: Card Creation Request Thread

PostPosted: 27 May 2013, 04:10
by Blue Ghost
Is the third option of Dawn Charm possible to implement? I couldn't find anything similar.