Skip to content

Comments

(DO NOT MERGE) [MIR] Implemented Ekundu Cyclops#8594

Closed
Alex-Vasile wants to merge 1 commit intomagefree:masterfrom
Alex-Vasile:mir-ekundu-cyclops
Closed

(DO NOT MERGE) [MIR] Implemented Ekundu Cyclops#8594
Alex-Vasile wants to merge 1 commit intomagefree:masterfrom
Alex-Vasile:mir-ekundu-cyclops

Conversation

@Alex-Vasile
Copy link
Contributor

No description provided.

Copy link
Contributor

@awjackson awjackson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This implementation is incorrect rules-wise and doesn't work. Ekundu Cyclops' ability is not a triggered ability (note that the Oracle text reads "if", not "when") and can't possibly work as one. By the time the triggered ability resolves, the Cyclops' controller has already declared attackers, so it's too late for "attacks if able" to do anything.

EDIT: don't try to implement this as a RequirementEffect, it won't work. The Combat class currently only checks attack requirements before a player starts declaring attackers. It needs to be reworked to properly handle abilities like this, Viashino Bey (currently implemented incorrectly as a triggered ability) and War's Toll (currently implemented hackily as a "restriction" rather than a requirement)

@Alex-Vasile
Copy link
Contributor Author

For the re-implement I'm thinking of adding a watcher to keep track of when you tap a creature during the declare attackers phase, and adding a AttacksIfAbleSourceEffect.

If I take this approach, is there a way for me to remove the AttacksIfAbleSourceEffect if all other creatures get untapped?

@awjackson
Copy link
Contributor

It doesn't matter how you add AttacksIfAbleSourceEffect. It won't work because the rules engine currently only checks attack requirements once per combat, before any attackers have been declared. "If A attacks, B must also attack" effects are currently categorically impossible to implement in xmage.

@Alex-Vasile
Copy link
Contributor Author

I see.

Does War's Toll hack work correctly? If so, should Viashino Bey be changed to use that hack until proper support is added?

And does it make sense to change Ekundu Cyclops to also use that hack (to have it in the game) and rework it later?

@awjackson
Copy link
Contributor

No, War's Toll doesn't work correctly. Because it's a hack it doesn't interact properly with other requirements/restrictions and it can completely lock up the game in some situations.

@Alex-Vasile Alex-Vasile changed the title [MIR] Implemented Ekundu Cyclops (DO NOT MERGE) [MIR] Implemented Ekundu Cyclops Jan 25, 2022
@Alex-Vasile Alex-Vasile marked this pull request as draft January 27, 2022 19:42
@xenohedron
Copy link
Contributor

Closing as no progress on the engine limitation, nothing to be done until then

@xenohedron xenohedron closed this Jul 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants