Conversation
…e deck list to dandan
… can be enforced when creating a new deck
…y and graveyard states can be observed
…o .dck attributions
… updates to deck comments for 2 dandan decks
… updates to deck comments for 2 dandan decks
|
Ambitious project. The concept of shared zones seems useful to a few other variant formats (e.g. Shared Planar deck option, Bounty deck), though it looks like your implementation results in a lot of DanDan-specific checks and branches dotted throughout the code. I wonder if the concept can be generalized. Have you tested the shared zones with more obscure mechanics, such as subgames and Karn's game restart effect? I feel some things like your deck comment support and game simulation changes could stand alone as separate PRs. |
|
Helps a bit by slimming down what needs reviewing here, but also it'd probably get those parts merged faster. I suspect reviewing this will have to wait a bit for most of the team, now that we're in the middle of reveal season.
Might extract things like |
Shahrazad does appear to be working in DanDan mode.
Playtesting through the UI, I think I got to 4 sub-games deep, including resolving a sub-game, returning to the spawning game and then launching another sub-game. |
Moved comment on mouse hover to PR #10263 |
| @@ -0,0 +1,4 @@ | |||
| #NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice. | |||
Summary
Implements Dandan as a game mode creating shared zones and match rules in the engine, plus Dandan-specific layout and zone/hand presentation in the desktop client.
Gameplay / rules engine
Library/Graveyardwiring; sideboarding is disabled for this mode where applicable (forge-game, e.g.Match,GameRules).forge-game, e.g.Player,GameAction).forge-game, e.g.CardProperty,SpellAbilityRestrictionrelated to card ownership and card controller rules).DanDanViewZonesexposes a single consistent card sequence for library/graveyard for UIs and tooling that consumeGameView(forge-game).UI / client
CMatchUI,ForgeConstants/MATCH_DANDAN_LAYOUT_FILE).Out of scope