magefree / magefree/mage

Face down need improves/research (usage of instanceof MorphAbility)

Open
#11,963 1 comment 0 reactions 0 assignees View on GitHub
refactoring
Dominant language
Java
Stars
2.4k
Forks
940
Avg merge
2d 12h
Merged PRs (30d)
160

Description

From related fix in #11962 -- usages of all `instanceof MorphAbility` must be checked and replaced to support Disguise ability too (if required):

![shot_240318_103536](https://github.com/magefree/mage/assets/8344157/1ecaaf88-6942-4896-bd13-69cf20f40774)

TODO:
1. [ ] `BecomesFaceDownCreatureAllEffect` like [[Ixidron]] -- must be researched/reworked, I don't touch it in #11873, so it can be buggy -- must use `makeFaceDownObject`;
2. [x] [[Exiled Doomsayer]] -- looks fine, works with morph only;
![shot_240318_105135](https://github.com/magefree/mage/assets/8344157/9187b28e-b09d-421b-887c-45e70e9228eb)
3. [x] `MorphSpellsCostReductionControllerEffect` - fixed by #11962;
4. [ ] `PlayerImpl` - must be research. ~~Looks like all face down abilities must be supported (not Morph only) in "can be cast as though it had flash"~~. Well, nope. It's about wrong always playable mark for non-playable card with morph ability (6e1da09023eea715e5572246bef0e6fec9d2dc76)
![shot_240318_105104](https://github.com/magefree/mage/assets/8344157/7907005a-bc18-451f-bd75-79edb1510631)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the remaining `instanceof MorphAbility` usages named in the issue, especially `BecomesFaceDownCreatureAllEffect` and `PlayerImpl`, and review related fix #11962. Research whether these paths must support Disguise and whether `makeFaceDownObject` is required; done means the unchecked face-down behavior and incorrect playable marking are resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.