It is currently 06 Jun 2025, 11:01
   
Text Size

Card Development Questions

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Card Development Questions

Postby 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

Postby ZzzzSleep » 10 Oct 2011, 10:33

friarsol wrote:
jeffwadsworth wrote:In the test, Master of Arms tapped a blocker, but still received damage from it. Blocker was a Gemhide Sliver.
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.
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.
ZzzzSleep
 
Posts: 182
Joined: 29 Oct 2010, 02:19
Has thanked: 18 times
Been thanked: 18 times

Re: Card Development Questions

Postby friarsol » 10 Oct 2011, 12:04

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
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.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Development Questions

Postby jeffwadsworth » 10 Oct 2011, 16:42

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

Postby Sloth » 10 Oct 2011, 16:50

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?
The ChosenColor information is not stored on the effect card.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Card Development Questions

Postby jeffwadsworth » 10 Oct 2011, 19:33

Sloth wrote:
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?
The ChosenColor information is not stored on the effect card.
So it would require something like "RememberColor$ ChosenColor" within the Effect line similar to "RememberCard$ Remembered".
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

Postby Sloth » 10 Oct 2011, 20:48

jeffwadsworth wrote:So it would require something like "RememberColor$ ChosenColor" within the Effect line similar to "RememberCard$ Remembered".
Yes, I guess.

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..
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Card Development Questions

Postby 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

Postby 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

Postby slapshot5 » 10 Oct 2011, 23:27

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.
Correct. This currently doesn't exist.

-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

Postby 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.
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

Postby Sloth » 11 Oct 2011, 05:29

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.
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).
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Card Development Questions

Postby jeffwadsworth » 11 Oct 2011, 16:06

Sloth wrote:
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.
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).
Isn't it a conditional trigger? Lignify would remove abilities and thus not affect it at all.

| 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

Postby 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

Postby jeffwadsworth » 14 Oct 2011, 00:09

Testing Martyr of Frost.

| 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

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 31 guests


Who is online

In total there are 31 users online :: 0 registered, 0 hidden and 31 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 31 guests

Login Form