Commit graph

2308 commits

Author SHA1 Message Date
theelk801
10f03d0d12 [DSC] Implement Formless Genesis 2024-11-18 19:23:45 -05:00
xenohedron
0e1fa94a11 refactor: SimpleActivatedAbility default zone (cards X Y Z, emblems, tokens) 2024-11-16 23:04:53 -05:00
xenohedron
ca6d0302b7 refactor: SimpleStaticAbility default zone (separate line) 2024-11-16 23:04:53 -05:00
xenohedron
39512d75ac refactor: SimpleStaticAbility default zone (before newline) 2024-11-16 23:04:53 -05:00
xenohedron
994c97e86a refactor: SimpleStaticAbility default zone (tokens, emblems, etc.) 2024-11-16 23:04:53 -05:00
theelk801
659fadba96 [J25] Implement Ozox, the Clattering King 2024-11-12 12:15:25 -05:00
ciaccona007
a387c5ed67 [FDN] Implement Kiora, the Rising Tide 2024-11-04 09:01:24 -05:00
xenohedron
a98ff3867c various text fixes 2024-11-03 21:49:03 -05:00
ciaccona007
a5d2338c5a [FDN] Implement Kaito, Cunning Infiltrator 2024-11-03 18:48:48 -05:00
theelk801
ca91c976c4 [FDN] Implement Guarded Heir 2024-10-31 12:26:02 -04:00
theelk801
0e4730ca20 [J25] Implement Cynette, Jelly Drover 2024-10-30 16:05:03 -04:00
theelk801
482fbf0d0c [FDN] Implement Herald of Eternal Dawn 2024-10-28 15:30:52 -04:00
xenohedron
5b0eba7068
refactor: end step triggered abilities (#13047)
* 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
2024-10-28 01:49:11 -04:00
xenohedron
587a68a837
refactor: simplify BeginningOfUpkeepTriggeredAbility (#13046)
* remove superfluous zone.battlefield

* remove redundant TargetController.YOU

* remove unneeded param

* simpler constructor with default optional false

* move to inheritance structure

remove setTargetPointer

* adjust

* align trigger phrase text

* add comments, fix param

* fix params and text

* fix params to fix text

* simplify

* package reorg
2024-10-28 00:15:59 -04:00
xenohedron
eee0fee79e
refactor: common logic for "at..." triggered abilities (#13045)
* 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
2024-10-27 21:03:40 -04:00
xenohedron
fb71ce8c85
refactor: SourcePermanentPowerValue to enum (#13040)
* refactor: standard enum style for SourcePermanentToughnessValue

* refactor SourcePermanentPowerCount to enum SourcePermanentPowerValue

add comments on usage of NOT_NEGATIVE vs ALLOW_NEGATIVE
2024-10-27 00:19:38 -04:00
xenohedron
001f9e866f
refactor: PlayFromGraveyardControllerEffect (#13032)
* refactor PlayFromGraveyardControllerEffect for broader usage

* AbandonedSarcophagus to common class

* refactor Player::canPlayCardsFromGraveyard to AsThough common class

* a few more refactors
2024-10-26 16:20:16 -04:00
Oleg Agafonov
a9bdf2eb18 test framework: improved aiXXX commands support:
- 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;
2024-10-26 11:55:19 +04:00
Oleg Agafonov
1ec277631f GUI, game: added card popup support in choose target amount dialogs (example: damage distribution, related to #9827) 2024-10-24 16:30:17 +04:00
Evan Kranzler
1484e3b575
Rework "second main phase" abilities (#12970)
* replace all instances of "postcombat main phase" with "second main phase" minus exceptions

* second main trigger now works correctly

* add survival test

* additional text fixes
2024-10-18 23:03:43 -04:00
Oleg Agafonov
a16215caed tests: removed and restricted empty commands for choices and targets, improved empty name usages in tests (use EmptyNames.xxx.getTestCommand and EmptyNames.xxx.getObjectName for face down objects) 2024-10-16 15:19:46 +04:00
Oleg Agafonov
2fa07c8ecc GUI, game: added default card hint to see day/night and next turn transform conditions (use player panel to see that hints, related to #8414) 2024-10-06 13:23:55 +04:00
Grath
49bce836f9 Change Duration.UntilTheNextEndStep to statically end during the beginning of EndStep. 2024-09-30 22:08:58 -04:00
Oleg Agafonov
701bd68d97 tests: added test for LKI from copied spell (related to Swan Song fix from #12883) 2024-09-25 09:55:19 +04:00
Oleg Agafonov
afde449a0f typo 2024-09-25 09:52:56 +04:00
Jeff Wadsworth
f85a70780f Fixed #12883. 2024-09-21 10:06:14 -05:00
Oleg Agafonov
f7d702d5df images: added The Ring image support (part of #12274, #12899);
images: fixed miss dungeon image in choose dungeon dialog (part of #12274);
2024-09-21 18:41:53 +04:00
Oleg Agafonov
bf2c4cac15 Venture into abilities - added card hints about current dungeon and room (part of #12274); 2024-09-20 18:03:23 +04:00
Oleg Agafonov
b40e7222b3 Dungeon improves:
* Dungeons: added dungeon name hint to room's game log and choices (part of #12274);
* GUI, game: added card popup hints support in feedback panel (yes/no choices);
* Images: fixed miss images for dungeons in command zone, game logs and choice dialogs;
2024-09-19 13:42:23 +04:00
Oleg Agafonov
cd51954208 tests: added verify check for wrong predicates usage in filters (ClassCastException errors like #12774) 2024-09-19 04:32:21 +04:00
theelk801
9b308adf02 [DSC] Implement Convert to Slime 2024-09-13 10:52:30 -04:00
xenohedron
0db5c1696d various fixes from checking text discrepancies 2024-09-12 21:08:42 -04:00
theelk801
dc849bea4a [DSK] Implement Paranormal Analyst 2024-09-11 09:27:02 -04:00
grimreap124
f42fc0f388
[ACR] Implement The Capitoline Triad (#12510)
* Implement-ACR-The-Capitoline-Triad

---------

Co-authored-by: Grath <1895280+Grath@users.noreply.github.com>
2024-09-07 00:57:36 -04:00
theelk801
94566cee69 [DSK] Implement Overlord of the Mistmoors 2024-09-04 16:18:04 -04:00
theelk801
dc4bc6ccb2 [DSK] Implement Overlord of the Hauntwoods 2024-09-04 16:15:03 -04:00
Grath
8421c993e9
[BLC] Implement Gourmand's Talent (#12796) 2024-09-03 23:22:31 -04:00
theelk801
abccb35b18 [DSK] Implement Twitching Doll 2024-09-03 17:54:56 -04:00
xenohedron
a9250ff28a followup text fixes 2024-09-02 20:17:36 -04:00
theelk801
7f58582f8d [DSK] Implement Glimmer Seeker 2024-09-02 12:06:04 -04:00
xenohedron
54874a59b0
refactor: rename "remixed" to "reshuffled" (#12755) 2024-09-01 01:08:26 -04:00
theelk801
64774b457f [DSK] Implement Zimone, All-Questioning 2024-08-31 21:48:40 -04:00
Grath
6a19ec48df
Add tests for Camellia, refactor SacrificedPermanentBatchEvent. (#12769)
Added SacrificedPermanentEvent, to be used in SacrificedPermanentBatchEvent to prevent adding incorrect GameEvents.
2024-08-31 16:42:24 -04:00
xenohedron
40bbf5f127 fix Feather token (Everquill Phoenix) missing target 2024-08-31 07:20:48 -04:00
Grath
3c419a857f
[BLB] Implement Camellia, the Seedmiser. (#12751)
* [BLB] Implement Camellia, the Seedmiser.

Also implemented SacrificedPermanentBatchEvent, SacrificeOneOrMorePermanentsTriggeredAbility, and refactored existing Whenever you sacrifice one or more [filter] abilities to use the new SacrificeOneOrMorePermanentsTriggeredAbility (even though as they all only trigger once per turn and technically function correctly with the old SacrificePermanentTriggeredAbility.

* Fix accidental newline.
2024-08-29 10:35:13 -04:00
Grath
543f9f074e
Refactor CreateTokenEffect to allow multiple tokens at once. (#12704)
* Refactor CreateTokenEffect to allow multiple tokens at once.

Partial solution to #10811 - Token copy effects still need to be redone so that mass token copy effects (Ocelot Pride, Mirror Match, other similar effects) can be created in a single batch.
2024-08-25 10:34:42 -04:00
xenohedron
85d612d10f
refactor: remove unused custom event type code (#12729)
* also make ApprovingObject Serializable
2024-08-24 20:39:36 -04:00
xenohedron
9fe5d6bd1b
fix River Song (#12727) 2024-08-24 18:36:42 -04:00
PurpleCrowbar
8d249aa691
Improve attachment to permanent logic; implement [PIP] Codsworth, Handy Helper (#12098)
* [PIP] Implement Codsworth, Handy Helper

* Fix Codsworth and Halvar

* Write tests for attachments

* Fix auras going to graveyard when attaching to illegal targets

* Fix Captured by the Consulate interaction

* Fix failing tests, add additional test

* Add source name to log message

* Implement requested changes

* Revert removed null check

* Remove filter check, clean up code

* Add additional test

* Fix failing roles test

* Account for all current attachment edge cases

* Implement rule 303.4g

* Apply requested changes
2024-08-24 01:03:33 -04:00
xenohedron
9fcbfdeac6
Rework drawing cards and associated replacement effects; implement [WHO] River Song (#12700)
* remove unused scoring system code

* add test for Alms Collector replacement effect

* flatten draw cards into single method in PlayerImpl

* remove outdated MageAction framework

* clarify game event for drawing two or more cards

* clarify methods for getting cards from library

* implement [WHO] River Song

* fix error

* adjust library methods

* add lots of test cases for draw replacement effects

* fix #12616

* track cards drawn this way through multi draw replacement as well

* add test for River Song

* remove redundant comment
2024-08-24 01:02:55 -04:00