* 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.
I did check the BEGINNING_PHASE_PRE usage, and found none that wanted to watch the extra beginning phases.
Of note, we may want to have separate 'beginning of turn'/'beginning of game' events, if there is ever a way to skip beginning phases.
Mystery Booster rework:
* added images download support from scryfall (closes#11806);
* added virtual sets support (remix);
* fixed Commander set name (closes#12110);
* Start on Ian Malcolm, Chaotician, missing key effects
* fox ANY clause in DrawNthCardTriggeredAbility
* Get exile effect working
* Start using Evelyn, the Covetous code
* align exile effect
* align player clause
* align card type clause
* align counter check clause
* align mana clause
* add ownership clause
* remove redundant comments
* fix redundant mana clause description
* fix counter clause in mana cost effect
* fix active clause in mana effect
* use MageObjectReference to associate exiled cards with an Ian Malcolm instance
* optimize imports
* Start tests, failing currently
* fix test and add blink test
* fix signature of constructor
* fix order of super() call in checkTrigger
* clarify hash maps in watcher
* use correct AsThoughEffect
* document header of checkExile
* generalize modal and double faced cards for LKI fetch
* remove land played event for watcher
* Use custom MageIdentifier to filter usedMap
The frameStyle was unexpectedly null when displaying the trigger in the view to choose trigger panels.
It was good on the stack so I missed that in initial implementation.
Bug showed up once there was another trigger on Beginning of Main Phase, for instance Coalition Relic.
The lack of frameStyle lead to a rendering NPE.
* Implement Grim Giganotosaurus
* Refactor MonstrosityAbility to take cost adjuster
* Update Nemesis of Mortals' monstrous ability and add test for cost reduction