Dark Ascension spoiler season
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Dark Ascension spoiler season
by friarsol » 10 Jan 2012, 13:22
Since "Cast from" seems to be a thing in Dark Ascension we should take the time to nail down recording of the location spells were cast from. It should be easy enough: When an SA moves to the Stack, if it's a spell, we can overwrite the SVar "CastFrom" to the string version of that Zone (Hand, Graveyard, Exile, Library, etc.) or it can be a new variable of Zone type.
Either way it would be accessible from there.
Either way it would be accessible from there.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Dark Ascension spoiler season
by Hellfish » 10 Jan 2012, 14:27
I actually have code in place for that in my private build. I'm using it to implement Rebound too. Granted the location is not saved in an SVar, but still..
So now you're
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
-
Hellfish - Programmer
- Posts: 1297
- Joined: 07 Jun 2009, 10:41
- Location: South of the Pumphouse
- Has thanked: 110 times
- Been thanked: 169 times
Re: Dark Ascension spoiler season
by ZzzzSleep » 10 Jan 2012, 21:31
Ghoultree and Drogskol Reaver
- Code: Select all
Name:Ghoultree
ManaCost:7 G
Types:Creature Zombie Treefolk
Text:CARDNAME costs 1 less to cast for each creature card in your graveyard.
PT:10/10
K:CostChange:Player:Less:X:Self:All:All:NoSpecial
SVar:X:Count$TypeInYourYard.Creature
SVar:Rarity:Rare
Oracle:Ghouldtree costs {1} less to cast for each creature card in your graveyard.
End
- Code: Select all
Name:Drogskol Reaver
ManaCost:5 W U
Types:Creature Spirit
Text:no text
PT:3/5
K:Flying
K:Double Strike
K:Lifelink
T:Mode$ LifeGained | ValidPlayer$ You | TriggerZones$ Battlefield |Execute$ TrigDraw | TriggerDescription$ Whenever you gain life, draw a card.
SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ 1
Oracle:Flying, doublestrike, lifelink\nWhenever you gain life, draw a card.
End
Re: Dark Ascension spoiler season
by Doublestrike » 11 Jan 2012, 02:12
Quite helpful - I added this to the dev wiki: http://www.slightlymagic.net/wiki/Forge:How_to_Get_Started_Developing_Forge#BranchesArsenalNut wrote:...here's a mini how-to in Eclipse...
---
A joke is a very serious thing.
A joke is a very serious thing.
-
Doublestrike - UI Programmer
- Posts: 715
- Joined: 08 Aug 2011, 09:07
- Location: Bali
- Has thanked: 183 times
- Been thanked: 161 times
Re: Dark Ascension spoiler season
by ArsenalNut » 11 Jan 2012, 02:53
If I claim a card, script it, then check it into the DKA branch, should I still post it here?
So many cards, so little time
-
ArsenalNut - Posts: 512
- Joined: 08 Jul 2011, 03:49
- Has thanked: 27 times
- Been thanked: 121 times
Re: Dark Ascension spoiler season
by friarsol » 11 Jan 2012, 03:01
I say still post them for now to maximize how much visibility they get.ArsenalNut wrote:If I claim a card, script it, then check it into the DKA branch, should I still post it here?
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Dark Ascension spoiler season
by ArsenalNut » 11 Jan 2012, 03:14
I had to add EYEBALL to the counters enumeration list for this card.
Edit 1: Added Moonveil and Sorin
Edit 2: Added Loyal Cathar // Unhallowed Cathar
Edit 3: Added Increasing Confusion
- Jar of Eyeballs | Open
- Name:Jar of Eyeballs
ManaCost:3
Types:Artifact
Text:no text
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever a creature you control dies, put two eyeball counters on CARDNAME.
SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ EYEBALL | CounterNum$ 2
A:AB$ Dig | Cost$ 3 T SubCounter<All/EYEBALL> | DigNum$ X | ChangeNum$ 1 | DestinationZone$ Hand | DestinationZone2$ Library | LibraryPosition$ -1 | SpellDescription$ Look at the top X cards of your library where X is the number of eyeball counters removed this way. Put one of them into your hand and the rest on the bottom of your library in any order.
SVar:X:SVar$CostCountersRemoved
SVar:Picture:http://www.wizards.com/global/images/magic/general/jar_of_eyeballs.jpg
End
- Curse of Thirst | Open
- Name:Curse of Thirst
ManaCost:4 B
Types:Enchantment Aura Curse
Text:Enchant player
A:SP$ Attach | Cost$ 4 B | ValidTgts$ Player | AILogic$ Curse
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ EnchantedPlayer | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of enchanted player's upkeep, CARDNAME deals damage to that player equal to the number of Curses attached to him or her.
SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Defined$ EnchantedPlayer | NumDmg$ X
SVar:X:Count$Valid Curse.AttachedTo Player.EnchantedBy
SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_thirst.jpg
End
- Moonveil Dragon | Open
- Name:Moonveil Dragon
ManaCost:3 R R R
Types:Creature Dragon
Text:no text
PT:5/5
K:Flying
A:AB$ PumpAll | Cost$ R | NumAtt$ +1 | ValidCards$ Creature.YouCtrl |SpellDescription$ Each creature you control gets +1/+0 until end of turn.
SVar:Picture:http://www.wizards.com/global/images/magic/general/moonveil_dragon.jpg
End
- Sorin, Lord of Innistrad | Open
- Name:Sorin, Lord of Innistrad
ManaCost:2 W B
Types:Planeswalker Sorin
Text:no text
Loyalty:3
A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | TokenAmount$ 1 | TokenName$ Vampire | TokenColors$ Black | TokenTypes$ Creature,Vampire | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Lifelink | Planeswalker$ True | SpellDescription$ Put a 1/1 black Vampire creature token with lifelink onto the battlefield.
A:AB$ Effect | Cost$ SubCounter<2/LOYALTY> | Name$ Sorin, Lord of Innistrad emblem | StaticAbilities$ STPump | Planeswalker$ True | Duration$ Permanent | SpellDescription$ You get an emblem with "Creatures you control get +1/+0."
SVar:STPump:Mode$ Continuous | Affected$ Creature.YouCtrl | AffectedZone$ Battlefield | AddPower$ 1
A:AB$ Destroy | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True | ValidTgts$ Creature,Planeswalker.Other | TargetMin$ 0 | TargetMax$ 3 | TgtPrompt$ Select target creatures or other planeswalkers | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ DBChangeZoneAll | SpellDescription$ Destroy up to 3 target creatures and/or other planeswalkers. Return each card put into a graveyard this way to the battlefield under your control.
SVar:DBChangeZoneAll:DB$ ChangeZoneAll | Cost$ 0 | ChangeType$ Remembered | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:Rarity:Mythic
SVar:Picture:http://www.wizards.com/global/images/magic/general/sorin_lord_of_innistrad.jpg
End
- Loyal Cathar // Unhallowed Cathar | Open
- Name:Loyal Cathar
ManaCost:W W
Types:Creature Human Soldier
Text:no text
PT:2/2
K:Vigilance
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDelay | TriggerDescription$ When CARDNAME dies, return it to the battlefield transformed under your control at the beginning of the next end step.
SVar:TrigDelay:AB$ DelayedTrigger | Cost$ 0 | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | TriggerDescription$ return CARDNAME to the battlefield transformed
SVar:TrigReturn:AB$ ChangeZone | Cost$ 0 | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | SubAbility$ TrigTransform
SVar:TrigTransform:DB$ SetState | Cost$ 0 | Defined$ Self | Mode$ Transform
SVar:Picture:http://www.wizards.com/global/images/magic/general/loyal_cathar.jpg
AlternateMode:DoubleFaced
ALTERNATE
Name:Unhallowed Cathar
ManaCost:no cost
Colors:black
Types:Creature Zombie Soldier
Text:no text
PT:2/1
K:CARDNAME can't block.
SVar:Picture1:http://www.wizards.com/global/images/magic/general/unhallowed_cathar.jpg
End
- Increasing Confusion | Open
- Name:Increasing Confusion
ManaCost:X U
Types:Sorcery
Text:no text
K:Flashback X U
A:SP$ Mill | Cost$ X U | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard. If CARDNAME was cast from a graveyard, that player puts twice as many cards into his or her graveyard instead.
SVar:X:Count$xPaid/Times.Y
SVar:Y:wasCastFromGraveyard.2.1
End
Edit 1: Added Moonveil and Sorin
Edit 2: Added Loyal Cathar // Unhallowed Cathar
Edit 3: Added Increasing Confusion
Last edited by ArsenalNut on 12 Jan 2012, 05:36, edited 4 times in total.
So many cards, so little time
-
ArsenalNut - Posts: 512
- Joined: 08 Jul 2011, 03:49
- Has thanked: 27 times
- Been thanked: 121 times
Re: Dark Ascension spoiler season
by moomarc » 11 Jan 2012, 06:08
I've created a themed skin for when we release the Dark Ascension beta. I've modified my layout so please test in your games and let me know if I should change anything. Play areas are borderless, but I've left a slight overlay to help distinguish sections.
Also attached the splash image because the game loads so quickly these days that you can't appreciate it properly.
Also attached the splash image because the game loads so quickly these days that you can't appreciate it properly.
- Attachments
-
darkascension.zip
- Themed skin for DKA release
- (979.22 KiB) Downloaded 307 times
-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: Dark Ascension spoiler season
by Doublestrike » 11 Jan 2012, 06:59
Boss. Nice work moomarc!
Eventually I'll get all the buttons into the sprite (like the "start" one) to make it that much better. Mana symbols, and a few other things, also.
Eventually I'll get all the buttons into the sprite (like the "start" one) to make it that much better. Mana symbols, and a few other things, also.
---
A joke is a very serious thing.
A joke is a very serious thing.
-
Doublestrike - UI Programmer
- Posts: 715
- Joined: 08 Aug 2011, 09:07
- Location: Bali
- Has thanked: 183 times
- Been thanked: 161 times
Re: Dark Ascension spoiler season
by moomarc » 11 Jan 2012, 07:12
Glad you like itDoublestrike wrote:Boss. Nice work moomarc!
Eventually I'll get all the buttons into the sprite (like the "start" one) to make it that much better. Mana symbols, and a few other things, also.

