* game.processAction() instead of game.getState().processAction(game)
* add simpler method name and docs
* find/replace to new method
* remove old method
* deprecate applyEffects
* replace applyEffects() with processAction() for card usages
* update Goblin Welder and test
* add test for Historian's Wisdom
* enable other related tests
* only reset short living LKI for process action, not all apply effects
* update docs
* remove applyEffects from condition in Historian's Wisdom
* add another test case
* added object and targets info for possible actions;
* added detailed score for each action in possible action chains;
* added stack info;
* improved output for easy read and analyse;
* add tests for first strike rules
* fix first strike damage logic per 702.7c
* add more test cases
* update logic to not check actual damage dealt
* add another test case
* adjust naming and docs
* [PIP] Implement Sentinel Sarah Lyons
* Create common watcher and condition for artifacts entering
* [PIP] Implement The Prydwen, Steel Flagship
* Use common classes in Akal Pakal, First Among Equals; string correction
* Add warning about watcher to ArtifactEnteredUnderYourControlCondition
* Add tests
* Move test file
* Test with opponent casting artifact during your turn
* Use checkPT(), don't call execute() multiple times
* Check final assertion at upkeep instead of untap step
* Make ChoosePlaneswalkerTypeEffect
* Make REMOVE_COUNTER and REMOVE_COUNTERS events so they can be replaced/modified
* Deification initial attempt, need to filter for damage
* add optional damage flag to removeCounters
* wrap logs in sim check
* check that planeswalker is chosen subtype
* cast to RemoveCountersEvent and reduce indents
* use counterRemovedDueToDamage
* add tests
* make other counterRemovedDueToDamage headers public
* remove logs
* remove isSimulation check from informPlayers
* remove logger
* make chosen planeswalker type predicate
* move event modification to replaceEvent
* 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