Page 1 of 5

Dragon's Maze Spoiler Season

PostPosted: 07 Apr 2013, 12:57
by friarsol
I believe Spoiler Season is set to start tomorrow, and we do already have a few cards out in the wilds. I've created a dragonsmaze branch and cleared out the upcoming Wiki page. http://www.slightlymagic.net/wiki/Forge_Upcoming

Compiled spoiler lists can be found here: http://www.mtgsalvation.com/dragons-maze-spoiler.html

Re: Dragon's Maze Spoiler Season

PostPosted: 08 Apr 2013, 08:05
by Max mtg
What a hell! We've got new mechanics 'Fuse'
http://www.wizards.com/magic/magazine/a ... eature/242

Re: Dragon's Maze Spoiler Season

PostPosted: 08 Apr 2013, 08:17
by moomarc
Max mtg wrote:What a hell! We've got new mechanics 'Fuse' http://cs7002.vk.me/c312228/v312228885/ ... 9Bzux4.jpg
I know! We finally implement split cards and the very next set Wizards goes ahead and messes with it #-o

Re: Dragon's Maze Spoiler Season

PostPosted: 08 Apr 2013, 09:30
by Max mtg
moomarc wrote:The very next set Wizards goes ahead and messes with it #-o
This looked like a challenge to me! Done in under 90 minutes.

See r20884 for implementation, sorry for doing that in trunk.
Add 'K:Fuse' to either side of script to add the option to cast both sides of the card.

PS: Where does AI choose the side to play? From Ai's point of view fused card will have 3 abilities, two for sides and a joined one. Yet I want to make sure card's states are correctly set (or untoucned) when AI casts any of that abilities.

PS2: How to set up a restriction to allow cast only from hand for an ability?
Code: Select all
leftMap.put("ActivationZone", "Hand");
The code above in forge.card.cardfactory.CardFactoryUtil.buildFusedAbility(Card) (added as line 2387) didn't work for me.
(WTR: give a split card K:Fuse, cast any of its sides, cast Past in Flames, try to play split card from grave with Flashback - make sure fused ability cannot be played)

Re: Dragon's Maze Spoiler Season

PostPosted: 08 Apr 2013, 10:43
by swordshine
Quick work, Max! =D>
Just tested Wear//Tear and Beck//Call.
Wear//Tear | Open
Code: Select all
Name:Wear
ManaCost:1 R
AlternateMode: Split
Types:Instant
K:Fuse
A:SP$ Destroy | Cost$ 1 R | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SpellDescription$ Destroy target artifact.
Oracle:Destroy target artifact.

ALTERNATE

Name:Tear
ManaCost:W
Types:Instant
A:SP$ Destroy | Cost$ W | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment | SpellDescription$ Destroy target enchantment.
Oracle:Destroy target enchantment.
Beck//Call | Open
Code: Select all
Name:Beck
ManaCost:G U
AlternateMode: Split
Types:Sorcery
K:Fuse
A:SP$ Effect | Cost$ G U | Name$ Beck Effect | Triggers$ CreatureEntered | SVars$ TrigDraw | SpellDescription$ Whenever a creature enters the battlefield this turn, you may draw a card.
SVar:CreatureEntered:Mode$ ChangesZone | ValidCard$ Creature | Origin$ Any | Destination$ Battlefield | Execute$ TrigDraw | TriggerZones$ Command | TriggerDescription$ Whenever a creature enters the battlefield this turn, you may draw a card.
SVar:TrigDraw:AB$ Draw | Cost$ 0 | Defined$ You | NumCards$ 1
Oracle:Whenever a creature enters the battlefield this turn, you may draw a card.

ALTERNATE

Name:Call
ManaCost:4 W U
Types:Sorcery
A:SP$ Token | Cost$ 4 W U | TokenImage$ W 1 1 Bird | TokenAmount$ 4 | TokenName$ Bird | TokenTypes$ Creature,Bird | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put four 1/1 white Bird creature tokens with flying onto the battlefield.
Oracle:Put four 1/1 white Bird creature tokens with flying onto the battlefield.
Wear//Tear worked fine, but when I cast "Fuse" of Beck//Call, I got:
RuntimeException | Open
Code: Select all
java.lang.RuntimeException: TriggerFactory : registerTrigger -- trigParse too short
   at forge.card.trigger.TriggerHandler.parseParams(TriggerHandler.java:132)
   at forge.card.trigger.TriggerHandler.parseTrigger(TriggerHandler.java:105)
   at forge.card.ability.effects.EffectEffect.resolve(EffectEffect.java:130)
   at forge.card.ability.SpellApiBased.resolve(SpellApiBased.java:53)
   at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1071)
   at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1050)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:614)
   at forge.game.phase.PhaseHandler$1.run(PhaseHandler.java:741)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:749)
   at forge.game.player.PlayerController.passPriority(PlayerController.java:77)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:816)
   at forge.game.ai.AiInputCommon$1.run(AiInputCommon.java:74)
   at forge.FThreads$1.run(FThreads.java:113)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:722)

Re: Dragon's Maze Spoiler Season

PostPosted: 08 Apr 2013, 11:29
by Max mtg
Swordshine, the ability could not find the referenced trigger (because the svar that defines it exists only on the left side. While ability was being parsed, the 'original' of card was active).

