It is currently 24 May 2025, 21:20
   
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 ArsenalNut » 26 Jan 2012, 19:33

jeffwadsworth wrote:Testing Gravestorm.
This works fine for the human, AFAICT, but in the computer's hands, it will target itself. Does anyone see the issue?

| Open
Name:Gravestorm
ManaCost:B B B
Types:Enchantment
Text:no text
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigChangeZone | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, target opponent may exile a card from his or her graveyard. If that player doesn't, you may draw a card.
SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | Origin$ Graveyard | Destination$ Exile | ChangeType$ Card | ChangeNum$ 1 | Hidden$ True | Chooser$ Targeted | RememberChanged$ True | OptionalDecider$ Targeted | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | NumCards$ 1 | Defined$ You | OptionalDecider$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/gravestorm.jpg
End
Adding "IsCurse$ True" to ChangeZone will make it work. There is a general problem that "changeHiddenTriggerAI" doesn't seem to check the targeting restrictions and canBeTargetedBy only checks if a player is has shroud, hexproof, or protection.
So many cards, so little time
User avatar
ArsenalNut
 
Posts: 512
Joined: 08 Jul 2011, 03:49
Has thanked: 27 times
Been thanked: 121 times

Re: Card Development Questions

Postby jeffwadsworth » 26 Jan 2012, 22:58

ArsenalNut wrote:
jeffwadsworth wrote:Testing Gravestorm.
This works fine for the human, AFAICT, but in the computer's hands, it will target itself. Does anyone see the issue?

| Open
Name:Gravestorm
ManaCost:B B B
Types:Enchantment
Text:no text
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigChangeZone | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, target opponent may exile a card from his or her graveyard. If that player doesn't, you may draw a card.
SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | Origin$ Graveyard | Destination$ Exile | ChangeType$ Card | ChangeNum$ 1 | Hidden$ True | Chooser$ Targeted | RememberChanged$ True | OptionalDecider$ Targeted | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | NumCards$ 1 | Defined$ You | OptionalDecider$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/gravestorm.jpg
End
Adding "IsCurse$ True" to ChangeZone will make it work. There is a general problem that "changeHiddenTriggerAI" doesn't seem to check the targeting restrictions and canBeTargetedBy only checks if a player is has shroud, hexproof, or protection.
Thanks. I have scripted tons of them but never ran across this issue.
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 friarsol » 27 Jan 2012, 04:35

Hey ArsenalNut,

I see you converted Lord of the Pit (and his buddy), does the prompt wait for you to Sacrifice properly? The reason this wasn't converted earlier is that the ability would finish resolving before the Sacrifice could occur.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Development Questions

Postby ArsenalNut » 27 Jan 2012, 05:22

friarsol wrote:Hey ArsenalNut,

I see you converted Lord of the Pit (and his buddy), does the prompt wait for you to Sacrifice properly? The reason this wasn't converted earlier is that the ability would finish resolving before the Sacrifice could occur.
The sequence in my testing is
1) Trigger on stack
2) Hit ok
3) If legal creature can sacrificed, box with choices appears
4) Make choice and hit ok
5) No damage

If no creatures, sacrifice doesn't even prompt, and you take 7 damage.
So many cards, so little time
User avatar
ArsenalNut
 
Posts: 512
Joined: 08 Jul 2011, 03:49
Has thanked: 27 times
Been thanked: 121 times

Re: Card Development Questions

Postby jeffwadsworth » 27 Jan 2012, 08:11

Hey Sloth, any chance of getting a "Payer$" in AB Untap? If so, we can add Paralyze. The trigger must be placed on Paralyze, not the enchanted card. Here is a working script that places the trigger on the enchanted card which is incorrect.

