It is currently 27 Apr 2024, 11:04
   
Text Size

Shadows over Innistrad spoiler season

Post MTG Forge Related Programming Questions Here

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

Re: Shadows over Innistrad spoiler season

Postby Hanmac » 29 Mar 2016, 16:53

friarsol wrote:
Hanmac wrote:thanks for fixing the Visions card.

for From under the Floorboards i tried your code, now i can pay X, but i still get Zero Tokens and Life, and i don't know what is wrong :/
"Player - trying to gain negative or 0 life"

i didn't tested the other two but they might have a similar problem.
Unless you have the very latest snapshot it won't work. The Madness.<true>.<false> didn't exist (even though you were trying to use it). If you don't see a card doing something already, you can't just assume the same thing works across different keywords.
yeah i did see the latest snapshots and it thanks for fixing it.

there is also a little bug in it:
also the when the Spell is in the graveyard the Spelldescription got overwritten which shouldn't be. (same for all other new same spells that does appear)
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Shadows over Innistrad spoiler season

Postby Hanmac » 29 Mar 2016, 18:19

i tried this one too
Code: Select all
Name:Not Forgotten
ManaCost:1 W
Types:Sorcery
A:SP$ GenericChoice | Cost$ 1 W | Defined$ You | ValidTgts$ Card | TgtZone$ Graveyard | Choices$ DBTop,DBBottom | SpellDescription$ Put target card from a graveyard on the top or bottom of its owner's library. Put a 1/1 white Spirit creature token with flying onto the battlefield.
SVar:DBTop:DB$ ChangeZone | Defined$ ParentTarget | Origin$ Graveyard | Destination$ Library | LibraryPosition$ 0 | SpellDescription$ Put it on the top of library. | StackDescription$ SpellDescription | SubAbility$ DBTrigToken
SVar:DBBottom:DB$ ChangeZone | Defined$ ParentTarget | Origin$ Graveyard | Destination$ Library | LibraryPosition$ -1 | SpellDescription$ Put it on the bottom of library. | StackDescription$ SpellDescription | SubAbility$ DBTrigToken
SVar:DBTrigToken:DB$ Token | Cost$ 0 | TokenImage$ W 1 1 Spirit SOI | TokenAmount$ 1 | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SpellDescription$ Put a 1/1 white Spirit creature token with flying onto the battlefield. | StackDescription$ SpellDescription
SVar:Picture:http://www.wizards.com/global/images/magic/general/not_forgotten.jpg
Oracle:Put target card from a graveyard on the top or bottom of its owner's library. Put a 1/1 white Spirit creature token with flying onto the battlefield.
Last edited by Hanmac on 29 Mar 2016, 18:31, edited 1 time in total.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Shadows over Innistrad spoiler season

Postby friarsol » 29 Mar 2016, 18:22

Hanmac wrote:i tried this one too
Code: Select all
Name:Not Forgotten

A:SP$ GenericChoice | Cost$ 1 W | Defined$ You | ValidTgts$ Card | TgtZone$ Graveyard | Choices$ DBTop,DBBottom
it does work, but for some reason it doesn't show any Oracle Text
Your GenericChoice doesn't have a SpellDescription.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Shadows over Innistrad spoiler season

Postby Hanmac » 29 Mar 2016, 18:27

friarsol wrote:
Hanmac wrote:i tried this one too
Code: Select all
Name:Not Forgotten

A:SP$ GenericChoice | Cost$ 1 W | Defined$ You | ValidTgts$ Card | TgtZone$ Graveyard | Choices$ DBTop,DBBottom
it does work, but for some reason it doesn't show any Oracle Text
Your GenericChoice doesn't have a SpellDescription.
does that remove the Oracle too? good to know i will add it.

PS: i tried Accursed Witch with AttachedToPlayer (a few pages before) with
Code: Select all
SVar:DBChange:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | AttachedToPlayer$ ParentTarget | Transformed$ True | GainControl$ True
but it didn't work yet.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Shadows over Innistrad spoiler season

Postby Hanmac » 29 Mar 2016, 19:13

i did Olivia and tested her.
Code: Select all
Name:Olivia, Mobilized for War
ManaCost:1 B R
Types:Legendary Creature Vampire Knight
PT:3/3
K:Flying

