magefree / magefree/mage

Refactor: type choice dialogs must be improved same way as ChoiceCreatureType

Open
#13,114 0 comments 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

`ChoiceCreatureType` was improved to use helper data about player/opponents types (#8478) -- it's require to use keys choices instead string choices. There are some choice dialogs with old logic and string result -- it can lead to typos like #13106 (fix e3a94c8adf050ced88d05f0cb6edcf4894d8d844). All usages of `ChoiceCreatureType` are fine now.

So all that choice dialogs must be refactored same way:
* use key/values instead string;
* enrich choice data with player/opponent stats (mark choice options as my/opponent);
* manual replace all usages of refactored dialogs from `xxx.getChoice()` to `xxx.getChoiceKey()`

Dialogs to refactor:
* `ChoiceBasicLandType`
* `ChoiceCardType`
* `ChoiceLandType`
* `ChoiceColor` and `ChoiceColorOrArtifact` -- if possible

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by inspecting ChoiceCreatureType, then review ChoiceBasicLandType, ChoiceCardType, ChoiceLandType, ChoiceColor, and ChoiceColorOrArtifact and their usages. Refactor the dialogs to use key/value choices with player/opponent stats, then replace affected getChoice() calls with getChoiceKey(); done means all listed dialogs and usages follow the ChoiceCreatureType pattern.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.