forked from External/mage
new feature: Emblem Cards (#10498)
* 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
This commit is contained in:
parent
04dba063aa
commit
41874b0b4b
15 changed files with 774 additions and 39 deletions
|
|
@ -1481,6 +1481,13 @@ public abstract class AbilityImpl implements Ability {
|
|||
}
|
||||
|
||||
public AbilityImpl copyWithZone(Zone zone) {
|
||||
if (this instanceof MageSingleton) {
|
||||
// not safe to change zone for singletons
|
||||
// in theory there could be some sort of wrapper to effectively change
|
||||
// the zone here, but currently no use of copyWithZone actually needs
|
||||
// to change the zone of any existing singleton abilities
|
||||
return this;
|
||||
}
|
||||
AbilityImpl copy = ((AbilityImpl)this.copy());
|
||||
copy.zone = zone;
|
||||
copy.newId();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue