* simplify BeginningOfEndStepTriggeredAbility
* more simplifications
* move to common class
* find and replace to common class
* simplify again
* align parameter order
* package reorg
* simplify BeginningOfCombatTriggeredAbility constructors
* simplify BeginningOfFirstMainTriggeredAbility constructors
* text fixes
* update docs
* add new common framework for at step triggered abilities
* move postcombat main and second main triggers to it
* update draw step triggers
* refactor BeginningOfCombatTriggeredAbility
* refactor BeginningOfFirstMainTriggeredAbility
* move Pronoun to constants package
* cleanup some cards to use simpler constructors
* package reorganization
* refactor: standard enum style for SourcePermanentToughnessValue
* refactor SourcePermanentPowerCount to enum SourcePermanentPowerValue
add comments on usage of NOT_NEGATIVE vs ALLOW_NEGATIVE
* refactor: new ReturnFromYourGraveyardToBattlefieldAllEffect
* refactor: new ShuffleYourGraveyardIntoLibraryEffect
also new PutIntoGraveFromLibrarySourceTriggeredAbility
* refactor PlayFromGraveyardControllerEffect for broader usage
* AbandonedSarcophagus to common class
* refactor Player::canPlayCardsFromGraveyard to AsThough common class
* a few more refactors
- added more options for priority control (play single priority, play multiple priorities until stack resolved);
- added more options for step control (play single step, play multiple steps);
- improved compatibility with AI and real time commands (now check commands can be called inside AI controlled steps);
- added tests for assign non-blocked damage;
* [SLD] Implement Captain America, First Avenger
I made assumptions that WotC is going to fix the rules by adding "choose the equipment you're unattaching with Throw..." to rule 601.2b so that this card actually functions since you have to choose a TargetAnyTargetAmount in steps 601.2c/601.2d long before you actually pay the unattach cost in 601.2h.
* Remove Target workaround, add proper 601.2b handling for choosing cost targets early using inheritance to avoid having a horrific brittle list of 'these costs must be paid early'.