magefree / magefree/mage

A big layers issue that I missed when re-adding LevelX's dependency code.

Open
#11,400 1 comment 0 reactions 1 assignee Claimed by @jeffwadsworth View on GitHub
bug
Dominant language
Java
Stars
2.4k
Forks
940
Avg merge
2d 12h
Merged PRs (30d)
160

Description

Ok, if you are familiar with layers in MTG, you have probably run across variations of this classic case:
[[Humility]] [[March of the Machines]] [[Mycosynth Lattice]]
Now, timestamp is quite important here, but just as important is the fact that Humility's effect in 7b (making creatures 1/1) still applies even though its own abilities are removed in layer 6. The reason for this is that Humility's ability started applying in layer 6 and if an effect started to apply in an earlier layer, it continues to apply in later ones.
**613.6 If an effect should be applied in different layers and/or sub-layers, the parts of the effect each apply in their appropriate ones. If an effect starts to apply in one layer and/or sub-layer, it will continue to be applied to the same set of objects in each other applicable layer and/or sub-layer, even if the ability generating the effect is removed during this process.**
Currently, the layer code will not apply Humility's effect in layer 7b, because Humility's ability has been removed. The layers test for this type of scenario is wrong in the test suite. I asked the question regarding what I figured was the case in this reddit post and the judges confirmed it. https://www.reddit.com/r/mtgrules/comments/17s821a/comment/k8pe50w/?context=3
A simpler demonstration of this is to play [[Opalescence]] and [[Humility]]. What should happen is Humility becomes a 1/1 creature enchantment. But in the current engine, we get a 4/4 creature enchantment.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.