Card Development Questions
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Card Development Questions
by Marek14 » 05 Aug 2013, 14:05
Is Miracle and Madness implemented correctly, ruleswise? Currently, with Miracle I draw the card, then ability appears on stack and asks me if I want to cast the spell. Correctly, it should start with replacement effect that allows me to reveal the card or keep it hidden, and only if I choose to reveal it there should be a trigger.
Re: Card Development Questions
by friarsol » 05 Aug 2013, 14:09
I'm pretty sure Madness is not 100% correct, and since Miracle was based on that it probably isn't 100% correct either.Marek14 wrote:Is Miracle and Madness implemented correctly, ruleswise? Currently, with Miracle I draw the card, then ability appears on stack and asks me if I want to cast the spell. Correctly, it should start with replacement effect that allows me to reveal the card or keep it hidden, and only if I choose to reveal it there should be a trigger.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Card Development Questions
by swordshine » 06 Aug 2013, 13:22
Some cards with hidden keyword "At the beginning of the end step, sacrifice CARDNAME." should be a delayed trigger, e.g. Sneak Attack. The EOT trigger could be stifled and the creature could be kept in play.
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Card Development Questions
by Sloth » 06 Aug 2013, 14:11
What's the problem? "At the beginning of the end step, sacrifice CARDNAME." triggers should all be stifleable (just like delayed triggers).swordshine wrote:Some cards with hidden keyword "At the beginning of the end step, sacrifice CARDNAME." should be a delayed trigger, e.g. Sneak Attack. The EOT trigger could be stifled and the creature could be kept in play.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Card Development Questions
by swordshine » 07 Aug 2013, 00:43
The trigger cannot be targeted by Stifle in r22819. If I made the ability setTrigger(true), I stifled it and it would trigger again at the beginning of the next EOT. It should only trigger once.Sloth wrote:What's the problem? "At the beginning of the end step, sacrifice CARDNAME." triggers should all be stifleable (just like delayed triggers).
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Card Development Questions
by swordshine » 07 Aug 2013, 15:24
I found this one in our scripted cards:
And this one:
- Sunglasses of Urza | Open
- Code: Select all
Name:Sunglasses of Urza
ManaCost:3
Types:Artifact
Text:You may spend white mana as though it were red mana.
A:AB$ Mana | Cost$ W | Produced$ R | SpellDescription$ Add R to your mana pool.
SVar:RemRandomDeck:True
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/sunglasses_of_urza.jpg
Oracle:You may spend white mana as though it were red mana.
And this one:
- Oubliette | Open
- Code: Select all
Name:Oubliette
ManaCost:1 B B
Types:Enchantment
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature and all Auras attached to it. Note the number and kind of counters that were on that creature.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME leaves the battlefield, return the exiled card to the battlefield under its owner's control tapped with the noted number and kind of counters on it. If you do, return the exiled Aura cards to the battlefield under their owner's control attached to that permanent.
SVar:TrigExile:DB$ChangeZone | Cost$ 0 | TargetMin$ 1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberTargets$ True | ForgetOtherTargets$ True | Origin$ Battlefield | Destination$ Exile
SVar:TrigReturn:DB$ChangeZone | Cost$ 0 | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield
SVar:RemAIDeck:True
SVar:RemRandomDeck:True
SVar:Picture:http://resources.wizards.com/magic/cards/med/en-us/card159135.jpg
Oracle:When Oubliette enters the battlefield, exile target creature and all Auras attached to it. Note the number and kind of counters that were on that creature.\nWhen Oubliette leaves the battlefield, return the exiled card to the battlefield under its owner's control tapped with the noted number and kind of counters on it. If you do, return the exiled Aura cards to the battlefield under their owner's control attached to that permanent.
Last edited by swordshine on 07 Aug 2013, 15:27, edited 1 time in total.
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Card Development Questions
by Sloth » 07 Aug 2013, 15:26
Removing a card is generally a bad idea, because the card could be in decks, limited pools or quest collections of users already.swordshine wrote:I found this one in our scripted cards:It's totally incorrect. Shall we remove it?
- Sunglasses of Urza | Open
- Code: Select all
Name:Sunglasses of Urza
ManaCost:3
Types:Artifact
Text:You may spend white mana as though it were red mana.
A:AB$ Mana | Cost$ W | Produced$ R | SpellDescription$ Add R to your mana pool.
SVar:RemRandomDeck:True
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/sunglasses_of_urza.jpg
Oracle:You may spend white mana as though it were red mana.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Card Development Questions
by drdev » 07 Aug 2013, 16:39
Shouldn't we just update the card to fix what's wrong with it? Or am I misunderstanding something?Sloth wrote:Removing a card is generally a bad idea, because the card could be in decks, limited pools or quest collections of users already.swordshine wrote:I found this one in our scripted cards:It's totally incorrect. Shall we remove it?
- Sunglasses of Urza | Open
- Code: Select all
Name:Sunglasses of Urza
ManaCost:3
Types:Artifact
Text:You may spend white mana as though it were red mana.
A:AB$ Mana | Cost$ W | Produced$ R | SpellDescription$ Add R to your mana pool.
SVar:RemRandomDeck:True
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/sunglasses_of_urza.jpg
Oracle:You may spend white mana as though it were red mana.
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Card Development Questions
by friarsol » 07 Aug 2013, 16:51
Sounds like someone just volunteered to add a feature we don't have yetdrdev wrote:Shouldn't we just update the card to fix what's wrong with it? Or am I misunderstanding something?

