Skip to content

Zinnia, Valley's Voice Implementation with OffspringDelayedTriggeredAbility added to OffspringAbility.java#14595

Closed
sneddigrolyat wants to merge 3 commits into
magefree:masterfrom
sneddigrolyat:master
Closed

Zinnia, Valley's Voice Implementation with OffspringDelayedTriggeredAbility added to OffspringAbility.java#14595
sneddigrolyat wants to merge 3 commits into
magefree:masterfrom
sneddigrolyat:master

Conversation

@sneddigrolyat
Copy link
Copy Markdown

@sneddigrolyat sneddigrolyat commented Mar 3, 2026

Zinnia, Valley's Voice Implementation with OffspringDelayedTriggeredAbility added to OffspringAbility.java. I've tested that playing a creature with offspring gives 2 prompts to pay for offspring (and gives correct number of tokens and counters for each scenario), playing creature without offspring prompts once to pay for offspring, and playing a land doesn't prompt for offspring.

OffspringAbility.java updated with new OffspringDelayedTriggeredAbility for implementation of ZinniaValleysVoice
Add Zinnia, Valley's Voice
Add ZinniaValleysVoice.java in conjunction with changes to OffspringAbility.java with new OffspringDelayedTriggeredAbility
@Grath
Copy link
Copy Markdown
Contributor

Grath commented Mar 6, 2026

702.175. Offspring
702.175a Offspring represents two abilities. “Offspring [cost]” means “You may pay an additional [cost] as you cast this spell” and “When this permanent enters, if its offspring cost was paid, create a token that’s a copy of it, except it’s 1/1.”
702.175b If a spell has multiple instances of offspring, each is paid separately and triggers based on the payments made for it, not any other instances of offspring.

Handling Offspring as a delayed triggered ability handily sidesteps the engine bug that is making it currently impossible to correctly implement Zinnia (it's currently impossible to have multiple independent copies of linked abilities, so paying one offspring cost would count for each instance of offspring's triggered ability no matter what you do) but it makes Offspring not work correctly; to test this interaction you should:

  1. Cast a creature with Offspring, paying for the cost
  2. In response, flash out Humility (this can be done via the test server commands, to just put Humility into play)
  3. Resolve the creature with Offspring

The creature with Offspring must not copy itself when it enters the battlefield, because it no longer has the linked triggered ability. Your change makes it so that they do still copy themselves.

Please note that AI does not understand the rules of magic, so AI-generated code is even less likely to be relevant or applicable when contributing to XMage than in other scenarios.

@xenohedron
Copy link
Copy Markdown
Contributor

If you're going to use AI to assist your coding, you must still understand what the code is doing and be capable of reviewing it. Otherwise, it's just a waste of maintainer attention.

@xenohedron xenohedron closed this Mar 7, 2026
@sneddigrolyat
Copy link
Copy Markdown
Author

@Grath Very helpful feedback. Thank you!

@xenohedron Very sorry, I don't want to waste anyone's time. I made my updated PR #14609
(code to fix @Grath's case) a draft to get some help getting the engine changes reviewed .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants