Return to Ravnica Spoiler Season
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, friarsol, Blacksmith, KrazyTheFox, Agetian, CCGHQ Admins
Re: Return to Ravnica Spoiler Season
by Sloth » 06 Sep 2012, 19:40
I've added all your cards, thanks torridus. There were some cards that you've posted, but aren't claimed in the wiki. Make sure that the wiki page is complete, so people won't script the cards again.
A sidenote for everyone:
The Scavenge ability should look like this (with the proper activation cost):
Unleash looks like this:
A sidenote for everyone:
The Scavenge ability should look like this (with the proper activation cost):
- Code: Select all
A:AB$ PutCounter | Cost$ 3 B G ExileFromGrave<1/CARDNAME> | ActivationZone$ Graveyard | ValidTgts$ Creature | CounterType$ P1P1 | CounterNum$ X | SorcerySpeed$ True | References$ X | PrecostDesc$ Scavenge | SpellDescription$ Put a number of +1/+1 counter's equal to this card's power on target creature. Scavenge only as a sorcery.
SVar:X:Count$CardPower
Unleash looks like this:
- Code: Select all
K:ETBReplacement:Other:Unleash:Optional
SVar:Unleash:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Unleash (You may have this creature enter the battlefield with a +1/+1 counter on it.It can't block as long as it has a +1/+1 counter on it.)
S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ HIDDEN CARDNAME can't block. | CheckSVar$ X | SVarCompare$ GE1 | References$ X
SVar:X:Count$NumCounters.P1P1
Last edited by Sloth on 06 Sep 2012, 20:13, edited 2 times in total.
-

Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Return to Ravnica Spoiler Season
by friarsol » 06 Sep 2012, 20:08
I updated my original post so they don't copy the wrong info. Although it looks like your Scavenge is missing the SVar:X: declarationSloth wrote:A sidenote for everyone:
- friarsol
- Global Moderator
- Posts: 7575
- Joined: 15 May 2010, 04:20
- Has thanked: 242 times
- Been thanked: 956 times
Re: Return to Ravnica Spoiler Season
by torridus » 07 Sep 2012, 18:20
The wiki seems to be a little buggy. For a period of about 36 hours I wasn't allowed to make edits to the page - it claimed I wasn't in the correct group. My guess is that after the first couple of edits I made, a script automatically booted me from the group with permissions to edit the wiki (since I'm still considered a new member, I assume) and I was just added back in.Sloth wrote:I've added all your cards, thanks torridus. There were some cards that you've posted, but aren't claimed in the wiki. Make sure that the wiki page is complete, so people won't script the cards again.
I updated the wiki since I can edit it again, and I also changed the SpellDescription$ lines for the Scavenge guys since the wording was just a little bit off.
Edit: Now I'm just thoroughly confused by the wiki. Clicking the link to the Upcoming page, as provided in this thread, shows the page but I can't edit it. In fact, it claims that I'm not logged in at all, and going to log in I get an error message that says "no user by the name of torridus exists"... so I go to the home page of slightlymagic and I see that I'm logged in. In order to edit the Forge Upcoming page, I had to use the search function to go through the wiki from the site's home page, just to find the page I wanted to edit. It's very odd.
At any rate, here's some more stuff. The Populate mechanic is working exactly as it should, Sol!
- Wayfaring Temple | Open
- Code: Select all
Name:Wayfaring Temple
ManaCost:1 G W
Types:Creature Elemental
Text:no text
PT:*/*
S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of creatures you control.
SVar:X:Count$Valid Creature.YouCtrl
SVar:BuffedBy:Creature
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigPopulate | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, populate.
SVar:TrigPopulate:AB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Creature.token+YouCtrl | SubAbility$ DBCopy | RememberChosen$ True
SVar:DBCopy:DB$ CopyPermanent | Defined$ Remembered | NumCopies$ 1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Rarity:Rare
End
- Skyline Predator | Open
- Code: Select all
Name:Skyline Predator
ManaCost:4 U U
Types:Creature Drake
Text:no text
PT:3/4
K:Flash
K:Flying
SVar:Rarity:Uncommon
End
The -2 is fine. Nice and easy to code, and it works perfectly.
I also can't manage to get Jace's ultimate to work properly. I assumed it would be a mix of Bribery & Knacksaw Clique & Thada Adel, Acquisitor... but for some reason the ultimate doesn't do anything when activated except take off 8 loyalty counters.
Anyone have any ideas?
- functional Jace template | Open
- Code: Select all
Name:Jace, Architect of Thought
ManaCost:2 U U
Types:Planeswalker Jace
Text:no text
Loyalty:4
A:AB$ Something | Cost$ AddCounter<1/LOYALTY> | I don't know what to do here
A:AB$ Dig | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | DigNum$ 3 | Reveal$ True | RememberRevealed$ True | NoMove$ True | SubAbility$ DBTwoPiles | SpellDescription$ Reveal the top three cards of your library. An opponent separates those cards into two piles. Put one pile into your hand and the other into your graveyard.
SVar:DBTwoPiles:DB$ TwoPiles | Defined$ You | DefinedCards$ Remembered | Separator$ Opponent | ChosenPile$ DBHand | UnchosenPile$ DBGrave
SVar:DBHand:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Hand
SVar:DBGrave:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Graveyard | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
A:AB$ Something | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | I don't know what to do here
SVar:Rarity:Mythic
End
Re: Return to Ravnica Spoiler Season
by Sloth » 08 Sep 2012, 15:27
Some thoughts about Jace:torridus wrote:As I'm working on the newest Jace, I'm noticing that Forge doesn't have any cards with the line "until your next turn" so it's going to be difficult to code Jace's +1 properly until that mechanic works. There are a few cards with a similar meaning though - Aleatory for instance. What I can't seem to do is put a Briar Patch onto a Planeswalker. I tried to make an emblem with the effect, which would disappear at your next upkeep, but it failed.
The -2 is fine. Nice and easy to code, and it works perfectly.
I also can't manage to get Jace's ultimate to work properly. I assumed it would be a mix of Bribery & Knacksaw Clique & Thada Adel, Acquisitor... but for some reason the ultimate doesn't do anything when activated except take off 8 loyalty counters.
Anyone have any ideas?![]()
- functional Jace template | Open
- Code: Select all
Name:Jace, Architect of Thought
ManaCost:2 U U
Types:Planeswalker Jace
Text:no text
Loyalty:4
A:AB$ Something | Cost$ AddCounter<1/LOYALTY> | I don't know what to do here
A:AB$ Dig | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | DigNum$ 3 | Reveal$ True | RememberRevealed$ True | NoMove$ True | SubAbility$ DBTwoPiles | SpellDescription$ Reveal the top three cards of your library. An opponent separates those cards into two piles. Put one pile into your hand and the other into your graveyard.
SVar:DBTwoPiles:DB$ TwoPiles | Defined$ You | DefinedCards$ Remembered | Separator$ Opponent | ChosenPile$ DBHand | UnchosenPile$ DBGrave
SVar:DBHand:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Hand
SVar:DBGrave:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Graveyard | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
A:AB$ Something | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | I don't know what to do here
SVar:Rarity:Mythic
End
+1 ability:
Use an "Effect" ability like the card Battle Cry but with "Duration$ Permanent". Add a second trigger to the Effect that triggers on your upkeep and removes the Effect (similar to the effect of Insist removes itself when a spell is cast).
-

Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Return to Ravnica Spoiler Season
by moomarc » 08 Sep 2012, 15:43
The problem with this solution and why I haven't scripted other "Until your next turn..." cards before is that they don't interact with any of the cards that make you skip your upkeep step. We could add a second ExileEffect trigger on the effect for your draw step but those can be skipped as well. I think we already have the groundwork to do it properly because I seem to recall seeing a check in extra turn code to see who plays next. I think we'd just need to add a key there that returns true if the effect owner's turn is next and exile the effect during the current player's cleanup step.Sloth wrote:+1 ability: Use an "Effect" ability like the card Battle Cry but with "Duration$ Permanent". Add a second trigger to the Effect that triggers on your upkeep and removes the Effect (similar to the effect of Insist removes itself when a spell is cast).
Does that sound about right? If so I can try give it a bash.
-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: Return to Ravnica Spoiler Season
by Sloth » 09 Sep 2012, 18:53
This sounds like it should work out.moomarc wrote:I think we already have the groundwork to do it properly because I seem to recall seeing a check in extra turn code to see who plays next. I think we'd just need to add a key there that returns true if the effect owner's turn is next and exile the effect during the current player's cleanup step.
Does that sound about right? If so I can try give it a bash.
-

Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Return to Ravnica Spoiler Season
by friarsol » 10 Sep 2012, 15:09
Now that http://media.wizards.com/images/magic/t ... 9ct_en.jpg exists, we'll need an ExileFromStack cost.
- friarsol
- Global Moderator
- Posts: 7575
- Joined: 15 May 2010, 04:20
- Has thanked: 242 times
- Been thanked: 956 times
Re: Return to Ravnica Spoiler Season
by moomarc » 10 Sep 2012, 16:36
I've think I've got this duration working for effects, but when I wanted to test that it actually works properly with extra turns, extra turns weren't working. So could someone else please test Time Walk and let me know whether it is an existing bug in the code or whether its something I introduced in my local copy.Sloth wrote:This sounds like it should work out.moomarc wrote:I think we already have the groundwork to do it properly because I seem to recall seeing a check in extra turn code to see who plays next. I think we'd just need to add a key there that returns true if the effect owner's turn is next and exile the effect during the current player's cleanup step.
Does that sound about right? If so I can try give it a bash.
-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: Return to Ravnica Spoiler Season
by Sloth » 11 Sep 2012, 08:49
Time Walk works in the SVN version.moomarc wrote:I've think I've got this duration working for effects, but when I wanted to test that it actually works properly with extra turns, extra turns weren't working. So could someone else please test Time Walk and let me know whether it is an existing bug in the code or whether its something I introduced in my local copy.
-

Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Return to Ravnica Spoiler Season
by moomarc » 11 Sep 2012, 09:45
Thanks Sloth. Found the problem. During cleanup I have a function that calls getNextActivePlayer() to find out who's turn it is next, but that method actually modifies the extra turns, so Time Walk effectively granted no extra turns and Time Stretch would still grant one extra.Sloth wrote:Time Walk works in the SVN version.moomarc wrote:I've think I've got this duration working for effects, but when I wanted to test that it actually works properly with extra turns, extra turns weren't working. So could someone else please test Time Walk and let me know whether it is an existing bug in the code or whether its something I introduced in my local copy.
Do we already have a method that just returns the next player or do I need to create one?
Edit: Looks like its getNextTurn(). Just running a few tests quickly.
-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: Return to Ravnica Spoiler Season
by moomarc » 11 Sep 2012, 12:44
So here's the working Jace script:
- Jace, Architect of Thought | Open
- Code: Select all
Name:Jace, Architect of Thought
ManaCost:2 U U
Types:Planeswalker Jace
Text:no text
Loyalty:4
A:AB$ Effect | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Triggers$ TrigAttack | SVars$ JacePump | Duration$ UntilYourNextTurn | Name$ Jace, Architect of Thought Effect | SpellDescription$ Until your next turn, whenever a creature an opponent controls attacks, it gets -1/-0 until end of turn.
SVar:TrigAttack:Mode$ Attacks | ValidCard$ Creature.YouDontCtrl | TriggerZones$ Battlefield | Execute$ JacePump | TriggerDescription$ Until your next turn, whenever a creature an opponent controls attacks, it gets -1/-0 until end of turn.
SVar:JacePump:AB$ Pump | Cost$ 0 | Defined$ TriggeredAttacker | NumAtt$ -1
A:AB$ Dig | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | DigNum$ 3 | Reveal$ True | RememberRevealed$ True | NoMove$ True | SubAbility$ DBTwoPiles | SpellDescription$ Reveal the top three cards of your library. An opponent separates them into two piles. Put one pile into your hand and the other on the bottom of your library in any order.
SVar:DBTwoPiles:DB$ TwoPiles | Defined$ You | DefinedCards$ Remembered | Separator$ Opponent | ChosenPile$ DBHand | UnchosenPile$ DBLibraryBottom
SVar:DBHand:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Hand
SVar:DBLibraryBottom:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Library | LibraryPosition$ -1 | SubAbility$ DBCleanup
A:AB$ ChangeZone | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | Origin$ Library | Destination$ Exile | DefinedPlayer$ Opponent | Chooser$ You | ChangeType$ Card.nonLand | ChangeNum$ 1 | RememberChanged$ True | Shuffle$ True | SubAbility$ JaceYourself | SpellDescription$ For each player, search that player's library for a nonland card and exile it, then that player shuffles his or her library. You may cast those cards without paying their mana costs.
SVar:JaceYourself:DB$ ChangeZone | Origin$ Library | Destination$ Exile | DefinedPlayer$ You | ChangeType$ Card.nonLand | ChangeNum$ 1 | RememberChanged$ True | Shuffle$ True | SubAbility$ DBPlayIT
SVar:DBPlayIT:DB$ Play | Defined$ Remembered | Amount$ Thoughts | References$ Thoughts | Controller$ You | WithoutManaCost$ True | Optional$ True | RememberPlayed$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Thoughts:Remembered$Amount
SVar:Rarity:Mythic
SVar:Picture:http://www.wizards.com/global/images/magic/general/jace_architect_of_thought.jpg
End
-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: Return to Ravnica Spoiler Season
by friarsol » 11 Sep 2012, 14:52
I believe they are supposed to be played as part of the ability, just like Brilliant Ultimatummoomarc wrote:Only thing I wasn't sure of is whether the ultimate is meant to make you choose whether to play the exiled cards straight away or whether you're meant to be able to play them at any time afterwards. Pretty sure I've got it right, but otherwise the Play AF just needs to be changed to an effect
- friarsol
- Global Moderator
- Posts: 7575
- Joined: 15 May 2010, 04:20
- Has thanked: 242 times
- Been thanked: 956 times
Re: Return to Ravnica Spoiler Season
by moomarc » 11 Sep 2012, 14:57
Thanks, that's what I thought. Script is correct then.friarsol wrote:I believe they are supposed to be played as part of the ability, just like Brilliant Ultimatummoomarc wrote:Only thing I wasn't sure of is whether the ultimate is meant to make you choose whether to play the exiled cards straight away or whether you're meant to be able to play them at any time afterwards. Pretty sure I've got it right, but otherwise the Play AF just needs to be changed to an effect
-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: Return to Ravnica Spoiler Season
by moomarc » 12 Sep 2012, 06:15
With Angel of Serenity it looks like I might have to resurrect my multizone origin work.
-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: Return to Ravnica Spoiler Season
by moomarc » 12 Sep 2012, 09:22
Some extra cards for the testers:
Here's some that can be used as templates for other Detain cards:
And here's some Overload love: (I decided to replace the reminder text with the actual replacement text - just makes life easier for users)
- Vraska the Unseen | Open
- Code: Select all
Name:Vraska the Unseen
ManaCost:3 B G
Types:Planeswalker Vraska
Text:no text
Loyalty:5
A:AB$ Animate | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Defined$ Self | Triggers$ TrigVraska | sVars$ VraskaGaze | UntilYourNextTurn$ True | SpellDescription$ Until your next turn, whenever a creature deals combat damage to CARDNAME, destroy that creature. | StackDescription$ Until your next turn, whenever a creature deals combat damage to CARDNAME, destroy that creature.
SVar:TrigVraska:Mode$ DamageDone | ValidSource$ Creature | ValidTarget$ Card.Self | TriggerZones$ Battlefield | CombatDamage$ True | Execute$ VraskaGaze | TriggerDescription$ Until your next turn, whenever a creature deals combat damage to CARDNAME, destroy that creature.
SVar:VraskaGaze:AB$ Destroy | Cost$ 0 | Defined$ TriggeredSource
A:AB$ Destroy | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | SpellDescription$ Destroy target nonland permanent.
A:AB$ Token | Cost$ SubCounter<7/LOYALTY> | Planeswalker$ True | Ultimate$ True | TokenAmount$ 3 | TokenName$ Assassin | TokenTypes$ Creature,Assassin | TokenOwner$ You | TokenImage$ B 1 1 Assassin | TokenColors$ Black | TokenPower$ 1 | TokenToughness$ 1 | TokenTriggers$ TrigAssassin | TokenSVars$ Assassination,MustBeBlocked | SpellDescription$ Put three 1/1 black Assassin creature tokens onto the battlefield with "Whenever this creature deals combat damage to a player, that player loses the game."
SVar:TrigAssassin:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ Assassination | TriggerDescription$ Whenever this creature deals combat damage to a player, that player loses the game.
SVar:Assassination:DB$ LosesGame | Defined$ TriggeredTarget
SVar:Rarity:Mythic
SVar:Picture:http://www.wizards.com/global/images/magic/general/vraska_the_unseen.jpg
End
Here's some that can be used as templates for other Detain cards:
- Azorius Justiciar | Open
- Code: Select all
Name:Azorius Justiciar
ManaCost:2 W W
Types:Creature Human Wizard
Text:no text
PT:2/2
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ Detain | TriggerDescription$ When CARDNAME enters the battlefield, detain up to two target creatures your opponents control. (Until your next turn, those creatures can't attack or block and their activated abilities can't be activated.)
SVar:Detain:DB$Pump | TargetMin$ 0 | TargetMax$ 2 | KW$ HIDDEN CARDNAME can't attack or block. & HIDDEN CARDNAME's activated abilities can't be activated. | IsCurse$ True | UntilYourNextTurn$ True | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature your opponent controls to detain.
SVar:PlayMain1:TRUE
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/azorius_justiciar.jpg
End
- Archon of the Triumvirate | Open
- Code: Select all
Name:Archon of the Triumvirate
ManaCost:5 W U
Types:Creature Archon
Text:no text
PT:4/5
K:Flying
T:Mode$ Attacks | TriggerZones$ Battlefield | ValidCard$ Card.Self | Execute$ Detain | TriggerDescription$ Whenever CARDNAME attacks, detain up to two target nonland permanents your opponents control. (Until your next turn, those permanents can't attack or block and their activated abilities can't be activated.)
SVar:Detain:DB$Pump | TargetMin$ 0 | TargetMax$ 2 | KW$ HIDDEN CARDNAME can't attack or block. & HIDDEN CARDNAME's activated abilities can't be activated. | IsCurse$ True | ValidTgts$ Permanent.nonLand+YouDontCtrl | TgtPrompt$ Select target nonland permanent your opponent controls to detain. | UntilYourNextTurn$ True
SVar:PlayMain1:TRUE
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/archon_of_the_triumvirate.jpg
End
And here's some Overload love: (I decided to replace the reminder text with the actual replacement text - just makes life easier for users)
- Cyclonic Rift | Open
- Code: Select all
Name:Cyclonic Rift
ManaCost:1 U
Types:Instant
Text:no text
A:SP$ ChangeZone | Cost$ 1 U | ValidTgts$ Permanent.nonLand+YouDontCtrl | TgtPrompt$ Select target nonland permanent you don't control | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target nonland permanent you don't control to its owner's hand.
A:SP$ ChangeZoneAll | Cost$ 6 U | ChangeType$ Permanent.nonLand+YouDontCtrl | Origin$ Battlefield | Destination$ Hand | PrecostDesc$ Overload | CostDesc$ 6 U | SpellDescription$ (Return each nonland permanent you don't control to its owner's hand.)
SVar:PlayMain1:TRUE
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/cyclonic_rift.jpg
End
-Marc
-

moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Who is online
Users browsing this forum: No registered users and 5 guests
