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

Externalize the extra rules #100

Open
kevinlul opened this issue Feb 7, 2020 · 2 comments
Open

Externalize the extra rules #100

kevinlul opened this issue Feb 7, 2020 · 2 comments
Assignees
Labels
enhancement Internal implementation improvements

Comments

@kevinlul
Copy link

kevinlul commented Feb 7, 2020

The handling is very hardcoded in the game client. We can add an array field to a config JSON listing their corresponding rule card and excludes. A special case needs to be made for Speed Duels since that has its own handling.

Whether sysstrings are mapped in a contiguous range or individually in this config is a matter of taste. Same for whether the bits are implicit by their position in the config array or explicitly a field is also a matter of taste. Keep in mind that with the current protocol, only 16 options are available.

This should probably not be in configs.json but be in a separate file like the lflists, synced to canonical Git repositories so they stay the same on servers (paramount to network protocol) and allow flexibility if we change rule passcodes or alter the offered rules.

@kevinlul kevinlul added the enhancement Internal implementation improvements label Feb 7, 2020
@kevinlul kevinlul self-assigned this Feb 7, 2020
@kevinlul
Copy link
Author

kevinlul commented Feb 7, 2020

Some duel modes may need to be loaded as pure scripts instead of fake cards.

@kevinlul kevinlul pinned this issue Feb 23, 2020
@kevinlul
Copy link
Author

Additionally, Speed Duel, Rush Duel, and similar may be blended into the Duel Rule dropdown rather than as an extra rule, but this would change server implementations too.

@kevinlul kevinlul unpinned this issue Apr 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Internal implementation improvements
Projects
None yet
Development

No branches or pull requests

1 participant