* 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
* Add ReplacingTargetAdjuster
* Use new target adjuster
* Change name to ConditionalTargetAdjuster, don't use blueprint
* Take a Targets list
* Add keepOldTargets option
* Add missed DamagedPlayerControlsTargetAdjuster to Sigil of Sleep
* Cards using updated ConditionalTargetAdjuster
* BLB gift cards currently implemented
* fix wrong default for keepOldTargets
* Fix Urborg Repossession missing 1st target tag
* Add support for non-permanent targets to EachOpponentPermanentTargetsAdjuster, add ownership check
* Rename EachOpponentPermanentTargetsAdjuster to ForEachOpponentTargetsAdjuster
* Implement Time Reaper, start rework
* Create DamagedPlayerControlsTargetAdjuster, convert Aberrant to use it
* Always add targets for EachOpponentPermanentTargetsAdjuster
* Improve target name, finish Time Reaper
* Convert some cards
* Improve documentation, more cards
* More cards, fix cards that needed to use owner instead of controller
* Fix unfinished AlelaCunningConqueror changes
* more cards
* All remaining cards
* Fix target type
* Remove outdated attempt at TargetController.SOURCE_EFFECT_TARGET_POINTER
* Finish removal of SOURCE_EFFECT_TARGET_POINTER
* Change targetAdjuster blueprint target to be set inside setTargetAdjuster, add error checking
* Always add Target Adjuster after Target
* Add comment
* Fix TolarianContemptTest to skip opponent with no valid targets
* Forgot to git add the new abstract GenericTargetAdjuster
* Test now possible after merge, fix missed ChangeOfPlans adjuster order
* Text and optional-ness fixes
* Always set target pointer
* Create generic X MV adjuster
* Update XTargetsAdjuster
* Create DynamicValueTargetsAdjuster to replace VerseCounterAdjuster
* Convert XTargetsAdjuster to use DynamicValueTargetsAdjuster
* Genericize MV target adjuster
* Converting custom classes for A and B cards, fix Back in Town to only target creature cards
* Add Power and Toughness target adjusters, C cards
* Set up and use Monstrosity X DynamicValue
* Move Scry amount dynamic value to common, add D and E cards
* Convert F to I cards
* Cards K-M
* N, O cards
* Cards O-R
* S cards (check Scrap Welder)
* Cards T - Z
* Rename target adjusters
* Add filter messages, don't add 0 count targets
* Clear blueprint targets (just in case), fix target names, Temporal Firestorm is not target
* Requested renames
* Aether Burst is "up to"
* Review fixes
* Add new cards, add source to dynamic value calculation