| Open
Name:Paralyze
ManaCost:B
Types:Enchantment Aura
Text:no text
K:Enchant creature
A:SP$ Attach | Cost$ B | ValidTgts$ Creature | AILogic$ Curse | SubAbility$ DBTap
S:Mode$ Continuous | Affected$ Creature.AttachedBy | AddKeyword$ CARDNAME doesn't untap during your untap step. | AddTrigger$ TrigPhase | AddSVar$ TrigUntap | Description$ When CARDNAME enters the battlefield, tap enchanted creature. Enchanted creature doesn't untap during its controller's untap step. At the beginning of the upkeep of enchanted creature's controller, that player may pay 4. If he or she does, untap the creature.
SVar:DBTap:DB$ Tap | Defined$ Targeted
SVar:TrigPhase:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigUntap | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of the upkeep of enchanted creature's controller, that player may pay 4. If he or she does, untap the creature.
SVar:TrigUntap:AB$ Untap | Cost$ 4
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/paralyze.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 moomarc » 27 Jan 2012, 08:52

I've scripted Shirei, Shizo's Caretaker, but it would need Cleanup AF to handle ClearTriggered or something. At the moment the delayed trigger will still go off if Shirei leaves the battlefield and later returns which is incorrect according to the oracle rulings. I tried adding a ClearRemembered to a static leaves the battlefield trigger but that doen't help because the triggered cards aren't remembered objects. I tried adding the code myself but I obviously missed something :?
Shirei, Shizo's Caretaker | Open
Code: Select all
Name:Shirei, Shizo's Caretaker
ManaCost:4 B
Types:Legendary Creature Spirit
Text:no text
PT:2/2
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | ValidCard$ Creature.powerLE1+YouOwn | OptionalDecider$ You | DelayedTrigger$ DelTrig | TriggerDescription$ Whenever a creature with power 1 or less is put into your graveyard from the battlefield, you may return that card to the battlefield under your control at the beginning of the next end step if CARDNAME is still on the battlefield.
SVar:DelTrig:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | Execute$ TrigReturn | IsPresent$ Card.Self | PresentZone$ Battlefield | TriggerDescription$ Return creature to the battlefield.
SVar:TrigReturn:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Battlefield | Defined$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Static$ True | Execute$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearTriggered$ True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/shirei_shizos_caretaker.jpg
SetInfo:BOK|Rare|http://magiccards.info/scans/en/bok/81.jpg
Oracle:Whenever a creature with power 1 or less is put into your graveyard from the battlefield, you may return that card to the battlefield under your control at the beginning of the next end step if Shirei, Shizo's Caretaker is still on the battlefield.
End
-Marc
User avatar
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

Postby Sloth » 27 Jan 2012, 10:30

jeffwadsworth wrote:Hey Sloth, any chance of getting a "Payer$" in AB Untap? If so, we can add Paralyze. The trigger must be placed on Paralyze, not the enchanted card. Here is a working script that places the trigger on the enchanted card which is incorrect.

| Open
Name:Paralyze
ManaCost:B
Types:Enchantment Aura
Text:no text
K:Enchant creature
A:SP$ Attach | Cost$ B | ValidTgts$ Creature | AILogic$ Curse | SubAbility$ DBTap
S:Mode$ Continuous | Affected$ Creature.AttachedBy | AddKeyword$ CARDNAME doesn't untap during your untap step. | AddTrigger$ TrigPhase | AddSVar$ TrigUntap | Description$ When CARDNAME enters the battlefield, tap enchanted creature. Enchanted creature doesn't untap during its controller's untap step. At the beginning of the upkeep of enchanted creature's controller, that player may pay 4. If he or she does, untap the creature.
SVar:DBTap:DB$ Tap | Defined$ Targeted
SVar:TrigPhase:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigUntap | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of the upkeep of enchanted creature's controller, that player may pay 4. If he or she does, untap the creature.
SVar:TrigUntap:AB$ Untap | Cost$ 4
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/paralyze.jpg
End
A more general solution would be to add a reverse Unless cost. I will think about it.
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 friarsol » 27 Jan 2012, 13:35

