Multiple copies of Linked Abilities incorrectly see each other
- Dominant language
- Java
- Stars
- 2.4k
- Forks
- 940
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 160
Description
Right now, Linked Abilities are implemented by storing information on the card/permanent in a manner accessible to all other abilities. This mostly works, but has problems when linked abilities are granted to other cards, which can cause separate abilities to look up their information using the same string. (This information is stored in many different locations: costs tags, exile zone names, `game.getState().setValue`, etc.)
For Costs Tags, one example of this is [[Zinnia, Valley's Voice]], where if casting a spell that already has Offspring should make separate triggers and offspring for each cost paid. This also applies to Kicker and Squad (though those currently have no cards where that matters except for the un-set [[Wicker Picker]]) and potentially others.
I think we need some sort of more general way to attach linked abilities to each other, not sure exactly how. This linkage must remain across deep copy effects, but must also create a new link when copying the card it's on (such as by making a non-legendary copy of Zinnia). I don't currently have any solution here, I just wanted to bring the issue up and discuss. For more information on the correct rules, see [rule 607 Linked Abilities](https://yawgatog.com/resources/magic-rules/#R607).
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.