* [AFR] Implemented DiceRolledTriggeredAbility
* [AFR] Implemented Brazen Dwarf
* [AFR] Implemented Feywild Trickster
* [AFC] Implemented Reckless Endeavor
* [AFR] Implemented Pixie Guide
* [AFR] Implemented Critical Hit
* [AFR] Implemented Netherese Puzzle Ward
* [AFC] Implemented Neverwinter Hydra
* [AFR] Implemented Farideh, Devil's Chosen
* [AFR] Implemented Barbarian Class
* [AFC] Implemented Vrondiss, Rage of Ancients
* [AFC] Implemented Arcane Endeavor
* Test framework: added planar die rolls support
* Test framework: added random results set up support in AI simulated games;
* AI: improved roll die results chooses in computer games;
* Roll die: improved combo support for planar die and roll die effects;
Co-authored-by: Daniel Bomar <dbdaniel42@gmail.com>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
* [AFR] Implemented Druid Class
* [AFR] Implemented Wizard Class
* [AFR] Implemented Cleric Class
* [AFR] Implemented Fighter Class
* reworked class ability implementation
* fixed an error with setting class level
* small reworking of class triggers
* added class level hint
* added tests
* small change
* added common class for reminder text
* added dungeon and dungeon room class
* [AFR] Implemented Tomb of Annihilation
* [AFR] Implemented Shortcut Seeker
* [AFR] Implemented Gloom Stalker
* [AFR] Implemented Nadaar, Selfless Paladin
* added room triggers
* added more venturing code, currently untested
* fixed error
* moved venture into dungeon from player class to game class
* removed unnecessary sourceobject from dungeon
* fixed npe error
* added dungeon completion
* fixed concurrent modification exception
* added logging
* added proper copy methods
* added views
* updated room text generation
* added some missing code
* finished implementing CompletedDungeonCondition
* [AFR] Implemented Ellywick Tumblestrum
* [AFR] Implemented Lost Mine of Phandelver
* added choice dialog for dungeons
* [AFR] Implemented Dungeon of the Mad Mage
* small text fix
* added initial dungeon test
* [AFR] Implemented Cloister Gargoyle
* [AFR] Implemented Dungeon Crawler
* small text change for dungeon rooms
* added more tests
* some simplification to dungeon props
* updated testing helper functions
* added currently failing test for venturing on separate steps and turns
* added tests for dungeon completion
* fixed missing trigger visual and dungeons not persisting through turns
* some text updates
* added rollback test
* added a test for multiple dungeons at once
* added one more condition test
* created interface for handling voting
* created class for two choice votes, refactored a card to use it
* refactored all cards which use two choice votes
* updated VoteHandler to an abstract class to encapsulate more of its functions
* refactored cards which vote for more than two things
* [CNS] Implemented Brago's Representative
* [CN2] Implemented Ballot Broker
* [CN2] Implemented Illusion of Choice
* [CNS] Implemented Grudge Keeper
* added vote outcomes
* updated implementation of Illusion of Choice to work correctly in multiples
* added test for voting
* updated implementation of extra votes
* simplified vote message handling
* Improved names, additional comments
* Votes: fixed not working getMostVoted
* Votes: added final vote results to game logs;
* Votes: added additional info for the vote choices;
* Votes: added vote step info in choose dialogs, added AI support example for Tyrant's Choice;
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
* initial refactor of damage events
* cleaned up some instances of classes that need to be removed
* removed old damage event classes
* removed outdated imports
* temporarily refactor Everlasting Torment (this will need to be changed more)
* updated damage handling to use new changes
* some reworking of lethal/excess damage plus a test
* updated damage marking to handle planeswalkers
* updated implementation of Phyrexian Unlife
* updated implementation of Everlasting Torment
* added some more excess damage tests
* small change to wither check
* Implemented Akim, the Soaring Wind, and new CreatedTokenEvent, that can be used to for TriggeredEvents.
* Formatting, and added Condition to Akim triggered Ability.
* Added Condition and ConditionHint to Akim.