Possible solution: turn card to related side when the ability is created from script (or to be exact - the parameters map) and then return to original state.

Re: Dragon's Maze Spoiler Season

PostPosted: 08 Apr 2013, 19:24
by Max mtg
Had to copy svars to original side, because ability looks for svars at resolution time.
Why don't our cards just share svars among all sides?

swordshine, please try again with rev 20890

Re: Dragon's Maze Spoiler Season

PostPosted: 09 Apr 2013, 01:42
by swordshine
Beck//Call works now =D>

Re: Dragon's Maze Spoiler Season

PostPosted: 09 Apr 2013, 12:50
by PowerClaws
So, im trying to script Maze's End, how does one make the bounce effect as part of a cost?

Re: Dragon's Maze Spoiler Season

PostPosted: 09 Apr 2013, 13:03
by swordshine
PowerClaws wrote:So, im trying to script Maze's End, how does one make the bounce effect as part of a cost?
I've committed Maze's End. http://www.slightlymagic.net/wiki/Forge_Upcoming
Anyway, the answer is Return<1/CARDNAME>

Re: Dragon's Maze Spoiler Season

PostPosted: 09 Apr 2013, 13:12
by PowerClaws
Advent of the Wurm and Deputy of Acquittals...

Advent Of The Wurm | Open
Name:Advent of the Wurm
ManaCost:1 G G W
Types:Instant
A:SP$ Token | Cost$ 1 G G W | TokenName$ Wurm | TokenAmount$ 1 | TokenTypes$ Creature,Wurm | TokenOwner$ You | TokenColors$ Green | TokenPower$ 5 | TokenToughness$ 5 | TokenKeywords$ Trample | SpellDescription$ Put a 5/5 green Wurm creature token with trample onto the battlefield.

Deputy of Acquittals | Open
Name:Deputy of Acquittals
ManaCost:W U
Types:Creature Human Wizard
PT:2/2
K:Flash
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may return another target creature you control to its owner's hand.
SVar:TrigChangeZone:AB$ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | ValidTgts$ Creature.YouCtrl.Other | TgtPrompt$ Select another creature you control.


EDIT: I can't be the only one that thought Shakespeare when i first saw Toil and Trouble

Toil and Trouble | Open
Name:Toil
ManaCost:2 B
AlternateMode: Split
Types:Sorcery
K:Fuse
A:SP$ Draw | Cost$ 2 B | NumCards$ 2 | ValidTgts$ Player | TgtPrompt$ Choose a player | SubAbility$ DBLoseLife | SpellDescription$ Target player draws two cards and loses 2 life.
SVar:DBLoseLife:DB$LoseLife | LifeAmount$ 2 | Defined$ Targeted
Oracle:Target player draws two cards and loses 2 life.

ALTERNATE

Name:Trouble
ManaCost:2 R
Types:Sorcery
A:SP$ DealDamage | Cost$ 2 R | ValidTgts$ Player | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the number of cards in target player's hand to that player.
SVar:X:TargetedPlayer$CardsInHand
Oracle:Trouble deals damage to target player equal to the number of cards in that player's hand

Re: Dragon's Maze Spoiler Season

PostPosted: 09 Apr 2013, 13:15
by PowerClaws
swordshine wrote:
PowerClaws wrote:So, im trying to script Maze's End, how does one make the bounce effect as part of a cost?
I've committed Maze's End. http://www.slightlymagic.net/wiki/Forge_Upcoming
Anyway, the answer is Return<1/CARDNAME>
Thanks, ill remember that for the future, and ill remember to keep an eye on that link, i forgot other people are more organised then me

Re: Dragon's Maze Spoiler Season

PostPosted: 09 Apr 2013, 13:43
by Sloth
PowerClaws wrote:
swordshine wrote:
PowerClaws wrote:So, im trying to script Maze's End, how does one make the bounce effect as part of a cost?
I've committed Maze's End. http://www.slightlymagic.net/wiki/Forge_Upcoming
Anyway, the answer is Return<1/CARDNAME>
Thanks, ill remember that for the future, and ill remember to keep an eye on that link, i forgot other people are more organised then me
Thanks for the scripts PowerClaws. Can you please claim the cards in the wiki you've scripted?

Re: Dragon's Maze Spoiler Season

PostPosted: 09 Apr 2013, 14:00
by friarsol
Hey Swordshine, any reason you changed the URL to have sixxis.org at the end on the Wiki? That definitely doesn't work for me, but the original does.

http://www.slightlymagic.net/mw/index.p ... oldid=4259

Edit: Somehow it was still set for Guildcrash instead of Dragon's Maze. If the first link doesn't work, just add a second one that does for you instead of changing this one.

Re: Dragon's Maze Spoiler Season

PostPosted: 09 Apr 2013, 14:26
by swordshine
friarsol wrote:Hey Swordshine, any reason you changed the URL to have sixxis.org at the end on the Wiki? That definitely doesn't work for me, but the original does.

http://www.slightlymagic.net/mw/index.p ... oldid=4259

Edit: Somehow it was still set for Guildcrash instead of Dragon's Maze. If the first link doesn't work, just add a second one that does for you instead of changing this one.
My explorer automatically changed it cuz I'm using proxy:(