Page 12 of 14

Re: Shadows over Innistrad spoiler season

PostPosted: 29 Mar 2016, 16:53
by Hanmac
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)

Re: Shadows over Innistrad spoiler season

PostPosted: 29 Mar 2016, 18:19
by Hanmac
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.

Re: Shadows over Innistrad spoiler season

PostPosted: 29 Mar 2016, 18:22
by friarsol
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.

Re: Shadows over Innistrad spoiler season

PostPosted: 29 Mar 2016, 18:27
by Hanmac
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.

Re: Shadows over Innistrad spoiler season

PostPosted: 29 Mar 2016, 19:13
by Hanmac
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.

Re: Shadows over Innistrad spoiler season

PostPosted: 29 Mar 2016, 21:01
by friarsol
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

Re: Shadows over Innistrad spoiler season

PostPosted: 30 Mar 2016, 06:37
by Hanmac
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.

Re: Shadows over Innistrad spoiler season

PostPosted: 30 Mar 2016, 07:53
by Hanmac
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.

Re: Shadows over Innistrad spoiler season

PostPosted: 30 Mar 2016, 13:59
by friarsol
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.

Re: Shadows over Innistrad spoiler season

PostPosted: 30 Mar 2016, 14:33
by Marek14
Ah, sorry, Sol -- it completely escaped my mind :(

Re: Shadows over Innistrad spoiler season

PostPosted: 30 Mar 2016, 15:35
by Hanmac
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?

Re: Shadows over Innistrad spoiler season

PostPosted: 30 Mar 2016, 15:56
by friarsol
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.

Re: Shadows over Innistrad spoiler season

PostPosted: 30 Mar 2016, 16:08
by Hanmac
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?

Re: Shadows over Innistrad spoiler season

PostPosted: 30 Mar 2016, 16:44
by friarsol
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.

Re: Shadows over Innistrad spoiler season

PostPosted: 30 Mar 2016, 18:01
by drdev
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.