* Added Saruman of Many Colors
Borrowed functionality in CastSecondSpellTriggeredAbility from magefree/mage#10433
Added new helper class ExileTargetCardCopyAndCastEffect for common effect
* Updated FlawlessForgery to use new ExileTargetCardCopyAndCastEffect
* Fixed overriden Effect copy functions
* Expanded ExileTargetCardCopyAndCastEffect
Added ability for non-free spells
* Removed filter lock
* De-duplicated exile and cast effects
* Fixed demilich
* Added Storm of Saruman card
Some classes have been added/adjusted for code reusability:
- CastSecondSpellTriggeredAbility has been modified to set a target pointer to either the caster or the spell (used here to set a target pointer to the spell for the copy effect)
- CopyTargetSpellEffect has been modified to allow specifying a copy applier (used here to apply the legenedary-stripping effect)
- RemoveTypeCopyApplier has been added as a generic copy applier for any cards which read "except it isn't <type>"
* Fixed verify failure - Remove ward hint on Storm of Saruman
* Fixed a typo - ammount -> amount
* Modified Double Major to use new CopyTargetSpellEffect
* Re-added ability text for Double Major
* Limited-style sideboarding with unlimited basics enabled for Freeform Unlimited Commander
* FreeformUnlimitedCommander does not depend on FreeformCommanderFreeForAll anymore.
FreeformUnlimitedCommander has sideboarding.
In two-player matches of FreeformUnlimitedCommander, the player who goes first doesn't draw a card on their first turn anymore.
* FreeformUnlimitedCommanderTypeTest takes into account that sideboarding is allowed
* Fix to startingPlayerSkipsDraw condition
---------
Co-authored-by: sprangg <a@b.c>
* Added Norn's Decree
Also added a couple of helper classes:
- A triggered ability for when players attack
- A triggered ability for the controller taking combat damage from one or more creatures (will be used in Starscream, Power Hungry)
- A condition for when an attacked player is poisoned
* Fixed rules comment issue
* Fixed issue with incorrect logic in CombatDamageDealtToYouTriggeredAbility