* Rework Whipgrass Entangler
Made a class for "Ability linked with an Effect", that also takes responsability of manually calling its effect's newId method.
* apply review & cleanup
* [CMM] Implement Teyo, Geometric Tactician
* rework as a RestrictionEffect (common class with Mystic Barrier; Pramikon, Sky Rampart)
* add checkMayAttackDefender test
* more Pramikon tests
* refactor SacrificeCostManaValue to be an enum.
* [CMM] Implement Demon of Fates Design
* Add Unit Tests, including one bug on alternative cost.
* fix alternativeCosts made from dynamicCost returning that they were not activated when paid.
* fix small issues, add hint
* cleanup tests and add a couple
* Capitalize enum instances
* Minor fixes
* simplify the ContinuousEffect
* use the ConditionPermanentHint made for the Demon
* fix text
* Implement [CMM] Hatchery Sliver
* limit ReplicateAbility to only its linked instance
* Add test for multiple instances of replicate
* add another test
* apply regex to change public copy constructors to protected
* cleanup code using now protected constructors
* fix manaBuilder weird casting of Mana into ConditionalMana
* Hide reminder text on Zhulodok
* Use logic from GainAbilitySpellsEffect, fix so that CastFromZonePredicate works
* Text adjustments
* Show cascade ability in hand for Abaddon the Despoiler
* Remove redundant class
* Simplify Cast Through Time
* Don't add additional instances of redundant abilities
* Remove redundant check
* Add option to ignore mana validation when checking playable objects
* Fix null errors
* Fix GainAbilityControlledSpellsEffect to apply ability to playable cards rather than owned cards
* Add unit test
* Revert bad workaround code
This reverts commit 17f5be6a79.
This reverts commit 7ebd2f1815.
This reverts commit 00969d1fe7.
* Remove ownership check on exiled cards
* Another test (currently failing)
* ignore test
* fix test: strict choose mode
* refactor check supertype methods
* change supertype to list to match card type
* refactor various subtype methods
* implement mageobjectattribute for supertype
* a few fixes
* [BRC] Implement Rootpath Purifier
* a few extra fixes
* more fixes
* add test for purifier
* Adjust constructors to simplify
* Refactor to remove duration parameter for CDA (always end of game)
* Fix warnings
* Druid Class not CDA
* Entropic Specter fixup
* Further constructor simplification
* Analogous simplification for setting power only
* Analogous simplification for setting toughness only
* Remove superfluous parameter
* Set fields final