* [BLB] Implement Camellia, the Seedmiser.
Also implemented SacrificedPermanentBatchEvent, SacrificeOneOrMorePermanentsTriggeredAbility, and refactored existing Whenever you sacrifice one or more [filter] abilities to use the new SacrificeOneOrMorePermanentsTriggeredAbility (even though as they all only trigger once per turn and technically function correctly with the old SacrificePermanentTriggeredAbility.
* Fix accidental newline.
* Refactor CreateTokenEffect to allow multiple tokens at once.
Partial solution to #10811 - Token copy effects still need to be redone so that mass token copy effects (Ocelot Pride, Mirror Match, other similar effects) can be created in a single batch.
Complete rework of Unbound Flourishing, removing the multiplier code for casting X spells.
Adds ActivateAbilityTriggeredAbility, NotManaAbilityPredicate, AbilitySourceAttachedPredicate
CopyStackObjectEffect now uses a MOR.
OrTriggeredAbility now works with target pointer setting abilities.
* Add skeleton
* Implement Pawprints modal functionality
* Implement Seasons of Gathering
* remove unused imports
* Add Pawprints test
* use withPawPRintValue() instead of setter
* use 0 for non-pawprint mode and modes classes and move mode validation to addMode
* Use GreatestPowerAmongControlledCreaturesValue
* Fix pawprints check
* calcualte sleected pawprint count based on selected modes
* move max pawprints check to getAvailableModes
* fix max pawprints checks
* Implement Splash Portal
* Add test
* Add an afterEffect to ExileThenReturnTargetEffect for use in Splash Portal
* Modify Essence Flux to use new ExileThenReturnTargetEffect and write test
* use withAfterEffect for ExileThenReturnTargetEffect
* use ConditionalOneShotEffect
* Restrict effects to one shot
* enters the battlefield, -> enters,
* {this} enters the battlefield -> {this} enters
* EntersBattlefieldAbility
* , it enters
* enters the battlefield under your control -> you control enters
* rework some trigger phrase logic
* fix tests
* Apply fix for ZONE_CHANGE_GROUP events making tokens controlled by different players
* Add test
* Remove unused import
* Fix implementation
* Rewrite to use ZONE_CHANGE_BATCH
* Fix OPPONENT case
* Add default case
* refactor to avoid using stream as local variable and use ZoneChangeEvents in filters
* Fix typo
* Implement Eluge, the Shoreless Sea (missing mana cost reduction clause)
* implement ability to convert colored to generic costs in SpellsCostReductionControllerEffect
* fix text generation on SpellsCostReductionControllerEffect
* remove unnecessary setText() calls on SpellsCostReductionControllerEffect
* make logfile from master run
* Fix plurality detection
* Eliminate unnecessary setText() calls in other cards
* Delete logfile
* remove redundant type cast
* Add parameter documentation
* refactor: added helper emblems instead rad counter's inherent emblems (use initGameDefaultHelperEmblems to define new card hints or other fake objects);
* refactor: added card hints support for emblems, planes and other command objects;
* GUI: added storm counter as default card hint (use hints tool to see it, closes#12360);
* Replace "([a-zA-Z]+).getManaCostsToPay().getX()" with CardUtil.getSourceCostsTag(game, $1, "X", 0)
Fix Disrupting Shoal
* Change final card .getX() calls
* Condense all ManacostVariableValue enum values into "instance"
* Further removal of getX, Display X symbol for non-mana X cards
* Fix test
* Fully remove ManaCosts.getX
* Replace all different X dynamic values with GetXValue
* Remove individual cards checking getAmount for X values (leaving cost reduction that does not use X)
* Add null check for game object inside getSourceCostsTagsMap
* fix build errors
* fix Vicious Betrayal
* text fix