ArsenalNut wrote:
friarsol wrote:Hey ArsenalNut,

I see you converted Lord of the Pit (and his buddy), does the prompt wait for you to Sacrifice properly? The reason this wasn't converted earlier is that the ability would finish resolving before the Sacrifice could occur.
The sequence in my testing is
1) Trigger on stack
2) Hit ok
3) If legal creature can sacrificed, box with choices appears
4) Make choice and hit ok
5) No damage

If no creatures, sacrifice doesn't even prompt, and you take 7 damage.
Ah right. I forgot this got changed from using the Input selector to a popup box. Thanks for clarifying.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Development Questions

Postby squee1968 » 27 Jan 2012, 15:13

A few weeks ago, I took a stab at Thornbite Staff in the "Half-Implemented Cards" thread. The reasons why it was unacceptable then were that it didn't have the tribal attach ability, and it didn't grant the untap ability to the creature. Now that Sloth has implemented the other tribal equipments, and I've just seen Jeffwadsworth's use of AddTrigger, I now believe this card is scripted correctly.

Code: Select all
Name:Thornbite Staff
ManaCost:2
Types:Tribal Artifact Shaman Equipment
Text:no text
K:eqPump 4:0/0
S:Mode$ Continuous | Affected$ Card.EquippedBy | AddAbility$ Damage | AddTrigger$ TrigChangeZone | AddSVar$ TrigUntap | Description$ Equipped creature has "2, Tap: This creature deals 1 damage to target creature or player" and "Whenever a creature dies, untap this creature."
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Shaman | TriggerZones$ Battlefield | Execute$ TrigAttach | OptionalDecider$ You | TriggerDescription$ Whenever a Shaman creature enters the battlefield, you may attach CARDNAME to it.
SVar:Damage:AB$DealDamage | Cost$ 2 T | Tgt$ TgtCP | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target creature or player.
SVar:TrigChangeZone:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature | TriggerZones$ Battlefield | Execute$ TrigUntap | TriggerDescription$ Whenever a creature is put into a graveyard from the battlefield, untap equipped creature.
SVar:TrigUntap:AB$Untap | Cost$ 0
SVar:TrigAttach:DB$ Attach | Cost$ 0 | Defined$ TriggeredCard
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/thornbite_staff.jpg
SetInfo:MOR|Uncommon|http://magiccards.info/scans/en/mt/145.jpg
Oracle:Equipped creature has “{2}, {T}: This creature deals 1 damage to target creature or player” and “Whenever a creature dies, untap this creature.”\nWhenever a Shaman creature enters the battlefield, you may attach Thornbite Staff to it.
\nEquip {4}
End
squee1968
 
Posts: 254
Joined: 18 Nov 2011, 03:28
Has thanked: 110 times
Been thanked: 45 times

Re: Card Development Questions

Postby Sloth » 27 Jan 2012, 16:45

squee1968 wrote:A few weeks ago, I took a stab at Thornbite Staff in the "Half-Implemented Cards" thread. The reasons why it was unacceptable then were that it didn't have the tribal attach ability, and it didn't grant the untap ability to the creature. Now that Sloth has implemented the other tribal equipments, and I've just seen Jeffwadsworth's use of AddTrigger, I now believe this card is scripted correctly.

