PlayerControllerHuman method cleanup
- Dominant language
- Java
- Stars
- 2.7k
- Forks
- 1.1k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 163
Description
[MostComulent](https://github.com/Card-Forge/forge/pull/10660#issuecomment-4445383320):
> Potential follow-up:
>
> Forge currently processes a discard effect as two separate actions: reveal stage shows window with revealed cards, user clicks ok, then it repaints window for discard stage. I don't think there's any reason from a rules perspective why that two stage process is necessary? If the discard stage is able to display the revealed cards at same time (which it now does in this PR) this can potentially be consolidated into one action (at least on desktop). Would need to consider mobile UI.
[tool4ever:](https://github.com/Card-Forge/forge/pull/10660#issuecomment-4445724108)
> yea some API even call `tempShowCards` on their own
> and there is also `DelayedReveal` which offers a more dedicated mechanism for this?
>
> In general there should be substantial cleanup potential for redundant or almost useless code in these PlayerController methods, just need to carefully consider what each effect attempts to do...
>
> and ideally some more Javadoc to explain less obvious concepts
---
AI has developed this as initial cleanup concept, particularly consolidating logic from `chooseCardsForEffect`, `chooseSingleEntityForEffect`, `chooseEntitiesForEffect`, `chooseCardsToDiscardFrom` into a single helper:
**[2026-05-14-selection-dispatch-cleanup-design.md](https://github.com/user-attachments/files/27754666/2026-05-14-selection-dispatch-cleanup-design.md)**
Contributor guide
Assessment
This issue has not been assessed yet.