* 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
* Combine casting Transformed into a shared SpellAbility, apply transform effect before spell is cast
* Minor cleanup
* Use effect.apply() rather than game.applyEffects()
* Add test with Maskwood Nexus
* [WOC] Implement Misleading Signpost
* moved effect to common file
* added unit test
* added battle to test
* updated effect name, fixed list of defenders
* fix test text
* added text for effect
* fixed target
* made changes as per PR comments
* added unit test for 508.7c
* implements Kharn the Betrayer
* added flavor text
* fixed test
* fixed issue with triggered ability not working
* removed diacritic
* added effect text to test
* fixed several issues as per PR comments
* fixed access
* updated Kharn to use PreventionEffect
* added unit test for control loss via other sources
* split effect into three classes for convenience
* added static filter
* refactored cards using effect
* fixed issues as per PR comments
* changed predicate and fixed text
* added unit test, fixed text issues with Baldin
* set static text
* changed outcome
* added stop to test
* fixs issues as per PR comments
* [WOE] Implement Curse of the Werefox
* apply review
* Fix aura (and equipment?) tokens not checking for protection on target
* fix targetting of reflexive trigger, by creating a custom fight effect.
* fix reflexive ability target.
* Rework adventures to exiles themself after applying other effects
* fix duelist
* finalize all adventures
* apply review
* add card name to error
* fix remaining adventures
* finalize the last adventures.
1a. Make `costs`, `manaCosts`, and `manaCostsToPay` private in `AbilityImpl` with access through getters/setters
1b. fix cost adjuster for imprinted cards affected by the above
2a. Lazy instantiation for rarely used `data` field in `TargetPointerImpl`
3a. Pre-allocate certain array sizes in `Modes` and `CostsImpl`
4a. Make `manaTemplate` private in `BasicManaEffect`, copy when passing outside the class
4b. Don't copy `manaTemplate` in copy constructor since it doesn't change
4c. Add comments explaining copy usage for `manaTemplate`
4d. Remove redundant variable assignment and make fields final
---------
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>