Code: Select all
Name:Thornbite Staff
ManaCost:2
Types:Tribal Artifact Shaman Equipment
Text:no text
K:eqPump 4:0/0
S:Mode$ Continuous | Affected$ Card.EquippedBy | AddAbility$ Damage | AddTrigger$ TrigChangeZone | AddSVar$ TrigUntap | Description$ Equipped creature has "2, Tap: This creature deals 1 damage to target creature or player" and "Whenever a creature dies, untap this creature."
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Shaman | TriggerZones$ Battlefield | Execute$ TrigAttach | OptionalDecider$ You | TriggerDescription$ Whenever a Shaman creature enters the battlefield, you may attach CARDNAME to it.
SVar:Damage:AB$DealDamage | Cost$ 2 T | Tgt$ TgtCP | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target creature or player.
SVar:TrigChangeZone:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature | TriggerZones$ Battlefield | Execute$ TrigUntap | TriggerDescription$ Whenever a creature is put into a graveyard from the battlefield, untap equipped creature.
SVar:TrigUntap:AB$Untap | Cost$ 0
SVar:TrigAttach:DB$ Attach | Cost$ 0 | Defined$ TriggeredCard
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/thornbite_staff.jpg
SetInfo:MOR|Uncommon|http://magiccards.info/scans/en/mt/145.jpg
Oracle:Equipped creature has “{2}, {T}: This creature deals 1 damage to target creature or player” and “Whenever a creature dies, untap this creature.”\nWhenever a Shaman creature enters the battlefield, you may attach Thornbite Staff to it.
\nEquip {4}
End
Added! thanks squee1968.
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 squee1968 » 27 Jan 2012, 17:45

Then this one should work as well.

Code: Select all
Name:Diviner's Wand
ManaCost:3
Types:Tribal Artifact Wizard Equipment
Text:no text
K:eqPump 3:0/0
S:Mode$ Continuous | Affected$ Card.EquippedBy | AddAbility$ Draw | AddTrigger$ TrigDraw | AddSVar$ TrigPump | Description$ Equipped creature has "Whenever you draw a card, this creature gets +1/+1 and gains flying until end of turn" and "4: Draw a card."
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Wizard | TriggerZones$ Battlefield | Execute$ TrigAttach | OptionalDecider$ You | TriggerDescription$ Whenever a Wizard creature enters the battlefield, you may attach CARDNAME to it.
SVar:TrigAttach:DB$ Attach | Cost$ 0 | Defined$ TriggeredCard
SVar:TrigDraw:Mode$ Drawn | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you draw a card, this creature gets +1/+1 and gains flying until end of turn
SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ Self | NumAtt$ 1 | NumDef$ 1 | KW$ Flying
SVar:Draw:AB$Draw | Cost$ 4 | NumCards$ 1 | SpellDescription$ Draw a card.
SVar:RemAIDeck:True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/diviners_wand.jpg
SetInfo:MOR|Uncommon|http://magiccards.info/scans/mt/en/142.jpg
Oracle:Equipped creature has "Whenever you draw a card, this creature gets +1/+1 and gains flying until end of turn" and "{4}: Draw a card."\nWhenever a Wizard creature enters the battlefield, you may attach Diviner’s Wand to it.\nEquip {3}
End
squee1968
 
Posts: 254
Joined: 18 Nov 2011, 03:28
Has thanked: 110 times
Been thanked: 45 times

Re: Card Development Questions

Postby Sloth » 27 Jan 2012, 19:06

moomarc wrote:I've scripted Shirei, Shizo's Caretaker, but it would need Cleanup AF to handle ClearTriggered or something. At the moment the delayed trigger will still go off if Shirei leaves the battlefield and later returns which is incorrect according to the oracle rulings. I tried adding a ClearRemembered to a static leaves the battlefield trigger but that doen't help because the triggered cards aren't remembered objects. I tried adding the code myself but I obviously missed something :?
Shirei, Shizo's Caretaker | Open
Code: Select all
Name:Shirei, Shizo's Caretaker
ManaCost:4 B
Types:Legendary Creature Spirit
Text:no text
PT:2/2
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | ValidCard$ Creature.powerLE1+YouOwn | OptionalDecider$ You | DelayedTrigger$ DelTrig | TriggerDescription$ Whenever a creature with power 1 or less is put into your graveyard from the battlefield, you may return that card to the battlefield under your control at the beginning of the next end step if CARDNAME is still on the battlefield.
SVar:DelTrig:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | Execute$ TrigReturn | IsPresent$ Card.Self | PresentZone$ Battlefield | TriggerDescription$ Return creature to the battlefield.
SVar:TrigReturn:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Battlefield | Defined$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Static$ True | Execute$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearTriggered$ True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/shirei_shizos_caretaker.jpg
SetInfo:BOK|Rare|http://magiccards.info/scans/en/bok/81.jpg
Oracle:Whenever a creature with power 1 or less is put into your graveyard from the battlefield, you may return that card to the battlefield under your control at the beginning of the next end step if Shirei, Shizo's Caretaker is still on the battlefield.
End
Added!

