* new feature: Emblem Cards
Allows match/tournament creator to specify cards to give each player
emblem versions of (or just the starting player for symmetric effects).
Technical details:
- new UI for specifying emblem cards (.dck files)
- available for all match/tournament types
- new class `EmblemOfCard`
- new method `copyWithZone` on `AbilityImpl` (used to make abilities
work from command zone)
- new fields on `GameOptions` and `MatchOptions` for emblem cards
- emblems are granted after mulligans, before first turn (technically
after Planechase starting plane creation)
* fixes
* defaults for emblem cards in match options (fixes quick game buttons)
* minor fixes
* use DeckCardInfo instead of Card for emblem cards options
* restore accessible parent properties
* fix images for card emblems
* look up cards in a way that preserves which art
* fix typos; make Emblem.sourceObject protected
* add descriptions to planechase and emblem cards
* fixes
* add some unit tests for known working cards
* fix author name
* add explanation comment
* fix up tests
* copyWithZone: no longer modifies zone for singleton abilities
* directly check for MageSingleton
* removed outdated storm counter button and settings (related cards must have same card hint);
* clean preferences dialog from empty events/actions;
* fixed logs folder names to release names in the labels;
* added bad connection mode to test client works on slow network, use -Dxmage.badconnection;
* added bad connection protection in events processing due event type;
* split events to different types (can be ignored, must be synced, etc);
* removed some unused server events.
* Clean original values transmitted with CardView.originalObject
* Move RateCard to mage.Common, support cardView as argument.
* Clean PermanentView constructor for TestCardRenderDialog
* create CustomOptionsDialog; update NewTournamentDialog to use it
* add custom options button to new table/tournament dialogs
* fix buffer time in new table dialog
* further UI improvements
- move multiplayer options back out to NewTableDialog
- hide multiplayer options when all are disabled
- rearrange other options for consistency
* update button label to show number of active custom options
* remove commented-out code
* extra deck cards not counted in deck size
* extra deck handling in deckbuilder
* move responsibility for extraDeckCard boolean to CardImpl
* remove redundant field copy
* The draft session waits for 5 seconds before making the pick for the timed out player
* Formatting
* Renamed constant
* Tweak
* If the draft pick's timeout value would increase the client's pick's timer, don't set it (might happen if the client or server is lagging)
* Lowered BOOSTER_LOADING_INTERVAL and AUTOPICK_BUFFER
---------
Co-authored-by: sprangg <a@b.c>