We don't have a way to spend one mana as a different type of mana yet, that's why cards like Celestial Dawn are not yet implemented. There's nothing that can be done to the script to "fix" anything. Sunglasses of Urza doesn't have the same ability that Agent of Stromgald does, it's not a mana ability on it's own, even though it's roughly equivilant to one.
Before we had standards on committing cards, things like this would happen occassionally, due to Forge's roots. We haven't added cards like this in several years, but there are still a few around that aren't quite right.
Edit: I've added these two cards in Italics to the remaining card spreadsheet
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Card Development Questions
by drdev » 07 Aug 2013, 17:02
I don't know about doing it myself, as I primarily want to focus on UI development and wasn't planning to do any card programming. I just was confused why removing it was suggested. Now I understand.
Maybe when I finish some of the UI projects I currently have planned I could circle back to this if nobody works on it before then. But, then, I'll probably never "finish" all the UI stuff I want to work on, so it's probably better that somebody else take it on.
Maybe when I finish some of the UI projects I currently have planned I could circle back to this if nobody works on it before then. But, then, I'll probably never "finish" all the UI stuff I want to work on, so it's probably better that somebody else take it on.

- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Card Development Questions
by friarsol » 07 Aug 2013, 17:06
Oh I was mostly just kidding. I think most of us would rather see people want to do UI work, we've been handling the Remaining Cards at a good pace, and an extra hand learning to do that wouldn't be as significant as one or two people wanting to spruce up some of the UI bits that haven't been appropriately cared for.drdev wrote:Maybe when I finish some of the UI projects I currently have planned I could circle back to this if nobody works on it before then. But, then, I'll probably never "finish" all the UI stuff I want to work on, so it's probably better that somebody else take it on.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Card Development Questions
by drdev » 07 Aug 2013, 17:32
In that case I'm more than happy to do almost exclusively UI development.
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Card Development Questions
by swordshine » 08 Aug 2013, 00:15
We should also add Ruhan of the Fomori to the remaining card spreadsheet.friarsol wrote:Edit: I've added these two cards in Italics to the remaining card spreadsheet
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Card Development Questions
by moomarc » 08 Aug 2013, 08:43
Excuse the ignorance, but why do we expressly NOT remember lki for tokens changing zones? I'm trying to script Grand Ossuary, but TriggeredCard$CardPower for tokens for the non-chaos triggered ability excludes power boosts from static abilities like Gaea's Anthem as well as boosts from auras and equipment. It does however count boosts from pumps like Giant Growth. I imagine the same problem would affect the chaos trigger that would use RememberedLKI in the count or RememberLKI param in the ChangeZone script line.
For reference the abilities are: "Whenever a creature dies, its controller distributes a number of +1/+1 counters equal to its power among any number of target creatures he or she controls." and "Whenever you roll Chaos, each player exiles all creatures he or she controls and puts X 1/1 green Saproling creature tokens onto the battlefield, where X is the total power of the creatures he or she exiled this way."
For reference the abilities are: "Whenever a creature dies, its controller distributes a number of +1/+1 counters equal to its power among any number of target creatures he or she controls." and "Whenever you roll Chaos, each player exiles all creatures he or she controls and puts X 1/1 green Saproling creature tokens onto the battlefield, where X is the total power of the creatures he or she exiled this way."
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Card Development Questions
by Sloth » 08 Aug 2013, 09:10
I don't see a problem with returning LKI's for tokens. The problem is that getLKICopy can't handle tokens at the moment, but i think only a few additions need to be made to enable them (most notably the line "final Card newCopy = new Card(in.getUniqueNumber());" would need an alternative for tokens).moomarc wrote:Excuse the ignorance, but why do we expressly NOT remember lki for tokens changing zones? I'm trying to script Grand Ossuary, but TriggeredCard$CardPower for tokens for the non-chaos triggered ability excludes power boosts from static abilities like Gaea's Anthem as well as boosts from auras and equipment. It does however count boosts from pumps like Giant Growth. I imagine the same problem would affect the chaos trigger that would use RememberedLKI in the count or RememberLKI param in the ChangeZone script line.
For reference the abilities are: "Whenever a creature dies, its controller distributes a number of +1/+1 counters equal to its power among any number of target creatures he or she controls." and "Whenever you roll Chaos, each player exiles all creatures he or she controls and puts X 1/1 green Saproling creature tokens onto the battlefield, where X is the total power of the creatures he or she exiled this way."
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Who is online
Users browsing this forum: No registered users and 33 guests