squee1968 wrote:Then this one should work as well.

Code: Select all
Name:Diviner's Wand
ManaCost:3
Types:Tribal Artifact Wizard Equipment
Text:no text
K:eqPump 3:0/0
S:Mode$ Continuous | Affected$ Card.EquippedBy | AddAbility$ Draw | AddTrigger$ TrigDraw | AddSVar$ TrigPump | Description$ Equipped creature has "Whenever you draw a card, this creature gets +1/+1 and gains flying until end of turn" and "4: Draw a card."
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Wizard | TriggerZones$ Battlefield | Execute$ TrigAttach | OptionalDecider$ You | TriggerDescription$ Whenever a Wizard creature enters the battlefield, you may attach CARDNAME to it.
SVar:TrigAttach:DB$ Attach | Cost$ 0 | Defined$ TriggeredCard
SVar:TrigDraw:Mode$ Drawn | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you draw a card, this creature gets +1/+1 and gains flying until end of turn
SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ Self | NumAtt$ 1 | NumDef$ 1 | KW$ Flying
SVar:Draw:AB$Draw | Cost$ 4 | NumCards$ 1 | SpellDescription$ Draw a card.
SVar:RemAIDeck:True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/diviners_wand.jpg
SetInfo:MOR|Uncommon|http://magiccards.info/scans/mt/en/142.jpg
Oracle:Equipped creature has "Whenever you draw a card, this creature gets +1/+1 and gains flying until end of turn" and "{4}: Draw a card."\nWhenever a Wizard creature enters the battlefield, you may attach Diviner’s Wand to it.\nEquip {3}
End
Added!
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 squee1968 » 29 Jan 2012, 21:44

Here's Pulse of the Forge

Code: Select all
Name:Pulse of the Forge
ManaCost:1 R R
Types:Instant
Text:no text
A:SP$ DealDamage | Cost$ 1 R R | ValidTgts$ Player | NumDmg$ 4 | SubAbility$ TrigReturn | SpellDescription$ CARDNAME deals 4 damage to target player. Then if that player has more life than you, return CARDNAME to its owner’s hand.
SVar:TrigReturn:DB$ ChangeZone | ConditionLifeTotal$ You | ConditionLifeAmount$ LTX | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionDescription$ If an opponent has more life than you, return CARDNAME to its owner’s hand.
SVar:X:TargetedPlayer$LifeTotal
SVar:RemAIDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/pulse_of_the_forge.jpg
SetInfo:DST|Rare|http://magiccards.info/scans/ds/en/66.jpg
Oracle:Pulse of the Forge deals 4 damage to target player. Then if that player has more life than you, return Pulse of the Forge to its owner’s hand.
End
I tried to do Pulse of the Grid, but although I tried a dozen different ways, including Check SVar's and different ConditionCompares and such, I couldn't for the life of me get the card to return reliably under all conditions. I'll post what I've got here, and maybe (please?) someone will fix it.

