Skip to content

rework-face-down-cards#13486

Open
Jmlundeen wants to merge 55 commits intomagefree:masterfrom
Jmlundeen:rework-face-down-cards
Open

rework-face-down-cards#13486
Jmlundeen wants to merge 55 commits intomagefree:masterfrom
Jmlundeen:rework-face-down-cards

Conversation

@Jmlundeen
Copy link
Contributor

@Jmlundeen Jmlundeen commented Mar 30, 2025

This changes face-down cards to only reveal information to players who have been allowed to see the cards instead of giving the controller access

fixes #3583, fixes #11881, fixes #12610, fixes #11896, fixes #12161, fixes #6967, fixes #8109, fixes #11191, fixes #10800, fixes #11752, fixes #12163, fixes #12880, fixes #12882, fixes #13543

Remove day/night button after morph card flips

Update Yedora to set proper attributes
Uses makeFaceDownObject now
reduce cognitive complexity of constructor separating into different functions

move some settings into shared function

face down cards correctly display information now
add day/night button when a card becomes face down

properly assign face/back for multi face cards that already have a day/night button and become face down

hide the button when a card is no longer transformable
gives players the ability to see info on face-down cards for the duration of exile

puts game engine more in-line with rule 406.3
add new exile logic
filter for creature permanents
give controller ability to look at exiled cards for duration of game
Also remove visibility when removing from exile zone
remove unnecessary custom effects with makeCardPlayable and exile zone visibility
add exile zone visibility
add exile zone visibility
add exile zone visibility
add exile zone visibility

remove unnecessary look at effect
update exile effect
update exile effect
update exile effect
update exile effect

remove unnecessary look effect
update related cards that use methods
update exile effect

remove unnecessary look at effect
update exile effect

remove unnecessary look at effect

play effect now considers ownership
created test class for both effects using Kheru Mind-Eater and Colfenor's Plans
@github-actions github-actions bot added the tests label Mar 31, 2025
After processing copy effects 1a layer, layer effects are refreshed. This allows copied morph cards that were turned face down to have the turn face up ability.
@Jmlundeen
Copy link
Contributor Author

I think this is now ready for critique, face down cards more accurately represent game state.

example showing visibility on gaining control with bane alley broker, owner cannot see their card in exile (gonti), and no visibility for either player (pyxis)
java_0hanToW2Dl
java_pRZPFCLZpd

example showing Ixidron flipping, ignoring transform permanents and mdfc, copying morph face down gives flip ability, and face down copies don't retain their copied abilities
java_IWlGpAtoRa
java_ENcfbBMAuH
java_Ddx2hmbSTY

@JayDi85
Copy link
Member

JayDi85 commented Apr 5, 2025

  1. Check issue with lookAt problems — are there related fixes in current PR?
  2. Check face down info issues — what can be closed in current PR?:
  3. Make sure game logs compatible with face down too (no info discloses, no errors/popups on mouse over, etc)

P.S. Some issues can be outdated due new face down “look at” logic in current PR — that’s ok

@JayDi85
Copy link
Member

JayDi85 commented Apr 5, 2025

  1. It’s in draft state — are you planning to add more changes in current PR?

@Jmlundeen Jmlundeen marked this pull request as ready for review April 5, 2025 14:25
@Jmlundeen
Copy link
Contributor Author

Ooops, yeah should have took it out of draft. I'll take a look at the issues to confirm which can be closed.

@Jmlundeen
Copy link
Contributor Author

Cascade now checks the spell instead of the cards mana value
Spell target text, for a spell on the stack, is now hidden if not the controller of target
face down spells on the stack will log the spell with a linked object and appropriate id
face down permanents create a linked object with id
@JayDi85
Copy link
Member

JayDi85 commented Apr 16, 2025

@Jmlundeen can you check new issue with Yedora, Grave Gardener #13543 and add it to the list (if it was fixed here)?

@Jmlundeen
Copy link
Contributor Author

Yup, that will be fixed as well

@PurpleCrowbar
Copy link
Member

How's this looking? This is likely one of the most important PRs in recent memory based on sheer quantity of bugs it fixes for many very broken cards so should probably be merged before the next release.

@JayDi85
Copy link
Member

JayDi85 commented Apr 24, 2025

It's need code review. I'll do it later

# Conflicts:
#	Mage.Common/src/main/java/mage/view/CardView.java
@JayDi85 JayDi85 self-assigned this May 29, 2025
@PurpleCrowbar
Copy link
Member

Any word on this? Would be good to have all of these issues closed before the next release

# Conflicts:
#	Mage.Sets/src/mage/cards/e/EtherealValkyrie.java
#	Mage.Sets/src/mage/cards/g/GontiNightMinister.java
#	Mage.Sets/src/mage/cards/j/JacobHaukenInspector.java
#	Mage.Sets/src/mage/cards/u/UginTheIneffable.java
#	Mage/src/main/java/mage/abilities/keyword/ForetellAbility.java
@xenohedron
Copy link
Contributor

@JayDi85 this PR really should not be languishing for so long, it's an important improvement to fix many bugs. If you don't review soon I will.

@JayDi85
Copy link
Member

JayDi85 commented Nov 3, 2025

@xenohedron feel free to review any PRs - it will help anyway. Current PR require deep research in gui related changes with card views, hints and images.

@Jmlundeen
Copy link
Contributor Author

It's bee awhile since I've touched this one, I should go through it again

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