T:Mode$ ChangesZone | ValidCard$ Creature.Other+YouCtrl | Origin$ Any | Destination$ Battlefield | Execute$ TrigDiscard | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever another creature enters the battlefield under your control, you may discard a card. If you do, put a +1/+1 counter on that creature, it gains haste until end of turn, and it becomes a vampire in addition to its other types.
SVar:TrigDiscard:AB$ Discard | Cost$ 0 | Defined$ You | NumCards$ 1 | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBPutCounter
SVar:DBPutCounter:DB$PutCounter | Cost$ 0 | Defined$ TriggeredCard | CounterType$ P1P1 | CounterNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBPump
SVar:DBPump:DB$ Pump | Cost$ 0 | Defined$ TriggeredCard | KW$ Haste | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBAnimate
SVar:DBAnimate:DB$ Animate | Defined$ TriggeredCard | Types$ Vampire | Permanent$ True | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup

SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

SVar:Picture:http://www.wizards.com/global/images/magic/general/olivia_mobilized_for_war.jpg
Oracle:Flying\nWhenever another creature enters the battlefield under your control, you may discard a card. If you do, put a +1/+1 counter on that creature, it gains haste until end of turn, and it becomes a vampire in addition to its other types.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Shadows over Innistrad spoiler season

Postby friarsol » 29 Mar 2016, 21:01

Hanmac wrote:PS: i tried Accursed Witch with AttachedToPlayer (a few pages before) with
Code: Select all
SVar:DBChange:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | AttachedToPlayer$ ParentTarget | Transformed$ True | GainControl$ True
but it didn't work yet.
You are missing the Attach Spell that is required for Auras. See Soul Seizer // Ghastly Hunting

For Infectious Curse:
Code: Select all
A:SP$ Attach | Cost$ 0 | ValidTgts$ Player | AILogic$ Curse
Additionally, you can't use Defined$ Self when a card is changing zones like that, you have to used TriggeredCard otherwise the wrong state of the card is used.

Fix in Accursed Witch
Code: Select all
SVar:DBChange:DB$ ChangeZone | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Battlefield | AttachedToPlayer$ ParentTarget | Transformed$ True | GainControl$ True
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Shadows over Innistrad spoiler season

Postby Hanmac » 30 Mar 2016, 06:37

thanks me for helping me with Accursed Witch, it nearly does work as it should.

the only thing is that i can't get the cost reduce from Infectious Curse right. i did this:
Code: Select all
S:Mode$ ReduceCost | ValidTarget$ Player.EnchantedBy | Activator$ You | Type$ Spell | Amount$ 1 | Description$ Spells you cast that target enchanted player cost {1} less to cast.
Code: Select all
Name:Accursed Witch
ManaCost:3 B
Types:Creature Human Shaman
PT:4/2

S:Mode$ ReduceCost | ValidTarget$ Card.Self | Activator$ Player.Opponent | Type$ Spell | Amount$ 1 | Description$ Spells your opponents cast that target CARDNAME cost {1} less to cast.

T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ When CARDNAME dies, return it to the battlefield transformed under your control attached to target opponent.

SVar:TrigChoose:AB$ Pump | Cost$ 0 | ValidTgts$ Opponent | TgtPrompt$ Choose a opponent | IsCurse$ True | SubAbility$ DBChange
SVar:DBChange:DB$ ChangeZone | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Battlefield | AttachedToPlayer$ ParentTarget | Transformed$ True | GainControl$ True

SVar:Picture:http://www.wizards.com/global/images/magic/general/accursed_witch.jpg
AlternateMode:DoubleFaced
Oracle:Spells your opponents cast that target Accursed Witch cost 1 less to cast.\nWhen Accursed Witch dies, return it to the battlefield transformed under your control attached to target opponent.

ALTERNATE

Name:Infectious Curse
ManaCost:no cost
Colors:black
Types:Enchantment Aura Curse
K:Enchant player

A:SP$ Attach | Cost$ 0 | ValidTgts$ Player | AILogic$ Curse

S:Mode$ ReduceCost | ValidTarget$ Player.EnchantedBy | Activator$ You | Type$ Spell | Amount$ 1 | Description$ Spells you cast that target enchanted player cost {1} less to cast.

T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigDrain | TriggerDescription$ At the beginning of enchanted player's upkeep, that player loses one life and you gain one life.
SVar:TrigDrain:AB$ LoseLife | Cost$ 0 | Defined$ TriggeredPlayer | LifeAmount$ 1 | SubAbility$ DBGainLife
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 1

SVar:Picture:http://www.wizards.com/global/images/magic/general/infectious_curse.jpg
Oracle:Spells you cast that target enchanted player cost {1} less to cast.\nAt the beginning of enchanted player's upkeep, that player loses one life and you gain one life.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Shadows over Innistrad spoiler season

Postby Hanmac » 30 Mar 2016, 07:53

i did Harness the Storm
Code: Select all
Name:Harness the Storm
ManaCost:2 R
Types:Enchantment
T:Mode$ SpellCast | ValidCard$ Instant.wasCastFromHand,Sorcery.wasCastFromHand | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you cast an instant or sorcery spell from your hand, you may cast target card with the same name as that spell from your graveyard. (you still pay its costs.)

SVar:TrigPump:AB$ Pump | Cost$ 0 | TgtZone$ Graveyard | ValidTgts$ Instant.YouCtrl+sharesNameWith TriggeredCard,Sorcery.YouCtrl+sharesNameWith TriggeredCard | TgtPrompt$ Choose target instant or sorcery from your graveyard | PumpZone$ Graveyard | SubAbility$ TrigPlay

SVar:TrigPlay:DB$ Play | Defined$ Targeted | Optional$ True

SVar:BuffedBy:Instant,Sorcery

SVar:Picture:http://www.wizards.com/global/images/magic/general/harness_the_storm.jpg
Oracle:Whenever you cast an instant or sorcery spell from your hand, you may cast target card with the same name as that spell from your graveyard. (you still pay its costs.)
used parts of Bazaar of Wonders + Goblin Dark-Dwellers + Charmbreaker Devils

okay i was to fast happy with it, sharesNameWith does not work in ValidTgts or i am using it wrong.

also this does not work yet:
08.04.2016
Because you’re paying the spell’s costs, you can pay alternative costs, such as awaken costs and surge costs from the Battle for Zendikar block. You can also pay additional costs, such as kicker costs. If the card has a mandatory additional cost, like Lightning Axe, you must pay it to cast the card.
EDIT:
http://gatherer.wizards.com/ does have the specific CardRulings from SOI now.

Fixed To the Slaughter, now with storing the Variable first. (or is it still wrong?)
Code: Select all
Name:To the Slaughter
ManaCost:2 B
Types:Instant

A:SP$ StoreSVar | Cost$ 2 B | SVar$ XDelirium | Type$ Count | Expression$ Delirium.1.0 | SubAbility$ DBSacrifice | SpellDescription$ Target player sacrifices a creature or planeswalker. Delirium - If there are four or more card types among cards in your graveyard, instead that player sacrifices a creature and a planeswalker.
SVar:DBSacrifice:DB$ Sacrifice | ValidTgts$ Player | SacValid$ Creature, Planeswalker | SacMessage$ Creature or Planeswalker | ConditionCheckSVar$ XDelirium | ConditionSVarCompare$ EQ0 | SubAbility$ DBSacrificeCreature | References$ XDelirium | StackDescription$
SVar:DBSacrificeCreature:DB$ Sacrifice | SacValid$ Creature | SacMessage$ Creature  | Defined$ Targeted | ConditionCheckSVar$ XDelirium | ConditionSVarCompare$ GE1 | SubAbility$ DBSacrificePlaneswalker | References$ XDelirium | StackDescription$
SVar:DBSacrificePlaneswalker:DB$ Sacrifice | SacValid$ Planeswalker | SacMessage$ Planeswalker | Defined$ Targeted | ConditionCheckSVar$ XDelirium | ConditionSVarCompare$ GE1 | References$ XDelirium | StackDescription$
SVar:XDelirium:Number$0
SVar:Picture:http://www.wizards.com/global/images/magic/general/to_the_slaughter.jpg
Oracle:Target player sacrifices a creature or planeswalker.\nDelirium - If there are four or more card types among cards in your graveyard, instead that player sacrifices a creature and a planeswalker.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Shadows over Innistrad spoiler season

Postby friarsol » 30 Mar 2016, 13:59

Looks like SoI is up on Gatherer and mtgjson.com, so I'd recommend we start adding things to the trunk.

Marek,

Do you happen to have .txt files for your scripts? I know we talked about it last spoiler season, but forgot to bring it up at the beginning of this one.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Shadows over Innistrad spoiler season

Postby Marek14 » 30 Mar 2016, 14:33

Ah, sorry, Sol -- it completely escaped my mind :(
Marek14
Tester
 
Posts: 2761
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 297 times

Re: Shadows over Innistrad spoiler season

Postby Hanmac » 30 Mar 2016, 15:35

i did try to add more cards like
Code: Select all
Name:Falkenrath Gorger
ManaCost:R
Types:Creature Vampire Berserker
PT:3/1
S:Mode$ Continuous | Affected$ Creature.Vampire+YouOwn | EffectZone$ Battlefield | AffectedZone$ Exile,Graveyard,Hand,Library,Command | AddKeyword$ Madness | Description$ Each Vampire creature card you own that isn't on the battlefield has madness. The madness cost is equal to its mana cost.

SVar:Picture:http://www.wizards.com/global/images/magic/general/falkenrath_gorger.jpg
Oracle:Each Vampire creature card you own that isn't on the battlefield has madness. The madness cost is equal to its mana cost. (If you discard a card with madness, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.)
but it doesnt work yet like it should.

@friarsol i think there need to more changes for the Madness ability.
also when a Vampire with madness get another one, it should have TWO abilities with TWO cost. i don't know if the code can handle that.

08.04.2016
If you discard a Vampire creature card that already has a madness ability, you’ll choose which madness ability exiles it. You may choose either the one it normally has or the one it gains from Falkenrath Gorger.
===

also i did try to do Creeping Dread with sharesTypeWith but i can't get it to compare two cards :/ that is my current status:
Code: Select all
Name:Creeping Dread
ManaCost:3 B
Types:Enchantment
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ At the beginning of your upkeep, each player discards a card.
SVar:TrigDiscard:AB$Discard | Cost$ 0 | Defined$ Player | NumCards$ 1 | Mode$ TgtChoose | RememberDiscarded$ True

SVar:DBRepeatEach:DB$ RepeatEach | DefinedCards$ Remembered | RepeatSubAbility$ DBDealDamage | SubAbility$ DBCleanUp
SVar:DBDealDamage:DB$ DealDamage | ValidTgts$ RememberedOwner.Opponent | NumDmg$ 3 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X

SVar:DBCleanUp:DB$ Cleanup | ClearRemembered$ True

SVar:X:Valid$ Card.IsRemembered+RememberedPlayerCtrl+sharesTypeWith Card.IsRemembered+YouCtrl

SVar:Picture:http://www.wizards.com/global/images/magic/general/creeping_dread.jpg
Oracle:At the beginning of your upkeep, each player discards a card. Each opponent who discarded a card that shares a card type with the card you discarded loses 3 life. (Players reveal the discarded cards simultaneously.)
==

the rest missing:
  • Investigate would be better if we code it as a Action like Manifest
  • for Briarbridge Patrol we might need something like Count$Sacrificed<Type>ThisTurn or something so we can use it for other later.
  • for Erdwal Illuminator we might need a Investigate Trigger with a FirstTime parameter
  • Crawling Sensation might also need some FirstTime trigger.

@friarsol do you want the txt of my scripts too?
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Shadows over Innistrad spoiler season

Postby friarsol » 30 Mar 2016, 15:56

There's no way Falkenrath Gorger is doable right now. There's just no support for granting Madness. Choosing which Replacement ability applies shouldn't be a problem.

The RepeatEach line in your Creeping Dread looks wrong, you probably need to UseImprinted, although I don't know if that solves the problem.

If you have txt files of working scripts, you can zip them up and post them.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Shadows over Innistrad spoiler season

Postby Hanmac » 30 Mar 2016, 16:08

i will try to use UseImprinted later too.

i updated all code blocks in the forum, but i can attach them as zipped txt files too.

PS: can you checkout what i did wrong with Accursed Witch and Harness the Storm?
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Shadows over Innistrad spoiler season

Postby friarsol » 30 Mar 2016, 16:44

ValidTarget$ in ReduceCost looks like it only works for cards. Might be able to do something similar to: Battlefield Thaumaturge

Otherwise, we need some code changes.


Harness the Storm is tricky, since certain things aren't necessarily available in the targeting code.

"TriggeredCard.samename" might do it, but it could just as easily not be doable right now.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Shadows over Innistrad spoiler season

Postby drdev » 30 Mar 2016, 18:01

Any estimate on when the majority of SOI will be merged into the main branch or released? The pre-release is this weekend, so it'd be cool if we could get something out by this weekend, or at least by next week.

I'm really excited to play with this set.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 98 guests


Who is online

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

Login Form