Commit graph

3125 commits

Author SHA1 Message Date
Evan Kranzler
bbb9382150
Reworking effects which allow casting spells from a selection of cards (ready for review) (#8136)
* added function for casting spells with specific attributes from a selection of cards

* updated cascade to use new method

* refactored various cards to use new methods

* added TestPlayer method

* fixed a small error

* text fix

* broke out some repeated code

* added missing notTarget setting

* add additional retain zone check

* some more cards refactored

* more refactoring

* added interface for split/modal cards

* reworked spell casting methods

* reworked multiple cast to prevent unnecessary dialogs

* fixed test failures due to change in functionality

* add AI code

* small nonfunctional change

* reworked Kaya, the Inexorable

* added currently failing test

* added more tests

* updated Geode Golem implementation

* fixed adventure/cascade interaction, added/updated tests

* some nonfunctional refactoring

* added interface for subcards

* [AFC] Implemented Fevered Suspicion

* [AFC] Implemented Extract Brain

* [AFC] updated Arcane Endeavor implementation

* [C17] reworked implementation of Izzet Chemister

* [ZEN] reworked implemented of Chandra Ablaze

* additional merge fix

* [SLD] updated Eleven, the Mage

* [NEO] Implemented Discover the Impossible

* [NEO] Implemented The Dragon-Kami Reborn / Dragon-Kami's Egg

* [NEO] Implemented Invoke Calamity

* [AFR] Implemented Rod of Absorption

* [VOC] Implemented Spectral Arcanist

* [VOC] added additional printings

* [NEO] added all variants

* [SLD] updated implementation of Ken, Burning Brawler
2022-03-09 08:03:54 -05:00
Evan Kranzler
5b543dc819 fixed test failure 2022-03-08 10:02:44 -05:00
Evan Kranzler
6c643fdc5e [EVE] fixed implementation of Hotheaded Giant 2022-02-28 08:45:13 -05:00
Evan Kranzler
cf9a2f936a a few more getId fixes 2022-02-26 10:23:13 -05:00
Evan Kranzler
3cbfe4d623 [BOK] reworked implementation of Shirei, Shizo's Caretaker and added test 2022-02-24 20:15:15 -05:00
Evan Kranzler
c97039366d added an additional test for conspire 2022-02-24 08:58:18 -05:00
Evan Kranzler
f32d0b3e6e fixed issues with Conspire, added additional tests 2022-02-23 21:37:42 -05:00
Alex Vasile
6d02a902b7
fix what is almost certainly a typo (#8693) 2022-02-20 01:07:55 -05:00
Evan Kranzler
fe42bc6e49 added Heart of Kiran test 2022-02-19 17:19:52 -05:00
Evan Kranzler
972ad38e85 [NEO] added test for Hotshot Mechanic 2022-02-19 14:48:44 -05:00
Evan Kranzler
8040e7d1e8 [NEC] fixed Kotori, Pilot Prodigy's granted crew ability not animating vehicles (fixes #8713) 2022-02-18 22:22:44 -05:00
Alex W. Jackson
4c32272505 [AKR] does *not* have a dedicated nonbasic land slot (see https://youtu.be/XJgQKO5qd44?t=463) 2022-02-18 17:09:25 -05:00
Evan Kranzler
4ede390e40 some reworking of Equip, Fortify, and Reconfigure 2022-02-17 18:08:22 -05:00
Evan Kranzler
e296b62014 [NEO] Implemented Storyweave 2022-02-15 18:18:02 -05:00
Evan Kranzler
4591ac07cc
Reworking goad effects (ready for review) (#8034)
* changing goad to designation, refactored goad effects to be continuous

* [AFC] Implemented Vengeful Ancestor

* reworked effects which goad an attached creature

* updated goading implementation

* updated combat with new goad logic

* some more changes, added a test

* another fix

* update to test, still fails

* added more failing tests

* more failing tests

* added additional goad check

* small fix to two tests (still failing

* added a regular combat test (passes and fails randomly)

* fixed bug in computer player random selection

* some changes to how TargetDefender is handled

* removed unnecessary class

* more combat fixes, tests pass now

* removed tests which no longer work due to combat changes

* small merge fix

* [NEC] Implemented Komainu Battle Armor

* [NEC] Implemented Kaima, the Fractured Calm

* [NEC] added all variants
2022-02-15 09:18:21 -05:00
Evan Kranzler
54203c16d3
[NEO] Implementing Compleated mechanic and hybrid phyrexian mana (ready for review) (#8677)
* [NEO] Implemented Tamiyo, Compleated Sage

* replaced PhyrexianManaCost calls with ManaCostsImpl calls

* updated phyrexian mana implementation

* added phyrexian hybrid symbol support

* updated starting loyalty implementation for planeswalkers

* change compleated to singleton

* implemented Compleated ability

* added some missing loyalty setters

* changed when loyalty is added to a walker to fix bugs

* slight change to some tests to fix them from failing

* fixed token issue
2022-02-10 10:25:23 -05:00
Evan Kranzler
495fc57540 [NEO] Implemented Reconfigure abliity 2022-02-06 12:27:12 -05:00
Evan Kranzler
d030848552
Reworking "as long as you control this" effects (WIP) (#8620)
* added WhileControlled duration, removed SourceOnBattlefieldControlUnchangedCondition

* refactored effects which keep things tapped

* a few additional missed cards

* refactored cards which check for being controlled and tapped

* [NEO] Implemented Kyodai, Soul of Kamigawa
2022-01-30 22:00:10 -05:00
Oleg Agafonov
a5eb025155 * Sneak Attack - fixed that it doesn't give haste to MDF cards (#8474); 2021-11-23 00:55:24 +04:00
Oleg Agafonov
524f46e7e5 * Uba Mask - fixed that it doesn't work with MDF cards (#8222); 2021-11-17 19:23:16 +04:00
Oleg Agafonov
afdae939c3 * Becomes a copy abilities: improved support with MDF cards (#8335); 2021-11-17 16:27:18 +04:00
Evan Kranzler
4a99b7689f fixed a test failure 2021-11-14 10:52:08 -05:00
Alex W. Jackson
bb2546badd
Refactor rules text generation for P/T boost effects. Fixes #8421 2021-11-10 06:40:11 -05:00
Oleg Agafonov
3515647c7b [MID] Tests: added test for disturb ability; 2021-11-09 10:14:50 +04:00
Evan Kranzler
30afb11cd2
Implementing Daybound/Nightbound mechanic (#8200)
* adding initial day/night support in game state

* remove card exclusion for testing

* added functional implementation to abilities from main branch

* functionally implemented NightCondition

* updated DayNightHint

* added support for nightbound entering transformed at night

* [MID] Implemented Unnatural Moonrise

* [MID] Implemented The Celestus

* added some docs

* changed access for state day/night methods

* added transformation to day/night switch

* re-added unfinished filter, removed day/night cards

* fixed some errors with transforming

* added hints to all day/night cards

* added transformation prevention plus a test

* added Immerwolf test

* [MID] Implemented Tovolar, Dire Overlord / Tovolar, The Midnight Scourge

* refactored some cards to not use isTransformable

* removed transformable parameter

* simplified some transform code

* fixed null pointer exception

* removed unnecessary canTransform method

* fixed a small error

* reworked implementation of rule 701.28f

* small change in transform logic

* fixed failiing test

* fixed verify failure

* small merge change

* added support for day/night switching based on spells cast

* [MID] Implemented Curse of Leeches / Leeching Lurkers

* moved day/night handling to untap step

* added tests for cards which set day and trigger from a change

* [MID] Implemented Ludevic, Necrogenius / Olag, Ludevic's Hubris

* added support for creatures transforming to match day/night when necessary

* fixed verify failures

* fixed another verify failure

* remove temporary verify skip

* added transform message

* removed unnecessary transform message

* [MID] Implemented Angelic Enforcer / Enduring Angel

* updated DayNightHint with more information

* fixed verify failure

* merge fix

* fixed Startled Awake / Persistent Nightmare / Moonmist interaction

* added another test for Moonmist

* merge fix

* merge fix

* [MID] Implemented Baneblade Scoundrel / Baneclaw Marauder

* merge fix

* [MID] various text fixes

* [MID] a few more text fixes

* Merge fix

* Improved transform game logs (hints, source), fixed day/night logs, fixed miss game param (due code style);

* fixed a test failure

* Merge fix

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-11-05 23:11:23 +04:00
Evan Kranzler
5203714d07 [VOW] Implemented Rending Flame 2021-10-31 15:22:40 -04:00
Daniel Bomar
83d37a7f35
Fixed Yixlid Jailer interaction with cards moving to graveyard (#8402)
* Fixed Yixlid Jailer interaction with cards moving to graveyard (fixes #8311)

* Yixlid Jailer - Revert previous workaround and add rules modifying effect
2021-10-24 02:57:02 -05:00
Daniel Bomar
b63623b40f
[AFC] Fixed Belt of Giant Strength cost reduction (fixes #8347) 2021-10-23 15:40:58 -05:00
Daniel Bomar
060ea7da83
Add sub abilities in TokenImpl.addAbility and PermanentImpl.addAbility (fixes #8343) 2021-10-22 17:32:51 -05:00
Daniel Bomar
27d4fb13c3
Fixed combat information not being preserved in LKI and added unit test 2021-10-21 20:24:51 -05:00
Daniel Bomar
c89fba48ca
Add unit test for Ward ability 2021-10-18 19:09:08 -05:00
Alex W. Jackson
7926193e34
Refactor ExpansionSet and its subclasses (#8382)
* Don't purge cards-by-rarity cache between tournaments

* Move DOM and WAR specific checks out of base ExpansionSet class

* Move Battlebond specific methods out of base ExpansionSet class

* Refactor ExpansionSet and subclasses

* Zendikar boosters also only have full-art basic lands

* Fix Eldritch Moon (#8171)
2021-10-13 11:47:23 -04:00
Jeff Wadsworth
4f1c91ecb1 - removed some text from test 2021-10-04 09:45:25 -05:00
Jeff Wadsworth
fa18679ce8 - added test for Gisa, Glorious Resurrector 2021-10-04 09:43:32 -05:00
Oleg Agafonov
58ab020065 Dev: pom clean up, improved parent/child structure; 2021-10-03 18:11:56 +04:00
Oleg Agafonov
08407eef25 Dev: migrated to single logger lib (replaced slf4j usage by log4j), clean up and documented pom files, updated some libs; 2021-10-02 11:09:09 +04:00
Oleg Agafonov
074f26d199
Merge pull request #8351 from magefree/dependabot/maven/com.sun.xml.bind-jaxb-impl-3.0.2
Bump jaxb-impl from 2.3.3 to 3.0.2
2021-10-01 22:22:45 +04:00
Oleg Agafonov
301539d75b Server improves:
* Server: improved messages on register/reset dialogs;
* Tests: added database compatible tests on new code or libs (auth db);
2021-10-01 21:52:09 +04:00
Oleg Agafonov
1c6eb10bd1 Dev: migrated to single json lib (removed json-simple from deck import code), clean up guava lib usage in cards; 2021-10-01 17:57:54 +04:00
Oleg Agafonov
fa70af6131 Dev: removed test data from resources to data folder; 2021-10-01 14:10:39 +04:00
dependabot[bot]
4e6de42e71
Bump jaxb-impl from 2.3.3 to 3.0.2
Bumps jaxb-impl from 2.3.3 to 3.0.2.

---
updated-dependencies:
- dependency-name: com.sun.xml.bind:jaxb-impl
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-01 09:43:33 +00:00
Oleg Agafonov
c899c332b8 Dev: updated json lib, added tests; 2021-10-01 13:41:54 +04:00
Evan Kranzler
1b36053b17 [AFC] added passing and failing tests for Belt of Giant Strength (#8347) 2021-09-30 20:46:03 -04:00
Oleg Agafonov
f9beed6a89 Dev: clear pom files, fixed wrong test packages and scope, added zip tests; 2021-09-29 16:01:36 +04:00
Oleg Agafonov
0e1abaec5d Dauthi Voidwalker - fixed that it doesn't work with cards (related to a3ca9fc03a); 2021-09-27 23:29:41 +04:00
Oleg Agafonov
42325c7c2e AI improves:
* AI: fixed that AI was able to targeting an invalid player targets in some use cases (#5630);
* AI: fixed that AI was able to ignore targeted triggers in some use cases;
* AI: improved player targeting for not own chooses (if it's make a choice for another player);
2021-09-26 18:40:26 +04:00
jeff@delmarus.com
de378577a6 - Added test for #5630 2021-09-25 09:22:47 -05:00
Oleg Agafonov
95b782d519 Tests for #5630 2021-09-25 18:09:21 +04:00
Jeff Wadsworth
c6e385e321 - Added test for #8293 2021-09-24 09:51:31 -05:00
Evan Kranzler
3a3e3fda48 various files converted from CRLF to LF 2021-09-23 19:37:47 -04:00