Code: Select all
Name:Pulse of the Grid
ManaCost:1 U U
Types:Instant
Text:no text
A:SP$ Draw | Cost$ 1 U U | NumCards$ 2 | SubAbility$ DBDiscard | SpellDescription$ Draw two cards, then discard a card. Then if an opponent has more cards in hand than you, return CARDNAME to its owner's hand.
SVar:DBDiscard:DB$Discard | NumCards$ 1 | Mode$ TgtChoose | SubAbility$ TrigReturn
SVar:TrigReturn:DB$ ChangeZone | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionPresent$ Card.YouDontCtrl | ConditionZone$ Hand | ConditionSVarCompare$ GTX | ConditionDescription$ If an opponent has more cards in hand than you, return CARDNAME to its owner's hand.
SVar:X:Count$CardsInYourHand
SVar:RemAIDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/pulse_of_the_grid.jpg
SetInfo:DST|Rare|http://magiccards.info/scans/ds/en/29.jpg
Oracle:Draw two cards, then discard a card. Then if an opponent has more cards in hand than you, return Pulse of the Grid to its owner's hand.
End
EDIT: Changed the Svar according to Slapshot5's suggestion.
Last edited by squee1968 on 30 Jan 2012, 10:11, edited 1 time in total.
squee1968
 
Posts: 254
Joined: 18 Nov 2011, 03:28
Has thanked: 110 times
Been thanked: 45 times

Re: Card Development Questions

Postby slapshot5 » 29 Jan 2012, 21:52

I don't think Pulse of the Forge is correct. What if you target yourself? I think:

SVar:X:TargetedPlayer$LifeTotal

is what you need here. (See Beacon of Immortality)

-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 ArsenalNut » 30 Jan 2012, 01:23

squee1968 wrote:I tried to do Pulse of the Grid, but although I tried a dozen different ways, including Check SVar's and different ConditionCompares and such, I couldn't for the life of me get the card to return reliably under all conditions. I'll post what I've got here, and maybe (please?) someone will fix it.

Code: Select all
Name:Pulse of the Grid
ManaCost:1 U U
Types:Instant
Text:no text
A:SP$ Draw | Cost$ 1 U U | NumCards$ 2 | SubAbility$ DBDiscard | SpellDescription$ Draw two cards, then discard a card. Then if an opponent has more cards in hand than you, return CARDNAME to its owner's hand.
SVar:DBDiscard:DB$Discard | NumCards$ 1 | Mode$ TgtChoose | SubAbility$ TrigReturn
SVar:TrigReturn:DB$ ChangeZone | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionPresent$ Card.YouDontCtrl | ConditionZone$ Hand | ConditionSVarCompare$ GTX | ConditionDescription$ If an opponent has more cards in hand than you, return CARDNAME to its owner's hand.
SVar:X:Count$CardsInYourHand
SVar:RemAIDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/pulse_of_the_grid.jpg
SetInfo:DST|Rare|http://magiccards.info/scans/ds/en/29.jpg
Oracle:Draw two cards, then discard a card. Then if an opponent has more cards in hand than you, return Pulse of the Grid to its owner's hand.
End
I tried this and it seems to work
Pulse of the Grid | Open
Name:Pulse of the Grid
ManaCost:1 U U
Types:Instant
Text:no text
A:SP$ Draw | Cost$ 1 U U | NumCards$ 2 | SubAbility$ DBDiscard | SpellDescription$ Draw two cards, then discard a card. Then if an opponent has more cards in hand than you, return CARDNAME to its owner's hand.
SVar:DBDiscard:DB$Discard | NumCards$ 1 | Mode$ TgtChoose | SubAbility$ TrigReturn
SVar:TrigReturn:DB$ ChangeZone | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1
SVar:Y:Count$CardsInYourHand
SVar:X:Count$CardsInOppHand/Minus.Y
SVar:RemAIDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/pulse_of_the_grid.jpg
SetInfo:DST|Rare|http://magiccards.info/scans/ds/en/29.jpg
Oracle:Draw two cards, then discard a card. Then if an opponent has more cards in hand than you, return Pulse of the Grid to its owner's hand.
End
So many cards, so little time
User avatar
ArsenalNut
 
Posts: 512
Joined: 08 Jul 2011, 03:49
Has thanked: 27 times
Been thanked: 121 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 25 guests


Who is online

In total there are 25 users online :: 0 registered, 0 hidden and 25 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 25 guests

Login Form