* 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
xenodron mentionned that one of the use of setSourceId is to more easily find the Event that use non-standard
sourceId.
So reverting the change made in a previous commit.
It was a non-functional change meant to ease new
BatchEvent sharing sourceId, but I'll use setSourceId
instead there.