Commit graph

3875 commits

Author SHA1 Message Date
Susucre
3acab4a76d implement [DSK] Screaming Nemesis 2024-07-06 18:55:53 +02:00
Susucre
9bc1289341 implement [ACR] Senu, Keen-Eyed Protector ; small refactor on AttacksAndIsNotBlockedTriggeredAbility's setTargetPointer 2024-07-06 18:29:53 +02:00
ssk97
7cb669603f
[WHO] Time Reaper, Add target adjuster for "that player controls/owns" damage trigger targets (#12528)
* Implement Time Reaper, start rework

* Create DamagedPlayerControlsTargetAdjuster, convert Aberrant to use it

* Always add targets for EachOpponentPermanentTargetsAdjuster

* Improve target name, finish Time Reaper

* Convert some cards

* Improve documentation, more cards

* More cards, fix cards that needed to use owner instead of controller

* Fix unfinished AlelaCunningConqueror changes

* more cards

* All remaining cards

* Fix target type

* Remove outdated attempt at TargetController.SOURCE_EFFECT_TARGET_POINTER

* Finish removal of SOURCE_EFFECT_TARGET_POINTER

* Change targetAdjuster blueprint target to be set inside setTargetAdjuster, add error checking

* Always add Target Adjuster after Target

* Add comment

* Fix TolarianContemptTest to skip opponent with no valid targets

* Forgot to git add the new abstract GenericTargetAdjuster

* Test now possible after merge, fix missed ChangeOfPlans adjuster order

* Text and optional-ness fixes

* Always set target pointer
2024-07-02 08:46:14 +04:00
Oleg Agafonov
858b0aadde tests: fixed random test fails for Salvation Swan 2024-07-01 16:35:53 +04:00
Oleg Agafonov
1e2d179410 multiple player/opponent choose - fixed that game ask players in random order instead APNAP (closes #12532);
game: fixed wrong player restore for TestPlayer and SimulatedPlayer2;
2024-07-01 13:22:58 +04:00
Susucre
5016a57397 fix and test [CMM] Narci, Fable Singer 2024-06-30 14:50:35 +02:00
Susucre
2709614508 tweak [BLB] Salvation Swan's effect, and add test with Meld. 2024-06-30 13:57:31 +02:00
Susucre
62a99a0497 implement [BLB] Salvation Swan 2024-06-29 18:38:00 +02:00
Susucre
65828866ec implement [BLB] Early Winter 2024-06-29 16:49:13 +02:00
Oleg Agafonov
d7ac82efb3 tests: fixed test with TxtDeckImporterTest 2024-06-28 18:49:07 +04:00
xenohedron
70c11361f0 fix #12530 (Indomitable Might) 2024-06-26 20:54:13 -04:00
Oleg Agafonov
3f5d2bb9b5 Implement [M3C] Gluttonous Hellkite (part of #12206, related to #12393) 2024-06-26 10:18:55 +04:00
Oleg Agafonov
c3903dc550 tests: added support of TargetStackObject (example: counter activated or triggered ability) 2024-06-26 10:18:55 +04:00
xenohedron
2d717f9f36 reduce frequency of random test failure 2024-06-26 00:37:40 -04:00
grimreap124
89738d8675
Implement [ACR] Desmond Miles (#12497) 2024-06-25 23:23:01 -04:00
ssk97
2daa2b8820
[PIP] and [WHO] card implementations (#12482)
* Last Night Together

* Nanogene Conversion

* Return the Past

* Rose, Cutthroat Raider

* Diamond City

* Fix Apostrophe

* Various fixes

* Replace Diamond City and Celebration Watchers

* LastNightTogether improvements, add hint to ReturnThePast

* Add AttackedThisTurnOpponentsCount hint, ignore new failing Celebration test

* Review fixes, also create ValueConditionHint for value hints with a conditional threshold

* Comments improvements

* Requested changes to make ValueConditionHint extend ConditionHint

* single super call in ValueConditionHint constructor
2024-06-25 23:22:45 -04:00
ssk97
e367aeae25
fix Tolarian Contempt; add tests (#12523) 2024-06-25 23:22:29 -04:00
grimreap124
a99da54229
Implement [M3C] Aurora Shifter (#12336) 2024-06-25 22:56:15 -04:00
Oleg Agafonov
8a4a23bb8f game: improved cost tags to support card hints on stack (example: evidence, fixes #12522); 2024-06-25 18:25:08 +04:00
ssk97
f53954d56a
implement [MKM] Deadly Cover-Up; refactor to common class (#12500)
* Genericize most variants of SearchTargetGraveyardHandLibraryForCardNameAndExileEffect

* Implement Deadly Cover-Up

* int maxAmount instead of boolean maxFour, use player.chooseTarget

* Fix Surgical Extraction test, use withNotTarget for exile choices

* Add tests, fix MDFC's back sides' names from being matched against
2024-06-24 23:58:57 -04:00
Oleg Agafonov
7d675de876 server: fixed server app freeze on another instance already running, improved threads usage (related to #11285); 2024-06-23 15:58:25 +04:00
Oleg Agafonov
f0c38cdb87 GUI: fixed that server's lobby do not remember divider position after app restart (tables, matches and chat sizes) 2024-06-23 15:55:46 +04:00
Susucre
64e08b49b1 fix cost reduction not controller specific for [MH3] It That Heralds the End and [MH3] Ral, Leyline Prodify
fix #12503
2024-06-22 14:47:47 +02:00
xenohedron
8caa8ccee4 fix Skizzik to intervening if, add test 2024-06-19 23:12:55 -04:00
Evan Kranzler
e851e04906
Implement Freerunning mechanic (ready for review) (#12485)
* [ACR] Implement Eagle Vision

* add test

* [ACR] Implement Achilles Davenport

* [ACR] Implement Chain Assassination

* [ACR] Implement Restart Sequence

* update test

* add test for non-assassin, non-commander
2024-06-19 18:05:20 -04:00
xenohedron
6a4f45c4c3 implement [NCC] Henzie "Toolbox" Torre
add all NCC variants

closes #12188, closes #9463, closes #8823
2024-06-15 18:18:58 -04:00
xenohedron
391c01c87d implement [MH3] Herigast, Erupting Nullkite 2024-06-15 14:54:14 -04:00
xenohedron
f08d5acb30 implement [VIS] Pygmy Hippo 2024-06-15 13:57:55 -04:00
xenohedron
fc21365847
Fix "becomes the target of" logic to check all modes (#12452)
* check all targets from all modes for getTargetingStackObject

* update logic related to a97dec3
2024-06-11 00:58:12 -04:00
Oleg Agafonov
e209ce1c97 server: fixed wrong cheater detection in some tourney sideboardings (closes #11877) 2024-06-11 00:30:00 +04:00
Oleg Agafonov
72cf60085c AI: fixed MCTS (Monte Carlo) errors in some simulations (#10154); 2024-06-10 21:54:53 +04:00
xenohedron
a5488228b8
fix usable zone logic for abilities that function from other zones (#12446)
* remove superfluous constructor params

* fix Syrix, Carrier of the Flame

* standardize Zone = Battlefield

* rename class

* remove redundant class

* add docs

* adjustment
2024-06-09 22:15:04 -04:00
xenohedron
aeaeccb63b
Fix bugs with dies triggers due to short living LKI reset (#12438)
* replace applyEffects() with processAction() for card usages

* update Goblin Welder and test

* add test for Historian's Wisdom

* enable other related tests

* only reset short living LKI for process action, not all apply effects

* update docs

* remove applyEffects from condition in Historian's Wisdom

* add another test case
2024-06-09 18:56:19 -04:00
Susucre
cbe1db3434 fix Unstable Amulet not working on split/mdfc/adventures 2024-06-09 13:59:56 +02:00
Susucre
e2066f41ab
fix copy effect not being discarded early enough (#12434) 2024-06-08 20:49:20 +02:00
Susucre
4931cbfd50 fix and further test Deification.
`event.getPlayerId()` is the player controlling the source of damage, not the player controlling the planeswalker.
2024-06-08 20:03:42 +02:00
Evan Kranzler
cdf91e66fb
Change tribal card type to kindred, update viashino and naga (#12271)
* change tribal card type to kindred

* update viashino to lizard

* update naga to snake
2024-06-08 13:55:52 -04:00
Susucre
40a1fc6c23 cleanup and add tests on '{this} enters the battlefield tapped unless [Condition]'
Almost a refactor. The only change is that all those cards were missing the notTarget argument in TapSourceEffect.

closes  #12411
2024-06-08 19:35:35 +02:00
Susucre
5b74858573 test Jace, Telepath Unbound's -3 on split card and mdfc
closes #9607
closes #9365
2024-06-08 15:49:05 +02:00
Susucre
f97d89ec5f
add Chromatic Star tests ; one ignored for bug #12385 (#12386) 2024-06-08 14:48:31 +02:00
Susucre
9c4b11368e add Shifting Woodland Test ; one ignored to reproduce #12433 bug 2024-06-08 14:10:15 +02:00
Susucre
45cf89aedd
MH3: added play boosters (#12400) 2024-06-07 23:50:14 +04:00
Susucre
1531671c16 implement [M3C] Coram, the Undertaker 2024-06-07 20:01:25 +02:00
Evan Kranzler
08c7d2ab8f
implement [M3C] Planar Nexus [MH3] Omo, Queen of Vesuva and [UNF] Nearby Planet ; introduce AllNonbasicLandTypes status (#12203) 2024-06-07 18:36:41 +02:00
Susucre
3e18b58cac
implement [MH3] Arena of Glory and usage of ManaSpentDelayedTriggeredAbility (#12404) 2024-06-07 18:34:45 +02:00
Oleg Agafonov
c2ae1386ff server: improved conceding logic with more protection from game errors/freeze (related to #11285, #11460) 2024-06-07 12:52:42 +04:00
Susucre
24e73df510 implement [MH3] Thief of Existence 2024-06-07 00:19:37 +02:00
Susucre
9e1b5acef8 implement [MH3] Abstruse Appropriation 2024-06-07 00:19:37 +02:00
Susucre
719ef1910e implement [MH3] Disa the Restless 2024-06-06 18:05:08 +02:00
Susucre
2d625f0364 implement [MH3] Volatile Stormdrake ; provide source Ability to canBeTargetedBy and HexproofBaseAbility::checkObject 2024-06-06 17:36:11 +02:00