Page 10 of 25

Re: Card Contributions

PostPosted: 08 Jul 2014, 02:21
by ShawnieBoy
Dack's Duplicate has some tricky timings involved. A choice isn't made when you cast it. Its choice is made when it resolves, but before it hits the battlefield. Otherwise it would be "As you cast Dack's Duplicate, you may choose a creature. If you do, Dack's Duplicate enters the battlefield as a copy... etc."

Re: Card Contributions

PostPosted: 08 Jul 2014, 17:30
by jerichopumpkin
ShawnieBoy wrote:Dack's Duplicate has some tricky timings involved. A choice isn't made when you cast it. Its choice is made when it resolves, but before it hits the battlefield. Otherwise it would be "As you cast Dack's Duplicate, you may choose a creature. If you do, Dack's Duplicate enters the battlefield as a copy... etc."
took it from Phantasmal_Image.groovy...

Re: Card Contributions

PostPosted: 08 Jul 2014, 21:45
by ShawnieBoy
jerichopumpkin wrote:
ShawnieBoy wrote:Dack's Duplicate has some tricky timings involved. A choice isn't made when you cast it. Its choice is made when it resolves, but before it hits the battlefield. Otherwise it would be "As you cast Dack's Duplicate, you may choose a creature. If you do, Dack's Duplicate enters the battlefield as a copy... etc."
took it from Phantasmal_Image.groovy...
But there are known issues with Phantasmal Image and many copy-permanents. They only copy if cast, not when entering the battlefield by any other means.

jerichopumpkin wrote:There are two little issues with Clone and other cards with the same effect:
- Clone ability does not target the creature you choose, so it should not be possible to counter Clone removing from the battlefield the chosen creature, contrary to what actually happens
- copying a Clone in a graveyard with Body Double should prompt you the may choice for Clone ability (at least, I think so based on the rulings on Gatherer, not so sure about it)

edit: - also, the Clone ability does not trigger when returning to the battlefield from exile (I copied a Goblin, then exiled it with a Boggart Mob. When Boggart Mob died, I expected to be able to copy a creature, Clone went to the graveyard instead)
Forum PostOpen Bug report

Once a card is added, it's not really possible to remove it without effecting all decks that contain it. If a card's already doing something badly - or not quite well as it should - adding more, because there already is one, isn't really the best route.

I've personally tried to keep away from Copy and Clone effects, they normally create more problems than they're worth :)

Re: Card Contributions

PostPosted: 09 Jul 2014, 01:50
by melvin
@jerichopumpkin Thanks for the card contributions! Go for it, we'll fix these issues in time. No need to wait until everything is perfect, as they say "perfect is the enemy of done".

For example, "copying a Clone in a graveyard with Body Double should prompt you the may choice for Clone ability" is fixed for some of the cards with clone, specifically those without further modifications after cloning, using MagicEnterAsCopyAction

Re: Card Contributions

PostPosted: 09 Jul 2014, 16:50
by jerichopumpkin
@ShawnieBoy my bad, I totally forgot about it!
@melvin thanks, however I will pay more attention to old issues like that one, since in this particular case it's very likely that all of the cards will need to be re-scripted once the fix is done...

Re: Card Contributions

PostPosted: 10 Jul 2014, 00:46
by melvin
jerichopumpkin wrote:@melvin thanks, however I will pay more attention to old issues like that one, since in this particular case it's very likely that all of the cards will need to be re-scripted once the fix is done...
True, but seriously there isn't that many of them and I would prefer to have all the variations implemented so that any fix will encompass all of them. Having all the cards there also help in testing the fix.

Re: Card Contributions

PostPosted: 10 Jul 2014, 21:05
by jerichopumpkin
melvin wrote:
jerichopumpkin wrote:@melvin thanks, however I will pay more attention to old issues like that one, since in this particular case it's very likely that all of the cards will need to be re-scripted once the fix is done...
True, but seriously there isn't that many of them and I would prefer to have all the variations implemented so that any fix will encompass all of them. Having all the cards there also help in testing the fix.
Very well, since there's only a couple already scriptable left, I'll do them.

Oh, and I saw the new slivers, can't wait to add them...
Image
Sliver_Hivelord.txt
Code: Select all
name=Sliver Hivelord
image=http://mtgimage.com/card/sliver%20hivelord.jpg
value=4.500
rarity=R
type=Legendary,Creature
subtype=Sliver
cost={W}{U}{B}{R}{G}
pt=5/5
ability=Sliver creatures you control have indestructible
timing=main
oracle=Sliver creatures you control have indestructible.

Re: Card Contributions

PostPosted: 11 Jul 2014, 10:12
by ShawnieBoy
The M15 scripts are available in the scripts_missing folder of the latest build. Happy hunting ;)

Re: Card Contributions

PostPosted: 11 Jul 2014, 15:05
by jerichopumpkin
ShawnieBoy wrote:The M15 scripts are available in the scripts_missing folder of the latest build. Happy hunting ;)
Venom Sliver should already be ok ;)

