Commit graph

12418 commits

Author SHA1 Message Date
xenohedron
178b7e0343 text fixes 2024-11-16 22:02:04 -05:00
PurpleCrowbar
013cf2721f Add FDN token images 2024-11-16 23:52:48 +00:00
theelk801
a609d044ec [J25] Implement Slinza, the Spiked Stampede 2024-11-14 11:27:55 -05:00
theelk801
405a6d7c2a [J25] Implement Gornog, the Red Reaper 2024-11-13 17:15:45 -05:00
theelk801
c360d007e6 [J25] Implement Delightful Discovery 2024-11-13 11:07:13 -05:00
theelk801
659fadba96 [J25] Implement Ozox, the Clattering King 2024-11-12 12:15:25 -05:00
theelk801
c168cb06c0 [J25] Implement Plagon, Lord of the Beach 2024-11-12 10:40:40 -05:00
theelk801
93d412406d [J25] Implement Hurska Sweet-Tooth 2024-11-12 10:30:39 -05:00
theelk801
43cdf845d5 [J25] Implement Fumulus, the Infestation 2024-11-12 10:26:13 -05:00
theelk801
afe97b1f8a [J25] Implement Generous Pup 2024-11-11 12:03:59 -05:00
theelk801
d7ae7b0e4d [J25] Implement Nazar, the Velvet Fang 2024-11-11 11:58:42 -05:00
ciaccona007
6c2e7a3fd3 [PIP] Implement Overencumbered 2024-11-05 17:58:19 -05:00
Steven Knipe
f15b3cdb30 [FDN] Uncharted Voyage, add option for "their choice" wording 2024-11-05 01:10:36 -08:00
theelk801
8ecb0b96ac [FDN] fix counter type for Ravenous Amulet 2024-11-04 20:45:21 -05:00
theelk801
28cbb41c14 [FDN] Implement Ravenous Amulet 2024-11-04 20:35:56 -05:00
ciaccona007
31064f2604 [FDN] Implement Nine-Lives Familiar 2024-11-04 10:23:48 -05:00
ciaccona007
0563802da5 [FDN] Implement Loot, Exuberant Explorer 2024-11-04 09:29:10 -05:00
ciaccona007
a387c5ed67 [FDN] Implement Kiora, the Rising Tide 2024-11-04 09:01:24 -05:00
xenohedron
e3d654dcb0 more text fixes 2024-11-03 22:06:51 -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
ciaccona007
13d33d7de1 [FDN] Implement Fishing Pole 2024-11-03 16:40:20 -05:00
ciaccona007
05eb4a6189 [FDN] Implement Elenda, Saint of Dusk 2024-11-03 09:16:23 -05:00
ciaccona007
931b81a4b9 [FDN] Implement Drake Hatcher 2024-11-02 22:57:09 -04:00
theelk801
53844daddf [FDN] Implement Hare Apparent 2024-11-02 16:33:17 -04:00
ciaccona007
6a324d97ca [FDN] Implement Cat Collector 2024-11-02 15:49:25 -04:00
theelk801
ca91c976c4 [FDN] Implement Guarded Heir 2024-10-31 12:26:02 -04:00
theelk801
9226e5239f [FDN] Implement Strongbox Raider 2024-10-31 11:41:36 -04:00
theelk801
0e4730ca20 [J25] Implement Cynette, Jelly Drover 2024-10-30 16:05:03 -04:00
theelk801
b0055fd2ea [FDN] Implement Mischievous Mystic 2024-10-29 17:54: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
aa7a610db2
refactor: clean up triggered abilities from graveyard (#13044)
* some improvements to counter removing triggers

* fix Zone.GRAVEYARD text/conditions for beginning of upkeep triggers

* remaining refactors

* add condition text

* text corrections

* remove remaining generateZoneString

* remove superfluous hardcoded rules text param
2024-10-27 15:23:54 -04:00
Oleg Agafonov
c0e027f4f4 Verrak, Warped Sengir - improved combo support with phyrexian style effects like K'rrik, Son of Yawgmoth (closes #10119) 2024-10-27 14:57:53 +04:00
xenohedron
8a8773971d
refactor: add new simpler technique for intervening if conditions on triggered abilities (#13037)
too many usages to fix all at once, plus condition text needs updating, but this will give a cleaner option for new implementations
2024-10-27 00:19:57 -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
5070f8bef7
Fix auto-choose targets for activated abilities and spells (#13036)
* rework Armory Automaton

* remove redundant "setRequired(false)" from effects that separate into piles

* replace setRequired(false) with minTargets 0

* remove setRequired(false) where minTargets already 0

* remove setRequired(false) where preceded by chooseUse

* Revert "Player auto-choose respects required targets (#10557)"

This reverts commit fb8424556e.
2024-10-26 20:23:50 -04:00
xenohedron
737e67963d
refactor: common logic for getting controller of target object (#13038) 2024-10-26 20:23:34 -04:00
xenohedron
83fdee7ec9 remove unused class
closes #12512
2024-10-26 20:11:10 -04:00
xenohedron
2969ba58be
refactors: common class for "return all xxx from your graveyard to the battlefield" (#13034)
* refactor: new ReturnFromYourGraveyardToBattlefieldAllEffect

* refactor: new ShuffleYourGraveyardIntoLibraryEffect

also new PutIntoGraveFromLibrarySourceTriggeredAbility
2024-10-26 16:20:31 -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
c265e640bb Keen-Eyed Curator - fixed not working boost effect (#13022) 2024-10-24 22:18:29 +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
Oleg Agafonov
2d9ac4e732 refactor: removed outdated Player::assignDamage by multi amount dialog, fixed getMultiAmount to work with min values, added additional checks 2024-10-24 15:31:04 +04:00
Oleg Agafonov
86fc0028c1 refactor: use standard code style 2024-10-24 14:01:56 +04:00
Oleg Agafonov
cfad27ffae code clean 2024-10-24 09:12:41 +04:00
Grath
f7f2d58081
[SLD] Implement Captain America, First Avenger (#13023)
* [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'.
2024-10-24 00:19:39 -04:00