Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

March of machines when played sends every non creature artifact to the graveyard #16

Closed
melvinzhang opened this issue Nov 7, 2014 · 9 comments
Assignees

Comments

@melvinzhang
Copy link
Contributor

@melvinzhang melvinzhang commented Nov 7, 2014

originally reported on http://www.slightlymagic.net/forum/viewtopic.php?f=82&t=3735&p=167489#p167308

muaddib wrote:
March of machines doesn't work.

jerichopumpkin wrote:
uh-oh, that's my fault, didn't check it before submit, since it was Opalescence clone (only the filter is different). I'll check it later and resubmit

Edit: can't seem to find what's wrong with it. The groovy code seems fine (exactly the same as Opalescence, except for the accept condition that is not necessary and for the filter). From my tests, it seems to work, but the converted mana cost it gets is alwys zero (as soon as I play it, every non creature artifact is sent to the graveyard).

@ShawnieBoy
Copy link
Member

@ShawnieBoy ShawnieBoy commented Nov 9, 2014

This one is really weird, seems to be linked with applying the Creature flag.

new MagicStatic(MagicLayer.SetPT, MagicTargetFilterFactory.NONCREATURE_ARTIFACT) {
    @Override
    public void modPowerToughness(final MagicPermanent source,final MagicPermanent permanent,final MagicPowerToughness pt) {
        pt.set(5,5);
    }
 },
new MagicStatic(MagicLayer.Type, MagicTargetFilterFactory.NONCREATURE_ARTIFACT) {
    @Override
    public int getTypeFlags(final MagicPermanent permanent, final int flags) {
        return MagicType.Creature.getMask();
    }
}

Will destroy all non-creature aritfacts

@melvinzhang
Copy link
Contributor Author

@melvinzhang melvinzhang commented Nov 10, 2014

Issue is due to the order of layers. The Type layer is before the SetPT layer. The type layer grants the creature type. When it comes to the SetPT layer, the permanent fails the MagicTargetFilterFactory.NONCREATURE_ARTIFACT filter so modPowerToughness is never applied.

@melvinzhang
Copy link
Contributor Author

@melvinzhang melvinzhang commented Nov 10, 2014

@ShawnieBoy
Copy link
Member

@ShawnieBoy ShawnieBoy commented Nov 10, 2014

Ahh, forgot about the filter - That will be tricky to fix, as it shouldn't effect all artifact creatures, just the ones it's created.

@ShawnieBoy
Copy link
Member

@ShawnieBoy ShawnieBoy commented Apr 14, 2015

This would have to determine and compare each artfact's original type with it's current type, check that it's current creature type isn't being applied by something else, then set a power/toughness. 😦

@ShawnieBoy
Copy link
Member

@ShawnieBoy ShawnieBoy commented Apr 14, 2015

Ok, this is an improvement, not perfect, but better than functioning as mass artifact removal.

The PowerToughness static applies to Artifact Creatures, but checks original card types to see if it was non-creature artifact before applying power/toughness changes.

Obviously won't work correctly for artifacts that have already become creatures, but it's a start.

@PalladiaMors
Copy link
Contributor

@PalladiaMors PalladiaMors commented Apr 15, 2015

For fairness: Jericho took the blame, but I recall submitting this card as well. I think we both may have ended up submitting it more or less at the same time. I saw he did Opalescence, got excited with the strong card and changed the filter for MotM. I actually did playtest it. To me it seemed that a key difference between this and Opalescence was the fact that there are lots of 0 cost artifacts and afaik there's no 0 cost enchantment, so I wanted to ensure it was working properly for those and playtested against a deck full of Moxes. They got destroyed alright, hence I thought the card was fine. I had actually stumbled into the only case it worked properly. Anyway, I'll share the blame with Jericho.

@ShawnieBoy
Copy link
Member

@ShawnieBoy ShawnieBoy commented Apr 15, 2015

No blaming or self-flagellation required - I'm just glad I've made a bit of progress since assigning myself 5 months ago, hehe

@ShawnieBoy
Copy link
Member

@ShawnieBoy ShawnieBoy commented Apr 15, 2015

Actually, I'll close this, as the mass destruction is fixed - I'll open a new issue for its corner cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants