Fixing the Gitrog Monster
Forking this off to it's own discussion as suggested.friarsol wrote:It'd be nice to get a definitive answer, since I got the opposite response from a different judge that also runs a "Ask judges questions" place. There's about 3 different scenarios I can think of that need clarification.jje4th wrote:Thanks for the feedback! I've been rethinking and testing the fix as well. Turns out it still may be more tricky.
Sinister concoction apparently should trigger The Gitrog Monster twice:
http://magicjudge.tumblr.com/post/14263 ... the-gitrog
That means we need to track the instance of each cost effect inside an SpellAbility rather than just the ability itself. Just creating the StackInstance earlier likely isn't enough. (Note that my fix also doesn't handle this situation correctly either).
I'll think about this more.
Sinister Concoction - Do two lands from different costs provide 2 triggers
Keldon Arsonist - Do two lands from the same/combined cost provide 2 triggers
Brutal Suppression + Lin Sivvi - Do two lands from two separate additional costs provide 2 triggers
As far as our implementation goes, if we assign the StackInstance, whether it's a Cost or Effect, and what type of cost or effect, we should be able to uniquely identify using those three aspects. (Resolved mana abilities should be the effect of their own SI, not whatever SA is being paid for)
[[I'm going to spawn this discussion off into a new thread, but... uhh.. Game of Thrones is on, and I have my priorities]]
The Gitrog Moster has the following in the SOI rules article:
"If multiple land cards are put into your graveyard at once, The Gitrog Monster’s last ability triggers only once. This could happen because an effect (such as that of Crawling Sensation’s first ability) put them there from your library at once, or because they were destroyed at the same time (such as two land creatures that were dealt lethal combat damage)."
So the primary question is whether the multiple land cards go to the graveyeard simultaneously.
Sinister Concoction - from the SOI rules article: "You may pay Sinister Concoction’s costs in any order. However, once you’ve decided to activate the ability and you’ve seen the top card of your library, you can’t change your mind." (a restatement of 601.2g). The fact you can chose which order to pay indicates that there are multiple individual events, one for each cost, on the card (as separated by commas). This looks pretty clear that costs aren't paid simultaneously and thus get a trigger for milling a land and and one for discarding a land.
For Keldon Arsonist - it's only one trigger, regardless of how many lands are discard. Sacrificing two lands is a single action and thus happens simultaneously.
Brutal Suppression x2 + Lin Sivvi - this should be two triggers because each sacrifice is an independent action. (e.g. the card would read "Sacrifice a land, sacrifice a land, 3: Put target Rebel card from your graveyard on the bottom of the library)
I like your suggestion of instantiating the StackInstance object before running the trigger (this is actually more in line with the rules too. "601.2 - to cast a spell is to take it from where it is (usually the hand), put it on the stack, and pay its costs, so that it will eventually resolve and have its effect"). Much simpler than my current implementation. Storing the cost/effect and type would need to be done either way. I'll try to figure out where to put this.
If nothing else - I've learned a lot about how Forge works