Re: Card Contributions

PostPosted: 27 Jul 2014, 05:07
by PalladiaMors
While I try to learn the preferred method to contribute new cards, I thought I might just post my findings here about cards that can be moved from the missing scripts to the scripts folder without further coding. Will update later with more findings.

Dark Heart of the Wood
Brothers of Fire

By the way, if someone has pointers, tips or whatever to help figure out what can be done this way, I'd appreciate those. What I'm doing is look through the card explorer at cards that are available without groovy codes and think if I know anything similar. After looking at Zuran Orb, for instance, it definitely looked like Dark Heart of the Wood was going to work without much trouble. Dunno how much success this method is going to bring, I'll try a bit more yesterday.

Re: Card Contributions

PostPosted: 27 Jul 2014, 09:15
by melvin
Thanks PalladiaMors for finding these two, they will be included in release 1.52.

Re: Card Contributions

PostPosted: 01 Aug 2014, 23:04
by PalladiaMors
Hey guys, I've been trying to add "Electric Eel" by moving it into the scripts folder with slight text changes. Not a particularly important card, but what puzzles me is that I just can't understand why it doesn't work. The ability text is: "When SN enters the battlefield, it deals 1 damage to you.;\ {R}{R}: SN gets +2/+0 until end of turn and deals 1 damage to you."

At first the crash log complains about the first sentence, so I changed it to "When SN enters the battlefield, SN deals 1 damage to you." Then it seems to accept the first phrase and starts complaining about the second one. So I switched it to "SN gets +2/+0 until end of turn. SN deals 1 damage to you." I know that pumping abilities don't require groovy codes (see Nantuko Shade) and the sentence structure "{cost}: ability (that doesn't require groovy). SN deals 1 damage to you." is the same as Elves of Deep Shadow, which also works without groovy. So I can't understand why this particular card crashes...

Re: Card Contributions

PostPosted: 02 Aug 2014, 00:32
by ShawnieBoy
PalladiaMors wrote:Hey guys, I've been trying to add "Electric Eel" by moving it into the scripts folder with slight text changes. Not a particularly important card, but what puzzles me is that I just can't understand why it doesn't work. The ability text is: "When SN enters the battlefield, it deals 1 damage to you.;\ {R}{R}: SN gets +2/+0 until end of turn and deals 1 damage to you."

At first the crash log complains about the first sentence, so I changed it to "When SN enters the battlefield, SN deals 1 damage to you." Then it seems to accept the first phrase and starts complaining about the second one. So I switched it to "SN gets +2/+0 until end of turn. SN deals 1 damage to you." I know that pumping abilities don't require groovy codes (see Nantuko Shade) and the sentence structure "{cost}: ability (that doesn't require groovy). SN deals 1 damage to you." is the same as Elves of Deep Shadow, which also works without groovy. So I can't understand why this particular card crashes...
Elves of Deep Shadow is a bit of a corner-case for 'SN deals 1 damage to you' It's combined in a mana activation, not two separate effects (as far as the script is concerned). There isn't a scripted effect for 'SN gets <pt change> until end of turn and deals 1 damage to you'.

If you have a look at the Effects List in the Wiki, it will show all the scriptable abilities and effects supported

Re: Card Contributions

PostPosted: 02 Aug 2014, 14:04
by PalladiaMors
Another one that has me pulling on my hair. I'm trying to add Storm Seeker, which is pretty much the same card as the already available Sudden Impact (same oracle, also instant, even the same converted cost). I've copied and renamed the groovy and made sure the script .txt looks exactly the same besides name and swapping R for G. Only slight difference there was is that Storm Seeker originally had timing=removal while Sudden Impact had timing=main, I've tried to include it both ways.

Upon trying to start Magarena with Storm Seeker in the scripts folder with either timing, it crashes (on app start, not duel start). The crash log complains that "Storm Seeker does not have a timing hint." I can't fathom why that happens since it's never complained about Sudden Impact and the cards are completely identical.

Zomg, why?

Re: Card Contributions

PostPosted: 02 Aug 2014, 14:24
by ShawnieBoy
:D Welcome to the occasional brain-bashing involved with scripting and coding! j/k

I would assume you're getting the error as Storm Seeker is missing the 'timing=<whatever>' or has a timing it doesn't recognise.

I'm actually surprised that an instant has a 'timing=main', but looking at the other timings available I can't really see any other choice. 'timing=removal' is put onto all instants in the scripts_missing folder as a placeholder, the timing for each should be dependant on when is best to cast them.

Have a go with this
Code: Select all
name=Storm Seeker
image=http://mtgimage.com/card/storm%20seeker.jpg
value=2.500
rarity=U
type=Instant
cost={3}{G}
timing=main
requires_groovy_code=Sudden Impact
oracle=Storm Seeker deals damage to target player equal to the number of cards in that player's hand.

Good find too :)