And then (so as not to waste a post) here's Falkenrath Aristocrat:
- Falkenrath Aristocrat | Open
- Code: Select all
Name:Falkenrath Aristocrat
ManaCost:2 B R
Types:Creature Vampire
Text:no text
PT:4/1
K:Flying
K:Haste
A:AB$ Pump | Cost$ Sac<1/Creature> | KW$ HIDDEN Indestructible | SubAbility$ DBPutCounter | SpellDescription$ CARDNAME is indestructible this turn. If the sacrificed creature was a Human, put a +1/+1 counter on CARDNAME.
SVar:DBPutCounter:DB$PutCounter | CounterNum$ X | CounterType$ P1P1
SVar:X:Sacrificed$Valid Human
SVar:RemAIDeck:True
SVar:Rarity:Mythic
SVar:Picture:http://www.wizards.com/global/images/magic/general/falkenrath_aristocrat.jpg
Oracle:Flying, haste\nSacrifice a creature: Falkenrath Aristocrat is indestructible this turn. If the sacrificed creature was a Human, put a +1/+1 counter on Falkenrath Aristocrat.
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: Dark Ascension spoiler season
by ArsenalNut » 11 Jan 2012, 07:50
I would make the PutCounter subabilitymoomarc wrote:
And then (so as not to waste a post) here's Falkenrath Aristocrat:
- Falkenrath Aristocrat | Open
- Code: Select all
Name:Falkenrath Aristocrat
ManaCost:2 B R
Types:Creature Vampire
Text:no text
PT:4/1
K:Flying
K:Haste
A:AB$ Pump | Cost$ Sac<1/Creature> | KW$ HIDDEN Indestructible | SubAbility$ DBPutCounter | SpellDescription$ CARDNAME is indestructible this turn. If the sacrificed creature was a Human, put a +1/+1 counter on CARDNAME.
SVar:DBPutCounter:DB$PutCounter | CounterNum$ X | CounterType$ P1P1
SVar:X:Sacrificed$Valid Human
SVar:RemAIDeck:True
SVar:Rarity:Mythic
SVar:Picture:http://www.wizards.com/global/images/magic/general/falkenrath_aristocrat.jpg
Oracle:Flying, haste\nSacrifice a creature: Falkenrath Aristocrat is indestructible this turn. If the sacrificed creature was a Human, put a +1/+1 counter on Falkenrath Aristocrat.
End
- Code: Select all
SVar:DBPutCounter:DB$PutCounter | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | CounterNum$ 1 | CounterType$ P1P1
So many cards, so little time
-
ArsenalNut - Posts: 512
- Joined: 08 Jul 2011, 03:49
- Has thanked: 27 times
- Been thanked: 121 times
Re: Dark Ascension spoiler season
by moomarc » 11 Jan 2012, 08:20
That was the first method I tried, but the subability fired regardless. That's why I used this method used by Lyzolda, the Blood Witch and Ebon Praetor. Any ideas?ArsenalNut wrote:moomarc wrote:I would make the PutCounter subabilityThis avoids possible interactions with CounterAdded triggers and also doesn't call the drawback resolve method unnecessarily.
- Code: Select all
SVar:DBPutCounter:DB$PutCounter | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | CounterNum$ 1 | CounterType$ P1P1
Edit: Nevermind. Just realized you used ConditionCheckSVar whereas I'd used the normal CheckSVar. I'll fix the script as well as the two I mentioned above. Thanks for the help.
Edit 2: I used ConditionSVarCompare$ GE1 instead of EQ1 just in case there's ever a replacement effect where if you would sacrifice a creature, sacrifice another one as well.
-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: Dark Ascension spoiler season
by moomarc » 11 Jan 2012, 11:01
@Hellfish: I saw you just added the CastFrom... checks. Thanks! Now the blue spoilers can get some love too. 

