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

GUI: add a hint / button / other to refer to a specific exile zone. #12544

Closed
Susucre opened this issue Jun 29, 2024 · 4 comments
Closed

GUI: add a hint / button / other to refer to a specific exile zone. #12544

Susucre opened this issue Jun 29, 2024 · 4 comments
Assignees
Labels

Comments

@Susucre
Copy link
Contributor

Susucre commented Jun 29, 2024

Working on [[Salvation Swan]], I would have liked to link the Delayed Trigger Ability with the exile card (or cards, if targetting a meld/one day a mutate stack) in the exile zone. As you could have multiple such delayed triggers, and the order of triggers can matter.

I think there is plenty of scenarios where we'd want to connect a trigger / stack object / permanent / card / other to a given exile zone (like Oblivion Ring and it's exile zone).

The easy but not that nice way would be to display a unique text identifier in both the hint (maybe only if the exile zone is non-empty?) and the exile zone, but I wonder if we could improve the client to help players identify a specific exile zone on such situation?

@Susucre Susucre added the GUI label Jun 29, 2024
Copy link

Salvation Swan - (Gatherer) (Scryfall) (EDHREC)

{3}{W}
Creature — Bird Cleric
3/3
Flash
Flying
Whenever Salvation Swan or another Bird you control enters, exile up to one target creature you control without flying. Return it to the battlefield under its owner's control with a flying counter on it at the beginning of the next end step.

@JayDi85
Copy link
Member

JayDi85 commented Jun 30, 2024

There are multiple tools to add additional info to the card/permanent:

IMG_0577

@Susucre
Copy link
Contributor Author

Susucre commented Jun 30, 2024

Yeah that would be the way to add a text hint. I'm not against adding a general ExileZoneHint that describes all the cards in it, which would help in most situations.

But since there is a lot of cards that care about a specific exiled card / exile zone, it would make sense to go beyond text, and have a way to highlight the referenced exile zone.

Like on mtgo, the exiled cards are grayed out behind an Oblivion Ring. On Arena I think there are arrows? (not sure.)

@JayDi85 JayDi85 self-assigned this Jul 1, 2024
JayDi85 added a commit that referenced this issue Jul 1, 2024
JayDi85 added a commit that referenced this issue Jul 1, 2024
@JayDi85
Copy link
Member

JayDi85 commented Jul 1, 2024

It's not about new GUI. There were multiple problems with Salvation Swan:

1 - Wrong card logic -- must use shared exile window like other cards does in same use cases. So users will see exiled cards in one window (one window per source object):
shot_240701_183013
Fixed by ddb7e21:
shot_240701_222523

2 - Wrong "related objects" code for card hints on stack. Fixed by dc86ec1, now it show affected objects for triggers on stack (order triggers dialogue already used it):
shot_240701_185514

3 - Unsupported targets arrows for floating windows (so only card hints possible);

4 - Not related to GUI -- there are problems with melded cards -- effect move all parts as one, but related effect later must be applied to all parts. There are two workarounds for such use cases:

  • custom exile zone id (search after move);
  • manual collect melded parts before move;

Both methods are bad and require custom code (but better that than nothing) Alternative solutions like return moved parts by move methods are hard to implement. Also melded code looks very bad with batch of hacks/workarounds (see code comments from bccf323). Related issue #12084.

@JayDi85 JayDi85 closed this as completed Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants