Commit graph

12920 commits

Author SHA1 Message Date
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
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