Card Development Questions
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Card Development Questions
by jeffwadsworth » 10 Oct 2011, 06:07
Hey Sol, thanks for the RememberDiscarded. Do you see any issues with this script for Barbed Shocker? The draw part does not work.
- | Open
- Name:Barbed Shocker
ManaCost:3 R
Types:Creature Insect
Text:no text
PT:2/2
K:Trample
K:Haste
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | TriggerZones$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ Whenever CARDNAME deals damage to a player, that player discards all the cards in his or her hand, then draws that many cards.
SVar:TrigDiscard:AB$ Discard | Cost$ 0 | Defined$ TriggeredTarget | Mode$ Hand | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ Discard hand
SVar:DBDraw:DB$ Draw | NumCards$ X | Defined$ TriggeredTarget | SubAbility$ DBCleanup | SpellDescription$ Draw that many cards
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/barbed_shocker.jpg
End
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Card Development Questions
by ZzzzSleep » 10 Oct 2011, 10:33
It was actually the 6th edition changes (1999). I think there was functionality errata for Master of Arms for a while, but Wizards eventually removed it.friarsol wrote:Back in the day, blockers that were tapped didn't do combat damage. At some point (probably around 2007) when tapped blockers started doing damage, this card had errata to say that it prevented combat damage by that creature. It seems like that errata doesn't exist anymore, making Master of Arms pretty useless as far as abilities go. The card dealing damage is fine, since that's how the card works now, even if that's not how the card worked 10+ years ago.jeffwadsworth wrote:In the test, Master of Arms tapped a blocker, but still received damage from it. Blocker was a Gemhide Sliver.
Re: Card Development Questions
by friarsol » 10 Oct 2011, 12:04
Looks ok to me. If noone else gets to it, I'll try to debug this tonight. It's possible the Discard isn't doing what I thought it should be doing.jeffwadsworth wrote:Hey Sol, thanks for the RememberDiscarded. Do you see any issues with this script for Barbed Shocker? The draw part does not work.
- | Open
- Name:Barbed Shocker
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | TriggerZones$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ Whenever CARDNAME deals damage to a player, that player discards all the cards in his or her hand, then draws that many cards.
SVar:TrigDiscard:AB$ Discard | Cost$ 0 | Defined$ TriggeredTarget | Mode$ Hand | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ Discard hand
SVar:DBDraw:DB$ Draw | NumCards$ X | Defined$ TriggeredTarget | SubAbility$ DBCleanup | SpellDescription$ Draw that many cards
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Card Development Questions
by jeffwadsworth » 10 Oct 2011, 16:42
Testing Prismatic Strands.
The test used 3 Memnite and 1 Serra Angel on my side. Casted Prismatic Strands and chose White. Attacked with everything and 7 points of damage was done to the AI. Does anyone see the problem in the script?
- | Open
- Name:Prismatic Strands
ManaCost:2 W
Types:Instant
Text:no text
A:SP$ ChooseColor | Cost$ 2 W | Defined$ You | AILogic$ MostProminentInHumanDeck | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | Name$ Prismatic Strands Effect | StaticAbilities$ STPrevent | SpellDescription$ Prevent all damage that sources of the color of your choice would deal this turn.
SVar:STPrevent:Mode$ PreventDamage | Target$ Creature,You,Opponent | Source$ Card.ChosenColor | Description$ Prevent all damage from sources of the chosen color.
A:SP$ ChooseColor | Cost$ tapXType<1/Creature.YouCtrl+White+untapped> | Defined$ You | AILogic$ MostProminentInHumanDeck | SubAbility$ DBEffect | Flashback$ True | CostDesc$ Flashback - Tap an untapped white creature you control. | SpellDescription$ (You may cast this card from your graveyard for its flashback cost. Then exile it.)
SVar:DBEffect:DB$ Effect | Name$ Prismatic Strands Effect | StaticAbilities$ STPrevent | SpellDescription$ Prevent all damage that sources of the color of your choice would deal this turn.
SVar:STPrevent:Mode$ PreventDamage | Target$ Creature,Player | Source$ Card.ChosenColor
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/prismatic_strands.jpg
End
The test used 3 Memnite and 1 Serra Angel on my side. Casted Prismatic Strands and chose White. Attacked with everything and 7 points of damage was done to the AI. Does anyone see the problem in the script?
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Card Development Questions
by Sloth » 10 Oct 2011, 16:50
The ChosenColor information is not stored on the effect card.jeffwadsworth wrote:Testing Prismatic Strands.
- | Open
- Name:Prismatic Strands
ManaCost:2 W
Types:Instant
Text:no text
A:SP$ ChooseColor | Cost$ 2 W | Defined$ You | AILogic$ MostProminentInHumanDeck | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | Name$ Prismatic Strands Effect | StaticAbilities$ STPrevent | SpellDescription$ Prevent all damage that sources of the color of your choice would deal this turn.
SVar:STPrevent:Mode$ PreventDamage | Target$ Creature,You,Opponent | Source$ Card.ChosenColor | Description$ Prevent all damage from sources of the chosen color.
A:SP$ ChooseColor | Cost$ tapXType<1/Creature.YouCtrl+White+untapped> | Defined$ You | AILogic$ MostProminentInHumanDeck | SubAbility$ DBEffect | Flashback$ True | CostDesc$ Flashback - Tap an untapped white creature you control. | SpellDescription$ (You may cast this card from your graveyard for its flashback cost. Then exile it.)
SVar:DBEffect:DB$ Effect | Name$ Prismatic Strands Effect | StaticAbilities$ STPrevent | SpellDescription$ Prevent all damage that sources of the color of your choice would deal this turn.
SVar:STPrevent:Mode$ PreventDamage | Target$ Creature,Player | Source$ Card.ChosenColor
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/prismatic_strands.jpg
End
The test used 3 Memnite and 1 Serra Angel on my side. Casted Prismatic Strands and chose White. Attacked with everything and 7 points of damage was done to the AI. Does anyone see the problem in the script?
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Card Development Questions
by jeffwadsworth » 10 Oct 2011, 19:33
So it would require something like "RememberColor$ ChosenColor" within the Effect line similar to "RememberCard$ Remembered".Sloth wrote:The ChosenColor information is not stored on the effect card.jeffwadsworth wrote:Testing Prismatic Strands.
- | Open
- Name:Prismatic Strands
ManaCost:2 W
Types:Instant
Text:no text
A:SP$ ChooseColor | Cost$ 2 W | Defined$ You | AILogic$ MostProminentInHumanDeck | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | Name$ Prismatic Strands Effect | StaticAbilities$ STPrevent | SpellDescription$ Prevent all damage that sources of the color of your choice would deal this turn.
SVar:STPrevent:Mode$ PreventDamage | Target$ Creature,You,Opponent | Source$ Card.ChosenColor | Description$ Prevent all damage from sources of the chosen color.
A:SP$ ChooseColor | Cost$ tapXType<1/Creature.YouCtrl+White+untapped> | Defined$ You | AILogic$ MostProminentInHumanDeck | SubAbility$ DBEffect | Flashback$ True | CostDesc$ Flashback - Tap an untapped white creature you control. | SpellDescription$ (You may cast this card from your graveyard for its flashback cost. Then exile it.)
SVar:DBEffect:DB$ Effect | Name$ Prismatic Strands Effect | StaticAbilities$ STPrevent | SpellDescription$ Prevent all damage that sources of the color of your choice would deal this turn.
SVar:STPrevent:Mode$ PreventDamage | Target$ Creature,Player | Source$ Card.ChosenColor
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/prismatic_strands.jpg
End
The test used 3 Memnite and 1 Serra Angel on my side. Casted Prismatic Strands and chose White. Attacked with everything and 7 points of damage was done to the AI. Does anyone see the problem in the script?
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Card Development Questions
by Sloth » 10 Oct 2011, 20:48
Yes, I guess.jeffwadsworth wrote:So it would require something like "RememberColor$ ChosenColor" within the Effect line similar to "RememberCard$ Remembered".
That aside, Toxic Stench needs to be scripted like Dark Temper. You don't have a choice when you cast it and Threshold might change while the spell is on the stack..
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Card Development Questions
by jeffwadsworth » 10 Oct 2011, 22:24
Fixed.
Last edited by jeffwadsworth on 10 Oct 2011, 23:57, edited 3 times in total.
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Card Development Questions
by jeffwadsworth » 10 Oct 2011, 23:03
Testing Gustha's Scepter. We would need a way for the controller to see the "face down" cards in exile, unless I am misreading the card.
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Card Development Questions
by slapshot5 » 10 Oct 2011, 23:27
Correct. This currently doesn't exist.jeffwadsworth wrote:Testing Gustha's Scepter. We would need a way for the controller to see the "face down" cards in exile, unless I am misreading the card.
-slapshot5
- slapshot5
- Programmer
- Posts: 1391
- Joined: 03 Jan 2010, 17:47
- Location: Mac OS X
- Has thanked: 25 times
- Been thanked: 68 times
Re: Card Development Questions
by jeffwadsworth » 11 Oct 2011, 04:57
Fyndhorn Druid stacks its triggers if it has more than 1 blocker. I will find a workaround. Just wanted to mention that before it came up.
Would it be feasible to add some kind of limitation to the same type of trigger? Limit$ 1, etc.
Would it be feasible to add some kind of limitation to the same type of trigger? Limit$ 1, etc.
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Card Development Questions
by Sloth » 11 Oct 2011, 05:29
There shouldn't be any triggers when blocking. The "dies" trigger should work even when all abilities of Fyndhorn Druid were turned off during combat (by Lignify for example).jeffwadsworth wrote:Fyndhorn Druid stacks its triggers if it has more than 1 blocker. I will find a workaround. Just wanted to mention that before it came up.
Would it be feasible to add some kind of limitation to the same type of trigger? Limit$ 1, etc.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Card Development Questions
by jeffwadsworth » 11 Oct 2011, 16:06
Isn't it a conditional trigger? Lignify would remove abilities and thus not affect it at all.Sloth wrote:There shouldn't be any triggers when blocking. The "dies" trigger should work even when all abilities of Fyndhorn Druid were turned off during combat (by Lignify for example).jeffwadsworth wrote:Fyndhorn Druid stacks its triggers if it has more than 1 blocker. I will find a workaround. Just wanted to mention that before it came up.
Would it be feasible to add some kind of limitation to the same type of trigger? Limit$ 1, etc.
- | Open
- Name:Fyndhorn Druid
ManaCost:2 G
Types:Creature Elf Druid
Text:no text
PT:2/2
T:Mode$ Blocks | ValidBlocked$ Card.Self | Execute$ TrigCheck | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME dies, if it was blocked this turn, you gain 4 life.
SVar:TrigCheck:AB$ Animate | Cost$ 0 | Triggers$ TrigDies | sVars$ TrigGainLife | ValidCard$ Card.Self
SVar:TrigDies:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerZones$ Battlefield | TriggerDescription$ If CARDNAME dies, you gain 4 life.
SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ 4 | Defined$ You
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/fyndhorn_druid.jpg
SetInfo:ALL|Common|http://magiccards.info/scans/en/ai/70.jpg
Oracle:When Fyndhorn Druid dies, if it was blocked this turn, you gain 4 life.
End
If someone had a better way of "noting" the blocked attacker, I would love to see it.
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Card Development Questions
by jeffwadsworth » 11 Oct 2011, 20:35
Testing Thought Prison. The following is a watered-down script that just checks for the Imprinted cards CMC, etc. It fails to trigger. Does anyone see an issue with it?
- | Open
- Name:Thought Prison
ManaCost:5
Types:Artifact
Text:no text
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigReveal | OptionalDecider$ You | TriggerDescription$ Imprint — When CARDNAME enters the battlefield, you may have target player reveal his or her hand. If you do, choose a nonland card from it and exile that card. Whenever a player casts a spell that shares a color or converted mana cost with the exiled card, CARDNAME deals 2 damage to that player.
SVar:TrigReveal:AB$ ChangeZone | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player | Origin$ Hand | Destination$ Exile | ChangeType$ Card.nonLand | ChangeNum$ 1 | Imprint$ True | SpellDescription$ Imprint card
T:Mode$ SpellCast | ValidCard$ Card.cmcEQX | ValidActivatingPlayer$ Each | TriggerZones$ Battlefield | Execute$ TrigDamage | Secondary$ True | TriggerDescription$ Spell trigger fires
SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredPlayer | NumDmg$ 2
SVar:X:Imprinted$CardManaCost
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/thought_prison.jpg
End
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Card Development Questions
by jeffwadsworth » 14 Oct 2011, 00:09
Testing Martyr of Frost.
Forge freezes up when I countered a spell cast by the AI. Can anyone confirm that this is an issue?
- | Open
- Name:Martyr of Frost
ManaCost:U
Types:Creature Human Wizard
Text:no text
PT:1/1
A:AB$ Counter | Cost$ 2 Reveal<X/Card.Blue> Sac<1/CARDNAME> | CostDesc$ 2, Reveal X blue cards from your hand, Sacrifice Martyr of Frost: | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ ChosenX | UnlessPayer$ TargetedController
SVar:X:XChoice
SVar:RemAIDeck:True
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/martyr_of_frost.jpg
End
Forge freezes up when I countered a spell cast by the AI. Can anyone confirm that this is an issue?
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Who is online
Users browsing this forum: No registered users and 24 guests