-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: Dark Ascension spoiler season
by Hellfish » 11 Jan 2012, 11:05
You're welcome. 
Blue needs more cards spoiled, if anything. Come on,Wizards! *shakes fist*
EDIT:Btw, Marc, if you're still looking at token pics, I just added Nomad's Assembly if that needs anything.
EDIT again: Increasing Devotion;

Blue needs more cards spoiled, if anything. Come on,Wizards! *shakes fist*
EDIT:Btw, Marc, if you're still looking at token pics, I just added Nomad's Assembly if that needs anything.
EDIT again: Increasing Devotion;
- Code: Select all
Name:Increasing Devotion
ManaCost:3 W W
Types:Sorcery
Text:no text
K:Flashback 7 W W
A:SP$Token | Cost$ 3 W W | TokenAmount$ X | TokenName$ Human | TokenTypes$ Creature,Human | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenOwner$ You | SpellDescription$ Put five 1/1 white Human creature tokens onto the battlefield. If CARDNAME was cast from a graveyard, put ten of those tokens onto the battlefield instead.
SVar:X:Count$wasCastFromGraveyard.10.5
End
So now you're
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
-
Hellfish - Programmer
- Posts: 1297
- Joined: 07 Jun 2009, 10:41
- Location: South of the Pumphouse
- Has thanked: 110 times
- Been thanked: 169 times
Re: Dark Ascension spoiler season
by ArsenalNut » 11 Jan 2012, 13:48
I believe conditionals in subabilities was something that got fixed with in the last 6 months. I bet there are other older cards with "if" clauses that could be updated.moomarc wrote:Edit: Nevermind. Just realized you used ConditionCheckSVar whereas I'd used the normal CheckSVar. I'll fix the script as well as the two I mentioned above. Thanks for the help.
Edit 2: I used ConditionSVarCompare$ GE1 instead of EQ1 just in case there's ever a replacement effect where if you would sacrifice a creature, sacrifice another one as well.
So many cards, so little time
-
ArsenalNut - Posts: 512
- Joined: 08 Jul 2011, 03:49
- Has thanked: 27 times
- Been thanked: 121 times
Who is online
Users browsing this forum: No registered users and 20 guests